@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
|
@@ -16,14 +16,13 @@ var Downshift = require('downshift');
|
|
|
16
16
|
var isEqual = require('lodash.isequal');
|
|
17
17
|
var PropTypes = require('prop-types');
|
|
18
18
|
var React = require('react');
|
|
19
|
-
var index
|
|
19
|
+
var index = require('../ListBox/index.js');
|
|
20
20
|
var MultiSelectPropTypes = require('./MultiSelectPropTypes.js');
|
|
21
21
|
var sorting = require('./tools/sorting.js');
|
|
22
22
|
var Selection = require('../../internal/Selection.js');
|
|
23
23
|
var setupGetInstanceId = require('../../tools/setupGetInstanceId.js');
|
|
24
24
|
var mergeRefs = require('../../tools/mergeRefs.js');
|
|
25
25
|
var deprecate = require('../../prop-types/deprecate.js');
|
|
26
|
-
var index = require('../FeatureFlags/index.js');
|
|
27
26
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
28
27
|
require('../FluidForm/FluidForm.js');
|
|
29
28
|
var FormContext = require('../FluidForm/FormContext.js');
|
|
@@ -40,7 +39,6 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
|
40
39
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
41
40
|
|
|
42
41
|
const noop = () => {};
|
|
43
|
-
|
|
44
42
|
const getInstanceId = setupGetInstanceId["default"]();
|
|
45
43
|
const {
|
|
46
44
|
ItemClick,
|
|
@@ -51,23 +49,18 @@ const {
|
|
|
51
49
|
MenuKeyDownSpaceButton,
|
|
52
50
|
ToggleButtonClick
|
|
53
51
|
} = Downshift.useSelect.stateChangeTypes;
|
|
54
|
-
|
|
55
52
|
const defaultItemToString = item => {
|
|
56
53
|
if (typeof item === 'string') {
|
|
57
54
|
return item;
|
|
58
55
|
}
|
|
59
|
-
|
|
60
56
|
if (typeof item === 'number') {
|
|
61
57
|
return `${item}`;
|
|
62
58
|
}
|
|
63
|
-
|
|
64
59
|
if (item !== null && typeof item === 'object' && 'label' in item && typeof item['label'] === 'string') {
|
|
65
60
|
return item['label'];
|
|
66
61
|
}
|
|
67
|
-
|
|
68
62
|
return '';
|
|
69
63
|
};
|
|
70
|
-
|
|
71
64
|
const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function MultiSelect(_ref, ref) {
|
|
72
65
|
let {
|
|
73
66
|
className: containerClassName,
|
|
@@ -133,11 +126,14 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function M
|
|
|
133
126
|
getMenuProps,
|
|
134
127
|
getItemProps,
|
|
135
128
|
selectedItem
|
|
136
|
-
} = Downshift.useSelect({
|
|
129
|
+
} = Downshift.useSelect({
|
|
130
|
+
...downshiftProps,
|
|
137
131
|
highlightedIndex,
|
|
138
132
|
isOpen,
|
|
139
133
|
itemToString: items => {
|
|
140
|
-
return items.map(
|
|
134
|
+
return Array.isArray(items) && items.map(function (item) {
|
|
135
|
+
return itemToString(item);
|
|
136
|
+
}).join(', ') || '';
|
|
141
137
|
},
|
|
142
138
|
onStateChange,
|
|
143
139
|
selectedItem: controlledSelectedItems,
|
|
@@ -153,31 +149,27 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function M
|
|
|
153
149
|
});
|
|
154
150
|
const mergedRef = mergeRefs["default"](toggleButtonProps.ref, ref);
|
|
155
151
|
const selectedItems = selectedItem;
|
|
152
|
+
|
|
156
153
|
/**
|
|
157
154
|
* wrapper function to forward changes to consumer
|
|
158
155
|
*/
|
|
159
|
-
|
|
160
156
|
const setIsOpenWrapper = open => {
|
|
161
157
|
setIsOpen(open);
|
|
162
|
-
|
|
163
158
|
if (onMenuChange) {
|
|
164
159
|
onMenuChange(open);
|
|
165
160
|
}
|
|
166
161
|
};
|
|
162
|
+
|
|
167
163
|
/**
|
|
168
164
|
* programmatically control this `open` prop
|
|
169
165
|
*/
|
|
170
|
-
|
|
171
|
-
|
|
172
166
|
if (prevOpenProp !== open) {
|
|
173
167
|
setIsOpenWrapper(open);
|
|
174
168
|
setPrevOpenProp(open);
|
|
175
169
|
}
|
|
176
|
-
|
|
177
170
|
const inline = type === 'inline';
|
|
178
171
|
const showWarning = !invalid && warn;
|
|
179
|
-
const
|
|
180
|
-
const wrapperClasses = cx__default["default"](`${prefix}--multi-select__wrapper`, `${prefix}--list-box__wrapper`, [enabled ? containerClassName : null], {
|
|
172
|
+
const wrapperClasses = cx__default["default"](`${prefix}--multi-select__wrapper`, `${prefix}--list-box__wrapper`, containerClassName, {
|
|
181
173
|
[`${prefix}--multi-select__wrapper--inline`]: inline,
|
|
182
174
|
[`${prefix}--list-box__wrapper--inline`]: inline,
|
|
183
175
|
[`${prefix}--multi-select__wrapper--inline--invalid`]: inline && invalid,
|
|
@@ -194,7 +186,7 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function M
|
|
|
194
186
|
const helperClasses = cx__default["default"](`${prefix}--form__helper-text`, {
|
|
195
187
|
[`${prefix}--form__helper-text--disabled`]: disabled
|
|
196
188
|
});
|
|
197
|
-
const className = cx__default["default"](`${prefix}--multi-select`,
|
|
189
|
+
const className = cx__default["default"](`${prefix}--multi-select`, {
|
|
198
190
|
[`${prefix}--multi-select--invalid`]: invalid,
|
|
199
191
|
[`${prefix}--multi-select--invalid--focused`]: invalid && inputFocused,
|
|
200
192
|
[`${prefix}--multi-select--warning`]: showWarning,
|
|
@@ -202,9 +194,10 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function M
|
|
|
202
194
|
[`${prefix}--multi-select--selected`]: selectedItems && selectedItems.length > 0,
|
|
203
195
|
[`${prefix}--list-box--up`]: direction === 'top',
|
|
204
196
|
[`${prefix}--multi-select--readonly`]: readOnly
|
|
205
|
-
});
|
|
206
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
197
|
+
});
|
|
207
198
|
|
|
199
|
+
// needs to be capitalized for react to render it correctly
|
|
200
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
208
201
|
const ItemToElement = itemToElement;
|
|
209
202
|
const sortOptions = {
|
|
210
203
|
selectedItems: controlledSelectedItems,
|
|
@@ -212,83 +205,70 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function M
|
|
|
212
205
|
compareItems,
|
|
213
206
|
locale
|
|
214
207
|
};
|
|
215
|
-
|
|
216
208
|
if (selectionFeedback === 'fixed') {
|
|
217
209
|
sortOptions.selectedItems = [];
|
|
218
210
|
} else if (selectionFeedback === 'top-after-reopen') {
|
|
219
211
|
sortOptions.selectedItems = topItems;
|
|
220
212
|
}
|
|
221
|
-
|
|
222
213
|
function onStateChange(changes) {
|
|
223
214
|
if (changes.isOpen && !isOpen) {
|
|
224
215
|
setTopItems(controlledSelectedItems);
|
|
225
216
|
}
|
|
226
|
-
|
|
227
217
|
const {
|
|
228
218
|
type
|
|
229
219
|
} = changes;
|
|
230
|
-
|
|
231
220
|
switch (type) {
|
|
232
221
|
case ItemClick:
|
|
233
222
|
case MenuKeyDownSpaceButton:
|
|
234
223
|
if (changes.selectedItem === undefined) {
|
|
235
224
|
break;
|
|
236
225
|
}
|
|
237
|
-
|
|
238
226
|
onItemChange(changes.selectedItem);
|
|
239
227
|
break;
|
|
240
|
-
|
|
241
228
|
case MenuKeyDownArrowDown:
|
|
242
229
|
case MenuKeyDownArrowUp:
|
|
243
230
|
setHighlightedIndex(changes.highlightedIndex);
|
|
244
231
|
break;
|
|
245
|
-
|
|
246
232
|
case MenuBlur:
|
|
247
233
|
case MenuKeyDownEscape:
|
|
248
234
|
setIsOpenWrapper(false);
|
|
249
235
|
setHighlightedIndex(changes.highlightedIndex);
|
|
250
236
|
break;
|
|
251
|
-
|
|
252
237
|
case ToggleButtonClick:
|
|
253
238
|
setIsOpenWrapper(changes.isOpen || false);
|
|
254
239
|
setHighlightedIndex(changes.highlightedIndex);
|
|
255
240
|
break;
|
|
256
241
|
}
|
|
257
242
|
}
|
|
258
|
-
|
|
259
243
|
const onKeyDown = e => {
|
|
260
244
|
if (!disabled) {
|
|
261
245
|
if (match.match(e, keys.Delete) || match.match(e, keys.Escape)) {
|
|
262
246
|
clearSelection();
|
|
263
247
|
e.stopPropagation();
|
|
264
248
|
}
|
|
265
|
-
|
|
266
249
|
if (match.match(e, keys.Space) || match.match(e, keys.ArrowDown)) {
|
|
267
250
|
setIsOpenWrapper(true);
|
|
268
251
|
}
|
|
269
252
|
}
|
|
270
253
|
};
|
|
271
|
-
|
|
272
254
|
const multiSelectFieldWrapperClasses = cx__default["default"](`${prefix}--list-box__field--wrapper`, {
|
|
273
255
|
[`${prefix}--list-box__field--wrapper--input-focused`]: inputFocused
|
|
274
256
|
});
|
|
275
|
-
|
|
276
257
|
const handleFocus = evt => {
|
|
277
258
|
evt.target.classList.contains(`${prefix}--tag__close-icon`) ? setIsFocused(false) : setIsFocused(evt.type === 'focus' ? true : false);
|
|
278
259
|
};
|
|
279
|
-
|
|
280
260
|
const readOnlyEventHandlers = readOnly ? {
|
|
281
261
|
onClick: evt => {
|
|
282
262
|
// NOTE: does not prevent click
|
|
283
|
-
evt.preventDefault();
|
|
284
|
-
|
|
263
|
+
evt.preventDefault();
|
|
264
|
+
// focus on the element as per readonly input behavior
|
|
285
265
|
if (mergedRef.current !== undefined) {
|
|
286
266
|
mergedRef.current.focus();
|
|
287
267
|
}
|
|
288
268
|
},
|
|
289
269
|
onKeyDown: evt => {
|
|
290
|
-
const selectAccessKeys = ['ArrowDown', 'ArrowUp', ' ', 'Enter'];
|
|
291
|
-
|
|
270
|
+
const selectAccessKeys = ['ArrowDown', 'ArrowUp', ' ', 'Enter'];
|
|
271
|
+
// This prevents the select from opening for the above keys
|
|
292
272
|
if (selectAccessKeys.includes(evt.key)) {
|
|
293
273
|
evt.preventDefault();
|
|
294
274
|
}
|
|
@@ -300,7 +280,7 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function M
|
|
|
300
280
|
className: titleClasses
|
|
301
281
|
}, getLabelProps()), titleText && titleText, selectedItems.length > 0 && /*#__PURE__*/React__default["default"].createElement("span", {
|
|
302
282
|
className: `${prefix}--visually-hidden`
|
|
303
|
-
}, clearSelectionDescription, " ", selectedItems.length, ",", clearSelectionText)), /*#__PURE__*/React__default["default"].createElement(index
|
|
283
|
+
}, clearSelectionDescription, " ", selectedItems.length, ",", clearSelectionText)), /*#__PURE__*/React__default["default"].createElement(index["default"], {
|
|
304
284
|
onFocus: isFluid ? handleFocus : undefined,
|
|
305
285
|
onBlur: isFluid ? handleFocus : undefined,
|
|
306
286
|
type: type,
|
|
@@ -320,10 +300,11 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function M
|
|
|
320
300
|
className: `${prefix}--list-box__invalid-icon ${prefix}--list-box__invalid-icon--warning`
|
|
321
301
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
322
302
|
className: multiSelectFieldWrapperClasses
|
|
323
|
-
}, selectedItems.length > 0 && /*#__PURE__*/React__default["default"].createElement(index
|
|
303
|
+
}, selectedItems.length > 0 && /*#__PURE__*/React__default["default"].createElement(index["default"].Selection, {
|
|
324
304
|
readOnly: readOnly,
|
|
325
305
|
clearSelection: !disabled && !readOnly ? clearSelection : noop,
|
|
326
|
-
selectionCount: selectedItems.length
|
|
306
|
+
selectionCount: selectedItems.length
|
|
307
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
327
308
|
,
|
|
328
309
|
translateWithId: translateWithId,
|
|
329
310
|
disabled: disabled
|
|
@@ -339,13 +320,14 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function M
|
|
|
339
320
|
}, readOnlyEventHandlers), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
340
321
|
id: fieldLabelId,
|
|
341
322
|
className: `${prefix}--list-box__label`
|
|
342
|
-
}, label), /*#__PURE__*/React__default["default"].createElement(index
|
|
323
|
+
}, label), /*#__PURE__*/React__default["default"].createElement(index["default"].MenuIcon, {
|
|
343
324
|
isOpen: isOpen,
|
|
344
325
|
translateWithId: translateWithId
|
|
345
|
-
}))), /*#__PURE__*/React__default["default"].createElement(index
|
|
326
|
+
}))), /*#__PURE__*/React__default["default"].createElement(index["default"].Menu, _rollupPluginBabelHelpers["extends"]({
|
|
346
327
|
"aria-multiselectable": "true"
|
|
347
|
-
}, getMenuProps()), isOpen &&
|
|
348
|
-
|
|
328
|
+
}, getMenuProps()), isOpen &&
|
|
329
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
330
|
+
sortItems(items, sortOptions).map((item, index$1) => {
|
|
349
331
|
const isChecked = selectedItems.filter(selected => isEqual__default["default"](selected, item)).length > 0;
|
|
350
332
|
const itemProps = getItemProps({
|
|
351
333
|
item,
|
|
@@ -355,11 +337,11 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function M
|
|
|
355
337
|
disabled: item.disabled
|
|
356
338
|
});
|
|
357
339
|
const itemText = itemToString(item);
|
|
358
|
-
return /*#__PURE__*/React__default["default"].createElement(index
|
|
340
|
+
return /*#__PURE__*/React__default["default"].createElement(index["default"].MenuItem, _rollupPluginBabelHelpers["extends"]({
|
|
359
341
|
key: itemProps.id,
|
|
360
342
|
isActive: isChecked,
|
|
361
343
|
"aria-label": itemText,
|
|
362
|
-
isHighlighted: highlightedIndex === index,
|
|
344
|
+
isHighlighted: highlightedIndex === index$1,
|
|
363
345
|
title: itemText
|
|
364
346
|
}, itemProps), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
365
347
|
className: `${prefix}--checkbox-wrapper`
|
|
@@ -377,135 +359,112 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function M
|
|
|
377
359
|
}, helperText));
|
|
378
360
|
});
|
|
379
361
|
MultiSelect.displayName = 'MultiSelect';
|
|
380
|
-
MultiSelect.propTypes = {
|
|
381
|
-
|
|
362
|
+
MultiSelect.propTypes = {
|
|
363
|
+
...MultiSelectPropTypes.sortingPropTypes,
|
|
382
364
|
/**
|
|
383
365
|
* Provide a custom class name to be added to the outermost node in the
|
|
384
366
|
* component
|
|
385
367
|
*/
|
|
386
368
|
className: PropTypes__default["default"].string,
|
|
387
|
-
|
|
388
369
|
/**
|
|
389
370
|
* Specify the text that should be read for screen readers that describes total items selected
|
|
390
371
|
*/
|
|
391
372
|
clearSelectionDescription: PropTypes__default["default"].string,
|
|
392
|
-
|
|
393
373
|
/**
|
|
394
374
|
* Specify the text that should be read for screen readers to clear selection.
|
|
395
375
|
*/
|
|
396
376
|
clearSelectionText: PropTypes__default["default"].string,
|
|
397
|
-
|
|
398
377
|
/**
|
|
399
378
|
* Specify the direction of the multiselect dropdown. Can be either top or bottom.
|
|
400
379
|
*/
|
|
401
380
|
direction: PropTypes__default["default"].oneOf(['top', 'bottom']),
|
|
402
|
-
|
|
403
381
|
/**
|
|
404
382
|
* Disable the control
|
|
405
383
|
*/
|
|
406
384
|
disabled: PropTypes__default["default"].bool,
|
|
407
|
-
|
|
408
385
|
/**
|
|
409
386
|
* Additional props passed to Downshift
|
|
410
387
|
*/
|
|
411
388
|
// @ts-ignore
|
|
412
389
|
downshiftProps: PropTypes__default["default"].shape(Downshift__default["default"].propTypes),
|
|
413
|
-
|
|
414
390
|
/**
|
|
415
391
|
* Provide helper text that is used alongside the control label for
|
|
416
392
|
* additional help
|
|
417
393
|
*/
|
|
418
394
|
helperText: PropTypes__default["default"].node,
|
|
419
|
-
|
|
420
395
|
/**
|
|
421
396
|
* Specify whether the title text should be hidden or not
|
|
422
397
|
*/
|
|
423
398
|
hideLabel: PropTypes__default["default"].bool,
|
|
424
|
-
|
|
425
399
|
/**
|
|
426
400
|
* Specify a custom `id`
|
|
427
401
|
*/
|
|
428
402
|
id: PropTypes__default["default"].string.isRequired,
|
|
429
|
-
|
|
430
403
|
/**
|
|
431
404
|
* Allow users to pass in arbitrary items from their collection that are
|
|
432
405
|
* pre-selected
|
|
433
406
|
*/
|
|
434
407
|
initialSelectedItems: PropTypes__default["default"].array,
|
|
435
|
-
|
|
436
408
|
/**
|
|
437
409
|
* Is the current selection invalid?
|
|
438
410
|
*/
|
|
439
411
|
invalid: PropTypes__default["default"].bool,
|
|
440
|
-
|
|
441
412
|
/**
|
|
442
413
|
* If invalid, what is the error?
|
|
443
414
|
*/
|
|
444
415
|
invalidText: PropTypes__default["default"].node,
|
|
445
|
-
|
|
446
416
|
/**
|
|
447
417
|
* Function to render items as custom components instead of strings.
|
|
448
418
|
* Defaults to null and is overridden by a getter
|
|
449
419
|
*/
|
|
450
420
|
itemToElement: PropTypes__default["default"].func,
|
|
451
|
-
|
|
452
421
|
/**
|
|
453
422
|
* Helper function passed to downshift that allows the library to render a
|
|
454
423
|
* given item to a string label. By default, it extracts the `label` field
|
|
455
424
|
* from a given item to serve as the item label in the list.
|
|
456
425
|
*/
|
|
457
426
|
itemToString: PropTypes__default["default"].func,
|
|
458
|
-
|
|
459
427
|
/**
|
|
460
428
|
* We try to stay as generic as possible here to allow individuals to pass
|
|
461
429
|
* in a collection of whatever kind of data structure they prefer
|
|
462
430
|
*/
|
|
463
431
|
items: PropTypes__default["default"].array.isRequired,
|
|
464
|
-
|
|
465
432
|
/**
|
|
466
433
|
* Generic `label` that will be used as the textual representation of what
|
|
467
434
|
* this field is for
|
|
468
435
|
*/
|
|
469
436
|
label: PropTypes__default["default"].node.isRequired,
|
|
470
|
-
|
|
471
437
|
/**
|
|
472
438
|
* `true` to use the light version.
|
|
473
439
|
*/
|
|
474
440
|
light: deprecate["default"](PropTypes__default["default"].bool, 'The `light` prop for `MultiSelect` has ' + 'been deprecated in favor of the new `Layer` component. It will be removed in the next major release.'),
|
|
475
|
-
|
|
476
441
|
/**
|
|
477
442
|
* Specify the locale of the control. Used for the default `compareItems`
|
|
478
443
|
* used for sorting the list of items in the control.
|
|
479
444
|
*/
|
|
480
445
|
locale: PropTypes__default["default"].string,
|
|
481
|
-
|
|
482
446
|
/**
|
|
483
447
|
* `onChange` is a utility for this controlled component to communicate to a
|
|
484
448
|
* consuming component what kind of internal state changes are occurring.
|
|
485
449
|
*/
|
|
486
450
|
onChange: PropTypes__default["default"].func,
|
|
487
|
-
|
|
488
451
|
/**
|
|
489
452
|
* `onMenuChange` is a utility for this controlled component to communicate to a
|
|
490
453
|
* consuming component that the menu was open(`true`)/closed(`false`).
|
|
491
454
|
*/
|
|
492
455
|
onMenuChange: PropTypes__default["default"].func,
|
|
493
|
-
|
|
494
456
|
/**
|
|
495
457
|
* Initialize the component with an open(`true`)/closed(`false`) menu.
|
|
496
458
|
*/
|
|
497
459
|
open: PropTypes__default["default"].bool,
|
|
498
|
-
|
|
499
460
|
/**
|
|
500
461
|
* Whether or not the Dropdown is readonly
|
|
501
462
|
*/
|
|
502
463
|
readOnly: PropTypes__default["default"].bool,
|
|
503
|
-
|
|
504
464
|
/**
|
|
505
465
|
* For full control of the selected items
|
|
506
466
|
*/
|
|
507
467
|
selectedItems: PropTypes__default["default"].array,
|
|
508
|
-
|
|
509
468
|
/**
|
|
510
469
|
* Specify feedback (mode) of the selection.
|
|
511
470
|
* `top`: selected item jumps to top
|
|
@@ -513,38 +472,31 @@ MultiSelect.propTypes = { ...MultiSelectPropTypes.sortingPropTypes,
|
|
|
513
472
|
* `top-after-reopen`: selected item jump to top after reopen dropdown
|
|
514
473
|
*/
|
|
515
474
|
selectionFeedback: PropTypes__default["default"].oneOf(['top', 'fixed', 'top-after-reopen']),
|
|
516
|
-
|
|
517
475
|
/**
|
|
518
476
|
* Specify the size of the ListBox. Currently supports either `sm`, `md` or `lg` as an option.
|
|
519
477
|
*/
|
|
520
478
|
size: ListBoxPropTypes.ListBoxSize,
|
|
521
|
-
|
|
522
479
|
/**
|
|
523
480
|
* Provide text to be used in a `<label>` element that is tied to the
|
|
524
481
|
* multiselect via ARIA attributes.
|
|
525
482
|
*/
|
|
526
483
|
titleText: PropTypes__default["default"].node,
|
|
527
|
-
|
|
528
484
|
/**
|
|
529
485
|
* Callback function for translating ListBoxMenuIcon SVG title
|
|
530
486
|
*/
|
|
531
487
|
translateWithId: PropTypes__default["default"].func,
|
|
532
|
-
|
|
533
488
|
/**
|
|
534
489
|
* Specify 'inline' to create an inline multi-select.
|
|
535
490
|
*/
|
|
536
491
|
type: PropTypes__default["default"].oneOf(['default', 'inline']),
|
|
537
|
-
|
|
538
492
|
/**
|
|
539
493
|
* Specify title to show title on hover
|
|
540
494
|
*/
|
|
541
495
|
useTitleInItem: PropTypes__default["default"].bool,
|
|
542
|
-
|
|
543
496
|
/**
|
|
544
497
|
* Specify whether the control is currently in warning state
|
|
545
498
|
*/
|
|
546
499
|
warn: PropTypes__default["default"].bool,
|
|
547
|
-
|
|
548
500
|
/**
|
|
549
501
|
* Provide the text that is displayed when the control is in warning state
|
|
550
502
|
*/
|
|
@@ -24,7 +24,6 @@ const sortingPropTypes = {
|
|
|
24
24
|
* (itemA: string, itemB: string, { locale: string }) => number
|
|
25
25
|
*/
|
|
26
26
|
compareItems: PropTypes__default["default"].func.isRequired,
|
|
27
|
-
|
|
28
27
|
/**
|
|
29
28
|
* Provide a method that sorts all options in the control. Overriding this
|
|
30
29
|
* prop means that you also have to handle the sort logic for selected versus
|
|
@@ -15,7 +15,6 @@ var FilterableMultiSelect = require('./FilterableMultiSelect.js');
|
|
|
15
15
|
|
|
16
16
|
FilterableMultiSelect["default"].displayName = 'MultiSelect.Filterable';
|
|
17
17
|
MultiSelect["default"].Filterable = FilterableMultiSelect["default"];
|
|
18
|
-
|
|
19
18
|
if (process.env.NODE_ENV !== "production") {
|
|
20
19
|
deprecateFieldOnObject.deprecateFieldOnObject(MultiSelect["default"], 'Filterable', FilterableMultiSelect["default"]);
|
|
21
20
|
}
|
|
@@ -19,12 +19,10 @@ const itemToString = item => {
|
|
|
19
19
|
!(typeof item.label === 'string') ? process.env.NODE_ENV !== "production" ? invariant__default["default"](false, '[MultiSelect] the default `itemToString` method expected to receive ' + 'an item with a `label` field of type `string`. Instead received: `%s`', typeof item.label) : invariant__default["default"](false) : void 0;
|
|
20
20
|
return item.label || '';
|
|
21
21
|
};
|
|
22
|
-
|
|
23
22
|
const defaultItemToString = item => {
|
|
24
23
|
if (Array.isArray(item)) {
|
|
25
24
|
return item.map(itemToString);
|
|
26
25
|
}
|
|
27
|
-
|
|
28
26
|
return itemToString(item);
|
|
29
27
|
};
|
|
30
28
|
|
|
@@ -27,10 +27,10 @@ const defaultCompareItems = (itemA, itemB, _ref) => {
|
|
|
27
27
|
numeric: true
|
|
28
28
|
});
|
|
29
29
|
};
|
|
30
|
+
|
|
30
31
|
/**
|
|
31
32
|
* Default sorting algorithm for options in a selection control
|
|
32
33
|
*/
|
|
33
|
-
|
|
34
34
|
const defaultSortItems = (items, _ref2) => {
|
|
35
35
|
let {
|
|
36
36
|
selectedItems = [],
|
|
@@ -40,16 +40,15 @@ const defaultSortItems = (items, _ref2) => {
|
|
|
40
40
|
} = _ref2;
|
|
41
41
|
return items.sort((itemA, itemB) => {
|
|
42
42
|
const hasItemA = selectedItems.includes(itemA);
|
|
43
|
-
const hasItemB = selectedItems.includes(itemB);
|
|
43
|
+
const hasItemB = selectedItems.includes(itemB);
|
|
44
44
|
|
|
45
|
+
// Prefer whichever item is in the `selectedItems` array first
|
|
45
46
|
if (hasItemA && !hasItemB) {
|
|
46
47
|
return -1;
|
|
47
48
|
}
|
|
48
|
-
|
|
49
49
|
if (hasItemB && !hasItemA) {
|
|
50
50
|
return 1;
|
|
51
51
|
}
|
|
52
|
-
|
|
53
52
|
return compareItems(itemToString(itemA), itemToString(itemB), {
|
|
54
53
|
locale
|
|
55
54
|
});
|