@carbon/react 1.29.1 → 1.30.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 +153 -175
- 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 +5 -12
- package/es/components/FileUploader/Filename.js +6 -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 +1 -46
- 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 +0 -1
- 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 +153 -175
- 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 +5 -31
- package/lib/components/FileUploader/Filename.js +6 -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 +1 -46
- 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 +0 -1
- 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
|
@@ -43,52 +43,43 @@ function Tooltip(_ref) {
|
|
|
43
43
|
// This should be placed on the trigger in case the element is disabled
|
|
44
44
|
onMouseEnter
|
|
45
45
|
};
|
|
46
|
-
|
|
47
46
|
function getChildEventHandlers(childProps) {
|
|
48
47
|
const eventHandlerFunctions = ['onFocus', 'onBlur', 'onClick', 'onMouseEnter'];
|
|
49
48
|
const eventHandlers = {};
|
|
50
49
|
eventHandlerFunctions.forEach(functionName => {
|
|
51
50
|
eventHandlers[functionName] = evt => {
|
|
52
51
|
triggerProps[functionName]();
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
childProps === null || childProps === void 0 ? void 0 : childProps[functionName](evt);
|
|
52
|
+
if (childProps?.[functionName]) {
|
|
53
|
+
childProps?.[functionName](evt);
|
|
56
54
|
}
|
|
57
55
|
};
|
|
58
56
|
});
|
|
59
57
|
return eventHandlers;
|
|
60
58
|
}
|
|
61
|
-
|
|
62
59
|
if (label) {
|
|
63
60
|
triggerProps['aria-labelledby'] = id;
|
|
64
61
|
} else {
|
|
65
62
|
triggerProps['aria-describedby'] = id;
|
|
66
63
|
}
|
|
67
|
-
|
|
68
64
|
function onKeyDown(event) {
|
|
69
65
|
if (open && match(event, Escape)) {
|
|
70
66
|
event.stopPropagation();
|
|
71
67
|
setOpen(false);
|
|
72
68
|
}
|
|
73
|
-
|
|
74
69
|
if (open && closeOnActivation && (match(event, Enter) || match(event, Space))) {
|
|
75
70
|
setOpen(false);
|
|
76
71
|
}
|
|
77
72
|
}
|
|
78
|
-
|
|
79
73
|
function onMouseEnter() {
|
|
80
74
|
setOpen(true, enterDelayMs);
|
|
81
75
|
}
|
|
82
|
-
|
|
83
76
|
function onMouseLeave() {
|
|
84
77
|
setOpen(false, leaveDelayMs);
|
|
85
78
|
}
|
|
86
|
-
|
|
87
79
|
useNoInteractiveChildren(tooltipRef, 'The Tooltip component must have no interactive content rendered by the' + '`label` or `description` prop');
|
|
88
80
|
useEffect(() => {
|
|
89
81
|
if (containerRef !== null && containerRef.current) {
|
|
90
82
|
const interactiveContent = getInteractiveContent(containerRef.current);
|
|
91
|
-
|
|
92
83
|
if (!interactiveContent) {
|
|
93
84
|
setOpen(false);
|
|
94
85
|
}
|
|
@@ -103,7 +94,8 @@ function Tooltip(_ref) {
|
|
|
103
94
|
onMouseLeave: onMouseLeave,
|
|
104
95
|
open: open,
|
|
105
96
|
ref: containerRef
|
|
106
|
-
}), child !== undefined ? /*#__PURE__*/React__default.cloneElement(child, {
|
|
97
|
+
}), child !== undefined ? /*#__PURE__*/React__default.cloneElement(child, {
|
|
98
|
+
...triggerProps,
|
|
107
99
|
...getChildEventHandlers(child.props)
|
|
108
100
|
}) : null, /*#__PURE__*/React__default.createElement(PopoverContent, {
|
|
109
101
|
"aria-hidden": "true",
|
|
@@ -113,33 +105,27 @@ function Tooltip(_ref) {
|
|
|
113
105
|
role: "tooltip"
|
|
114
106
|
}, label || description));
|
|
115
107
|
}
|
|
116
|
-
|
|
117
108
|
Tooltip.propTypes = {
|
|
118
109
|
/**
|
|
119
110
|
* Specify how the trigger should align with the tooltip
|
|
120
111
|
*/
|
|
121
112
|
align: PropTypes.oneOf(['top', 'top-left', 'top-right', 'bottom', 'bottom-left', 'bottom-right', 'left', 'left-bottom', 'left-top', 'right', 'right-bottom', 'right-top']),
|
|
122
|
-
|
|
123
113
|
/**
|
|
124
114
|
* Pass in the child to which the tooltip will be applied
|
|
125
115
|
*/
|
|
126
116
|
children: PropTypes.node,
|
|
127
|
-
|
|
128
117
|
/**
|
|
129
118
|
* Specify an optional className to be applied to the container node
|
|
130
119
|
*/
|
|
131
120
|
className: PropTypes.string,
|
|
132
|
-
|
|
133
121
|
/**
|
|
134
122
|
* Determines wether the tooltip should close when inner content is activated (click, Enter or Space)
|
|
135
123
|
*/
|
|
136
124
|
closeOnActivation: PropTypes.bool,
|
|
137
|
-
|
|
138
125
|
/**
|
|
139
126
|
* Specify whether the tooltip should be open when it first renders
|
|
140
127
|
*/
|
|
141
128
|
defaultOpen: PropTypes.bool,
|
|
142
|
-
|
|
143
129
|
/**
|
|
144
130
|
* Provide the description to be rendered inside of the Tooltip. The
|
|
145
131
|
* description will use `aria-describedby` and will describe the child node
|
|
@@ -151,12 +137,10 @@ Tooltip.propTypes = {
|
|
|
151
137
|
* description will not be used
|
|
152
138
|
*/
|
|
153
139
|
description: PropTypes.node,
|
|
154
|
-
|
|
155
140
|
/**
|
|
156
141
|
* Specify the duration in milliseconds to delay before displaying the tooltip
|
|
157
142
|
*/
|
|
158
143
|
enterDelayMs: PropTypes.number,
|
|
159
|
-
|
|
160
144
|
/**
|
|
161
145
|
* Provide the label to be rendered inside of the Tooltip. The label will use
|
|
162
146
|
* `aria-labelledby` and will fully describe the child node that is provided.
|
|
@@ -167,7 +151,6 @@ Tooltip.propTypes = {
|
|
|
167
151
|
* used
|
|
168
152
|
*/
|
|
169
153
|
label: PropTypes.node,
|
|
170
|
-
|
|
171
154
|
/**
|
|
172
155
|
* Specify the duration in milliseconds to delay before hiding the tooltip
|
|
173
156
|
*/
|
|
@@ -65,13 +65,11 @@ function TreeNode(_ref) {
|
|
|
65
65
|
const toggleClasses = cx(`${prefix}--tree-parent-node__toggle-icon`, {
|
|
66
66
|
[`${prefix}--tree-parent-node__toggle-icon--expanded`]: expanded
|
|
67
67
|
});
|
|
68
|
-
|
|
69
68
|
function handleToggleClick(event) {
|
|
70
69
|
if (disabled) {
|
|
71
70
|
return;
|
|
72
71
|
}
|
|
73
|
-
|
|
74
|
-
onToggle === null || onToggle === void 0 ? void 0 : onToggle(event, {
|
|
72
|
+
onToggle?.(event, {
|
|
75
73
|
id,
|
|
76
74
|
isExpanded: !expanded,
|
|
77
75
|
label,
|
|
@@ -79,53 +77,41 @@ function TreeNode(_ref) {
|
|
|
79
77
|
});
|
|
80
78
|
setExpanded(!expanded);
|
|
81
79
|
}
|
|
82
|
-
|
|
83
80
|
function handleClick(event) {
|
|
84
81
|
event.stopPropagation();
|
|
85
|
-
|
|
86
82
|
if (!disabled) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
onTreeSelect === null || onTreeSelect === void 0 ? void 0 : onTreeSelect(event, {
|
|
83
|
+
onTreeSelect?.(event, {
|
|
90
84
|
id,
|
|
91
85
|
label,
|
|
92
86
|
value
|
|
93
87
|
});
|
|
94
|
-
onNodeSelect
|
|
88
|
+
onNodeSelect?.(event, {
|
|
95
89
|
id,
|
|
96
90
|
label,
|
|
97
91
|
value
|
|
98
92
|
});
|
|
99
|
-
rest
|
|
93
|
+
rest?.onClick?.(event);
|
|
100
94
|
}
|
|
101
95
|
}
|
|
102
|
-
|
|
103
96
|
function handleKeyDown(event) {
|
|
104
|
-
var _rest$onKeyDown;
|
|
105
|
-
|
|
106
97
|
if (disabled) {
|
|
107
98
|
return;
|
|
108
99
|
}
|
|
109
|
-
|
|
110
100
|
if (matches(event, [ArrowLeft, ArrowRight, Enter])) {
|
|
111
101
|
event.stopPropagation();
|
|
112
102
|
}
|
|
113
|
-
|
|
114
103
|
if (match(event, ArrowLeft)) {
|
|
115
104
|
const findParentTreeNode = node => {
|
|
116
105
|
if (node.classList.contains(`${prefix}--tree-parent-node`)) {
|
|
117
106
|
return node;
|
|
118
107
|
}
|
|
119
|
-
|
|
120
108
|
if (node.classList.contains(`${prefix}--tree`)) {
|
|
121
109
|
return null;
|
|
122
110
|
}
|
|
123
|
-
|
|
124
111
|
return findParentTreeNode(node.parentNode);
|
|
125
112
|
};
|
|
126
|
-
|
|
127
113
|
if (children && expanded) {
|
|
128
|
-
onToggle
|
|
114
|
+
onToggle?.(event, {
|
|
129
115
|
id,
|
|
130
116
|
isExpanded: false,
|
|
131
117
|
label,
|
|
@@ -133,16 +119,13 @@ function TreeNode(_ref) {
|
|
|
133
119
|
});
|
|
134
120
|
setExpanded(false);
|
|
135
121
|
} else {
|
|
136
|
-
var _findParentTreeNode;
|
|
137
|
-
|
|
138
122
|
/**
|
|
139
123
|
* When focus is on a leaf node or a closed parent node, move focus to
|
|
140
124
|
* its parent node (unless its depth is level 1)
|
|
141
125
|
*/
|
|
142
|
-
|
|
126
|
+
findParentTreeNode(currentNode.current.parentNode)?.focus();
|
|
143
127
|
}
|
|
144
128
|
}
|
|
145
|
-
|
|
146
129
|
if (children && match(event, ArrowRight)) {
|
|
147
130
|
if (expanded) {
|
|
148
131
|
/**
|
|
@@ -151,7 +134,7 @@ function TreeNode(_ref) {
|
|
|
151
134
|
*/
|
|
152
135
|
currentNode.current.lastChild.firstChild.focus();
|
|
153
136
|
} else {
|
|
154
|
-
onToggle
|
|
137
|
+
onToggle?.(event, {
|
|
155
138
|
id,
|
|
156
139
|
isExpanded: true,
|
|
157
140
|
label,
|
|
@@ -160,31 +143,21 @@ function TreeNode(_ref) {
|
|
|
160
143
|
setExpanded(true);
|
|
161
144
|
}
|
|
162
145
|
}
|
|
163
|
-
|
|
164
146
|
if (matches(event, [Enter, Space])) {
|
|
165
147
|
event.preventDefault();
|
|
166
148
|
handleClick(event);
|
|
167
149
|
}
|
|
168
|
-
|
|
169
|
-
rest === null || rest === void 0 ? void 0 : (_rest$onKeyDown = rest.onKeyDown) === null || _rest$onKeyDown === void 0 ? void 0 : _rest$onKeyDown.call(rest, event);
|
|
150
|
+
rest?.onKeyDown?.(event);
|
|
170
151
|
}
|
|
171
|
-
|
|
172
152
|
function handleFocusEvent(event) {
|
|
173
153
|
if (event.type === 'blur') {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
rest === null || rest === void 0 ? void 0 : (_rest$onBlur = rest.onBlur) === null || _rest$onBlur === void 0 ? void 0 : _rest$onBlur.call(rest, event);
|
|
154
|
+
rest?.onBlur?.(event);
|
|
177
155
|
}
|
|
178
|
-
|
|
179
156
|
if (event.type === 'focus') {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
rest === null || rest === void 0 ? void 0 : (_rest$onFocus = rest.onFocus) === null || _rest$onFocus === void 0 ? void 0 : _rest$onFocus.call(rest, event);
|
|
157
|
+
rest?.onFocus?.(event);
|
|
183
158
|
}
|
|
184
|
-
|
|
185
|
-
onNodeFocusEvent === null || onNodeFocusEvent === void 0 ? void 0 : onNodeFocusEvent(event);
|
|
159
|
+
onNodeFocusEvent?.(event);
|
|
186
160
|
}
|
|
187
|
-
|
|
188
161
|
useEffect(() => {
|
|
189
162
|
/**
|
|
190
163
|
* Negative margin shifts node to align with the left side boundary of the
|
|
@@ -201,31 +174,28 @@ function TreeNode(_ref) {
|
|
|
201
174
|
// parent node with icon
|
|
202
175
|
if (children && Icon) {
|
|
203
176
|
return depth + 1 + depth * 0.5;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
|
|
177
|
+
}
|
|
178
|
+
// parent node without icon
|
|
207
179
|
if (children) {
|
|
208
180
|
return depth + 1;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
|
|
181
|
+
}
|
|
182
|
+
// leaf node with icon
|
|
212
183
|
if (Icon) {
|
|
213
184
|
return depth + 2 + depth * 0.5;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
|
|
185
|
+
}
|
|
186
|
+
// leaf node without icon
|
|
217
187
|
return depth + 2.5;
|
|
218
188
|
};
|
|
219
|
-
|
|
220
189
|
if (currentNodeLabel.current) {
|
|
221
190
|
currentNodeLabel.current.style.marginLeft = `-${calcOffset()}rem`;
|
|
222
191
|
currentNodeLabel.current.style.paddingLeft = `${calcOffset()}rem`;
|
|
223
|
-
}
|
|
224
|
-
|
|
192
|
+
}
|
|
225
193
|
|
|
194
|
+
// sync props and state
|
|
226
195
|
setExpanded(isExpanded);
|
|
227
196
|
}, [children, depth, Icon, isExpanded]);
|
|
228
|
-
const treeNodeProps = {
|
|
197
|
+
const treeNodeProps = {
|
|
198
|
+
...rest,
|
|
229
199
|
['aria-current']: isActive || null,
|
|
230
200
|
['aria-selected']: disabled ? null : isSelected,
|
|
231
201
|
['aria-disabled']: disabled,
|
|
@@ -238,7 +208,6 @@ function TreeNode(_ref) {
|
|
|
238
208
|
ref: currentNode,
|
|
239
209
|
role: 'treeitem'
|
|
240
210
|
};
|
|
241
|
-
|
|
242
211
|
if (!children) {
|
|
243
212
|
return /*#__PURE__*/React__default.createElement("li", treeNodeProps, /*#__PURE__*/React__default.createElement("div", {
|
|
244
213
|
className: `${prefix}--tree-node__label`,
|
|
@@ -247,7 +216,6 @@ function TreeNode(_ref) {
|
|
|
247
216
|
className: `${prefix}--tree-node__icon`
|
|
248
217
|
}), label));
|
|
249
218
|
}
|
|
250
|
-
|
|
251
219
|
return (
|
|
252
220
|
/*#__PURE__*/
|
|
253
221
|
// eslint-disable-next-line jsx-a11y/role-supports-aria-props
|
|
@@ -277,68 +245,55 @@ TreeNode.propTypes = {
|
|
|
277
245
|
* The value of the active node in the tree
|
|
278
246
|
*/
|
|
279
247
|
active: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
280
|
-
|
|
281
248
|
/**
|
|
282
249
|
* Specify the children of the TreeNode
|
|
283
250
|
*/
|
|
284
251
|
children: PropTypes.node,
|
|
285
|
-
|
|
286
252
|
/**
|
|
287
253
|
* Specify an optional className to be applied to the TreeNode
|
|
288
254
|
*/
|
|
289
255
|
className: PropTypes.string,
|
|
290
|
-
|
|
291
256
|
/**
|
|
292
257
|
* TreeNode depth to determine spacing, automatically calculated by default
|
|
293
258
|
*/
|
|
294
259
|
depth: PropTypes.number,
|
|
295
|
-
|
|
296
260
|
/**
|
|
297
261
|
* Specify if the TreeNode is disabled
|
|
298
262
|
*/
|
|
299
263
|
disabled: PropTypes.bool,
|
|
300
|
-
|
|
301
264
|
/**
|
|
302
265
|
* Specify if the TreeNode is expanded (only applicable to parent nodes)
|
|
303
266
|
*/
|
|
304
267
|
isExpanded: PropTypes.bool,
|
|
305
|
-
|
|
306
268
|
/**
|
|
307
269
|
* Rendered label for the TreeNode
|
|
308
270
|
*/
|
|
309
271
|
label: PropTypes.node,
|
|
310
|
-
|
|
311
272
|
/**
|
|
312
273
|
* Callback function for when the node receives or loses focus
|
|
313
274
|
*/
|
|
314
275
|
onNodeFocusEvent: PropTypes.func,
|
|
315
|
-
|
|
316
276
|
/**
|
|
317
277
|
* Callback function for when the node is selected
|
|
318
278
|
*/
|
|
319
279
|
onSelect: PropTypes.func,
|
|
320
|
-
|
|
321
280
|
/**
|
|
322
281
|
* Callback function for when a parent node is expanded or collapsed
|
|
323
282
|
*/
|
|
324
283
|
onToggle: PropTypes.func,
|
|
325
|
-
|
|
326
284
|
/**
|
|
327
285
|
* Callback function for when any node in the tree is selected
|
|
328
286
|
*/
|
|
329
287
|
onTreeSelect: PropTypes.func,
|
|
330
|
-
|
|
331
288
|
/**
|
|
332
289
|
* Optional prop to allow each node to have an associated icon.
|
|
333
290
|
* Can be a React component class
|
|
334
291
|
*/
|
|
335
292
|
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
336
|
-
|
|
337
293
|
/**
|
|
338
294
|
* Array containing all selected node IDs in the tree
|
|
339
295
|
*/
|
|
340
296
|
selected: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),
|
|
341
|
-
|
|
342
297
|
/**
|
|
343
298
|
* Specify the value of the TreeNode
|
|
344
299
|
*/
|
|
@@ -35,73 +35,57 @@ function TreeView(_ref) {
|
|
|
35
35
|
[`${prefix}--tree--${size}`]: size !== 'default'
|
|
36
36
|
});
|
|
37
37
|
const treeRootRef = useRef(null);
|
|
38
|
-
const treeWalker = useRef(treeRootRef
|
|
38
|
+
const treeWalker = useRef(treeRootRef?.current);
|
|
39
39
|
const [selected, setSelected] = useState(preselected);
|
|
40
40
|
const [active, setActive] = useState(prespecifiedActive);
|
|
41
|
-
|
|
42
41
|
function resetNodeTabIndices() {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
Array.prototype.forEach.call((treeRootRef === null || treeRootRef === void 0 ? void 0 : (_treeRootRef$current = treeRootRef.current) === null || _treeRootRef$current === void 0 ? void 0 : _treeRootRef$current.querySelectorAll('[tabIndex="0"]')) ?? [], item => {
|
|
42
|
+
Array.prototype.forEach.call(treeRootRef?.current?.querySelectorAll('[tabIndex="0"]') ?? [], item => {
|
|
46
43
|
item.tabIndex = -1;
|
|
47
44
|
});
|
|
48
45
|
}
|
|
49
|
-
|
|
50
46
|
function handleTreeSelect(event) {
|
|
51
47
|
let node = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
52
48
|
const {
|
|
53
49
|
id: nodeId
|
|
54
50
|
} = node;
|
|
55
|
-
|
|
56
51
|
if (multiselect && (event.metaKey || event.ctrlKey)) {
|
|
57
52
|
if (!selected.includes(nodeId)) {
|
|
58
53
|
setSelected(selected.concat(nodeId));
|
|
59
54
|
} else {
|
|
60
55
|
setSelected(selected.filter(selectedId => selectedId !== nodeId));
|
|
61
56
|
}
|
|
62
|
-
|
|
63
|
-
onSelect === null || onSelect === void 0 ? void 0 : onSelect(event, node);
|
|
57
|
+
onSelect?.(event, node);
|
|
64
58
|
} else {
|
|
65
59
|
setSelected([nodeId]);
|
|
66
60
|
setActive(nodeId);
|
|
67
|
-
onSelect
|
|
61
|
+
onSelect?.(event, {
|
|
68
62
|
activeNodeId: nodeId,
|
|
69
63
|
...node
|
|
70
64
|
});
|
|
71
65
|
}
|
|
72
66
|
}
|
|
73
|
-
|
|
74
67
|
function handleFocusEvent(event) {
|
|
75
68
|
if (event.type === 'blur') {
|
|
76
|
-
var _treeRootRef$current2;
|
|
77
|
-
|
|
78
69
|
const {
|
|
79
70
|
relatedTarget: currentFocusedNode,
|
|
80
71
|
target: prevFocusedNode
|
|
81
72
|
} = event;
|
|
82
|
-
|
|
83
|
-
if (treeRootRef !== null && treeRootRef !== void 0 && (_treeRootRef$current2 = treeRootRef.current) !== null && _treeRootRef$current2 !== void 0 && _treeRootRef$current2.contains(currentFocusedNode)) {
|
|
73
|
+
if (treeRootRef?.current?.contains(currentFocusedNode)) {
|
|
84
74
|
prevFocusedNode.tabIndex = -1;
|
|
85
75
|
}
|
|
86
76
|
}
|
|
87
|
-
|
|
88
77
|
if (event.type === 'focus') {
|
|
89
|
-
var _treeRootRef$current3;
|
|
90
|
-
|
|
91
78
|
resetNodeTabIndices();
|
|
92
79
|
const {
|
|
93
80
|
relatedTarget: prevFocusedNode,
|
|
94
81
|
target: currentFocusedNode
|
|
95
82
|
} = event;
|
|
96
|
-
|
|
97
|
-
if (treeRootRef !== null && treeRootRef !== void 0 && (_treeRootRef$current3 = treeRootRef.current) !== null && _treeRootRef$current3 !== void 0 && _treeRootRef$current3.contains(prevFocusedNode)) {
|
|
83
|
+
if (treeRootRef?.current?.contains(prevFocusedNode)) {
|
|
98
84
|
prevFocusedNode.tabIndex = -1;
|
|
99
85
|
}
|
|
100
|
-
|
|
101
86
|
currentFocusedNode.tabIndex = 0;
|
|
102
87
|
}
|
|
103
88
|
}
|
|
104
|
-
|
|
105
89
|
let focusTarget = false;
|
|
106
90
|
const nodesWithProps = React__default.Children.map(children, node => {
|
|
107
91
|
const sharedNodeProps = {
|
|
@@ -112,122 +96,90 @@ function TreeView(_ref) {
|
|
|
112
96
|
selected,
|
|
113
97
|
tabIndex: !node.props.disabled && -1 || null
|
|
114
98
|
};
|
|
115
|
-
|
|
116
99
|
if (!focusTarget && !node.props.disabled) {
|
|
117
100
|
sharedNodeProps.tabIndex = 0;
|
|
118
101
|
focusTarget = true;
|
|
119
102
|
}
|
|
120
|
-
|
|
121
103
|
if ( /*#__PURE__*/React__default.isValidElement(node)) {
|
|
122
104
|
return /*#__PURE__*/React__default.cloneElement(node, sharedNodeProps);
|
|
123
105
|
}
|
|
124
106
|
});
|
|
125
|
-
|
|
126
107
|
function handleKeyDown(event) {
|
|
127
|
-
var _rest$onKeyDown;
|
|
128
|
-
|
|
129
108
|
event.stopPropagation();
|
|
130
|
-
|
|
131
109
|
if (matches(event, [ArrowUp, ArrowDown, Home, End, {
|
|
132
110
|
code: 'KeyA'
|
|
133
111
|
}])) {
|
|
134
112
|
event.preventDefault();
|
|
135
113
|
}
|
|
136
|
-
|
|
137
114
|
treeWalker.current.currentNode = event.target;
|
|
138
115
|
let nextFocusNode;
|
|
139
|
-
|
|
140
116
|
if (match(event, ArrowUp)) {
|
|
141
117
|
nextFocusNode = treeWalker.current.previousNode();
|
|
142
118
|
}
|
|
143
|
-
|
|
144
119
|
if (match(event, ArrowDown)) {
|
|
145
120
|
nextFocusNode = treeWalker.current.nextNode();
|
|
146
121
|
}
|
|
147
|
-
|
|
148
122
|
if (matches(event, [Home, End, {
|
|
149
123
|
code: 'KeyA'
|
|
150
124
|
}])) {
|
|
151
125
|
const nodeIds = [];
|
|
152
|
-
|
|
153
126
|
if (matches(event, [Home, End])) {
|
|
154
127
|
if (multiselect && event.shiftKey && event.ctrlKey && !treeWalker.current.currentNode.getAttribute('aria-disabled')) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
nodeIds.push((_treeWalker$current$c = treeWalker.current.currentNode) === null || _treeWalker$current$c === void 0 ? void 0 : _treeWalker$current$c.id);
|
|
128
|
+
nodeIds.push(treeWalker.current.currentNode?.id);
|
|
158
129
|
}
|
|
159
|
-
|
|
160
130
|
while (match(event, Home) ? treeWalker.current.previousNode() : treeWalker.current.nextNode()) {
|
|
161
131
|
nextFocusNode = treeWalker.current.currentNode;
|
|
162
|
-
|
|
163
132
|
if (multiselect && event.shiftKey && event.ctrlKey && !nextFocusNode.getAttribute('aria-disabled')) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
nodeIds.push((_nextFocusNode = nextFocusNode) === null || _nextFocusNode === void 0 ? void 0 : _nextFocusNode.id);
|
|
133
|
+
nodeIds.push(nextFocusNode?.id);
|
|
167
134
|
}
|
|
168
135
|
}
|
|
169
136
|
}
|
|
170
|
-
|
|
171
137
|
if (match(event, {
|
|
172
138
|
code: 'KeyA'
|
|
173
139
|
}) && event.ctrlKey) {
|
|
174
140
|
treeWalker.current.currentNode = treeWalker.current.root;
|
|
175
|
-
|
|
176
141
|
while (treeWalker.current.nextNode()) {
|
|
177
142
|
if (!treeWalker.current.currentNode.getAttribute('aria-disabled')) {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
nodeIds.push((_treeWalker$current$c2 = treeWalker.current.currentNode) === null || _treeWalker$current$c2 === void 0 ? void 0 : _treeWalker$current$c2.id);
|
|
143
|
+
nodeIds.push(treeWalker.current.currentNode?.id);
|
|
181
144
|
}
|
|
182
145
|
}
|
|
183
146
|
}
|
|
184
|
-
|
|
185
147
|
setSelected(selected.concat(nodeIds));
|
|
186
148
|
}
|
|
187
|
-
|
|
188
149
|
if (nextFocusNode && nextFocusNode !== event.target) {
|
|
189
150
|
resetNodeTabIndices();
|
|
190
151
|
nextFocusNode.tabIndex = 0;
|
|
191
152
|
nextFocusNode.focus();
|
|
192
153
|
}
|
|
193
|
-
|
|
194
|
-
rest === null || rest === void 0 ? void 0 : (_rest$onKeyDown = rest.onKeyDown) === null || _rest$onKeyDown === void 0 ? void 0 : _rest$onKeyDown.call(rest, event);
|
|
154
|
+
rest?.onKeyDown?.(event);
|
|
195
155
|
}
|
|
196
|
-
|
|
197
156
|
useEffect(() => {
|
|
198
|
-
treeWalker.current = treeWalker.current ?? document.createTreeWalker(treeRootRef
|
|
157
|
+
treeWalker.current = treeWalker.current ?? document.createTreeWalker(treeRootRef?.current, NodeFilter.SHOW_ELEMENT, {
|
|
199
158
|
acceptNode: function (node) {
|
|
200
159
|
if (node.classList.contains(`${prefix}--tree-node--disabled`)) {
|
|
201
160
|
return NodeFilter.FILTER_REJECT;
|
|
202
161
|
}
|
|
203
|
-
|
|
204
162
|
if (node.matches(`li.${prefix}--tree-node`)) {
|
|
205
163
|
return NodeFilter.FILTER_ACCEPT;
|
|
206
164
|
}
|
|
207
|
-
|
|
208
165
|
return NodeFilter.FILTER_SKIP;
|
|
209
166
|
}
|
|
210
167
|
});
|
|
211
168
|
}, [prefix]);
|
|
212
|
-
|
|
213
169
|
const useActiveAndSelectedOnMount = () => useEffect(() => {
|
|
214
170
|
if (preselected.length) {
|
|
215
171
|
setSelected(preselected);
|
|
216
172
|
}
|
|
217
|
-
|
|
218
173
|
if (prespecifiedActive) {
|
|
219
174
|
setActive(prespecifiedActive);
|
|
220
175
|
}
|
|
221
176
|
}, []);
|
|
222
|
-
|
|
223
177
|
useActiveAndSelectedOnMount();
|
|
224
178
|
const labelId = `${treeId}__label`;
|
|
225
|
-
|
|
226
179
|
const TreeLabel = () => !hideLabel && /*#__PURE__*/React__default.createElement("label", {
|
|
227
180
|
id: labelId,
|
|
228
181
|
className: `${prefix}--label`
|
|
229
182
|
}, label);
|
|
230
|
-
|
|
231
183
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TreeLabel, null), /*#__PURE__*/React__default.createElement("ul", _extends({}, rest, {
|
|
232
184
|
"aria-label": hideLabel ? label : null,
|
|
233
185
|
"aria-labelledby": !hideLabel ? labelId : null,
|
|
@@ -243,43 +195,35 @@ TreeView.propTypes = {
|
|
|
243
195
|
* Mark the active node in the tree, represented by its value
|
|
244
196
|
*/
|
|
245
197
|
active: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
246
|
-
|
|
247
198
|
/**
|
|
248
199
|
* Specify the children of the TreeView
|
|
249
200
|
*/
|
|
250
201
|
children: PropTypes.node,
|
|
251
|
-
|
|
252
202
|
/**
|
|
253
203
|
* Specify an optional className to be applied to the TreeView
|
|
254
204
|
*/
|
|
255
205
|
className: PropTypes.string,
|
|
256
|
-
|
|
257
206
|
/**
|
|
258
207
|
* Specify whether or not the label should be hidden
|
|
259
208
|
*/
|
|
260
209
|
hideLabel: PropTypes.bool,
|
|
261
|
-
|
|
262
210
|
/**
|
|
263
211
|
* Provide the label text that will be read by a screen reader
|
|
264
212
|
*/
|
|
265
213
|
label: PropTypes.string.isRequired,
|
|
266
|
-
|
|
267
214
|
/**
|
|
268
215
|
* **[Experimental]** Specify the selection mode of the tree.
|
|
269
216
|
* If `multiselect` is `false` then only one node can be selected at a time
|
|
270
217
|
*/
|
|
271
218
|
multiselect: PropTypes.bool,
|
|
272
|
-
|
|
273
219
|
/**
|
|
274
220
|
* Callback function that is called when any node is selected
|
|
275
221
|
*/
|
|
276
222
|
onSelect: PropTypes.func,
|
|
277
|
-
|
|
278
223
|
/**
|
|
279
224
|
* Array representing all selected node IDs in the tree
|
|
280
225
|
*/
|
|
281
226
|
selected: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),
|
|
282
|
-
|
|
283
227
|
/**
|
|
284
228
|
* Specify the size of the tree from a list of available sizes.
|
|
285
229
|
*/
|
|
@@ -19,22 +19,20 @@ const Content = _ref => {
|
|
|
19
19
|
} = _ref;
|
|
20
20
|
const prefix = usePrefix();
|
|
21
21
|
const className = cx(`${prefix}--content`, customClassName);
|
|
22
|
-
return /*#__PURE__*/React__default.createElement(tagName, {
|
|
22
|
+
return /*#__PURE__*/React__default.createElement(tagName, {
|
|
23
|
+
...rest,
|
|
23
24
|
className
|
|
24
25
|
}, children);
|
|
25
26
|
};
|
|
26
|
-
|
|
27
27
|
Content.propTypes = {
|
|
28
28
|
/**
|
|
29
29
|
* Provide children nodes to be rendered in the content container
|
|
30
30
|
*/
|
|
31
31
|
children: PropTypes.node,
|
|
32
|
-
|
|
33
32
|
/**
|
|
34
33
|
* Optionally provide a custom class name that is applied to the container
|
|
35
34
|
*/
|
|
36
35
|
className: PropTypes.string,
|
|
37
|
-
|
|
38
36
|
/**
|
|
39
37
|
* Optionally specify the tag of the content node. Defaults to `main`
|
|
40
38
|
*/
|
|
@@ -24,13 +24,11 @@ const Header = _ref => {
|
|
|
24
24
|
className: className
|
|
25
25
|
}), children);
|
|
26
26
|
};
|
|
27
|
-
|
|
28
27
|
Header.propTypes = {
|
|
29
28
|
/**
|
|
30
29
|
* Required props for the accessibility label of the header
|
|
31
30
|
*/
|
|
32
31
|
...AriaLabelPropType,
|
|
33
|
-
|
|
34
32
|
/**
|
|
35
33
|
* Optionally provide a custom class name that is applied to the underlying <header>
|
|
36
34
|
*/
|