@carbon/react 1.29.0 → 1.30.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/_virtual/_rollupPluginBabelHelpers.js +16 -5
- package/es/components/Accordion/Accordion.Skeleton.js +0 -7
- package/es/components/Accordion/Accordion.js +1 -8
- package/es/components/Accordion/AccordionItem.js +5 -19
- package/es/components/AspectRatio/AspectRatio.js +0 -5
- package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +0 -3
- package/es/components/Breadcrumb/Breadcrumb.js +0 -3
- package/es/components/Breadcrumb/BreadcrumbItem.js +0 -7
- package/es/components/Button/Button.Skeleton.js +2 -7
- package/es/components/Button/Button.js +2 -36
- package/es/components/ButtonSet/ButtonSet.js +0 -2
- package/es/components/Checkbox/Checkbox.Skeleton.js +0 -1
- package/es/components/Checkbox/Checkbox.js +4 -20
- package/es/components/CheckboxGroup/CheckboxGroup.js +0 -11
- package/es/components/ClassPrefix/index.d.ts +26 -0
- package/es/components/ClassPrefix/index.js +0 -2
- package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +0 -5
- package/es/components/CodeSnippet/CodeSnippet.js +6 -45
- package/es/components/ComboBox/ComboBox.js +12 -79
- package/es/components/ComboBox/tools/filter.js +0 -1
- package/es/components/ComboButton/index.js +0 -14
- package/es/components/ComposedModal/ComposedModal.js +2 -32
- package/es/components/ComposedModal/ModalFooter.js +0 -21
- package/es/components/ComposedModal/ModalHeader.js +0 -12
- package/es/components/ContainedList/ContainedList.js +5 -32
- package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -6
- package/es/components/ContentSwitcher/ContentSwitcher.js +11 -23
- package/es/components/ContextMenu/useContextMenu.js +1 -6
- package/es/components/Copy/Copy.js +8 -31
- package/es/components/CopyButton/CopyButton.js +0 -4
- package/es/components/DangerButton/DangerButton.js +0 -1
- package/es/components/DataTable/DataTable.js +171 -91
- package/es/components/DataTable/Table.js +0 -6
- package/es/components/DataTable/TableBatchAction.js +0 -4
- package/es/components/DataTable/TableBatchActions.js +0 -8
- package/es/components/DataTable/TableBody.js +0 -1
- package/es/components/DataTable/TableContainer.js +0 -5
- package/es/components/DataTable/TableExpandHeader.js +0 -7
- package/es/components/DataTable/TableExpandRow.js +0 -6
- package/es/components/DataTable/TableExpandedRow.js +0 -6
- package/es/components/DataTable/TableHeader.d.ts +1 -1
- package/es/components/DataTable/TableHeader.js +3 -19
- package/es/components/DataTable/TableRow.js +4 -5
- package/es/components/DataTable/TableSelectAll.js +0 -8
- package/es/components/DataTable/TableSelectRow.js +2 -10
- package/es/components/DataTable/TableToolbar.js +0 -3
- package/es/components/DataTable/TableToolbarMenu.d.ts +1 -1
- package/es/components/DataTable/TableToolbarMenu.js +3 -6
- package/es/components/DataTable/TableToolbarSearch.js +2 -30
- package/es/components/DataTable/state/getDerivedStateFromProps.js +0 -4
- package/es/components/DataTable/state/sorting.js +5 -8
- package/es/components/DataTable/tools/denormalize.js +2 -2
- package/es/components/DataTable/tools/filter.js +0 -2
- package/es/components/DataTable/tools/instanceId.js +0 -1
- package/es/components/DataTable/tools/normalize.js +10 -10
- package/es/components/DataTable/tools/sorting.js +5 -13
- package/es/components/DataTableSkeleton/DataTableSkeleton.js +5 -20
- package/es/components/DatePicker/DatePicker.Skeleton.js +0 -6
- package/es/components/DatePicker/DatePicker.js +154 -177
- package/es/components/DatePicker/plugins/appendToPlugin.js +3 -7
- package/es/components/DatePicker/plugins/fixEventsPlugin.js +14 -25
- package/es/components/DatePicker/plugins/rangePlugin.js +2 -7
- package/es/components/DatePickerInput/DatePickerInput.js +2 -28
- package/es/components/Dropdown/Dropdown.Skeleton.js +0 -2
- package/es/components/Dropdown/Dropdown.js +43 -52
- package/es/components/ErrorBoundary/ErrorBoundary.js +0 -10
- package/es/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
- package/es/components/ExpandableSearch/ExpandableSearch.js +1 -10
- package/es/components/FeatureFlags/index.js +8 -20
- package/es/components/FileUploader/FileUploader.Skeleton.js +0 -2
- package/es/components/FileUploader/FileUploader.js +3 -38
- package/es/components/FileUploader/FileUploaderButton.js +3 -24
- package/es/components/FileUploader/FileUploaderDropContainer.js +1 -28
- package/es/components/FileUploader/FileUploaderItem.js +1 -11
- package/es/components/FileUploader/Filename.js +0 -10
- package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +0 -1
- package/es/components/FluidComboBox/FluidComboBox.js +0 -18
- package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +0 -2
- package/es/components/FluidDatePicker/FluidDatePicker.js +0 -6
- package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +2 -1
- package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +0 -1
- package/es/components/FluidDropdown/FluidDropdown.js +0 -18
- package/es/components/FluidForm/FluidForm.js +0 -2
- package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +0 -1
- package/es/components/FluidMultiSelect/FluidMultiSelect.js +0 -19
- package/es/components/FluidSelect/FluidSelect.Skeleton.js +0 -1
- package/es/components/FluidSelect/FluidSelect.js +0 -10
- package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +0 -1
- package/es/components/FluidTextArea/FluidTextArea.js +0 -20
- package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +0 -1
- package/es/components/FluidTextInput/FluidTextInput.js +0 -14
- package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +0 -3
- package/es/components/FluidTimePicker/FluidTimePicker.js +1 -11
- package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +0 -6
- package/es/components/Form/Form.d.ts +23 -0
- package/es/components/Form/Form.js +3 -6
- package/es/components/Form/index.d.ts +7 -0
- package/es/components/FormGroup/FormGroup.js +0 -7
- package/es/components/FormItem/FormItem.js +0 -2
- package/es/components/FormLabel/FormLabel.js +1 -7
- package/es/components/Grid/CSSGrid.js +2 -15
- package/es/components/Grid/Column.js +18 -59
- package/es/components/Grid/ColumnHang.js +2 -5
- package/es/components/Grid/FlexGrid.js +2 -8
- package/es/components/Grid/Grid.js +0 -8
- package/es/components/Grid/GridContext.js +1 -3
- package/es/components/Grid/Row.js +2 -7
- package/es/components/Heading/index.js +0 -4
- package/es/components/Icon/Icon.Skeleton.js +2 -2
- package/es/components/IconButton/index.js +0 -10
- package/es/components/IdPrefix/index.js +0 -2
- package/es/components/InlineCheckbox/InlineCheckbox.js +0 -14
- package/es/components/InlineLoading/InlineLoading.js +0 -12
- package/es/components/Layer/index.js +3 -6
- package/es/components/Layout/LayoutDirection.js +0 -3
- package/es/components/Layout/useLayoutDirection.js +0 -1
- package/es/components/Link/Link.js +3 -10
- package/es/components/ListBox/ListBox.js +2 -13
- package/es/components/ListBox/ListBoxField.js +0 -5
- package/es/components/ListBox/ListBoxMenuIcon.js +0 -4
- package/es/components/ListBox/ListBoxMenuItem.js +2 -6
- package/es/components/ListBox/ListBoxPropTypes.d.ts +2 -2
- package/es/components/ListBox/ListBoxSelection.js +1 -13
- package/es/components/ListBox/next/ListBoxSelection.js +1 -14
- package/es/components/ListBox/next/ListBoxTrigger.js +1 -3
- package/es/components/ListItem/ListItem.d.ts +23 -0
- package/es/components/ListItem/ListItem.js +4 -8
- package/es/components/ListItem/index.d.ts +7 -0
- package/es/components/Loading/Loading.js +0 -6
- package/es/components/Menu/Menu.js +22 -40
- package/es/components/Menu/MenuContext.js +4 -5
- package/es/components/Menu/MenuItem.js +5 -39
- package/es/components/MenuButton/index.js +0 -9
- package/es/components/Modal/Modal.js +0 -43
- package/es/components/ModalWrapper/ModalWrapper.js +2 -15
- package/es/components/MultiSelect/FilterableMultiSelect.js +2 -60
- package/es/components/MultiSelect/MultiSelect.js +22 -70
- package/es/components/MultiSelect/MultiSelectPropTypes.js +0 -1
- package/es/components/MultiSelect/index.js +0 -1
- package/es/components/MultiSelect/tools/itemToString.js +0 -2
- package/es/components/MultiSelect/tools/sorting.js +3 -4
- package/es/components/Notification/Notification.js +0 -78
- package/es/components/NumberInput/NumberInput.Skeleton.js +0 -2
- package/es/components/NumberInput/NumberInput.js +3 -60
- package/es/components/OrderedList/OrderedList.d.ts +39 -0
- package/es/components/OrderedList/OrderedList.js +7 -19
- package/es/components/{Form/index.js → OrderedList/index.d.ts} +1 -3
- package/es/components/OverflowMenu/OverflowMenu.js +65 -86
- package/es/components/OverflowMenuItem/OverflowMenuItem.js +6 -23
- package/es/components/OverflowMenuV2/index.js +0 -5
- package/es/components/Pagination/Pagination.Skeleton.js +0 -2
- package/es/components/Pagination/Pagination.js +11 -47
- package/es/components/Pagination/experimental/PageSelector.js +0 -10
- package/es/components/Pagination/experimental/Pagination.js +2 -48
- package/es/components/PaginationNav/PaginationNav.js +15 -59
- package/es/components/Popover/index.d.ts +14 -8
- package/es/components/Popover/index.js +44 -48
- package/es/components/PrimaryButton/PrimaryButton.js +0 -1
- package/es/components/ProgressBar/ProgressBar.js +0 -15
- package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +0 -4
- package/es/components/ProgressIndicator/ProgressIndicator.js +2 -40
- package/es/components/RadioButton/RadioButton.Skeleton.js +0 -1
- package/es/components/RadioButton/RadioButton.js +0 -13
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +3 -23
- package/es/components/RadioTile/RadioTile.js +0 -12
- package/es/components/Search/Search.Skeleton.js +0 -2
- package/es/components/Search/Search.js +1 -28
- package/es/components/SecondaryButton/SecondaryButton.js +0 -1
- package/es/components/Select/Select.Skeleton.js +0 -2
- package/es/components/Select/Select.d.ts +1 -1
- package/es/components/Select/Select.js +6 -33
- package/es/components/SelectItem/SelectItem.js +0 -5
- package/es/components/SelectItemGroup/SelectItemGroup.d.ts +0 -1
- package/es/components/SelectItemGroup/SelectItemGroup.js +1 -7
- package/es/components/SkeletonIcon/SkeletonIcon.js +0 -2
- package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +0 -1
- package/es/components/SkeletonText/SkeletonText.js +0 -12
- package/es/components/Slider/Slider.Skeleton.js +0 -2
- package/es/components/Slider/Slider.d.ts +0 -1
- package/es/components/Slider/Slider.js +112 -135
- package/es/components/Stack/Stack.js +1 -8
- package/es/components/StructuredList/StructuredList.Skeleton.js +0 -5
- package/es/components/StructuredList/StructuredList.js +1 -25
- package/es/components/Switch/IconSwitch.js +0 -18
- package/es/components/Switch/Switch.js +0 -11
- package/es/components/TabContent/TabContent.js +2 -6
- package/es/components/Tabs/Tabs.Skeleton.js +0 -4
- package/es/components/Tabs/Tabs.js +135 -104
- package/es/components/Tabs/usePressable.js +18 -31
- package/es/components/Tag/Tag.Skeleton.js +0 -2
- package/es/components/Tag/Tag.js +0 -15
- package/es/components/Text/Text.js +5 -18
- package/es/components/Text/TextDirection.js +0 -3
- package/es/components/Text/TextDirectionContext.js +0 -1
- package/es/components/Text/createTextComponent.js +0 -3
- package/es/components/TextArea/TextArea.Skeleton.js +0 -2
- package/es/components/TextArea/TextArea.js +11 -33
- package/es/components/TextInput/ControlledPasswordInput.js +0 -20
- package/es/components/TextInput/PasswordInput.js +0 -25
- package/es/components/TextInput/TextInput.Skeleton.js +0 -2
- package/es/components/TextInput/TextInput.d.ts +1 -1
- package/es/components/TextInput/TextInput.js +5 -33
- package/es/components/TextInput/util.js +3 -5
- package/es/components/Theme/index.js +1 -6
- package/es/components/Tile/Tile.js +32 -59
- package/es/components/TileGroup/TileGroup.js +1 -22
- package/es/components/TimePicker/TimePicker.js +6 -32
- package/es/components/TimePickerSelect/TimePickerSelect.js +2 -5
- package/es/components/Toggle/Toggle.Skeleton.js +0 -8
- package/es/components/Toggle/Toggle.js +0 -16
- package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -7
- package/es/components/Toggletip/index.d.ts +148 -0
- package/es/components/Toggletip/index.js +20 -44
- package/es/components/Tooltip/DefinitionTooltip.js +0 -11
- package/es/components/Tooltip/Tooltip.d.ts +1 -1
- package/es/components/Tooltip/Tooltip.js +4 -21
- package/es/components/TreeView/TreeNode.js +21 -66
- package/es/components/TreeView/TreeView.js +11 -67
- package/es/components/UIShell/Content.js +2 -4
- package/es/components/UIShell/Header.js +0 -2
- package/es/components/UIShell/HeaderContainer.d.ts +33 -0
- package/es/components/UIShell/HeaderContainer.js +13 -11
- package/es/components/UIShell/HeaderGlobalAction.js +0 -6
- package/es/components/UIShell/HeaderGlobalBar.js +0 -1
- package/es/components/UIShell/HeaderMenu.js +32 -31
- package/es/components/UIShell/HeaderMenuButton.js +2 -4
- package/es/components/UIShell/HeaderMenuItem.js +0 -8
- package/es/components/UIShell/HeaderName.js +0 -5
- package/es/components/UIShell/HeaderNavigation.js +0 -2
- package/es/components/UIShell/HeaderPanel.js +0 -2
- package/es/components/UIShell/HeaderSideNavItems.js +0 -2
- package/es/components/UIShell/Link.js +2 -3
- package/es/components/UIShell/SideNav.d.ts +3 -1
- package/es/components/UIShell/SideNav.js +44 -36
- package/es/components/UIShell/SideNavDetails.js +0 -3
- package/es/components/UIShell/SideNavDivider.js +0 -1
- package/es/components/UIShell/SideNavFooter.js +1 -4
- package/es/components/UIShell/SideNavHeader.js +0 -4
- package/es/components/UIShell/SideNavIcon.js +0 -3
- package/es/components/UIShell/SideNavItem.js +0 -3
- package/es/components/UIShell/SideNavItems.js +2 -6
- package/es/components/UIShell/SideNavLink.js +3 -7
- package/es/components/UIShell/SideNavLinkText.js +0 -2
- package/es/components/UIShell/SideNavMenu.js +0 -16
- package/es/components/UIShell/SideNavMenuItem.js +0 -2
- package/es/components/UIShell/SideNavSwitcher.js +2 -5
- package/es/components/UIShell/SkipToContent.d.ts +32 -0
- package/es/components/UIShell/SkipToContent.js +8 -15
- package/es/components/UIShell/Switcher.js +0 -2
- package/es/components/UIShell/SwitcherDivider.js +0 -1
- package/es/components/UIShell/SwitcherItem.js +0 -3
- package/es/components/UnorderedList/UnorderedList.d.ts +34 -0
- package/es/components/UnorderedList/UnorderedList.js +6 -16
- package/es/components/UnorderedList/index.d.ts +7 -0
- package/es/index.js +7 -8
- package/es/internal/ClickListener.js +3 -13
- package/es/internal/FloatingMenu.js +57 -63
- package/es/internal/OptimizedResize.js +6 -12
- package/es/internal/Selection.js +2 -25
- package/es/internal/createClassWrapper.js +0 -2
- package/es/internal/deprecateFieldOnObject.js +0 -4
- package/es/internal/focus/index.js +0 -1
- package/es/internal/keyboard/keys.js +2 -1
- package/es/internal/keyboard/match.js +1 -6
- package/es/internal/keyboard/navigation.js +8 -7
- package/es/internal/useAnnouncer.js +0 -1
- package/es/internal/useAttachedMenu.js +1 -9
- package/es/internal/useControllableState.js +6 -13
- package/es/internal/useDelayedState.js +2 -4
- package/es/internal/useEffectOnce.js +0 -1
- package/es/internal/useEvent.js +61 -3
- package/es/internal/useId.js +2 -5
- package/es/internal/useIsomorphicEffect.js +1 -0
- package/es/internal/useMergedRefs.js +2 -2
- package/es/internal/useNoInteractiveChildren.js +2 -13
- package/es/internal/useNormalizedInputProps.js +0 -3
- package/es/internal/useSavedCallback.js +1 -2
- package/es/internal/warning.js +0 -3
- package/es/internal/wrapFocus.js +1 -8
- package/es/prop-types/deprecate.js +2 -5
- package/es/prop-types/isRequiredOneOf.js +2 -5
- package/es/prop-types/requiredIfGivenPropIsTruthy.js +0 -2
- package/es/tools/array.js +0 -3
- package/es/tools/events.js +0 -3
- package/es/tools/mergeRefs.js +0 -2
- package/es/tools/wrapComponent.js +2 -5
- package/lib/_virtual/_rollupPluginBabelHelpers.js +17 -4
- package/lib/components/Accordion/Accordion.Skeleton.js +0 -7
- package/lib/components/Accordion/Accordion.js +1 -27
- package/lib/components/Accordion/AccordionItem.js +5 -19
- package/lib/components/AspectRatio/AspectRatio.js +0 -5
- package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +0 -3
- package/lib/components/Breadcrumb/Breadcrumb.js +0 -3
- package/lib/components/Breadcrumb/BreadcrumbItem.js +0 -7
- package/lib/components/Button/Button.Skeleton.js +2 -26
- package/lib/components/Button/Button.js +2 -36
- package/lib/components/ButtonSet/ButtonSet.js +0 -2
- package/lib/components/Checkbox/Checkbox.Skeleton.js +0 -1
- package/lib/components/Checkbox/Checkbox.js +4 -20
- package/lib/components/CheckboxGroup/CheckboxGroup.js +0 -11
- package/lib/components/ClassPrefix/index.d.ts +26 -0
- package/lib/components/ClassPrefix/index.js +0 -2
- package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +0 -5
- package/lib/components/CodeSnippet/CodeSnippet.js +6 -45
- package/lib/components/ComboBox/ComboBox.js +19 -86
- package/lib/components/ComboBox/tools/filter.js +0 -1
- package/lib/components/ComboButton/index.js +0 -14
- package/lib/components/ComposedModal/ComposedModal.js +2 -32
- package/lib/components/ComposedModal/ModalFooter.js +0 -21
- package/lib/components/ComposedModal/ModalHeader.js +0 -12
- package/lib/components/ContainedList/ContainedList.js +5 -32
- package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -6
- package/lib/components/ContentSwitcher/ContentSwitcher.js +11 -23
- package/lib/components/ContextMenu/useContextMenu.js +1 -6
- package/lib/components/Copy/Copy.js +8 -50
- package/lib/components/CopyButton/CopyButton.js +0 -4
- package/lib/components/DangerButton/DangerButton.js +0 -1
- package/lib/components/DataTable/DataTable.js +171 -91
- package/lib/components/DataTable/Table.js +0 -6
- package/lib/components/DataTable/TableBatchAction.js +0 -4
- package/lib/components/DataTable/TableBatchActions.js +0 -8
- package/lib/components/DataTable/TableBody.js +0 -1
- package/lib/components/DataTable/TableContainer.js +0 -5
- package/lib/components/DataTable/TableExpandHeader.js +0 -7
- package/lib/components/DataTable/TableExpandRow.js +0 -6
- package/lib/components/DataTable/TableExpandedRow.js +0 -6
- package/lib/components/DataTable/TableHeader.d.ts +1 -1
- package/lib/components/DataTable/TableHeader.js +3 -19
- package/lib/components/DataTable/TableRow.js +4 -5
- package/lib/components/DataTable/TableSelectAll.js +0 -8
- package/lib/components/DataTable/TableSelectRow.js +2 -10
- package/lib/components/DataTable/TableToolbar.js +0 -3
- package/lib/components/DataTable/TableToolbarMenu.d.ts +1 -1
- package/lib/components/DataTable/TableToolbarMenu.js +3 -6
- package/lib/components/DataTable/TableToolbarSearch.js +2 -30
- package/lib/components/DataTable/state/getDerivedStateFromProps.js +0 -4
- package/lib/components/DataTable/state/sorting.js +5 -8
- package/lib/components/DataTable/tools/denormalize.js +2 -2
- package/lib/components/DataTable/tools/filter.js +0 -2
- package/lib/components/DataTable/tools/instanceId.js +0 -1
- package/lib/components/DataTable/tools/normalize.js +10 -10
- package/lib/components/DataTable/tools/sorting.js +5 -13
- package/lib/components/DataTableSkeleton/DataTableSkeleton.js +5 -20
- package/lib/components/DatePicker/DatePicker.Skeleton.js +0 -6
- package/lib/components/DatePicker/DatePicker.js +154 -177
- package/lib/components/DatePicker/plugins/appendToPlugin.js +3 -7
- package/lib/components/DatePicker/plugins/fixEventsPlugin.js +14 -25
- package/lib/components/DatePicker/plugins/rangePlugin.js +2 -7
- package/lib/components/DatePickerInput/DatePickerInput.js +2 -28
- package/lib/components/Dropdown/Dropdown.Skeleton.js +0 -2
- package/lib/components/Dropdown/Dropdown.js +50 -59
- package/lib/components/ErrorBoundary/ErrorBoundary.js +0 -10
- package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
- package/lib/components/ExpandableSearch/ExpandableSearch.js +1 -10
- package/lib/components/FeatureFlags/index.js +8 -20
- package/lib/components/FileUploader/FileUploader.Skeleton.js +0 -2
- package/lib/components/FileUploader/FileUploader.js +3 -57
- package/lib/components/FileUploader/FileUploaderButton.js +3 -43
- package/lib/components/FileUploader/FileUploaderDropContainer.js +1 -28
- package/lib/components/FileUploader/FileUploaderItem.js +1 -30
- package/lib/components/FileUploader/Filename.js +0 -10
- package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +0 -1
- package/lib/components/FluidComboBox/FluidComboBox.js +0 -18
- package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +0 -2
- package/lib/components/FluidDatePicker/FluidDatePicker.js +0 -6
- package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +2 -1
- package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +0 -1
- package/lib/components/FluidDropdown/FluidDropdown.js +0 -18
- package/lib/components/FluidForm/FluidForm.js +0 -2
- package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +0 -1
- package/lib/components/FluidMultiSelect/FluidMultiSelect.js +0 -19
- package/lib/components/FluidSelect/FluidSelect.Skeleton.js +0 -1
- package/lib/components/FluidSelect/FluidSelect.js +0 -10
- package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +0 -1
- package/lib/components/FluidTextArea/FluidTextArea.js +0 -20
- package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +0 -1
- package/lib/components/FluidTextInput/FluidTextInput.js +0 -14
- package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +0 -3
- package/lib/components/FluidTimePicker/FluidTimePicker.js +1 -11
- package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +0 -6
- package/lib/components/Form/Form.d.ts +23 -0
- package/lib/components/Form/Form.js +3 -6
- package/lib/components/Form/index.d.ts +7 -0
- package/lib/components/FormGroup/FormGroup.js +0 -7
- package/lib/components/FormItem/FormItem.js +0 -2
- package/lib/components/FormLabel/FormLabel.js +1 -26
- package/lib/components/Grid/CSSGrid.js +2 -15
- package/lib/components/Grid/Column.js +18 -59
- package/lib/components/Grid/ColumnHang.js +2 -5
- package/lib/components/Grid/FlexGrid.js +2 -8
- package/lib/components/Grid/Grid.js +0 -8
- package/lib/components/Grid/GridContext.js +1 -3
- package/lib/components/Grid/Row.js +2 -7
- package/lib/components/Heading/index.js +0 -4
- package/lib/components/Icon/Icon.Skeleton.js +2 -2
- package/lib/components/IconButton/index.js +0 -10
- package/lib/components/IdPrefix/index.js +0 -2
- package/lib/components/InlineCheckbox/InlineCheckbox.js +0 -14
- package/lib/components/InlineLoading/InlineLoading.js +0 -12
- package/lib/components/Layer/index.js +3 -6
- package/lib/components/Layout/LayoutDirection.js +0 -3
- package/lib/components/Layout/useLayoutDirection.js +0 -1
- package/lib/components/Link/Link.js +3 -10
- package/lib/components/ListBox/ListBox.js +2 -13
- package/lib/components/ListBox/ListBoxField.js +0 -5
- package/lib/components/ListBox/ListBoxMenuIcon.js +0 -4
- package/lib/components/ListBox/ListBoxMenuItem.js +2 -6
- package/lib/components/ListBox/ListBoxPropTypes.d.ts +2 -2
- package/lib/components/ListBox/ListBoxSelection.js +1 -13
- package/lib/components/ListBox/next/ListBoxSelection.js +1 -14
- package/lib/components/ListBox/next/ListBoxTrigger.js +1 -3
- package/lib/components/ListItem/ListItem.d.ts +23 -0
- package/lib/components/ListItem/ListItem.js +4 -8
- package/lib/components/ListItem/index.d.ts +7 -0
- package/lib/components/Loading/Loading.js +0 -6
- package/lib/components/Menu/Menu.js +22 -40
- package/lib/components/Menu/MenuContext.js +4 -5
- package/lib/components/Menu/MenuItem.js +5 -39
- package/lib/components/MenuButton/index.js +0 -9
- package/lib/components/Modal/Modal.js +0 -43
- package/lib/components/ModalWrapper/ModalWrapper.js +2 -15
- package/lib/components/MultiSelect/FilterableMultiSelect.js +8 -66
- package/lib/components/MultiSelect/MultiSelect.js +30 -78
- package/lib/components/MultiSelect/MultiSelectPropTypes.js +0 -1
- package/lib/components/MultiSelect/index.js +0 -1
- package/lib/components/MultiSelect/tools/itemToString.js +0 -2
- package/lib/components/MultiSelect/tools/sorting.js +3 -4
- package/lib/components/Notification/Notification.js +0 -78
- package/lib/components/NumberInput/NumberInput.Skeleton.js +0 -2
- package/lib/components/NumberInput/NumberInput.js +3 -60
- package/lib/components/OrderedList/OrderedList.d.ts +39 -0
- package/lib/components/OrderedList/OrderedList.js +7 -19
- package/lib/components/OrderedList/index.d.ts +7 -0
- package/lib/components/OverflowMenu/OverflowMenu.js +65 -86
- package/lib/components/OverflowMenuItem/OverflowMenuItem.js +6 -23
- package/lib/components/OverflowMenuV2/index.js +0 -5
- package/lib/components/Pagination/Pagination.Skeleton.js +0 -2
- package/lib/components/Pagination/Pagination.js +11 -47
- package/lib/components/Pagination/experimental/PageSelector.js +0 -10
- package/lib/components/Pagination/experimental/Pagination.js +2 -67
- package/lib/components/PaginationNav/PaginationNav.js +15 -78
- package/lib/components/Popover/index.d.ts +14 -8
- package/lib/components/Popover/index.js +44 -48
- package/lib/components/PrimaryButton/PrimaryButton.js +0 -1
- package/lib/components/ProgressBar/ProgressBar.js +0 -15
- package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +0 -4
- package/lib/components/ProgressIndicator/ProgressIndicator.js +2 -40
- package/lib/components/RadioButton/RadioButton.Skeleton.js +0 -1
- package/lib/components/RadioButton/RadioButton.js +0 -13
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +3 -23
- package/lib/components/RadioTile/RadioTile.js +0 -12
- package/lib/components/Search/Search.Skeleton.js +0 -2
- package/lib/components/Search/Search.js +1 -28
- package/lib/components/SecondaryButton/SecondaryButton.js +0 -1
- package/lib/components/Select/Select.Skeleton.js +0 -2
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/Select/Select.js +6 -33
- package/lib/components/SelectItem/SelectItem.js +0 -5
- package/lib/components/SelectItemGroup/SelectItemGroup.d.ts +0 -1
- package/lib/components/SelectItemGroup/SelectItemGroup.js +1 -26
- package/lib/components/SkeletonIcon/SkeletonIcon.js +0 -2
- package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +0 -1
- package/lib/components/SkeletonText/SkeletonText.js +0 -12
- package/lib/components/Slider/Slider.Skeleton.js +0 -2
- package/lib/components/Slider/Slider.d.ts +0 -1
- package/lib/components/Slider/Slider.js +112 -154
- package/lib/components/Stack/Stack.js +1 -8
- package/lib/components/StructuredList/StructuredList.Skeleton.js +0 -5
- package/lib/components/StructuredList/StructuredList.js +1 -25
- package/lib/components/Switch/IconSwitch.js +0 -18
- package/lib/components/Switch/Switch.js +0 -11
- package/lib/components/TabContent/TabContent.js +2 -6
- package/lib/components/Tabs/Tabs.Skeleton.js +0 -4
- package/lib/components/Tabs/Tabs.js +133 -102
- package/lib/components/Tabs/usePressable.js +18 -31
- package/lib/components/Tag/Tag.Skeleton.js +0 -2
- package/lib/components/Tag/Tag.js +0 -15
- package/lib/components/Text/Text.js +5 -18
- package/lib/components/Text/TextDirection.js +0 -3
- package/lib/components/Text/TextDirectionContext.js +0 -1
- package/lib/components/Text/createTextComponent.js +0 -3
- package/lib/components/TextArea/TextArea.Skeleton.js +0 -2
- package/lib/components/TextArea/TextArea.js +10 -32
- package/lib/components/TextInput/ControlledPasswordInput.js +0 -20
- package/lib/components/TextInput/PasswordInput.js +0 -25
- package/lib/components/TextInput/TextInput.Skeleton.js +0 -2
- package/lib/components/TextInput/TextInput.d.ts +1 -1
- package/lib/components/TextInput/TextInput.js +5 -52
- package/lib/components/TextInput/util.js +3 -5
- package/lib/components/Theme/index.js +1 -6
- package/lib/components/Tile/Tile.js +31 -58
- package/lib/components/TileGroup/TileGroup.js +1 -22
- package/lib/components/TimePicker/TimePicker.js +6 -32
- package/lib/components/TimePickerSelect/TimePickerSelect.js +2 -5
- package/lib/components/Toggle/Toggle.Skeleton.js +0 -8
- package/lib/components/Toggle/Toggle.js +0 -16
- package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -7
- package/lib/components/Toggletip/index.d.ts +148 -0
- package/lib/components/Toggletip/index.js +20 -44
- package/lib/components/Tooltip/DefinitionTooltip.js +0 -11
- package/lib/components/Tooltip/Tooltip.d.ts +1 -1
- package/lib/components/Tooltip/Tooltip.js +4 -21
- package/lib/components/TreeView/TreeNode.js +21 -66
- package/lib/components/TreeView/TreeView.js +11 -67
- package/lib/components/UIShell/Content.js +2 -4
- package/lib/components/UIShell/Header.js +0 -2
- package/lib/components/UIShell/HeaderContainer.d.ts +33 -0
- package/lib/components/UIShell/HeaderContainer.js +13 -11
- package/lib/components/UIShell/HeaderGlobalAction.js +0 -6
- package/lib/components/UIShell/HeaderGlobalBar.js +0 -1
- package/lib/components/UIShell/HeaderMenu.js +32 -31
- package/lib/components/UIShell/HeaderMenuButton.js +2 -4
- package/lib/components/UIShell/HeaderMenuItem.js +0 -8
- package/lib/components/UIShell/HeaderName.js +0 -5
- package/lib/components/UIShell/HeaderNavigation.js +0 -2
- package/lib/components/UIShell/HeaderPanel.js +0 -2
- package/lib/components/UIShell/HeaderSideNavItems.js +0 -2
- package/lib/components/UIShell/Link.js +2 -3
- package/lib/components/UIShell/SideNav.d.ts +3 -1
- package/lib/components/UIShell/SideNav.js +43 -35
- package/lib/components/UIShell/SideNavDetails.js +0 -3
- package/lib/components/UIShell/SideNavDivider.js +0 -1
- package/lib/components/UIShell/SideNavFooter.js +1 -4
- package/lib/components/UIShell/SideNavHeader.js +0 -4
- package/lib/components/UIShell/SideNavIcon.js +0 -3
- package/lib/components/UIShell/SideNavItem.js +0 -3
- package/lib/components/UIShell/SideNavItems.js +2 -6
- package/lib/components/UIShell/SideNavLink.js +3 -7
- package/lib/components/UIShell/SideNavLinkText.js +0 -2
- package/lib/components/UIShell/SideNavMenu.js +0 -16
- package/lib/components/UIShell/SideNavMenuItem.js +0 -2
- package/lib/components/UIShell/SideNavSwitcher.js +2 -5
- package/lib/components/UIShell/SkipToContent.d.ts +32 -0
- package/lib/components/UIShell/SkipToContent.js +8 -15
- package/lib/components/UIShell/Switcher.js +0 -2
- package/lib/components/UIShell/SwitcherDivider.js +0 -1
- package/lib/components/UIShell/SwitcherItem.js +0 -3
- package/lib/components/UnorderedList/UnorderedList.d.ts +34 -0
- package/lib/components/UnorderedList/UnorderedList.js +6 -16
- package/lib/components/UnorderedList/index.d.ts +7 -0
- package/lib/index.js +42 -43
- package/lib/internal/ClickListener.js +3 -13
- package/lib/internal/FloatingMenu.js +57 -63
- package/lib/internal/OptimizedResize.js +6 -12
- package/lib/internal/Selection.js +2 -25
- package/lib/internal/createClassWrapper.js +0 -2
- package/lib/internal/deprecateFieldOnObject.js +0 -4
- package/lib/internal/focus/index.js +0 -1
- package/lib/internal/keyboard/keys.js +2 -1
- package/lib/internal/keyboard/match.js +1 -6
- package/lib/internal/keyboard/navigation.js +8 -7
- package/lib/internal/useAnnouncer.js +0 -1
- package/lib/internal/useAttachedMenu.js +1 -9
- package/lib/internal/useControllableState.js +6 -13
- package/lib/internal/useDelayedState.js +2 -4
- package/lib/internal/useEffectOnce.js +0 -1
- package/lib/internal/useEvent.js +61 -2
- package/lib/internal/useId.js +2 -5
- package/lib/internal/useIsomorphicEffect.js +1 -0
- package/lib/internal/useMergedRefs.js +2 -2
- package/lib/internal/useNoInteractiveChildren.js +2 -13
- package/lib/internal/useNormalizedInputProps.js +0 -3
- package/lib/internal/useSavedCallback.js +1 -2
- package/lib/internal/warning.js +0 -3
- package/lib/internal/wrapFocus.js +1 -8
- package/lib/prop-types/deprecate.js +2 -5
- package/lib/prop-types/isRequiredOneOf.js +2 -5
- package/lib/prop-types/requiredIfGivenPropIsTruthy.js +0 -2
- package/lib/tools/array.js +0 -3
- package/lib/tools/events.js +0 -3
- package/lib/tools/mergeRefs.js +0 -2
- package/lib/tools/wrapComponent.js +2 -5
- package/package.json +9 -9
- package/es/components/Tab/Tab.js +0 -185
- package/es/components/Tab/index.js +0 -14
- package/es/components/TimePickerSelect/index.js +0 -13
- package/lib/components/Form/index.js +0 -17
- package/lib/components/Tab/Tab.js +0 -214
- package/lib/components/Tab/index.js +0 -39
- package/lib/components/TimePickerSelect/index.js +0 -38
|
@@ -15,7 +15,6 @@ import { WarningFilled, WarningAltFilled, Checkmark } from '@carbon/icons-react'
|
|
|
15
15
|
import ListBox from '../ListBox/index.js';
|
|
16
16
|
import setupGetInstanceId from '../../tools/setupGetInstanceId.js';
|
|
17
17
|
import mergeRefs from '../../tools/mergeRefs.js';
|
|
18
|
-
import { useFeatureFlag } from '../FeatureFlags/index.js';
|
|
19
18
|
import deprecate from '../../prop-types/deprecate.js';
|
|
20
19
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
21
20
|
import '../FluidForm/FluidForm.js';
|
|
@@ -31,12 +30,9 @@ const defaultItemToString = item => {
|
|
|
31
30
|
if (typeof item === 'string') {
|
|
32
31
|
return item;
|
|
33
32
|
}
|
|
34
|
-
|
|
35
33
|
return item && item.label;
|
|
36
34
|
};
|
|
37
|
-
|
|
38
35
|
const defaultShouldFilterItem = () => true;
|
|
39
|
-
|
|
40
36
|
const getInputValue = _ref => {
|
|
41
37
|
let {
|
|
42
38
|
initialSelectedItem,
|
|
@@ -44,45 +40,34 @@ const getInputValue = _ref => {
|
|
|
44
40
|
itemToString,
|
|
45
41
|
selectedItem
|
|
46
42
|
} = _ref;
|
|
47
|
-
|
|
48
43
|
if (selectedItem) {
|
|
49
44
|
return itemToString(selectedItem);
|
|
50
45
|
}
|
|
51
|
-
|
|
52
46
|
if (initialSelectedItem) {
|
|
53
47
|
return itemToString(initialSelectedItem);
|
|
54
48
|
}
|
|
55
|
-
|
|
56
49
|
return inputValue || '';
|
|
57
50
|
};
|
|
58
|
-
|
|
59
51
|
const findHighlightedIndex = (_ref2, inputValue) => {
|
|
60
52
|
let {
|
|
61
53
|
items,
|
|
62
54
|
itemToString = defaultItemToString
|
|
63
55
|
} = _ref2;
|
|
64
|
-
|
|
65
56
|
if (!inputValue) {
|
|
66
57
|
return -1;
|
|
67
58
|
}
|
|
68
|
-
|
|
69
59
|
const searchValue = inputValue.toLowerCase();
|
|
70
|
-
|
|
71
60
|
for (let i = 0; i < items.length; i++) {
|
|
72
61
|
const item = itemToString(items[i]).toLowerCase();
|
|
73
|
-
|
|
74
62
|
if (item.indexOf(searchValue) !== -1) {
|
|
75
63
|
return i;
|
|
76
64
|
}
|
|
77
65
|
}
|
|
78
|
-
|
|
79
66
|
return -1;
|
|
80
67
|
};
|
|
81
|
-
|
|
82
68
|
const getInstanceId = setupGetInstanceId();
|
|
83
69
|
const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
84
70
|
var _Text;
|
|
85
|
-
|
|
86
71
|
const {
|
|
87
72
|
['aria-label']: ariaLabel,
|
|
88
73
|
ariaLabel: deprecatedAriaLabel,
|
|
@@ -131,7 +116,6 @@ const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
131
116
|
const [prevSelectedItem, setPrevSelectedItem] = useState();
|
|
132
117
|
const [doneInitialSelectedItem, setDoneInitialSelectedItem] = useState(false);
|
|
133
118
|
const savedOnInputChange = useRef(onInputChange);
|
|
134
|
-
|
|
135
119
|
if (!doneInitialSelectedItem || prevSelectedItem !== selectedItem) {
|
|
136
120
|
setDoneInitialSelectedItem(true);
|
|
137
121
|
setPrevSelectedItem(selectedItem);
|
|
@@ -142,13 +126,11 @@ const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
142
126
|
selectedItem
|
|
143
127
|
}));
|
|
144
128
|
}
|
|
145
|
-
|
|
146
129
|
const filterItems = (items, itemToString, inputValue) => items.filter(item => shouldFilterItem ? shouldFilterItem({
|
|
147
130
|
item,
|
|
148
131
|
itemToString,
|
|
149
132
|
inputValue
|
|
150
133
|
}) : defaultShouldFilterItem());
|
|
151
|
-
|
|
152
134
|
const handleOnChange = selectedItem => {
|
|
153
135
|
if (onChange) {
|
|
154
136
|
onChange({
|
|
@@ -156,11 +138,9 @@ const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
156
138
|
});
|
|
157
139
|
}
|
|
158
140
|
};
|
|
159
|
-
|
|
160
141
|
const handleOnInputValueChange = inputValue => {
|
|
161
142
|
setInputValue(inputValue || '');
|
|
162
143
|
};
|
|
163
|
-
|
|
164
144
|
useEffect(() => {
|
|
165
145
|
savedOnInputChange.current = onInputChange;
|
|
166
146
|
}, [onInputChange]);
|
|
@@ -169,43 +149,37 @@ const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
169
149
|
savedOnInputChange.current(inputValue);
|
|
170
150
|
}
|
|
171
151
|
}, [inputValue]);
|
|
172
|
-
|
|
173
152
|
const handleSelectionClear = () => {
|
|
174
|
-
if (textInput
|
|
153
|
+
if (textInput?.current) {
|
|
175
154
|
textInput.current.focus();
|
|
176
155
|
}
|
|
177
156
|
};
|
|
178
|
-
|
|
179
157
|
const handleOnStateChange = (newState, _ref3) => {
|
|
180
158
|
let {
|
|
181
159
|
setHighlightedIndex
|
|
182
160
|
} = _ref3;
|
|
183
|
-
|
|
184
161
|
if (Object.prototype.hasOwnProperty.call(newState, 'inputValue')) {
|
|
185
162
|
const {
|
|
186
163
|
inputValue
|
|
187
164
|
} = newState;
|
|
188
165
|
const filteredItems = filterItems(items, itemToString, inputValue);
|
|
189
|
-
setHighlightedIndex(findHighlightedIndex({
|
|
166
|
+
setHighlightedIndex(findHighlightedIndex({
|
|
167
|
+
...props,
|
|
190
168
|
items: filteredItems
|
|
191
169
|
}, inputValue));
|
|
192
170
|
}
|
|
193
171
|
};
|
|
194
|
-
|
|
195
172
|
const handleToggleClick = isOpen => event => {
|
|
196
173
|
if (onToggleClick) {
|
|
197
174
|
onToggleClick(event);
|
|
198
175
|
}
|
|
199
|
-
|
|
200
176
|
if (event.target === textInput.current && isOpen) {
|
|
201
177
|
event.preventDownshiftDefault = true;
|
|
202
178
|
event.persist();
|
|
203
179
|
}
|
|
204
180
|
};
|
|
205
|
-
|
|
206
|
-
const enabled = useFeatureFlag('enable-v11-release');
|
|
207
181
|
const showWarning = !invalid && warn;
|
|
208
|
-
const className = cx(`${prefix}--combo-box`,
|
|
182
|
+
const className = cx(`${prefix}--combo-box`, {
|
|
209
183
|
[`${prefix}--list-box--up`]: direction === 'top',
|
|
210
184
|
[`${prefix}--combo-box--warning`]: showWarning,
|
|
211
185
|
[`${prefix}--combo-box--readonly`]: readOnly
|
|
@@ -217,28 +191,26 @@ const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
217
191
|
const helperClasses = cx(`${prefix}--form__helper-text`, {
|
|
218
192
|
[`${prefix}--form__helper-text--disabled`]: disabled
|
|
219
193
|
});
|
|
220
|
-
const wrapperClasses = cx(`${prefix}--list-box__wrapper`, [
|
|
194
|
+
const wrapperClasses = cx(`${prefix}--list-box__wrapper`, [containerClassName, {
|
|
221
195
|
[`${prefix}--list-box__wrapper--fluid--invalid`]: isFluid && invalid,
|
|
222
196
|
[`${prefix}--list-box__wrapper--fluid--focus`]: isFluid && isFocused
|
|
223
197
|
}]);
|
|
224
198
|
const inputClasses = cx(`${prefix}--text-input`, {
|
|
225
199
|
[`${prefix}--text-input--empty`]: !inputValue,
|
|
226
200
|
[`${prefix}--combo-box--input--focus`]: isFocused && !isFluid
|
|
227
|
-
});
|
|
201
|
+
});
|
|
228
202
|
|
|
203
|
+
// needs to be Capitalized for react to render it correctly
|
|
229
204
|
const ItemToElement = itemToElement;
|
|
230
205
|
return /*#__PURE__*/React__default.createElement(Downshift, _extends({}, downshiftProps, {
|
|
231
206
|
onChange: handleOnChange,
|
|
232
207
|
onInputValueChange: handleOnInputValueChange,
|
|
233
208
|
onStateChange: function () {
|
|
234
|
-
var _downshiftProps$onSta;
|
|
235
|
-
|
|
236
209
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
237
210
|
args[_key] = arguments[_key];
|
|
238
211
|
}
|
|
239
|
-
|
|
240
212
|
handleOnStateChange(...args);
|
|
241
|
-
downshiftProps
|
|
213
|
+
downshiftProps?.onStateChange?.(...args);
|
|
242
214
|
},
|
|
243
215
|
inputValue: inputValue || '',
|
|
244
216
|
itemToString: itemToString,
|
|
@@ -246,8 +218,6 @@ const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
246
218
|
inputId: id,
|
|
247
219
|
selectedItem: selectedItem
|
|
248
220
|
}), _ref4 => {
|
|
249
|
-
var _textInput$current;
|
|
250
|
-
|
|
251
221
|
let {
|
|
252
222
|
getInputProps,
|
|
253
223
|
getItemProps,
|
|
@@ -262,7 +232,8 @@ const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
262
232
|
clearSelection,
|
|
263
233
|
toggleMenu
|
|
264
234
|
} = _ref4;
|
|
265
|
-
const rootProps = getRootProps(
|
|
235
|
+
const rootProps = getRootProps(
|
|
236
|
+
// @ts-ignore this is not supposed to be a required property
|
|
266
237
|
{}, {
|
|
267
238
|
suppressRefError: true
|
|
268
239
|
});
|
|
@@ -270,7 +241,6 @@ const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
270
241
|
const buttonProps = getToggleButtonProps({
|
|
271
242
|
disabled: disabled || readOnly,
|
|
272
243
|
onClick: handleToggleClick(isOpen),
|
|
273
|
-
|
|
274
244
|
// When we moved the "root node" of Downshift to the <input> for
|
|
275
245
|
// ARIA 1.2 compliance, we unfortunately hit this branch for the
|
|
276
246
|
// "mouseup" event that downshift listens to:
|
|
@@ -285,27 +255,22 @@ const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
285
255
|
event.stopPropagation();
|
|
286
256
|
}
|
|
287
257
|
}
|
|
288
|
-
|
|
289
258
|
});
|
|
290
259
|
const inputProps = getInputProps({
|
|
291
260
|
// Remove excess aria `aria-labelledby`. HTML <label for> provides this aria information.
|
|
292
261
|
'aria-labelledby': null,
|
|
293
262
|
disabled,
|
|
294
263
|
placeholder,
|
|
295
|
-
|
|
296
264
|
onClick() {
|
|
297
265
|
toggleMenu();
|
|
298
266
|
},
|
|
299
|
-
|
|
300
267
|
onKeyDown: event => {
|
|
301
268
|
if (match(event, Space)) {
|
|
302
269
|
event.stopPropagation();
|
|
303
270
|
}
|
|
304
|
-
|
|
305
271
|
if (match(event, Enter) && !inputValue) {
|
|
306
272
|
toggleMenu();
|
|
307
273
|
}
|
|
308
|
-
|
|
309
274
|
if (match(event, Escape) && inputValue) {
|
|
310
275
|
if (event.target === textInput.current && isOpen) {
|
|
311
276
|
toggleMenu();
|
|
@@ -313,21 +278,17 @@ const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
313
278
|
event.persist();
|
|
314
279
|
}
|
|
315
280
|
}
|
|
316
|
-
|
|
317
281
|
if (match(event, Home)) {
|
|
318
282
|
event.target.setSelectionRange(0, 0);
|
|
319
283
|
}
|
|
320
|
-
|
|
321
284
|
if (match(event, End)) {
|
|
322
285
|
event.target.setSelectionRange(event.target.value.length, event.target.value.length);
|
|
323
286
|
}
|
|
324
287
|
}
|
|
325
288
|
});
|
|
326
|
-
|
|
327
289
|
const handleFocus = evt => {
|
|
328
290
|
setIsFocused(evt.type === 'focus');
|
|
329
291
|
};
|
|
330
|
-
|
|
331
292
|
const readOnlyEventHandlers = readOnly ? {
|
|
332
293
|
onKeyDown: evt => {
|
|
333
294
|
// This prevents the select from opening for the above keys
|
|
@@ -365,7 +326,7 @@ const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
365
326
|
"aria-expanded": rootProps['aria-expanded'],
|
|
366
327
|
"aria-haspopup": "listbox",
|
|
367
328
|
"aria-controls": inputProps['aria-controls'],
|
|
368
|
-
title: textInput
|
|
329
|
+
title: textInput?.current?.value
|
|
369
330
|
}, inputProps, rest, readOnlyEventHandlers, {
|
|
370
331
|
readOnly: readOnly,
|
|
371
332
|
ref: mergeRefs(textInput, ref),
|
|
@@ -396,7 +357,7 @@ const ComboBox = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
396
357
|
return /*#__PURE__*/React__default.createElement(ListBox.MenuItem, _extends({
|
|
397
358
|
key: itemProps.id,
|
|
398
359
|
isActive: selectedItem === item,
|
|
399
|
-
isHighlighted: highlightedIndex === index ||
|
|
360
|
+
isHighlighted: highlightedIndex === index || selectedItem?.id && selectedItem?.id === item.id || false,
|
|
400
361
|
title: itemToElement ? item.text : itemToString ? itemToString(item) : undefined
|
|
401
362
|
}, itemProps), itemToElement ?
|
|
402
363
|
/*#__PURE__*/
|
|
@@ -420,86 +381,71 @@ ComboBox.propTypes = {
|
|
|
420
381
|
* Specify a label to be read by screen readers on the container node
|
|
421
382
|
*/
|
|
422
383
|
['aria-label']: PropTypes.string,
|
|
423
|
-
|
|
424
384
|
/**
|
|
425
385
|
* Deprecated, please use `aria-label` instead.
|
|
426
386
|
* Specify a label to be read by screen readers on the container note.
|
|
427
387
|
* 'aria-label' of the ListBox component.
|
|
428
388
|
*/
|
|
429
389
|
ariaLabel: deprecate(PropTypes.string, 'This prop syntax has been deprecated. Please use the new `aria-label`.'),
|
|
430
|
-
|
|
431
390
|
/**
|
|
432
391
|
* An optional className to add to the container node
|
|
433
392
|
*/
|
|
434
393
|
className: PropTypes.string,
|
|
435
|
-
|
|
436
394
|
/**
|
|
437
395
|
* Specify the direction of the combobox dropdown. Can be either top or bottom.
|
|
438
396
|
*/
|
|
439
397
|
direction: PropTypes.oneOf(['top', 'bottom']),
|
|
440
|
-
|
|
441
398
|
/**
|
|
442
399
|
* Specify if the control should be disabled, or not
|
|
443
400
|
*/
|
|
444
401
|
disabled: PropTypes.bool,
|
|
445
|
-
|
|
446
402
|
/**
|
|
447
403
|
* Additional props passed to Downshift
|
|
448
404
|
*/
|
|
449
405
|
// @ts-ignore
|
|
450
406
|
downshiftProps: PropTypes.shape(Downshift.propTypes),
|
|
451
|
-
|
|
452
407
|
/**
|
|
453
408
|
* Provide helper text that is used alongside the control label for
|
|
454
409
|
* additional help
|
|
455
410
|
*/
|
|
456
411
|
helperText: PropTypes.string,
|
|
457
|
-
|
|
458
412
|
/**
|
|
459
413
|
* Specify a custom `id` for the input
|
|
460
414
|
*/
|
|
461
415
|
id: PropTypes.string.isRequired,
|
|
462
|
-
|
|
463
416
|
/**
|
|
464
417
|
* Allow users to pass in an arbitrary item or a string (in case their items are an array of strings)
|
|
465
418
|
* from their collection that are pre-selected
|
|
466
419
|
*/
|
|
467
420
|
initialSelectedItem: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
|
|
468
|
-
|
|
469
421
|
/**
|
|
470
422
|
* Specify if the currently selected value is invalid.
|
|
471
423
|
*/
|
|
472
424
|
invalid: PropTypes.bool,
|
|
473
|
-
|
|
474
425
|
/**
|
|
475
426
|
* Message which is displayed if the value is invalid.
|
|
476
427
|
*/
|
|
477
428
|
invalidText: PropTypes.node,
|
|
478
|
-
|
|
479
429
|
/**
|
|
480
430
|
* Optional function to render items as custom components instead of strings.
|
|
481
431
|
* Defaults to null and is overridden by a getter
|
|
482
432
|
*/
|
|
483
433
|
itemToElement: PropTypes.func,
|
|
484
|
-
|
|
485
434
|
/**
|
|
486
435
|
* Helper function passed to downshift that allows the library to render a
|
|
487
436
|
* given item to a string label. By default, it extracts the `label` field
|
|
488
437
|
* from a given item to serve as the item label in the list
|
|
489
438
|
*/
|
|
490
439
|
itemToString: PropTypes.func,
|
|
491
|
-
|
|
492
440
|
/**
|
|
493
441
|
* We try to stay as generic as possible here to allow individuals to pass
|
|
494
442
|
* in a collection of whatever kind of data structure they prefer
|
|
495
443
|
*/
|
|
496
444
|
items: PropTypes.array.isRequired,
|
|
497
|
-
|
|
498
445
|
/**
|
|
499
446
|
* should use "light theme" (white background)?
|
|
500
447
|
*/
|
|
501
448
|
light: deprecate(PropTypes.bool, 'The `light` prop for `Combobox` has ' + 'been deprecated in favor of the new `Layer` component. It will be removed in the next major release.'),
|
|
502
|
-
|
|
503
449
|
/**
|
|
504
450
|
* `onChange` is a utility for this controlled component to communicate to a
|
|
505
451
|
* consuming component when a specific dropdown item is selected.
|
|
@@ -507,7 +453,6 @@ ComboBox.propTypes = {
|
|
|
507
453
|
* @param {{ selectedItem }}
|
|
508
454
|
*/
|
|
509
455
|
onChange: PropTypes.func.isRequired,
|
|
510
|
-
|
|
511
456
|
/**
|
|
512
457
|
* Callback function to notify consumer when the text input changes.
|
|
513
458
|
* This provides support to change available items based on the text.
|
|
@@ -515,71 +460,59 @@ ComboBox.propTypes = {
|
|
|
515
460
|
* @param {string} inputText
|
|
516
461
|
*/
|
|
517
462
|
onInputChange: PropTypes.func,
|
|
518
|
-
|
|
519
463
|
/**
|
|
520
464
|
* Helper function passed to Downshift that allows the user to observe internal
|
|
521
465
|
* state changes
|
|
522
466
|
* `(changes, stateAndHelpers) => void`
|
|
523
467
|
*/
|
|
524
468
|
onStateChange: PropTypes.func,
|
|
525
|
-
|
|
526
469
|
/**
|
|
527
470
|
* Callback function that fires when the combobox menu toggle is clicked
|
|
528
471
|
* `(evt) => void`
|
|
529
472
|
* @param {MouseEvent} event
|
|
530
473
|
*/
|
|
531
474
|
onToggleClick: PropTypes.func,
|
|
532
|
-
|
|
533
475
|
/**
|
|
534
476
|
* Used to provide a placeholder text node before a user enters any input.
|
|
535
477
|
* This is only present if the control has no items selected
|
|
536
478
|
*/
|
|
537
479
|
placeholder: PropTypes.string,
|
|
538
|
-
|
|
539
480
|
/**
|
|
540
481
|
* Is the ComboBox readonly?
|
|
541
482
|
*/
|
|
542
483
|
readOnly: PropTypes.bool,
|
|
543
|
-
|
|
544
484
|
/**
|
|
545
485
|
* For full control of the selection
|
|
546
486
|
*/
|
|
547
487
|
selectedItem: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
|
|
548
|
-
|
|
549
488
|
/**
|
|
550
489
|
* Specify your own filtering logic by passing in a `shouldFilterItem`
|
|
551
490
|
* function that takes in the current input and an item and passes back
|
|
552
491
|
* whether or not the item should be filtered.
|
|
553
492
|
*/
|
|
554
493
|
shouldFilterItem: PropTypes.func,
|
|
555
|
-
|
|
556
494
|
/**
|
|
557
495
|
* Specify the size of the ListBox. Currently supports either `sm`, `md` or `lg` as an option.
|
|
558
496
|
*/
|
|
559
497
|
size: ListBoxSize,
|
|
560
|
-
|
|
561
498
|
/**
|
|
562
499
|
* Provide text to be used in a `<label>` element that is tied to the
|
|
563
500
|
* combobox via ARIA attributes.
|
|
564
501
|
*/
|
|
565
502
|
titleText: PropTypes.node,
|
|
566
|
-
|
|
567
503
|
/**
|
|
568
504
|
* Specify a custom translation function that takes in a message identifier
|
|
569
505
|
* and returns the localized string for the message
|
|
570
506
|
*/
|
|
571
507
|
translateWithId: PropTypes.func,
|
|
572
|
-
|
|
573
508
|
/**
|
|
574
509
|
* Currently supports either the default type, or an inline variant
|
|
575
510
|
*/
|
|
576
511
|
type: ListBoxType,
|
|
577
|
-
|
|
578
512
|
/**
|
|
579
513
|
* Specify whether the control is currently in warning state
|
|
580
514
|
*/
|
|
581
515
|
warn: PropTypes.bool,
|
|
582
|
-
|
|
583
516
|
/**
|
|
584
517
|
* Provide the text that is displayed when the control is in warning state
|
|
585
518
|
*/
|
|
@@ -20,15 +20,12 @@ import { usePrefix } from '../../internal/usePrefix.js';
|
|
|
20
20
|
|
|
21
21
|
var _ChevronDown;
|
|
22
22
|
const spacing = 4; // top and bottom spacing between the button and the menu. in px
|
|
23
|
-
|
|
24
23
|
const defaultTranslations = {
|
|
25
24
|
'carbon.combo-button.additional-actions': 'Additional actions'
|
|
26
25
|
};
|
|
27
|
-
|
|
28
26
|
function defaultTranslateWithId(messageId) {
|
|
29
27
|
return defaultTranslations[messageId];
|
|
30
28
|
}
|
|
31
|
-
|
|
32
29
|
const ComboButton = /*#__PURE__*/React__default.forwardRef(function ComboButton(_ref, forwardRef) {
|
|
33
30
|
let {
|
|
34
31
|
children,
|
|
@@ -55,7 +52,6 @@ const ComboButton = /*#__PURE__*/React__default.forwardRef(function ComboButton(
|
|
|
55
52
|
handleMousedown: handleTriggerMousedown,
|
|
56
53
|
handleClose
|
|
57
54
|
} = useAttachedMenu(containerRef);
|
|
58
|
-
|
|
59
55
|
function handleTriggerClick() {
|
|
60
56
|
if (containerRef.current) {
|
|
61
57
|
const {
|
|
@@ -65,17 +61,14 @@ const ComboButton = /*#__PURE__*/React__default.forwardRef(function ComboButton(
|
|
|
65
61
|
hookOnClick();
|
|
66
62
|
}
|
|
67
63
|
}
|
|
68
|
-
|
|
69
64
|
function handlePrimaryActionClick(e) {
|
|
70
65
|
if (onClick) {
|
|
71
66
|
onClick(e);
|
|
72
67
|
}
|
|
73
68
|
}
|
|
74
|
-
|
|
75
69
|
function handleOpen() {
|
|
76
70
|
menuRef.current.style.width = `${width}px`;
|
|
77
71
|
}
|
|
78
|
-
|
|
79
72
|
const containerClasses = cx(`${prefix}--combo-button__container`, `${prefix}--combo-button__container--${size}`, {
|
|
80
73
|
[`${prefix}--combo-button__container--open`]: open
|
|
81
74
|
}, className);
|
|
@@ -118,37 +111,30 @@ ComboButton.propTypes = {
|
|
|
118
111
|
* A collection of MenuItems to be rendered as additional actions for this ComboButton.
|
|
119
112
|
*/
|
|
120
113
|
children: PropTypes.node.isRequired,
|
|
121
|
-
|
|
122
114
|
/**
|
|
123
115
|
* Additional CSS class names.
|
|
124
116
|
*/
|
|
125
117
|
className: PropTypes.string,
|
|
126
|
-
|
|
127
118
|
/**
|
|
128
119
|
* Specify whether the ComboButton should be disabled, or not.
|
|
129
120
|
*/
|
|
130
121
|
disabled: PropTypes.bool,
|
|
131
|
-
|
|
132
122
|
/**
|
|
133
123
|
* Provide the label to be renderd on the primary action button.
|
|
134
124
|
*/
|
|
135
125
|
label: PropTypes.string.isRequired,
|
|
136
|
-
|
|
137
126
|
/**
|
|
138
127
|
* Provide an optional function to be called when the primary action element is clicked.
|
|
139
128
|
*/
|
|
140
129
|
onClick: PropTypes.func,
|
|
141
|
-
|
|
142
130
|
/**
|
|
143
131
|
* Specify the size of the buttons and menu.
|
|
144
132
|
*/
|
|
145
133
|
size: PropTypes.oneOf(['sm', 'md', 'lg']),
|
|
146
|
-
|
|
147
134
|
/**
|
|
148
135
|
* Specify how the trigger tooltip should be aligned.
|
|
149
136
|
*/
|
|
150
137
|
tooltipAlign: PropTypes.oneOf(['top', 'top-left', 'top-right', 'bottom', 'bottom-left', 'bottom-right', 'left', 'right']),
|
|
151
|
-
|
|
152
138
|
/**
|
|
153
139
|
* Optional method that takes in a message id and returns an
|
|
154
140
|
* internationalized string.
|