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