@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
|
@@ -12,11 +12,13 @@ import PropTypes from 'prop-types';
|
|
|
12
12
|
import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
|
|
13
13
|
import { CARBON_SIDENAV_ITEMS } from './_utils.js';
|
|
14
14
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
15
|
+
import { useMergedRefs } from '../../internal/useMergedRefs.js';
|
|
16
|
+
import { useWindowEvent } from '../../internal/useEvent.js';
|
|
15
17
|
import { match } from '../../internal/keyboard/match.js';
|
|
16
|
-
import { Escape } from '../../internal/keyboard/keys.js';
|
|
18
|
+
import { Tab, Escape } from '../../internal/keyboard/keys.js';
|
|
17
19
|
|
|
20
|
+
// TO-DO: comment back in when footer is added for rails
|
|
18
21
|
// import SideNavFooter from './SideNavFooter';
|
|
19
|
-
|
|
20
22
|
function SideNavRenderFunction(_ref, ref) {
|
|
21
23
|
let {
|
|
22
24
|
expanded: expandedProp,
|
|
@@ -29,12 +31,14 @@ function SideNavRenderFunction(_ref, ref) {
|
|
|
29
31
|
className: customClassName,
|
|
30
32
|
// TO-DO: comment back in when footer is added for rails
|
|
31
33
|
// translateById: t = (id) => translations[id],
|
|
34
|
+
href,
|
|
32
35
|
isFixedNav = false,
|
|
33
36
|
isRail,
|
|
34
37
|
isPersistent = true,
|
|
35
38
|
addFocusListeners = true,
|
|
36
39
|
addMouseListeners = true,
|
|
37
40
|
onOverlayClick,
|
|
41
|
+
onSideNavBlur,
|
|
38
42
|
...other
|
|
39
43
|
} = _ref;
|
|
40
44
|
const prefix = usePrefix();
|
|
@@ -44,27 +48,26 @@ function SideNavRenderFunction(_ref, ref) {
|
|
|
44
48
|
const [expandedState, setExpandedState] = useState(defaultExpanded);
|
|
45
49
|
const [expandedViaHoverState, setExpandedViaHoverState] = useState(defaultExpanded);
|
|
46
50
|
const expanded = controlled ? expandedProp : expandedState;
|
|
47
|
-
|
|
51
|
+
const sideNavRef = useRef(null);
|
|
52
|
+
const navRef = useMergedRefs([sideNavRef, ref]);
|
|
48
53
|
const handleToggle = function (event) {
|
|
49
54
|
let value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !expanded;
|
|
50
|
-
|
|
51
55
|
if (!controlled) {
|
|
52
56
|
setExpandedState(value);
|
|
53
57
|
}
|
|
54
|
-
|
|
55
58
|
if (onToggle) {
|
|
56
59
|
onToggle(event, value);
|
|
57
60
|
}
|
|
58
|
-
|
|
59
61
|
if (controlled || isRail) {
|
|
60
62
|
setExpandedViaHoverState(value);
|
|
61
63
|
}
|
|
62
64
|
};
|
|
63
|
-
|
|
64
65
|
const accessibilityLabel = {
|
|
65
66
|
'aria-label': ariaLabel,
|
|
66
67
|
'aria-labelledby': ariaLabelledBy
|
|
67
|
-
};
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// TO-DO: comment back in when footer is added for rails
|
|
68
71
|
// const assistiveText = expanded
|
|
69
72
|
// ? t('carbon.sidenav.state.open')
|
|
70
73
|
// : t('carbon.sidenav.state.closed');
|
|
@@ -81,56 +84,61 @@ function SideNavRenderFunction(_ref, ref) {
|
|
|
81
84
|
[`${prefix}--side-nav__overlay`]: true,
|
|
82
85
|
[`${prefix}--side-nav__overlay-active`]: expanded || expandedViaHoverState
|
|
83
86
|
});
|
|
84
|
-
let childrenToRender = children;
|
|
87
|
+
let childrenToRender = children;
|
|
85
88
|
|
|
89
|
+
// if a rail, pass the expansion state as a prop, so children can update themselves to match
|
|
86
90
|
if (isRail) {
|
|
87
91
|
childrenToRender = React__default.Children.map(children, child => {
|
|
88
92
|
// if we are controlled, check for if we have hovered over or the expanded state, else just use the expanded state (uncontrolled)
|
|
89
93
|
const currentExpansionState = controlled ? expandedViaHoverState || expanded : expanded;
|
|
90
|
-
|
|
91
94
|
if ( /*#__PURE__*/isValidElement(child)) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
return /*#__PURE__*/React__default.cloneElement(childJsxElement, { ...(CARBON_SIDENAV_ITEMS.includes(((_childJsxElement$type = childJsxElement.type) === null || _childJsxElement$type === void 0 ? void 0 : _childJsxElement$type.displayName) ?? ((_childJsxElement$type2 = childJsxElement.type) === null || _childJsxElement$type2 === void 0 ? void 0 : _childJsxElement$type2.name)) ? {
|
|
95
|
+
const childJsxElement = child;
|
|
96
|
+
// avoid spreading `isSideNavExpanded` to non-Carbon UI Shell children
|
|
97
|
+
return /*#__PURE__*/React__default.cloneElement(childJsxElement, {
|
|
98
|
+
...(CARBON_SIDENAV_ITEMS.includes(childJsxElement.type?.displayName ?? childJsxElement.type?.name) ? {
|
|
97
99
|
isSideNavExpanded: currentExpansionState
|
|
98
100
|
} : {})
|
|
99
101
|
});
|
|
100
102
|
}
|
|
101
|
-
|
|
102
103
|
return child;
|
|
103
104
|
});
|
|
104
105
|
}
|
|
105
|
-
|
|
106
106
|
const eventHandlers = {};
|
|
107
|
-
|
|
108
107
|
if (addFocusListeners) {
|
|
109
108
|
eventHandlers.onFocus = event => {
|
|
110
109
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
111
110
|
handleToggle(event, true);
|
|
112
111
|
}
|
|
113
112
|
};
|
|
114
|
-
|
|
115
113
|
eventHandlers.onBlur = event => {
|
|
116
114
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
117
115
|
handleToggle(event, false);
|
|
118
116
|
}
|
|
117
|
+
if (!event.currentTarget.contains(event.relatedTarget) && expanded) {
|
|
118
|
+
if (onSideNavBlur) {
|
|
119
|
+
onSideNavBlur();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
119
122
|
};
|
|
120
|
-
|
|
121
123
|
eventHandlers.onKeyDown = event => {
|
|
122
124
|
if (match(event, Escape)) {
|
|
123
125
|
handleToggle(event, false);
|
|
126
|
+
if (href) {
|
|
127
|
+
window.location.href = href;
|
|
128
|
+
}
|
|
124
129
|
}
|
|
125
130
|
};
|
|
126
131
|
}
|
|
127
|
-
|
|
128
132
|
if (addMouseListeners && isRail) {
|
|
129
133
|
eventHandlers.onMouseEnter = () => handleToggle(true, true);
|
|
130
|
-
|
|
131
134
|
eventHandlers.onMouseLeave = () => handleToggle(false, false);
|
|
132
135
|
}
|
|
133
|
-
|
|
136
|
+
useWindowEvent('keydown', event => {
|
|
137
|
+
const focusedElement = document.activeElement;
|
|
138
|
+
if (match(event, Tab) && expanded && !isFixedNav && sideNavRef.current && focusedElement?.classList.contains(`${prefix}--header__menu-toggle`) && !focusedElement.closest('nav')) {
|
|
139
|
+
sideNavRef.current.focus();
|
|
140
|
+
}
|
|
141
|
+
});
|
|
134
142
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isFixedNav ? null :
|
|
135
143
|
/*#__PURE__*/
|
|
136
144
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
@@ -138,11 +146,11 @@ function SideNavRenderFunction(_ref, ref) {
|
|
|
138
146
|
className: overlayClassName,
|
|
139
147
|
onClick: onOverlayClick
|
|
140
148
|
}), /*#__PURE__*/React__default.createElement("nav", _extends({
|
|
141
|
-
|
|
149
|
+
tabIndex: -1,
|
|
150
|
+
ref: navRef,
|
|
142
151
|
className: `${prefix}--side-nav__navigation ${className}`
|
|
143
152
|
}, accessibilityLabel, eventHandlers, other), childrenToRender));
|
|
144
153
|
}
|
|
145
|
-
|
|
146
154
|
const SideNav = /*#__PURE__*/React__default.forwardRef(SideNavRenderFunction);
|
|
147
155
|
SideNav.displayName = 'SideNav';
|
|
148
156
|
SideNav.propTypes = {
|
|
@@ -150,60 +158,59 @@ SideNav.propTypes = {
|
|
|
150
158
|
* Required props for accessibility label on the underlying menu
|
|
151
159
|
*/
|
|
152
160
|
...AriaLabelPropType,
|
|
153
|
-
|
|
154
161
|
/**
|
|
155
162
|
* Specify whether focus and blur listeners are added. They are by default.
|
|
156
163
|
*/
|
|
157
164
|
addFocusListeners: PropTypes.bool,
|
|
158
|
-
|
|
159
165
|
/**
|
|
160
166
|
* Specify whether mouse entry/exit listeners are added. They are by default.
|
|
161
167
|
*/
|
|
162
168
|
addMouseListeners: PropTypes.bool,
|
|
163
|
-
|
|
164
169
|
/**
|
|
165
170
|
* Optionally provide a custom class to apply to the underlying `<li>` node
|
|
166
171
|
*/
|
|
167
172
|
className: PropTypes.string,
|
|
168
|
-
|
|
169
173
|
/**
|
|
170
174
|
* If `true`, the SideNav will be open on initial render.
|
|
171
175
|
*/
|
|
172
176
|
defaultExpanded: PropTypes.bool,
|
|
173
|
-
|
|
174
177
|
/**
|
|
175
178
|
* If `true`, the SideNav will be expanded, otherwise it will be collapsed.
|
|
176
179
|
* Using this prop causes SideNav to become a controled component.
|
|
177
180
|
*/
|
|
178
181
|
expanded: PropTypes.bool,
|
|
179
|
-
|
|
182
|
+
/**
|
|
183
|
+
* Provide the `href` to the id of the element on your package that is the
|
|
184
|
+
* main content.
|
|
185
|
+
*/
|
|
186
|
+
href: PropTypes.string,
|
|
180
187
|
/**
|
|
181
188
|
* Optionally provide a custom class to apply to the underlying `<li>` node
|
|
182
189
|
*/
|
|
183
190
|
isChildOfHeader: PropTypes.bool,
|
|
184
|
-
|
|
185
191
|
/**
|
|
186
192
|
* Specify if sideNav is standalone
|
|
187
193
|
*/
|
|
188
194
|
isFixedNav: PropTypes.bool,
|
|
189
|
-
|
|
190
195
|
/**
|
|
191
196
|
* Specify if the sideNav will be persistent above the lg breakpoint
|
|
192
197
|
*/
|
|
193
198
|
isPersistent: PropTypes.bool,
|
|
194
|
-
|
|
195
199
|
/**
|
|
196
200
|
* Optional prop to display the side nav rail.
|
|
197
201
|
*/
|
|
198
202
|
isRail: PropTypes.bool,
|
|
199
|
-
|
|
200
203
|
/**
|
|
201
204
|
* An optional listener that is called when the SideNav overlay is clicked
|
|
202
205
|
*
|
|
203
206
|
* @param {object} event
|
|
204
207
|
*/
|
|
205
208
|
onOverlayClick: PropTypes.func,
|
|
209
|
+
/**
|
|
210
|
+
* An optional listener that is called a callback to collapse the SideNav
|
|
211
|
+
*/
|
|
206
212
|
|
|
213
|
+
onSideNavBlur: PropTypes.func,
|
|
207
214
|
/**
|
|
208
215
|
* An optional listener that is called when an event that would cause
|
|
209
216
|
* toggling the SideNav occurs.
|
|
@@ -212,6 +219,7 @@ SideNav.propTypes = {
|
|
|
212
219
|
* @param {boolean} value
|
|
213
220
|
*/
|
|
214
221
|
onToggle: PropTypes.func
|
|
222
|
+
|
|
215
223
|
/**
|
|
216
224
|
* Provide a custom function for translating all message ids within this
|
|
217
225
|
* component. This function will take in two arguments: the mesasge Id and the
|
|
@@ -219,8 +227,8 @@ SideNav.propTypes = {
|
|
|
219
227
|
* the label you want displayed or read by screen readers.
|
|
220
228
|
*/
|
|
221
229
|
// translateById: PropTypes.func,
|
|
222
|
-
|
|
223
230
|
};
|
|
231
|
+
|
|
224
232
|
var SideNav$1 = SideNav;
|
|
225
233
|
|
|
226
234
|
export { SideNav$1 as default };
|
|
@@ -27,19 +27,16 @@ const SideNavDetails = _ref => {
|
|
|
27
27
|
title: title
|
|
28
28
|
}, title), children);
|
|
29
29
|
};
|
|
30
|
-
|
|
31
30
|
SideNavDetails.propTypes = {
|
|
32
31
|
/**
|
|
33
32
|
* Provide optional children to render in `SideNavDetails`. Useful for
|
|
34
33
|
* rendering the `SideNavSwitcher` component.
|
|
35
34
|
*/
|
|
36
35
|
children: PropTypes.node,
|
|
37
|
-
|
|
38
36
|
/**
|
|
39
37
|
* Optionally provide a custom class to apply to the underlying `<li>` node
|
|
40
38
|
*/
|
|
41
39
|
className: PropTypes.string,
|
|
42
|
-
|
|
43
40
|
/**
|
|
44
41
|
* Provide the text that will be rendered as the title in the component
|
|
45
42
|
*/
|
|
@@ -12,12 +12,12 @@ import PropTypes from 'prop-types';
|
|
|
12
12
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
13
13
|
|
|
14
14
|
var _Close, _ChevronRight;
|
|
15
|
+
|
|
15
16
|
/**
|
|
16
17
|
* SideNavFooter is used for rendering the button at the bottom of the side
|
|
17
18
|
* navigation that is a part of the UI Shell. It is responsible for handling the
|
|
18
19
|
* user interaction to expand or collapse the side navigation.
|
|
19
20
|
*/
|
|
20
|
-
|
|
21
21
|
function SideNavFooter(_ref) {
|
|
22
22
|
let {
|
|
23
23
|
assistiveText,
|
|
@@ -44,7 +44,6 @@ function SideNavFooter(_ref) {
|
|
|
44
44
|
className: `${prefix}--assistive-text`
|
|
45
45
|
}, assistiveText)));
|
|
46
46
|
}
|
|
47
|
-
|
|
48
47
|
SideNavFooter.displayName = 'SideNavFooter';
|
|
49
48
|
SideNavFooter.propTypes = {
|
|
50
49
|
/**
|
|
@@ -53,12 +52,10 @@ SideNavFooter.propTypes = {
|
|
|
53
52
|
*/
|
|
54
53
|
assistiveText: PropTypes.string.isRequired,
|
|
55
54
|
className: PropTypes.string,
|
|
56
|
-
|
|
57
55
|
/**
|
|
58
56
|
* Specify whether the side navigation is expanded or collapsed
|
|
59
57
|
*/
|
|
60
58
|
expanded: PropTypes.bool.isRequired,
|
|
61
|
-
|
|
62
59
|
/**
|
|
63
60
|
* Provide a function that is called when the toggle button is interacted
|
|
64
61
|
* with. Useful for controlling the expansion state of the side navigation.
|
|
@@ -23,25 +23,21 @@ const SideNavHeader = _ref => {
|
|
|
23
23
|
className: className
|
|
24
24
|
}, /*#__PURE__*/React__default.createElement(SideNavIcon, null, /*#__PURE__*/React__default.createElement(IconElement, null)), children);
|
|
25
25
|
};
|
|
26
|
-
|
|
27
26
|
SideNavHeader.displayName = 'SideNavHeader';
|
|
28
27
|
SideNavHeader.propTypes = {
|
|
29
28
|
/**
|
|
30
29
|
* The child nodes to be rendered
|
|
31
30
|
*/
|
|
32
31
|
children: PropTypes.node,
|
|
33
|
-
|
|
34
32
|
/**
|
|
35
33
|
* Provide an optional class to be applied to the containing node
|
|
36
34
|
*/
|
|
37
35
|
className: PropTypes.string,
|
|
38
|
-
|
|
39
36
|
/**
|
|
40
37
|
* Property to indicate if the side nav container is open (or not). Use to
|
|
41
38
|
* keep local state and styling in step with the SideNav expansion state.
|
|
42
39
|
*/
|
|
43
40
|
isSideNavExpanded: PropTypes.bool,
|
|
44
|
-
|
|
45
41
|
/**
|
|
46
42
|
* Provide an icon to render in the header of the side navigation. Should be
|
|
47
43
|
* a React class.
|
|
@@ -26,19 +26,16 @@ function SideNavIcon(_ref) {
|
|
|
26
26
|
className: className
|
|
27
27
|
}, children);
|
|
28
28
|
}
|
|
29
|
-
|
|
30
29
|
SideNavIcon.propTypes = {
|
|
31
30
|
/**
|
|
32
31
|
* Provide a single icon as the child to `SideNavIcon` to render in the
|
|
33
32
|
* container
|
|
34
33
|
*/
|
|
35
34
|
children: PropTypes.node.isRequired,
|
|
36
|
-
|
|
37
35
|
/**
|
|
38
36
|
* Provide an optional class to be applied to the containing node
|
|
39
37
|
*/
|
|
40
38
|
className: PropTypes.string,
|
|
41
|
-
|
|
42
39
|
/**
|
|
43
40
|
* Specify whether the icon should be placed in a smaller bounding box
|
|
44
41
|
*/
|
|
@@ -26,19 +26,16 @@ function SideNavItem(_ref) {
|
|
|
26
26
|
className: className
|
|
27
27
|
}, children);
|
|
28
28
|
}
|
|
29
|
-
|
|
30
29
|
SideNavItem.propTypes = {
|
|
31
30
|
/**
|
|
32
31
|
* Provide a single icon as the child to `SideNavItem` to render in the
|
|
33
32
|
* container
|
|
34
33
|
*/
|
|
35
34
|
children: PropTypes.node.isRequired,
|
|
36
|
-
|
|
37
35
|
/**
|
|
38
36
|
* Provide an optional class to be applied to the containing node
|
|
39
37
|
*/
|
|
40
38
|
className: PropTypes.string,
|
|
41
|
-
|
|
42
39
|
/**
|
|
43
40
|
* Specify if this is a large variation of the SideNavItem
|
|
44
41
|
*/
|
|
@@ -21,10 +21,9 @@ const SideNavItems = _ref => {
|
|
|
21
21
|
const className = cx([`${prefix}--side-nav__items`], customClassName);
|
|
22
22
|
const childrenWithExpandedState = React__default.Children.map(children, child => {
|
|
23
23
|
if ( /*#__PURE__*/React__default.isValidElement(child)) {
|
|
24
|
-
var _child$type;
|
|
25
|
-
|
|
26
24
|
// avoid spreading `isSideNavExpanded` to non-Carbon UI Shell children
|
|
27
|
-
return /*#__PURE__*/React__default.cloneElement(child, {
|
|
25
|
+
return /*#__PURE__*/React__default.cloneElement(child, {
|
|
26
|
+
...(CARBON_SIDENAV_ITEMS.includes(child.type?.displayName) ? {
|
|
28
27
|
isSideNavExpanded
|
|
29
28
|
} : {})
|
|
30
29
|
});
|
|
@@ -34,7 +33,6 @@ const SideNavItems = _ref => {
|
|
|
34
33
|
className: className
|
|
35
34
|
}, childrenWithExpandedState);
|
|
36
35
|
};
|
|
37
|
-
|
|
38
36
|
SideNavItems.displayName = 'SideNavItems';
|
|
39
37
|
SideNavItems.propTypes = {
|
|
40
38
|
/**
|
|
@@ -42,12 +40,10 @@ SideNavItems.propTypes = {
|
|
|
42
40
|
* container
|
|
43
41
|
*/
|
|
44
42
|
children: PropTypes.node.isRequired,
|
|
45
|
-
|
|
46
43
|
/**
|
|
47
44
|
* Provide an optional class to be applied to the containing node
|
|
48
45
|
*/
|
|
49
46
|
className: PropTypes.string,
|
|
50
|
-
|
|
51
47
|
/**
|
|
52
48
|
* Property to indicate if the side nav container is open (or not). Use to
|
|
53
49
|
* keep local state and styling in step with the SideNav expansion state.
|
|
@@ -40,33 +40,29 @@ const SideNavLink = /*#__PURE__*/React__default.forwardRef(function SideNavLink(
|
|
|
40
40
|
}, /*#__PURE__*/React__default.createElement(IconElement, null)), /*#__PURE__*/React__default.createElement(SideNavLinkText, null, children)));
|
|
41
41
|
});
|
|
42
42
|
SideNavLink.displayName = 'SideNavLink';
|
|
43
|
-
SideNavLink.propTypes = {
|
|
44
|
-
|
|
43
|
+
SideNavLink.propTypes = {
|
|
44
|
+
...LinkPropTypes,
|
|
45
45
|
/**
|
|
46
46
|
* Specify the text content for the link
|
|
47
47
|
*/
|
|
48
48
|
children: PropTypes.node.isRequired,
|
|
49
|
-
|
|
50
49
|
/**
|
|
51
50
|
* Provide an optional class to be applied to the containing node
|
|
52
51
|
*/
|
|
53
52
|
className: PropTypes.string,
|
|
54
|
-
|
|
55
53
|
/**
|
|
56
54
|
* Specify whether the link is the current page
|
|
57
55
|
*/
|
|
58
56
|
isActive: PropTypes.bool,
|
|
59
|
-
|
|
60
57
|
/**
|
|
61
58
|
* Specify if this is a large variation of the SideNavLink
|
|
62
59
|
*/
|
|
63
60
|
large: PropTypes.bool,
|
|
64
|
-
|
|
65
61
|
/**
|
|
66
62
|
* Provide an icon to render in the side navigation link. Should be a React class.
|
|
67
63
|
*/
|
|
68
64
|
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
69
|
-
};
|
|
65
|
+
};
|
|
70
66
|
var SideNavLink$1 = SideNavLink;
|
|
71
67
|
|
|
72
68
|
export { SideNavLink$1 as default };
|
|
@@ -23,13 +23,11 @@ function SideNavLinkText(_ref) {
|
|
|
23
23
|
className: className
|
|
24
24
|
}), children);
|
|
25
25
|
}
|
|
26
|
-
|
|
27
26
|
SideNavLinkText.propTypes = {
|
|
28
27
|
/**
|
|
29
28
|
* Provide the content for the link text
|
|
30
29
|
*/
|
|
31
30
|
children: PropTypes.node.isRequired,
|
|
32
|
-
|
|
33
31
|
/**
|
|
34
32
|
* Provide an optional class to be applied to the containing node
|
|
35
33
|
*/
|
|
@@ -36,7 +36,6 @@ const SideNavMenu = /*#__PURE__*/React__default.forwardRef(function SideNavMenu(
|
|
|
36
36
|
[`${prefix}--side-nav__item--large`]: large,
|
|
37
37
|
[customClassName]: !!customClassName
|
|
38
38
|
});
|
|
39
|
-
|
|
40
39
|
if (isSideNavExpanded === false && isExpanded === true) {
|
|
41
40
|
setIsExpanded(false);
|
|
42
41
|
setPrevExpanded(true);
|
|
@@ -44,7 +43,6 @@ const SideNavMenu = /*#__PURE__*/React__default.forwardRef(function SideNavMenu(
|
|
|
44
43
|
setIsExpanded(true);
|
|
45
44
|
setPrevExpanded(false);
|
|
46
45
|
}
|
|
47
|
-
|
|
48
46
|
return (
|
|
49
47
|
/*#__PURE__*/
|
|
50
48
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
|
|
@@ -82,47 +80,39 @@ SideNavMenu.propTypes = {
|
|
|
82
80
|
* Provide <SideNavMenuItem>'s inside of the `SideNavMenu`
|
|
83
81
|
*/
|
|
84
82
|
children: PropTypes.node,
|
|
85
|
-
|
|
86
83
|
/**
|
|
87
84
|
* Provide an optional class to be applied to the containing node
|
|
88
85
|
*/
|
|
89
86
|
className: PropTypes.string,
|
|
90
|
-
|
|
91
87
|
/**
|
|
92
88
|
* Specify whether the menu should default to expanded. By default, it will
|
|
93
89
|
* be closed.
|
|
94
90
|
*/
|
|
95
91
|
defaultExpanded: PropTypes.bool,
|
|
96
|
-
|
|
97
92
|
/**
|
|
98
93
|
* Specify whether the `SideNavMenu` is "active". `SideNavMenu` should be
|
|
99
94
|
* considered active if one of its menu items are a link for the current
|
|
100
95
|
* page.
|
|
101
96
|
*/
|
|
102
97
|
isActive: PropTypes.bool,
|
|
103
|
-
|
|
104
98
|
/**
|
|
105
99
|
* Property to indicate if the side nav container is open (or not). Use to
|
|
106
100
|
* keep local state and styling in step with the SideNav expansion state.
|
|
107
101
|
*/
|
|
108
102
|
isSideNavExpanded: PropTypes.bool,
|
|
109
|
-
|
|
110
103
|
/**
|
|
111
104
|
* Specify if this is a large variation of the SideNavMenu
|
|
112
105
|
*/
|
|
113
106
|
large: PropTypes.bool,
|
|
114
|
-
|
|
115
107
|
/**
|
|
116
108
|
* Pass in a custom icon to render next to the `SideNavMenu` title
|
|
117
109
|
*/
|
|
118
110
|
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
119
|
-
|
|
120
111
|
/**
|
|
121
112
|
* Provide the text for the overall menu name
|
|
122
113
|
*/
|
|
123
114
|
title: PropTypes.string.isRequired
|
|
124
115
|
};
|
|
125
|
-
|
|
126
116
|
function hasActiveChild(children) {
|
|
127
117
|
// if we have children, either a single or multiple, find if it is active
|
|
128
118
|
if (Array.isArray(children)) {
|
|
@@ -130,28 +120,22 @@ function hasActiveChild(children) {
|
|
|
130
120
|
if (!child.props) {
|
|
131
121
|
return false;
|
|
132
122
|
}
|
|
133
|
-
|
|
134
123
|
if (child.props.isActive === true) {
|
|
135
124
|
return true;
|
|
136
125
|
}
|
|
137
|
-
|
|
138
126
|
if (child.props['aria-current']) {
|
|
139
127
|
return true;
|
|
140
128
|
}
|
|
141
|
-
|
|
142
129
|
return false;
|
|
143
130
|
});
|
|
144
131
|
}
|
|
145
|
-
|
|
146
132
|
if (children.props) {
|
|
147
133
|
if (children.props.isActive === true || children.props['aria-current']) {
|
|
148
134
|
return true;
|
|
149
135
|
}
|
|
150
136
|
}
|
|
151
|
-
|
|
152
137
|
return false;
|
|
153
138
|
}
|
|
154
|
-
|
|
155
139
|
var SideNavMenu$1 = SideNavMenu;
|
|
156
140
|
|
|
157
141
|
export { SideNavMenu, SideNavMenu$1 as default };
|
|
@@ -39,12 +39,10 @@ SideNavMenuItem.propTypes = {
|
|
|
39
39
|
* Specify the children to be rendered inside of the `SideNavMenuItem`
|
|
40
40
|
*/
|
|
41
41
|
children: PropTypes.node,
|
|
42
|
-
|
|
43
42
|
/**
|
|
44
43
|
* Provide an optional class to be applied to the containing node
|
|
45
44
|
*/
|
|
46
45
|
className: PropTypes.string,
|
|
47
|
-
|
|
48
46
|
/**
|
|
49
47
|
* Optionally specify whether the link is "active". An active link is one that
|
|
50
48
|
* has an href that is the same as the current page. Can also pass in
|
|
@@ -22,8 +22,8 @@ const SideNavSwitcher = /*#__PURE__*/React__default.forwardRef(function SideNavS
|
|
|
22
22
|
onChange,
|
|
23
23
|
options
|
|
24
24
|
} = props;
|
|
25
|
-
const className = cx(`${prefix}--side-nav__switcher`, customClassName);
|
|
26
|
-
|
|
25
|
+
const className = cx(`${prefix}--side-nav__switcher`, customClassName);
|
|
26
|
+
// Note for usage around `onBlur`: https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-onchange.md
|
|
27
27
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
28
28
|
className: className
|
|
29
29
|
}, /*#__PURE__*/React__default.createElement("label", {
|
|
@@ -57,19 +57,16 @@ SideNavSwitcher.propTypes = {
|
|
|
57
57
|
* Provide an optional class to be applied to the containing node
|
|
58
58
|
*/
|
|
59
59
|
className: PropTypes.string,
|
|
60
|
-
|
|
61
60
|
/**
|
|
62
61
|
* Provide the label for the switcher. This will be the first visible option
|
|
63
62
|
* when someone views this control
|
|
64
63
|
*/
|
|
65
64
|
labelText: PropTypes.string.isRequired,
|
|
66
|
-
|
|
67
65
|
/**
|
|
68
66
|
* Provide a callback function that is called whenever the switcher value is
|
|
69
67
|
* updated
|
|
70
68
|
*/
|
|
71
69
|
onChange: PropTypes.func,
|
|
72
|
-
|
|
73
70
|
/**
|
|
74
71
|
* Provide an array of options to be rendered in the switcher as an
|
|
75
72
|
* `<option>`. The text value will be what is displayed to the user and is set
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { ComponentProps } from 'react';
|
|
8
|
+
import PropTypes from 'prop-types';
|
|
9
|
+
type SkipToContentProps = Omit<ComponentProps<'a'>, 'children'> & {
|
|
10
|
+
children?: string | undefined;
|
|
11
|
+
};
|
|
12
|
+
declare function SkipToContent({ children, className: customClassName, href, tabIndex, ...rest }: SkipToContentProps): JSX.Element;
|
|
13
|
+
declare namespace SkipToContent {
|
|
14
|
+
var propTypes: {
|
|
15
|
+
/**
|
|
16
|
+
* A ReactNode to display in the SkipToContent `a` tag.
|
|
17
|
+
* `'Skip to main content'` by default.
|
|
18
|
+
*/
|
|
19
|
+
children: PropTypes.Requireable<string>;
|
|
20
|
+
className: PropTypes.Requireable<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Provide the `href` to the id of the element on your package that is the
|
|
23
|
+
* main content. `#main-content` by default.
|
|
24
|
+
*/
|
|
25
|
+
href: PropTypes.Requireable<string>;
|
|
26
|
+
/**
|
|
27
|
+
* Optionally override the default tabindex of 0
|
|
28
|
+
*/
|
|
29
|
+
tabIndex: PropTypes.Requireable<string>;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export default SkipToContent;
|
|
@@ -13,10 +13,10 @@ import { usePrefix } from '../../internal/usePrefix.js';
|
|
|
13
13
|
|
|
14
14
|
function SkipToContent(_ref) {
|
|
15
15
|
let {
|
|
16
|
-
children,
|
|
16
|
+
children = 'Skip to main content',
|
|
17
17
|
className: customClassName,
|
|
18
|
-
href,
|
|
19
|
-
tabIndex,
|
|
18
|
+
href = '#main-content',
|
|
19
|
+
tabIndex = 0,
|
|
20
20
|
...rest
|
|
21
21
|
} = _ref;
|
|
22
22
|
const prefix = usePrefix();
|
|
@@ -27,29 +27,22 @@ function SkipToContent(_ref) {
|
|
|
27
27
|
tabIndex: tabIndex
|
|
28
28
|
}), children);
|
|
29
29
|
}
|
|
30
|
-
|
|
31
30
|
SkipToContent.propTypes = {
|
|
32
31
|
/**
|
|
33
|
-
*
|
|
32
|
+
* A ReactNode to display in the SkipToContent `a` tag.
|
|
33
|
+
* `'Skip to main content'` by default.
|
|
34
34
|
*/
|
|
35
|
-
children: PropTypes.string
|
|
35
|
+
children: PropTypes.string,
|
|
36
36
|
className: PropTypes.string,
|
|
37
|
-
|
|
38
37
|
/**
|
|
39
38
|
* Provide the `href` to the id of the element on your package that is the
|
|
40
|
-
* main content.
|
|
39
|
+
* main content. `#main-content` by default.
|
|
41
40
|
*/
|
|
42
|
-
href: PropTypes.string
|
|
43
|
-
|
|
41
|
+
href: PropTypes.string,
|
|
44
42
|
/**
|
|
45
43
|
* Optionally override the default tabindex of 0
|
|
46
44
|
*/
|
|
47
45
|
tabIndex: PropTypes.string
|
|
48
46
|
};
|
|
49
|
-
SkipToContent.defaultProps = {
|
|
50
|
-
children: 'Skip to main content',
|
|
51
|
-
href: '#main-content',
|
|
52
|
-
tabIndex: '0'
|
|
53
|
-
};
|
|
54
47
|
|
|
55
48
|
export { SkipToContent as default };
|