@carbon/react 1.87.0-rc.0 → 1.87.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/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +853 -853
- package/es/_virtual/_rollupPluginBabelHelpers.js +4 -4
- package/es/components/Button/Button.js +1 -1
- package/es/components/Button/index.js +5 -1
- package/es/components/ButtonSet/index.js +4 -1
- package/es/components/Checkbox/index.js +4 -1
- package/es/components/ComboBox/ComboBox.js +1 -1
- package/es/components/ComboBox/index.js +4 -1
- package/es/components/ComposedModal/ComposedModal.js +18 -8
- package/es/components/ContainedList/ContainedListItem/index.js +4 -1
- package/es/components/ContainedList/index.js +2 -2
- package/es/components/Copy/Copy.js +1 -1
- package/es/components/Copy/index.js +4 -1
- package/es/components/CopyButton/index.js +4 -1
- package/es/components/DataTable/Table.js +1 -1
- package/es/components/DataTable/state/getDerivedStateFromProps.d.ts +19 -0
- package/es/components/DataTable/state/getDerivedStateFromProps.js +1 -2
- package/es/components/DataTable/state/sorting.d.ts +15 -0
- package/es/components/DataTable/state/sorting.js +1 -2
- package/es/components/DataTable/tools/denormalize.d.ts +22 -0
- package/es/components/DataTable/tools/denormalize.js +1 -2
- package/es/components/DataTable/tools/normalize.d.ts +9 -0
- package/es/components/DataTable/tools/normalize.js +1 -2
- package/es/components/DatePicker/DatePicker.js +18 -11
- package/es/components/DatePicker/index.js +4 -1
- package/es/components/DatePicker/plugins/fixEventsPlugin.d.ts +2 -0
- package/es/components/DatePicker/plugins/rangePlugin.d.ts +2 -0
- package/es/components/DatePickerInput/DatePickerInput.js +6 -0
- package/es/components/DatePickerInput/index.js +4 -1
- package/es/components/Dialog/index.js +2 -2
- package/es/components/Dropdown/Dropdown.js +2 -2
- package/es/components/Dropdown/index.js +4 -1
- package/es/components/FeatureFlags/index.js +2 -2
- package/es/components/FluidSelect/index.js +4 -1
- package/es/components/FluidTextInput/index.js +4 -1
- package/es/components/IconIndicator/index.js +1 -1
- package/es/components/InlineCheckbox/index.js +4 -1
- package/es/components/InlineLoading/index.js +4 -1
- package/es/components/LayoutDirection/LayoutDirection.js +1 -2
- package/es/components/Link/index.js +4 -1
- package/es/components/ListBox/ListBox.js +1 -1
- package/es/components/Loading/index.js +4 -1
- package/es/components/Menu/Menu.d.ts +3 -1
- package/es/components/Menu/Menu.js +3 -1
- package/es/components/Menu/MenuItem.js +1 -1
- package/es/components/Modal/Modal.js +16 -5
- package/es/components/Modal/index.js +4 -1
- package/es/components/MultiSelect/FilterableMultiSelect.js +3 -3
- package/es/components/MultiSelect/MultiSelect.js +2 -2
- package/es/components/MultiSelect/filter.js +0 -4
- package/es/components/MultiSelect/tools/itemToString.d.ts +1 -0
- package/es/components/MultiSelect/tools/sorting.d.ts +9 -0
- package/es/components/Notification/Notification.js +2 -2
- package/es/components/NumberInput/NumberInput.js +1 -1
- package/es/components/OverflowMenu/next/index.js +1 -1
- package/es/components/OverflowMenuItem/index.js +4 -1
- package/es/components/OverflowMenuV2/index.d.ts +1 -0
- package/es/components/PageHeader/PageHeader.js +1 -1
- package/es/components/Pagination/experimental/PageSelector.d.ts +19 -0
- package/es/components/Pagination/experimental/Pagination.d.ts +43 -0
- package/es/components/Pagination/experimental/index.d.ts +3 -0
- package/es/components/Popover/index.js +21 -4
- package/es/components/RadioButton/index.js +4 -1
- package/es/components/RadioTile/index.js +4 -1
- package/es/components/Search/Search.js +1 -1
- package/es/components/Search/index.js +4 -1
- package/es/components/Select/index.js +4 -1
- package/es/components/SelectItem/index.js +4 -1
- package/es/components/ShapeIndicator/index.js +1 -1
- package/es/components/SkeletonText/index.js +4 -1
- package/es/components/Slider/Slider.js +1 -1
- package/es/components/Switch/IconSwitch.d.ts +3 -0
- package/es/components/Switch/IconSwitch.js +1 -2
- package/es/components/TabContent/TabContent.js +2 -22
- package/es/components/Tabs/Tabs.js +5 -5
- package/es/components/Tag/DismissibleTag.js +1 -1
- package/es/components/TextArea/TextArea.js +1 -1
- package/es/components/TextArea/index.js +4 -1
- package/es/components/TextInput/index.js +4 -1
- package/es/components/TextInput/util.d.ts +9 -0
- package/es/components/Toggletip/index.js +2 -2
- package/es/components/UIShell/HeaderMenu.js +2 -2
- package/es/components/UIShell/SideNav.js +1 -1
- package/es/components/UIShell/_utils.d.ts +7 -0
- package/es/feature-flags.d.ts +1 -0
- package/es/internal/FloatingMenu.js +1 -1
- package/es/internal/deprecateFieldOnObject.js +1 -1
- package/es/internal/useId.d.ts +21 -0
- package/es/internal/useId.js +27 -1
- package/es/internal/useOverflowItems.js +0 -6
- package/es/node_modules/es-toolkit/dist/compat/function/{debounce.mjs.js → debounce.js} +1 -1
- package/es/node_modules/es-toolkit/dist/compat/function/{throttle.mjs.js → throttle.js} +1 -1
- package/es/prop-types/deprecateComponent.d.ts +1 -0
- package/es/prop-types/deprecateComponent.js +1 -4
- package/es/prop-types/deprecateValuesWithin.d.ts +1 -0
- package/es/prop-types/requiredIfGivenPropIsTruthy.d.ts +14 -0
- package/es/tools/mergeRefs.d.ts +12 -0
- package/es/tools/mergeRefs.js +1 -2
- package/icons/index.js +1 -3
- package/lib/_virtual/_rollupPluginBabelHelpers.js +5 -7
- package/lib/components/AILabel/index.js +35 -43
- package/lib/components/AISkeleton/AISkeletonIcon.js +5 -11
- package/lib/components/AISkeleton/AISkeletonPlaceholder.js +4 -10
- package/lib/components/AISkeleton/AISkeletonText.js +8 -14
- package/lib/components/Accordion/Accordion.Skeleton.js +21 -27
- package/lib/components/Accordion/Accordion.js +11 -17
- package/lib/components/Accordion/AccordionItem.js +19 -25
- package/lib/components/Accordion/AccordionProvider.js +1 -7
- package/lib/components/AspectRatio/AspectRatio.js +7 -13
- package/lib/components/BadgeIndicator/index.js +7 -13
- package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +7 -13
- package/lib/components/Breadcrumb/Breadcrumb.js +9 -15
- package/lib/components/Breadcrumb/BreadcrumbItem.js +16 -22
- package/lib/components/Button/Button.Skeleton.js +8 -14
- package/lib/components/Button/Button.js +31 -36
- package/lib/components/Button/ButtonBase.js +6 -11
- package/lib/components/Button/index.js +3 -3
- package/lib/components/ButtonSet/ButtonSet.js +6 -12
- package/lib/components/ButtonSet/index.js +2 -2
- package/lib/components/ChatButton/ChatButton.Skeleton.js +5 -11
- package/lib/components/ChatButton/ChatButton.js +12 -18
- package/lib/components/Checkbox/Checkbox.Skeleton.js +6 -12
- package/lib/components/Checkbox/Checkbox.js +33 -39
- package/lib/components/Checkbox/index.js +3 -3
- package/lib/components/CheckboxGroup/CheckboxGroup.js +24 -30
- package/lib/components/ClassPrefix/index.js +3 -10
- package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +10 -16
- package/lib/components/CodeSnippet/CodeSnippet.js +39 -46
- package/lib/components/ComboBox/ComboBox.js +57 -64
- package/lib/components/ComboBox/index.js +2 -2
- package/lib/components/ComboButton/index.js +20 -28
- package/lib/components/ComposedModal/ComposedModal.js +61 -57
- package/lib/components/ComposedModal/ModalFooter.js +37 -45
- package/lib/components/ComposedModal/ModalHeader.js +23 -31
- package/lib/components/ContainedList/ContainedList.js +18 -24
- package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +14 -20
- package/lib/components/ContainedList/ContainedListItem/index.js +2 -2
- package/lib/components/ContainedList/index.js +5 -5
- package/lib/components/ContentSwitcher/ContentSwitcher.js +11 -19
- package/lib/components/ContextMenu/useContextMenu.js +1 -1
- package/lib/components/Copy/Copy.js +12 -18
- package/lib/components/Copy/index.js +2 -2
- package/lib/components/CopyButton/CopyButton.js +12 -18
- package/lib/components/CopyButton/index.js +2 -2
- package/lib/components/DangerButton/DangerButton.js +2 -6
- package/lib/components/DataTable/DataTable.js +48 -55
- package/lib/components/DataTable/Table.js +18 -24
- package/lib/components/DataTable/TableActionList.js +2 -2
- package/lib/components/DataTable/TableBatchAction.js +4 -9
- package/lib/components/DataTable/TableBatchActions.js +19 -25
- package/lib/components/DataTable/TableBody.js +5 -10
- package/lib/components/DataTable/TableCell.js +8 -14
- package/lib/components/DataTable/TableContainer.js +14 -20
- package/lib/components/DataTable/TableContext.js +0 -2
- package/lib/components/DataTable/TableDecoratorRow.js +5 -11
- package/lib/components/DataTable/TableExpandHeader.js +16 -22
- package/lib/components/DataTable/TableExpandRow.js +20 -26
- package/lib/components/DataTable/TableExpandedRow.js +8 -14
- package/lib/components/DataTable/TableHead.js +2 -2
- package/lib/components/DataTable/TableHeader.js +26 -32
- package/lib/components/DataTable/TableRow.js +8 -14
- package/lib/components/DataTable/TableSelectAll.js +13 -19
- package/lib/components/DataTable/TableSelectRow.js +15 -21
- package/lib/components/DataTable/TableSlugRow.js +7 -13
- package/lib/components/DataTable/TableToolbar.js +7 -13
- package/lib/components/DataTable/TableToolbarAction.js +5 -10
- package/lib/components/DataTable/TableToolbarContent.js +2 -2
- package/lib/components/DataTable/TableToolbarMenu.js +9 -15
- package/lib/components/DataTable/TableToolbarSearch.js +22 -28
- package/lib/components/DataTable/state/getDerivedStateFromProps.d.ts +19 -0
- package/lib/components/DataTable/state/getDerivedStateFromProps.js +2 -3
- package/lib/components/DataTable/state/sortStates.js +0 -2
- package/lib/components/DataTable/state/sorting.d.ts +15 -0
- package/lib/components/DataTable/state/sorting.js +0 -2
- package/lib/components/DataTable/tools/cells.js +0 -2
- package/lib/components/DataTable/tools/denormalize.d.ts +22 -0
- package/lib/components/DataTable/tools/denormalize.js +1 -2
- package/lib/components/DataTable/tools/filter.js +0 -2
- package/lib/components/DataTable/tools/normalize.d.ts +9 -0
- package/lib/components/DataTable/tools/normalize.js +1 -2
- package/lib/components/DataTable/tools/sorting.js +0 -2
- package/lib/components/DataTableSkeleton/DataTableSkeleton.js +25 -31
- package/lib/components/DatePicker/DatePicker.Skeleton.js +14 -20
- package/lib/components/DatePicker/DatePicker.js +65 -66
- package/lib/components/DatePicker/index.js +3 -3
- package/lib/components/DatePicker/plugins/appendToPlugin.js +0 -2
- package/lib/components/DatePicker/plugins/fixEventsPlugin.d.ts +2 -0
- package/lib/components/DatePicker/plugins/fixEventsPlugin.js +1 -1
- package/lib/components/DatePicker/plugins/rangePlugin.d.ts +2 -0
- package/lib/components/DatePicker/plugins/rangePlugin.js +2 -6
- package/lib/components/DatePickerInput/DatePickerInput.js +49 -49
- package/lib/components/DatePickerInput/index.js +2 -2
- package/lib/components/Dialog/index.js +72 -80
- package/lib/components/Dropdown/Dropdown.Skeleton.js +8 -14
- package/lib/components/Dropdown/Dropdown.js +49 -55
- package/lib/components/Dropdown/index.js +3 -3
- package/lib/components/ErrorBoundary/ErrorBoundary.js +4 -9
- package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +0 -2
- package/lib/components/ExpandableSearch/ExpandableSearch.js +6 -11
- package/lib/components/FeatureFlags/index.js +10 -17
- package/lib/components/FileUploader/FileUploader.Skeleton.js +7 -13
- package/lib/components/FileUploader/FileUploader.js +30 -36
- package/lib/components/FileUploader/FileUploaderButton.js +19 -25
- package/lib/components/FileUploader/FileUploaderDropContainer.js +18 -24
- package/lib/components/FileUploader/FileUploaderItem.js +23 -29
- package/lib/components/FileUploader/Filename.js +13 -18
- package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +7 -13
- package/lib/components/FluidComboBox/FluidComboBox.js +24 -30
- package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +14 -20
- package/lib/components/FluidDatePicker/FluidDatePicker.js +12 -18
- package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +4 -8
- package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +7 -13
- package/lib/components/FluidDropdown/FluidDropdown.js +24 -30
- package/lib/components/FluidForm/FluidForm.js +6 -12
- package/lib/components/FluidForm/FormContext.js +0 -2
- package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +7 -13
- package/lib/components/FluidMultiSelect/FluidMultiSelect.js +36 -42
- package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +7 -13
- package/lib/components/FluidNumberInput/FluidNumberInput.js +30 -36
- package/lib/components/FluidSearch/FluidSearch.Skeleton.js +7 -13
- package/lib/components/FluidSearch/FluidSearch.js +19 -25
- package/lib/components/FluidSelect/FluidSelect.Skeleton.js +7 -13
- package/lib/components/FluidSelect/FluidSelect.js +17 -23
- package/lib/components/FluidSelect/index.js +3 -3
- package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +7 -13
- package/lib/components/FluidTextArea/FluidTextArea.js +25 -31
- package/lib/components/FluidTextInput/FluidPasswordInput.js +18 -22
- package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +7 -13
- package/lib/components/FluidTextInput/FluidTextInput.js +23 -29
- package/lib/components/FluidTextInput/index.js +3 -3
- package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +6 -12
- package/lib/components/FluidTimePicker/FluidTimePicker.js +23 -29
- package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +10 -15
- package/lib/components/Form/Form.js +5 -11
- package/lib/components/FormGroup/FormGroup.js +13 -19
- package/lib/components/FormItem/FormItem.js +5 -11
- package/lib/components/FormLabel/FormLabel.js +6 -12
- package/lib/components/Grid/CSSGrid.js +20 -28
- package/lib/components/Grid/Column.js +31 -37
- package/lib/components/Grid/ColumnHang.js +5 -13
- package/lib/components/Grid/FlexGrid.js +10 -18
- package/lib/components/Grid/Grid.js +9 -16
- package/lib/components/Grid/GridContext.js +7 -14
- package/lib/components/Grid/Row.js +8 -14
- package/lib/components/Heading/index.js +14 -21
- package/lib/components/Icon/Icon.Skeleton.js +4 -10
- package/lib/components/IconButton/index.js +25 -33
- package/lib/components/IconIndicator/index.js +9 -15
- package/lib/components/IdPrefix/index.js +3 -10
- package/lib/components/InlineCheckbox/InlineCheckbox.js +17 -22
- package/lib/components/InlineCheckbox/index.js +2 -2
- package/lib/components/InlineLoading/InlineLoading.js +17 -23
- package/lib/components/InlineLoading/index.js +2 -2
- package/lib/components/Layer/LayerContext.js +1 -7
- package/lib/components/Layer/LayerLevel.js +0 -2
- package/lib/components/Layer/index.js +11 -19
- package/lib/components/Layout/index.js +22 -30
- package/lib/components/LayoutDirection/LayoutDirection.js +6 -13
- package/lib/components/LayoutDirection/LayoutDirectionContext.js +1 -7
- package/lib/components/LayoutDirection/useLayoutDirection.js +0 -2
- package/lib/components/Link/Link.js +15 -21
- package/lib/components/Link/index.js +2 -2
- package/lib/components/ListBox/ListBox.js +17 -23
- package/lib/components/ListBox/ListBoxField.js +7 -12
- package/lib/components/ListBox/ListBoxMenu.js +7 -12
- package/lib/components/ListBox/ListBoxMenuIcon.js +7 -13
- package/lib/components/ListBox/ListBoxMenuItem.js +9 -15
- package/lib/components/ListBox/ListBoxPropTypes.js +2 -8
- package/lib/components/ListBox/ListBoxSelection.js +14 -20
- package/lib/components/ListBox/index.js +7 -7
- package/lib/components/ListBox/next/ListBoxSelection.js +18 -24
- package/lib/components/ListBox/next/ListBoxTrigger.js +7 -13
- package/lib/components/ListItem/ListItem.js +5 -11
- package/lib/components/Loading/Loading.js +14 -20
- package/lib/components/Loading/index.js +2 -2
- package/lib/components/Menu/Menu.d.ts +3 -1
- package/lib/components/Menu/Menu.js +18 -24
- package/lib/components/Menu/MenuContext.js +0 -2
- package/lib/components/Menu/MenuItem.js +44 -52
- package/lib/components/MenuButton/index.js +16 -24
- package/lib/components/Modal/Modal.js +91 -86
- package/lib/components/Modal/index.js +2 -2
- package/lib/components/ModalWrapper/ModalWrapper.js +30 -35
- package/lib/components/MultiSelect/FilterableMultiSelect.js +57 -67
- package/lib/components/MultiSelect/MultiSelect.js +61 -70
- package/lib/components/MultiSelect/MultiSelectPropTypes.js +2 -8
- package/lib/components/MultiSelect/filter.js +0 -6
- package/lib/components/MultiSelect/tools/itemToString.d.ts +1 -0
- package/lib/components/MultiSelect/tools/itemToString.js +1 -7
- package/lib/components/MultiSelect/tools/sorting.d.ts +9 -0
- package/lib/components/MultiSelect/tools/sorting.js +0 -2
- package/lib/components/Notification/Notification.js +118 -126
- package/lib/components/NumberInput/NumberFormatPropTypes.js +21 -27
- package/lib/components/NumberInput/NumberInput.Skeleton.js +8 -14
- package/lib/components/NumberInput/NumberInput.js +66 -74
- package/lib/components/OrderedList/OrderedList.js +8 -14
- package/lib/components/OverflowMenu/OverflowMenu.js +42 -49
- package/lib/components/OverflowMenu/index.js +3 -7
- package/lib/components/OverflowMenu/next/index.js +18 -26
- package/lib/components/OverflowMenuItem/OverflowMenuItem.js +27 -33
- package/lib/components/OverflowMenuItem/index.js +2 -2
- package/lib/components/OverflowMenuV2/index.d.ts +1 -0
- package/lib/components/OverflowMenuV2/index.js +2 -8
- package/lib/components/PageHeader/PageHeader.js +70 -78
- package/lib/components/PageHeader/index.js +0 -2
- package/lib/components/Pagination/Pagination.Skeleton.js +10 -16
- package/lib/components/Pagination/Pagination.js +44 -51
- package/lib/components/Pagination/experimental/PageSelector.d.ts +19 -0
- package/lib/components/Pagination/experimental/PageSelector.js +9 -15
- package/lib/components/Pagination/experimental/Pagination.d.ts +43 -0
- package/lib/components/Pagination/experimental/Pagination.js +34 -40
- package/lib/components/Pagination/experimental/index.d.ts +3 -0
- package/lib/components/PaginationNav/PaginationNav.js +54 -60
- package/lib/components/Popover/index.js +56 -47
- package/lib/components/PrimaryButton/PrimaryButton.js +2 -6
- package/lib/components/ProgressBar/ProgressBar.js +25 -31
- package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +10 -16
- package/lib/components/ProgressIndicator/ProgressIndicator.js +41 -49
- package/lib/components/RadioButton/RadioButton.Skeleton.js +6 -12
- package/lib/components/RadioButton/RadioButton.js +26 -32
- package/lib/components/RadioButton/index.js +2 -2
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +37 -43
- package/lib/components/RadioTile/RadioTile.js +25 -31
- package/lib/components/RadioTile/index.js +2 -2
- package/lib/components/Search/Search.Skeleton.js +7 -13
- package/lib/components/Search/Search.js +33 -39
- package/lib/components/Search/index.js +3 -3
- package/lib/components/SecondaryButton/SecondaryButton.js +2 -6
- package/lib/components/Select/Select.Skeleton.js +8 -14
- package/lib/components/Select/Select.js +42 -48
- package/lib/components/Select/index.js +3 -3
- package/lib/components/SelectItem/SelectItem.js +8 -14
- package/lib/components/SelectItem/index.js +2 -2
- package/lib/components/SelectItemGroup/SelectItemGroup.js +7 -13
- package/lib/components/ShapeIndicator/index.js +12 -18
- package/lib/components/SkeletonIcon/SkeletonIcon.js +4 -10
- package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +4 -10
- package/lib/components/SkeletonText/SkeletonText.js +11 -17
- package/lib/components/SkeletonText/index.js +2 -2
- package/lib/components/Slider/Slider.Skeleton.js +29 -35
- package/lib/components/Slider/Slider.js +84 -90
- package/lib/components/Slider/SliderHandles.js +18 -24
- package/lib/components/Slider/index.js +3 -3
- package/lib/components/Stack/HStack.js +1 -7
- package/lib/components/Stack/Stack.js +7 -15
- package/lib/components/Stack/VStack.js +1 -7
- package/lib/components/StructuredList/StructuredList.Skeleton.js +15 -21
- package/lib/components/StructuredList/StructuredList.js +60 -68
- package/lib/components/Switch/IconSwitch.d.ts +3 -0
- package/lib/components/Switch/IconSwitch.js +18 -25
- package/lib/components/Switch/Switch.js +14 -20
- package/lib/components/TabContent/TabContent.js +7 -33
- package/lib/components/Tabs/Tabs.Skeleton.js +10 -16
- package/lib/components/Tabs/Tabs.js +121 -129
- package/lib/components/Tabs/usePressable.js +0 -2
- package/lib/components/Tag/DismissibleTag.js +24 -30
- package/lib/components/Tag/OperationalTag.js +16 -22
- package/lib/components/Tag/SelectableTag.js +19 -25
- package/lib/components/Tag/Tag.Skeleton.js +5 -11
- package/lib/components/Tag/Tag.js +28 -34
- package/lib/components/Tag/isEllipsisActive.js +0 -2
- package/lib/components/Text/Text.js +6 -13
- package/lib/components/Text/TextDirection.js +4 -11
- package/lib/components/Text/TextDirectionContext.js +0 -2
- package/lib/components/Text/createTextComponent.js +1 -7
- package/lib/components/Text/index.js +0 -2
- package/lib/components/TextArea/TextArea.Skeleton.js +7 -13
- package/lib/components/TextArea/TextArea.js +49 -55
- package/lib/components/TextArea/index.js +3 -3
- package/lib/components/TextInput/ControlledPasswordInput.js +36 -42
- package/lib/components/TextInput/PasswordInput.js +48 -54
- package/lib/components/TextInput/TextInput.Skeleton.js +7 -13
- package/lib/components/TextInput/TextInput.js +47 -53
- package/lib/components/TextInput/index.js +3 -3
- package/lib/components/TextInput/util.d.ts +9 -0
- package/lib/components/TextInput/util.js +0 -2
- package/lib/components/Theme/index.js +16 -24
- package/lib/components/Tile/Tile.js +92 -100
- package/lib/components/TileGroup/TileGroup.js +15 -22
- package/lib/components/TimePicker/TimePicker.js +39 -45
- package/lib/components/TimePickerSelect/TimePickerSelect.js +10 -16
- package/lib/components/Toggle/Toggle.Skeleton.js +7 -13
- package/lib/components/Toggle/Toggle.js +28 -34
- package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +12 -20
- package/lib/components/Toggletip/index.js +32 -40
- package/lib/components/Tooltip/DefinitionTooltip.js +14 -22
- package/lib/components/Tooltip/Tooltip.js +19 -27
- package/lib/components/TreeView/TreeContext.js +0 -2
- package/lib/components/TreeView/TreeNode.js +41 -47
- package/lib/components/TreeView/TreeView.js +17 -23
- package/lib/components/UIShell/Content.js +6 -12
- package/lib/components/UIShell/Header.js +4 -10
- package/lib/components/UIShell/HeaderContainer.js +4 -9
- package/lib/components/UIShell/HeaderGlobalAction.js +11 -17
- package/lib/components/UIShell/HeaderGlobalBar.js +2 -2
- package/lib/components/UIShell/HeaderMenu.js +17 -23
- package/lib/components/UIShell/HeaderMenuButton.js +9 -15
- package/lib/components/UIShell/HeaderMenuItem.js +11 -17
- package/lib/components/UIShell/HeaderName.js +8 -14
- package/lib/components/UIShell/HeaderNavigation.js +6 -12
- package/lib/components/UIShell/HeaderPanel.js +11 -17
- package/lib/components/UIShell/HeaderSideNavItems.js +6 -12
- package/lib/components/UIShell/Link.js +6 -11
- package/lib/components/UIShell/SideNav.js +23 -29
- package/lib/components/UIShell/SideNavDetails.js +7 -13
- package/lib/components/UIShell/SideNavDivider.js +5 -11
- package/lib/components/UIShell/SideNavFooter.js +12 -18
- package/lib/components/UIShell/SideNavHeader.js +8 -14
- package/lib/components/UIShell/SideNavIcon.js +6 -12
- package/lib/components/UIShell/SideNavItem.js +6 -12
- package/lib/components/UIShell/SideNavItems.js +9 -15
- package/lib/components/UIShell/SideNavLink.js +13 -19
- package/lib/components/UIShell/SideNavLinkText.js +5 -11
- package/lib/components/UIShell/SideNavMenu.js +20 -26
- package/lib/components/UIShell/SideNavMenuItem.js +13 -19
- package/lib/components/UIShell/SideNavSwitcher.js +13 -19
- package/lib/components/UIShell/SkipToContent.js +7 -13
- package/lib/components/UIShell/Switcher.js +9 -15
- package/lib/components/UIShell/SwitcherDivider.js +4 -10
- package/lib/components/UIShell/SwitcherItem.js +15 -21
- package/lib/components/UIShell/_utils.d.ts +7 -0
- package/lib/components/UIShell/_utils.js +0 -2
- package/lib/components/UnorderedList/UnorderedList.js +7 -13
- package/lib/feature-flags.d.ts +1 -0
- package/lib/feature-flags.js +3 -4
- package/lib/index.js +180 -182
- package/lib/internal/FloatingMenu.js +10 -18
- package/lib/internal/OptimizedResize.js +2 -8
- package/lib/internal/Selection.js +1 -7
- package/lib/internal/clamp.js +0 -2
- package/lib/internal/createClassWrapper.js +1 -7
- package/lib/internal/deprecateFieldOnObject.js +1 -3
- package/lib/internal/environment.js +0 -2
- package/lib/internal/getAnnouncement.js +0 -2
- package/lib/internal/keyboard/keys.js +0 -2
- package/lib/internal/keyboard/match.js +0 -2
- package/lib/internal/keyboard/navigation.js +0 -2
- package/lib/internal/noopFn.js +0 -2
- package/lib/internal/useAttachedMenu.js +0 -2
- package/lib/internal/useControllableState.js +0 -2
- package/lib/internal/useDelayedState.js +0 -2
- package/lib/internal/useEvent.js +0 -2
- package/lib/internal/useId.d.ts +21 -0
- package/lib/internal/useId.js +27 -7
- package/lib/internal/useIdPrefix.js +2 -8
- package/lib/internal/useIsomorphicEffect.js +1 -1
- package/lib/internal/useMatchMedia.js +0 -2
- package/lib/internal/useMergedRefs.js +0 -2
- package/lib/internal/useNoInteractiveChildren.js +0 -2
- package/lib/internal/useNormalizedInputProps.js +2 -8
- package/lib/internal/useOutsideClick.js +0 -2
- package/lib/internal/useOverflowItems.js +1 -7
- package/lib/internal/usePrefix.js +2 -8
- package/lib/internal/usePreviousValue.js +0 -2
- package/lib/internal/useResizeObserver.js +0 -2
- package/lib/internal/useSavedCallback.js +0 -2
- package/lib/internal/utils.js +0 -2
- package/lib/internal/warning.js +0 -2
- package/lib/internal/wrapFocus.js +0 -2
- package/lib/node_modules/es-toolkit/dist/compat/function/{debounce.mjs.js → debounce.js} +1 -3
- package/lib/node_modules/es-toolkit/dist/compat/function/{throttle.mjs.js → throttle.js} +1 -3
- package/lib/node_modules/es-toolkit/dist/function/{debounce.mjs.js → debounce.js} +0 -2
- package/lib/prop-types/AriaPropTypes.js +2 -8
- package/lib/prop-types/deprecate.js +0 -2
- package/lib/prop-types/deprecateComponent.d.ts +1 -0
- package/lib/prop-types/deprecateComponent.js +2 -5
- package/lib/prop-types/deprecateValuesWithin.d.ts +1 -0
- package/lib/prop-types/deprecateValuesWithin.js +1 -1
- package/lib/prop-types/isRequiredOneOf.js +0 -2
- package/lib/prop-types/requiredIfGivenPropIsTruthy.d.ts +14 -0
- package/lib/prop-types/requiredIfGivenPropIsTruthy.js +1 -1
- package/lib/tools/events.js +0 -2
- package/lib/tools/mapPopoverAlign.js +0 -2
- package/lib/tools/mergeRefs.d.ts +12 -0
- package/lib/tools/mergeRefs.js +1 -2
- package/lib/tools/setupGetInstanceId.js +0 -2
- package/lib/tools/toggleClass.js +0 -2
- package/lib/tools/wrapComponent.js +4 -10
- package/package.json +11 -11
- /package/es/node_modules/es-toolkit/dist/function/{debounce.mjs.js → debounce.js} +0 -0
|
@@ -7,8 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
'use strict';
|
|
9
9
|
|
|
10
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
|
-
|
|
12
10
|
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
13
11
|
var iconsReact = require('@carbon/icons-react');
|
|
14
12
|
var layout = require('@carbon/layout');
|
|
@@ -38,21 +36,15 @@ var useEvent = require('../../internal/useEvent.js');
|
|
|
38
36
|
var useMatchMedia = require('../../internal/useMatchMedia.js');
|
|
39
37
|
require('../Text/index.js');
|
|
40
38
|
var index = require('../BadgeIndicator/index.js');
|
|
41
|
-
var debounce = require('../../node_modules/es-toolkit/dist/compat/function/debounce.
|
|
39
|
+
var debounce = require('../../node_modules/es-toolkit/dist/compat/function/debounce.js');
|
|
42
40
|
var Text = require('../Text/Text.js');
|
|
43
41
|
|
|
44
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
45
|
-
|
|
46
|
-
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
47
|
-
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
48
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
49
|
-
|
|
50
42
|
var _ChevronLeft, _ChevronRight, _BadgeIndicator;
|
|
51
43
|
const verticalTabHeight = 64;
|
|
52
44
|
|
|
53
45
|
// Used to manage the overall state of the Tabs
|
|
54
46
|
|
|
55
|
-
const TabsContext = /*#__PURE__*/
|
|
47
|
+
const TabsContext = /*#__PURE__*/React.createContext({
|
|
56
48
|
baseId: '',
|
|
57
49
|
activeIndex: 0,
|
|
58
50
|
defaultSelectedIndex: 0,
|
|
@@ -64,7 +56,7 @@ const TabsContext = /*#__PURE__*/React__default["default"].createContext({
|
|
|
64
56
|
});
|
|
65
57
|
|
|
66
58
|
// Used to keep track of position in a tablist
|
|
67
|
-
const TabContext = /*#__PURE__*/
|
|
59
|
+
const TabContext = /*#__PURE__*/React.createContext({
|
|
68
60
|
index: 0,
|
|
69
61
|
hasSecondaryLabel: false
|
|
70
62
|
});
|
|
@@ -72,7 +64,7 @@ const lgMediaQuery = `(min-width: ${layout.breakpoints.lg.width})`;
|
|
|
72
64
|
const smMediaQuery = `(max-width: ${layout.breakpoints.md.width})`;
|
|
73
65
|
|
|
74
66
|
// Used to keep track of position in a list of tab panels
|
|
75
|
-
const TabPanelContext = /*#__PURE__*/
|
|
67
|
+
const TabPanelContext = /*#__PURE__*/React.createContext(0);
|
|
76
68
|
|
|
77
69
|
/**
|
|
78
70
|
* Tabs
|
|
@@ -110,7 +102,7 @@ function Tabs({
|
|
|
110
102
|
selectedIndex,
|
|
111
103
|
setSelectedIndex
|
|
112
104
|
};
|
|
113
|
-
return /*#__PURE__*/
|
|
105
|
+
return /*#__PURE__*/React.createElement(TabsContext.Provider, {
|
|
114
106
|
value: value
|
|
115
107
|
}, children);
|
|
116
108
|
}
|
|
@@ -119,21 +111,21 @@ Tabs.propTypes = {
|
|
|
119
111
|
* Provide child elements to be rendered inside the `Tabs`.
|
|
120
112
|
* These elements should render either `TabsList` or `TabsPanels`
|
|
121
113
|
*/
|
|
122
|
-
children:
|
|
114
|
+
children: PropTypes.node,
|
|
123
115
|
/**
|
|
124
116
|
* Specify which content tab should be initially selected when the component
|
|
125
117
|
* is first rendered
|
|
126
118
|
*/
|
|
127
|
-
defaultSelectedIndex:
|
|
119
|
+
defaultSelectedIndex: PropTypes.number,
|
|
128
120
|
/**
|
|
129
121
|
* Whether the render Tab children should be dismissable.
|
|
130
122
|
*/
|
|
131
|
-
dismissable:
|
|
123
|
+
dismissable: PropTypes.bool,
|
|
132
124
|
/**
|
|
133
125
|
* Provide an optional function which is called whenever the state of the
|
|
134
126
|
* `Tabs` changes
|
|
135
127
|
*/
|
|
136
|
-
onChange:
|
|
128
|
+
onChange: PropTypes.func,
|
|
137
129
|
/**
|
|
138
130
|
* If specifying the `onTabCloseRequest` prop, provide a callback function
|
|
139
131
|
* responsible for removing the tab when close button is pressed on one of the Tab elements
|
|
@@ -148,7 +140,7 @@ Tabs.propTypes = {
|
|
|
148
140
|
* Control which content panel is currently selected. This puts the component
|
|
149
141
|
* in a controlled mode and should be used along with `onChange`
|
|
150
142
|
*/
|
|
151
|
-
selectedIndex:
|
|
143
|
+
selectedIndex: PropTypes.number
|
|
152
144
|
};
|
|
153
145
|
function TabsVertical({
|
|
154
146
|
children,
|
|
@@ -177,40 +169,40 @@ function TabsVertical({
|
|
|
177
169
|
return (
|
|
178
170
|
/*#__PURE__*/
|
|
179
171
|
// eslint-disable-next-line react/forbid-component-props
|
|
180
|
-
|
|
172
|
+
React.createElement(Grid.Grid, {
|
|
181
173
|
style: {
|
|
182
174
|
height: height
|
|
183
175
|
}
|
|
184
|
-
}, /*#__PURE__*/
|
|
176
|
+
}, /*#__PURE__*/React.createElement(Tabs, props, children))
|
|
185
177
|
);
|
|
186
178
|
}
|
|
187
|
-
return /*#__PURE__*/
|
|
179
|
+
return /*#__PURE__*/React.createElement(Tabs, props, children);
|
|
188
180
|
}
|
|
189
181
|
TabsVertical.propTypes = {
|
|
190
182
|
/**
|
|
191
183
|
* Provide child elements to be rendered inside the `TabsVertical`.
|
|
192
184
|
* These elements should render either `TabsListVertical` or `TabsPanels`
|
|
193
185
|
*/
|
|
194
|
-
children:
|
|
186
|
+
children: PropTypes.node,
|
|
195
187
|
/**
|
|
196
188
|
* Specify which content tab should be initially selected when the component
|
|
197
189
|
* is first rendered
|
|
198
190
|
*/
|
|
199
|
-
defaultSelectedIndex:
|
|
191
|
+
defaultSelectedIndex: PropTypes.number,
|
|
200
192
|
/**
|
|
201
193
|
* Option to set a height style only if using vertical variation
|
|
202
194
|
*/
|
|
203
|
-
height:
|
|
195
|
+
height: PropTypes.string,
|
|
204
196
|
/**
|
|
205
197
|
* Provide an optional function which is called whenever the state of the
|
|
206
198
|
* `Tabs` changes
|
|
207
199
|
*/
|
|
208
|
-
onChange:
|
|
200
|
+
onChange: PropTypes.func,
|
|
209
201
|
/**
|
|
210
202
|
* Control which content panel is currently selected. This puts the component
|
|
211
203
|
* in a controlled mode and should be used along with `onChange`
|
|
212
204
|
*/
|
|
213
|
-
selectedIndex:
|
|
205
|
+
selectedIndex: PropTypes.number
|
|
214
206
|
};
|
|
215
207
|
|
|
216
208
|
/**
|
|
@@ -276,7 +268,7 @@ function TabList({
|
|
|
276
268
|
setSelectedIndex,
|
|
277
269
|
setActiveIndex,
|
|
278
270
|
dismissable
|
|
279
|
-
} =
|
|
271
|
+
} = React.useContext(TabsContext);
|
|
280
272
|
const prefix = usePrefix.usePrefix();
|
|
281
273
|
const ref = React.useRef(null);
|
|
282
274
|
const previousButton = React.useRef(null);
|
|
@@ -285,14 +277,14 @@ function TabList({
|
|
|
285
277
|
const [scrollLeft, setScrollLeft] = React.useState(0);
|
|
286
278
|
let hasSecondaryLabelTabs = false;
|
|
287
279
|
if (contained) {
|
|
288
|
-
hasSecondaryLabelTabs =
|
|
280
|
+
hasSecondaryLabelTabs = React.Children.toArray(children).some(child => {
|
|
289
281
|
const _child = child;
|
|
290
|
-
return /*#__PURE__*/
|
|
282
|
+
return /*#__PURE__*/React.isValidElement(child) && !!_child.props.secondaryLabel;
|
|
291
283
|
});
|
|
292
284
|
}
|
|
293
285
|
const isLg = useMatchMedia.useMatchMedia(lgMediaQuery);
|
|
294
|
-
const distributeWidth = fullWidth && contained && isLg &&
|
|
295
|
-
const className =
|
|
286
|
+
const distributeWidth = fullWidth && contained && isLg && React.Children.toArray(children).length < 9;
|
|
287
|
+
const className = cx(`${prefix}--tabs`, {
|
|
296
288
|
[`${prefix}--tabs--contained`]: contained,
|
|
297
289
|
[`${prefix}--tabs--light`]: light,
|
|
298
290
|
[`${prefix}--tabs__icon--default`]: iconSize === 'default',
|
|
@@ -315,10 +307,10 @@ function TabList({
|
|
|
315
307
|
// AND SCROLL_LEFT + CLIENT_WIDTH < SCROLL_WIDTH
|
|
316
308
|
const [isNextButtonVisible, setIsNextButtonVisible] = React.useState(ref.current ? scrollLeft + buttonWidth + ref.current.clientWidth < ref.current.scrollWidth : false);
|
|
317
309
|
const isPreviousButtonVisible = ref.current ? isScrollable && scrollLeft > 0 : false;
|
|
318
|
-
const previousButtonClasses =
|
|
310
|
+
const previousButtonClasses = cx(`${prefix}--tab--overflow-nav-button`, `${prefix}--tab--overflow-nav-button--previous`, {
|
|
319
311
|
[`${prefix}--tab--overflow-nav-button--hidden`]: !isPreviousButtonVisible
|
|
320
312
|
});
|
|
321
|
-
const nextButtonClasses =
|
|
313
|
+
const nextButtonClasses = cx(`${prefix}--tab--overflow-nav-button`, `${prefix}--tab--overflow-nav-button--next`, {
|
|
322
314
|
[`${prefix}--tab--overflow-nav-button--hidden`]: !isNextButtonVisible
|
|
323
315
|
});
|
|
324
316
|
const tabs = React.useRef([]);
|
|
@@ -420,7 +412,7 @@ function TabList({
|
|
|
420
412
|
}
|
|
421
413
|
}
|
|
422
414
|
}, []);
|
|
423
|
-
useIsomorphicEffect
|
|
415
|
+
useIsomorphicEffect.default(() => {
|
|
424
416
|
if (ref.current) {
|
|
425
417
|
// adding 1 in calculation for firefox support
|
|
426
418
|
setIsScrollable(ref.current.scrollWidth > ref.current.clientWidth + 1);
|
|
@@ -440,20 +432,20 @@ function TabList({
|
|
|
440
432
|
}, []);
|
|
441
433
|
|
|
442
434
|
// updates scroll location for all scroll behavior.
|
|
443
|
-
useIsomorphicEffect
|
|
435
|
+
useIsomorphicEffect.default(() => {
|
|
444
436
|
if (scrollLeft !== null && ref.current) {
|
|
445
437
|
ref.current.scrollLeft = scrollLeft;
|
|
446
438
|
}
|
|
447
439
|
}, [scrollLeft]);
|
|
448
440
|
|
|
449
441
|
// scroll manual tabs when active index changes (focus outline movement)
|
|
450
|
-
useIsomorphicEffect
|
|
442
|
+
useIsomorphicEffect.default(() => {
|
|
451
443
|
const tab = activation === 'manual' ? tabs.current[activeIndex] : tabs.current[selectedIndex];
|
|
452
444
|
scrollTabIntoView(tab);
|
|
453
445
|
}, [activation, activeIndex]);
|
|
454
446
|
|
|
455
447
|
// scroll tabs when selected index changes
|
|
456
|
-
useIsomorphicEffect
|
|
448
|
+
useIsomorphicEffect.default(() => {
|
|
457
449
|
const tab = tabs.current[selectedIndex];
|
|
458
450
|
scrollTabIntoView(tab);
|
|
459
451
|
}, [selectedIndex, isScrollable, children]);
|
|
@@ -481,16 +473,16 @@ function TabList({
|
|
|
481
473
|
return createLongPressBehavior(ref, 'forward', setScrollLeft);
|
|
482
474
|
}
|
|
483
475
|
});
|
|
484
|
-
return /*#__PURE__*/
|
|
476
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
485
477
|
className: className
|
|
486
|
-
}, /*#__PURE__*/
|
|
478
|
+
}, /*#__PURE__*/React.createElement("button", _rollupPluginBabelHelpers.extends({
|
|
487
479
|
"aria-hidden": "true",
|
|
488
480
|
tabIndex: -1,
|
|
489
481
|
"aria-label": "Scroll left",
|
|
490
482
|
ref: previousButton,
|
|
491
483
|
className: previousButtonClasses,
|
|
492
484
|
type: "button"
|
|
493
|
-
}, leftOverflowButtonProps), _ChevronLeft || (_ChevronLeft = /*#__PURE__*/
|
|
485
|
+
}, leftOverflowButtonProps), _ChevronLeft || (_ChevronLeft = /*#__PURE__*/React.createElement(iconsReact.ChevronLeft, null))), /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers.extends({}, rest, {
|
|
494
486
|
"aria-label": label,
|
|
495
487
|
ref: ref,
|
|
496
488
|
role: "tablist",
|
|
@@ -498,82 +490,82 @@ function TabList({
|
|
|
498
490
|
onScroll: debouncedOnScroll,
|
|
499
491
|
onKeyDown: onKeyDown,
|
|
500
492
|
onBlur: handleBlur
|
|
501
|
-
}),
|
|
502
|
-
return !reactIs.isElement(child) ? null : /*#__PURE__*/
|
|
493
|
+
}), React.Children.map(children, (child, index) => {
|
|
494
|
+
return !reactIs.isElement(child) ? null : /*#__PURE__*/React.createElement(TabContext.Provider, {
|
|
503
495
|
value: {
|
|
504
496
|
index,
|
|
505
497
|
hasSecondaryLabel: hasSecondaryLabelTabs,
|
|
506
498
|
contained
|
|
507
499
|
}
|
|
508
|
-
}, /*#__PURE__*/
|
|
500
|
+
}, /*#__PURE__*/React.cloneElement(child, {
|
|
509
501
|
ref: node => {
|
|
510
502
|
tabs.current[index] = node;
|
|
511
503
|
}
|
|
512
504
|
}));
|
|
513
|
-
})), /*#__PURE__*/
|
|
505
|
+
})), /*#__PURE__*/React.createElement("button", _rollupPluginBabelHelpers.extends({
|
|
514
506
|
"aria-hidden": "true",
|
|
515
507
|
tabIndex: -1,
|
|
516
508
|
"aria-label": "Scroll right",
|
|
517
509
|
ref: nextButton,
|
|
518
510
|
className: nextButtonClasses,
|
|
519
511
|
type: "button"
|
|
520
|
-
}, rightOverflowButtonProps), _ChevronRight || (_ChevronRight = /*#__PURE__*/
|
|
512
|
+
}, rightOverflowButtonProps), _ChevronRight || (_ChevronRight = /*#__PURE__*/React.createElement(iconsReact.ChevronRight, null))));
|
|
521
513
|
}
|
|
522
514
|
TabList.propTypes = {
|
|
523
515
|
/**
|
|
524
516
|
* Specify whether the content tab should be activated automatically or
|
|
525
517
|
* manually
|
|
526
518
|
*/
|
|
527
|
-
activation:
|
|
519
|
+
activation: PropTypes.oneOf(['automatic', 'manual']),
|
|
528
520
|
/**
|
|
529
521
|
* Provide an accessible label to be read when a user interacts with this
|
|
530
522
|
* component
|
|
531
523
|
*/
|
|
532
|
-
'aria-label':
|
|
524
|
+
'aria-label': PropTypes.string,
|
|
533
525
|
/**
|
|
534
526
|
* Provide child elements to be rendered inside `ContentTabs`.
|
|
535
527
|
* These elements should render a `ContentTab`
|
|
536
528
|
*/
|
|
537
|
-
children:
|
|
529
|
+
children: PropTypes.node,
|
|
538
530
|
/**
|
|
539
531
|
* Specify an optional className to be added to the container node
|
|
540
532
|
*/
|
|
541
|
-
className:
|
|
533
|
+
className: PropTypes.string,
|
|
542
534
|
/**
|
|
543
535
|
* Specify whether component is contained type
|
|
544
536
|
*/
|
|
545
|
-
contained:
|
|
537
|
+
contained: PropTypes.bool,
|
|
546
538
|
/**
|
|
547
539
|
* Used for tabs within a grid, this makes it so tabs span the full container width and have the same width. Only available on contained tabs with <9 children
|
|
548
540
|
*/
|
|
549
|
-
fullWidth:
|
|
541
|
+
fullWidth: PropTypes.bool,
|
|
550
542
|
/**
|
|
551
543
|
* If using `IconTab`, specify the size of the icon being used.
|
|
552
544
|
*/
|
|
553
|
-
iconSize:
|
|
545
|
+
iconSize: PropTypes.oneOf(['default', 'lg']),
|
|
554
546
|
/**
|
|
555
547
|
* Provide the props that describe the left overflow button
|
|
556
548
|
*/
|
|
557
|
-
leftOverflowButtonProps:
|
|
549
|
+
leftOverflowButtonProps: PropTypes.object,
|
|
558
550
|
/**
|
|
559
551
|
* Specify whether to use the light component variant
|
|
560
552
|
*/
|
|
561
|
-
light: deprecate.deprecate(
|
|
553
|
+
light: deprecate.deprecate(PropTypes.bool, 'The `light` prop for `TabList` has ' + 'been deprecated in favor of the new `Layer` component. It will be removed in the next major release.'),
|
|
562
554
|
/**
|
|
563
555
|
* Provide the props that describe the right overflow button
|
|
564
556
|
*/
|
|
565
|
-
rightOverflowButtonProps:
|
|
557
|
+
rightOverflowButtonProps: PropTypes.object,
|
|
566
558
|
/**
|
|
567
559
|
* Optionally provide a delay (in milliseconds) passed to the lodash
|
|
568
560
|
* debounce of the onScroll handler. This will impact the responsiveness
|
|
569
561
|
* of scroll arrow buttons rendering when scrolling to the first or last tab.
|
|
570
562
|
*/
|
|
571
|
-
scrollDebounceWait:
|
|
563
|
+
scrollDebounceWait: PropTypes.number,
|
|
572
564
|
/**
|
|
573
565
|
* Choose whether to automatically scroll
|
|
574
566
|
* to newly selected tabs on component rerender
|
|
575
567
|
*/
|
|
576
|
-
scrollIntoView:
|
|
568
|
+
scrollIntoView: PropTypes.bool
|
|
577
569
|
};
|
|
578
570
|
|
|
579
571
|
/**
|
|
@@ -595,13 +587,13 @@ function TabListVertical({
|
|
|
595
587
|
selectedIndex,
|
|
596
588
|
setSelectedIndex,
|
|
597
589
|
setActiveIndex
|
|
598
|
-
} =
|
|
590
|
+
} = React.useContext(TabsContext);
|
|
599
591
|
const prefix = usePrefix.usePrefix();
|
|
600
592
|
const ref = React.useRef(null);
|
|
601
593
|
const [isOverflowingBottom, setIsOverflowingBottom] = React.useState(false);
|
|
602
594
|
const [isOverflowingTop, setIsOverflowingTop] = React.useState(false);
|
|
603
595
|
const isSm = useMatchMedia.useMatchMedia(smMediaQuery);
|
|
604
|
-
const className =
|
|
596
|
+
const className = cx(`${prefix}--tabs`, `${prefix}--tabs--vertical`, `${prefix}--tabs--contained`, customClassName);
|
|
605
597
|
const tabs = React.useRef([]);
|
|
606
598
|
function onKeyDown(event) {
|
|
607
599
|
if (match.matches(event, [keys.ArrowDown, keys.ArrowUp, keys.Home, keys.End])) {
|
|
@@ -681,34 +673,34 @@ function TabListVertical({
|
|
|
681
673
|
};
|
|
682
674
|
});
|
|
683
675
|
if (isSm) {
|
|
684
|
-
return /*#__PURE__*/
|
|
676
|
+
return /*#__PURE__*/React.createElement(TabList, _rollupPluginBabelHelpers.extends({}, rest, {
|
|
685
677
|
"aria-label": label,
|
|
686
678
|
contained: true
|
|
687
679
|
}), children);
|
|
688
680
|
}
|
|
689
|
-
return /*#__PURE__*/
|
|
681
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
690
682
|
className: className
|
|
691
|
-
}, isOverflowingTop && /*#__PURE__*/
|
|
683
|
+
}, isOverflowingTop && /*#__PURE__*/React.createElement("div", {
|
|
692
684
|
className: `${prefix}--tab--list-gradient_top`
|
|
693
|
-
}), /*#__PURE__*/
|
|
685
|
+
}), /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers.extends({}, rest, {
|
|
694
686
|
"aria-label": label,
|
|
695
687
|
ref: ref,
|
|
696
688
|
role: "tablist",
|
|
697
689
|
className: `${prefix}--tab--list`,
|
|
698
690
|
onKeyDown: onKeyDown,
|
|
699
691
|
onBlur: handleBlur
|
|
700
|
-
}),
|
|
701
|
-
return !reactIs.isElement(child) ? null : /*#__PURE__*/
|
|
692
|
+
}), React.Children.map(children, (child, index) => {
|
|
693
|
+
return !reactIs.isElement(child) ? null : /*#__PURE__*/React.createElement(TabContext.Provider, {
|
|
702
694
|
value: {
|
|
703
695
|
index,
|
|
704
696
|
hasSecondaryLabel: false
|
|
705
697
|
}
|
|
706
|
-
}, /*#__PURE__*/
|
|
698
|
+
}, /*#__PURE__*/React.cloneElement(child, {
|
|
707
699
|
ref: node => {
|
|
708
700
|
tabs.current[index] = node;
|
|
709
701
|
}
|
|
710
702
|
}));
|
|
711
|
-
})), isOverflowingBottom && /*#__PURE__*/
|
|
703
|
+
})), isOverflowingBottom && /*#__PURE__*/React.createElement("div", {
|
|
712
704
|
className: `${prefix}--tab--list-gradient_bottom`
|
|
713
705
|
}));
|
|
714
706
|
}
|
|
@@ -717,21 +709,21 @@ TabListVertical.propTypes = {
|
|
|
717
709
|
* Specify whether the content tab should be activated automatically or
|
|
718
710
|
* manually
|
|
719
711
|
*/
|
|
720
|
-
activation:
|
|
712
|
+
activation: PropTypes.oneOf(['automatic', 'manual']),
|
|
721
713
|
/**
|
|
722
714
|
* Provide an accessible label to be read when a user interacts with this
|
|
723
715
|
* component
|
|
724
716
|
*/
|
|
725
|
-
'aria-label':
|
|
717
|
+
'aria-label': PropTypes.string,
|
|
726
718
|
/**
|
|
727
719
|
* Provide child elements to be rendered inside `ContentTabs`.
|
|
728
720
|
* These elements should render a `ContentTab`
|
|
729
721
|
*/
|
|
730
|
-
children:
|
|
722
|
+
children: PropTypes.node,
|
|
731
723
|
/**
|
|
732
724
|
* Specify an optional className to be added to the container node
|
|
733
725
|
*/
|
|
734
|
-
className:
|
|
726
|
+
className: PropTypes.string
|
|
735
727
|
};
|
|
736
728
|
|
|
737
729
|
/**
|
|
@@ -797,15 +789,15 @@ const Tab = /*#__PURE__*/React.forwardRef(function Tab({
|
|
|
797
789
|
baseId,
|
|
798
790
|
dismissable,
|
|
799
791
|
onTabCloseRequest
|
|
800
|
-
} =
|
|
792
|
+
} = React.useContext(TabsContext);
|
|
801
793
|
const {
|
|
802
794
|
index: index$1,
|
|
803
795
|
hasSecondaryLabel,
|
|
804
796
|
contained
|
|
805
|
-
} =
|
|
797
|
+
} = React.useContext(TabContext);
|
|
806
798
|
const {
|
|
807
799
|
badgeIndicator
|
|
808
|
-
} =
|
|
800
|
+
} = React.useContext(IconTabContext) || {};
|
|
809
801
|
const dismissIconRef = React.useRef(null);
|
|
810
802
|
const tabRef = React.useRef(null);
|
|
811
803
|
const ref = useMergedRefs.useMergedRefs([forwardRef, tabRef]);
|
|
@@ -817,7 +809,7 @@ const Tab = /*#__PURE__*/React.forwardRef(function Tab({
|
|
|
817
809
|
setIsEllipsisApplied(element.offsetHeight < element.scrollHeight);
|
|
818
810
|
return element.offsetHeight < element.scrollHeight;
|
|
819
811
|
};
|
|
820
|
-
const className =
|
|
812
|
+
const className = cx(`${prefix}--tabs__nav-item`, `${prefix}--tabs__nav-link`, {
|
|
821
813
|
[`${prefix}--tabs__nav-item--selected`]: selectedIndex === index$1,
|
|
822
814
|
[`${prefix}--tabs__nav-item--disabled`]: disabled,
|
|
823
815
|
[`${prefix}--tabs__nav-item--hover-off`]: ignoreHover
|
|
@@ -838,7 +830,7 @@ const Tab = /*#__PURE__*/React.forwardRef(function Tab({
|
|
|
838
830
|
};
|
|
839
831
|
useEvent.useEvent(dismissIconRef, 'mouseover', onDismissIconMouseEnter);
|
|
840
832
|
useEvent.useEvent(dismissIconRef, 'mouseleave', onDismissIconMouseLeave);
|
|
841
|
-
useIsomorphicEffect
|
|
833
|
+
useIsomorphicEffect.default(() => {
|
|
842
834
|
function handler() {
|
|
843
835
|
const elementTabId = document.getElementById(`${id}`) || tabRef.current;
|
|
844
836
|
if (elementTabId?.closest(`.${prefix}--tabs--vertical`)) {
|
|
@@ -881,18 +873,18 @@ const Tab = /*#__PURE__*/React.forwardRef(function Tab({
|
|
|
881
873
|
}
|
|
882
874
|
onKeyDown?.(event);
|
|
883
875
|
};
|
|
884
|
-
const DismissIcon = /*#__PURE__*/
|
|
885
|
-
className:
|
|
876
|
+
const DismissIcon = /*#__PURE__*/React.createElement("div", {
|
|
877
|
+
className: cx({
|
|
886
878
|
[`${prefix}--tabs__nav-item--close`]: dismissable,
|
|
887
879
|
[`${prefix}--tabs__nav-item--close--hidden`]: !dismissable
|
|
888
880
|
})
|
|
889
|
-
}, /*#__PURE__*/
|
|
881
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
890
882
|
type: "button",
|
|
891
883
|
tabIndex: selectedIndex === index$1 && dismissable ? 0 : -1,
|
|
892
884
|
"aria-disabled": disabled,
|
|
893
885
|
"aria-hidden": selectedIndex === index$1 && dismissable ? 'false' : 'true',
|
|
894
886
|
disabled: disabled,
|
|
895
|
-
className:
|
|
887
|
+
className: cx({
|
|
896
888
|
[`${prefix}--tabs__nav-item--close-icon`]: dismissable,
|
|
897
889
|
[`${prefix}--visually-hidden`]: !dismissable,
|
|
898
890
|
[`${prefix}--tabs__nav-item--close-icon--selected`]: selectedIndex === index$1,
|
|
@@ -901,7 +893,7 @@ const Tab = /*#__PURE__*/React.forwardRef(function Tab({
|
|
|
901
893
|
onClick: handleClose,
|
|
902
894
|
title: `Remove ${typeof children === 'string' ? children : ''} tab`,
|
|
903
895
|
ref: dismissIconRef
|
|
904
|
-
}, /*#__PURE__*/
|
|
896
|
+
}, /*#__PURE__*/React.createElement(iconsReact.Close, {
|
|
905
897
|
"aria-hidden": selectedIndex === index$1 && dismissable ? 'false' : 'true',
|
|
906
898
|
"aria-label": `Press delete to remove ${typeof children === 'string' ? children : ''} tab`
|
|
907
899
|
})));
|
|
@@ -909,14 +901,14 @@ const Tab = /*#__PURE__*/React.forwardRef(function Tab({
|
|
|
909
901
|
|
|
910
902
|
// should only happen for vertical variation, so no dismissable icon is needed here
|
|
911
903
|
if (isEllipsisApplied) {
|
|
912
|
-
return /*#__PURE__*/
|
|
904
|
+
return /*#__PURE__*/React.createElement(Tooltip.Tooltip, {
|
|
913
905
|
label: children,
|
|
914
906
|
align: "top",
|
|
915
907
|
leaveDelayMs: 0,
|
|
916
908
|
autoAlign: true,
|
|
917
909
|
onMouseEnter: () => false,
|
|
918
910
|
closeOnActivation: true
|
|
919
|
-
}, /*#__PURE__*/
|
|
911
|
+
}, /*#__PURE__*/React.createElement(BaseComponent, _rollupPluginBabelHelpers.extends({}, rest, {
|
|
920
912
|
"aria-controls": panelId,
|
|
921
913
|
"aria-disabled": disabled,
|
|
922
914
|
"aria-selected": selectedIndex === index$1,
|
|
@@ -936,17 +928,17 @@ const Tab = /*#__PURE__*/React.forwardRef(function Tab({
|
|
|
936
928
|
onKeyDown: handleKeyDown,
|
|
937
929
|
tabIndex: selectedIndex === index$1 ? '0' : '-1',
|
|
938
930
|
type: "button"
|
|
939
|
-
}), /*#__PURE__*/
|
|
931
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
940
932
|
className: `${prefix}--tabs__nav-item-label-wrapper`
|
|
941
|
-
}, /*#__PURE__*/
|
|
933
|
+
}, /*#__PURE__*/React.createElement(Text.Text, {
|
|
942
934
|
className: `${prefix}--tabs__nav-item-label`
|
|
943
|
-
}, children)), hasSecondaryLabel && secondaryLabel && /*#__PURE__*/
|
|
935
|
+
}, children)), hasSecondaryLabel && secondaryLabel && /*#__PURE__*/React.createElement(Text.Text, {
|
|
944
936
|
as: "div",
|
|
945
937
|
className: `${prefix}--tabs__nav-item-secondary-label`,
|
|
946
938
|
title: secondaryLabel
|
|
947
939
|
}, secondaryLabel)));
|
|
948
940
|
}
|
|
949
|
-
return /*#__PURE__*/
|
|
941
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(BaseComponent, _rollupPluginBabelHelpers.extends({}, rest, {
|
|
950
942
|
"aria-controls": panelId,
|
|
951
943
|
"aria-disabled": disabled,
|
|
952
944
|
"aria-selected": selectedIndex === index$1,
|
|
@@ -965,66 +957,66 @@ const Tab = /*#__PURE__*/React.forwardRef(function Tab({
|
|
|
965
957
|
onKeyDown: handleKeyDown,
|
|
966
958
|
tabIndex: selectedIndex === index$1 ? '0' : '-1',
|
|
967
959
|
type: "button"
|
|
968
|
-
}), /*#__PURE__*/
|
|
960
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
969
961
|
className: `${prefix}--tabs__nav-item-label-wrapper`
|
|
970
|
-
}, dismissable && Icon && /*#__PURE__*/
|
|
962
|
+
}, dismissable && Icon && /*#__PURE__*/React.createElement("div", {
|
|
971
963
|
className: `${prefix}--tabs__nav-item--icon-left`
|
|
972
|
-
}, /*#__PURE__*/
|
|
964
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
973
965
|
size: 16
|
|
974
|
-
})), /*#__PURE__*/
|
|
966
|
+
})), /*#__PURE__*/React.createElement(Text.Text, {
|
|
975
967
|
className: `${prefix}--tabs__nav-item-label`
|
|
976
|
-
}, children), !dismissable && Icon && /*#__PURE__*/
|
|
977
|
-
className:
|
|
968
|
+
}, children), !dismissable && Icon && /*#__PURE__*/React.createElement("div", {
|
|
969
|
+
className: cx(`${prefix}--tabs__nav-item--icon`, {
|
|
978
970
|
[`${prefix}--visually-hidden`]: !hasIcon
|
|
979
971
|
})
|
|
980
|
-
}, !dismissable && Icon && /*#__PURE__*/
|
|
972
|
+
}, !dismissable && Icon && /*#__PURE__*/React.createElement(Icon, {
|
|
981
973
|
size: 16
|
|
982
|
-
}))), hasSecondaryLabel && secondaryLabel && /*#__PURE__*/
|
|
974
|
+
}))), hasSecondaryLabel && secondaryLabel && /*#__PURE__*/React.createElement(Text.Text, {
|
|
983
975
|
as: "div",
|
|
984
976
|
className: `${prefix}--tabs__nav-item-secondary-label`,
|
|
985
977
|
title: secondaryLabel
|
|
986
|
-
}, secondaryLabel), !disabled && badgeIndicator && (_BadgeIndicator || (_BadgeIndicator = /*#__PURE__*/
|
|
978
|
+
}, secondaryLabel), !disabled && badgeIndicator && (_BadgeIndicator || (_BadgeIndicator = /*#__PURE__*/React.createElement(index.BadgeIndicator, null)))), DismissIcon);
|
|
987
979
|
});
|
|
988
980
|
Tab.propTypes = {
|
|
989
981
|
/**
|
|
990
982
|
* Provide a custom element to render instead of the default button
|
|
991
983
|
*/
|
|
992
|
-
as:
|
|
984
|
+
as: PropTypes.oneOfType([PropTypes.string, PropTypes.elementType]),
|
|
993
985
|
/**
|
|
994
986
|
* Provide child elements to be rendered inside `Tab`.
|
|
995
987
|
*/
|
|
996
|
-
children:
|
|
988
|
+
children: PropTypes.node,
|
|
997
989
|
/**
|
|
998
990
|
* Specify an optional className to be added to your Tab
|
|
999
991
|
*/
|
|
1000
|
-
className:
|
|
992
|
+
className: PropTypes.string,
|
|
1001
993
|
/**
|
|
1002
994
|
* Whether your Tab is disabled.
|
|
1003
995
|
*/
|
|
1004
|
-
disabled:
|
|
996
|
+
disabled: PropTypes.bool,
|
|
1005
997
|
/**
|
|
1006
998
|
* Provide a handler that is invoked when a user clicks on the control
|
|
1007
999
|
*/
|
|
1008
|
-
onClick:
|
|
1000
|
+
onClick: PropTypes.func,
|
|
1009
1001
|
/**
|
|
1010
1002
|
* Provide a handler that is invoked on the key down event for the control
|
|
1011
1003
|
*/
|
|
1012
|
-
onKeyDown:
|
|
1004
|
+
onKeyDown: PropTypes.func,
|
|
1013
1005
|
/**
|
|
1014
1006
|
* An optional parameter to allow overriding the anchor rendering.
|
|
1015
1007
|
* Useful for using Tab along with react-router or other client
|
|
1016
1008
|
* side router libraries.
|
|
1017
1009
|
*/
|
|
1018
|
-
renderButton:
|
|
1010
|
+
renderButton: PropTypes.func,
|
|
1019
1011
|
/**
|
|
1020
1012
|
* A component used to render an icon.
|
|
1021
1013
|
*/
|
|
1022
|
-
renderIcon:
|
|
1014
|
+
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
1023
1015
|
/**
|
|
1024
1016
|
* An optional label to render under the primary tab label.
|
|
1025
1017
|
* Only useful for contained tabs.
|
|
1026
1018
|
*/
|
|
1027
|
-
secondaryLabel:
|
|
1019
|
+
secondaryLabel: PropTypes.string
|
|
1028
1020
|
};
|
|
1029
1021
|
|
|
1030
1022
|
/**
|
|
@@ -1032,7 +1024,7 @@ Tab.propTypes = {
|
|
|
1032
1024
|
*/
|
|
1033
1025
|
|
|
1034
1026
|
const IconTabContext = /*#__PURE__*/React.createContext(false);
|
|
1035
|
-
const IconTab = /*#__PURE__*/
|
|
1027
|
+
const IconTab = /*#__PURE__*/React.forwardRef(function IconTab({
|
|
1036
1028
|
badgeIndicator,
|
|
1037
1029
|
children,
|
|
1038
1030
|
className: customClassName,
|
|
@@ -1047,19 +1039,19 @@ const IconTab = /*#__PURE__*/React__default["default"].forwardRef(function IconT
|
|
|
1047
1039
|
badgeIndicator
|
|
1048
1040
|
}), [badgeIndicator]);
|
|
1049
1041
|
const hasSize20 = /*#__PURE__*/React.isValidElement(children) && children.props.size === 20;
|
|
1050
|
-
const classNames =
|
|
1042
|
+
const classNames = cx(`${prefix}--tabs__nav-item--icon-only`, customClassName, {
|
|
1051
1043
|
[`${prefix}--tabs__nav-item--icon-only__20`]: hasSize20
|
|
1052
1044
|
});
|
|
1053
|
-
return /*#__PURE__*/
|
|
1045
|
+
return /*#__PURE__*/React.createElement(IconTabContext.Provider, {
|
|
1054
1046
|
value: value
|
|
1055
|
-
}, /*#__PURE__*/
|
|
1047
|
+
}, /*#__PURE__*/React.createElement(Tooltip.Tooltip, {
|
|
1056
1048
|
align: "bottom",
|
|
1057
1049
|
defaultOpen: defaultOpen,
|
|
1058
1050
|
className: `${prefix}--icon-tooltip`,
|
|
1059
1051
|
enterDelayMs: enterDelayMs,
|
|
1060
1052
|
label: label,
|
|
1061
1053
|
leaveDelayMs: leaveDelayMs
|
|
1062
|
-
}, /*#__PURE__*/
|
|
1054
|
+
}, /*#__PURE__*/React.createElement(Tab, _rollupPluginBabelHelpers.extends({
|
|
1063
1055
|
className: classNames,
|
|
1064
1056
|
ref: ref
|
|
1065
1057
|
}, rest), children)));
|
|
@@ -1068,23 +1060,23 @@ IconTab.propTypes = {
|
|
|
1068
1060
|
/**
|
|
1069
1061
|
* **Experimental**: Display an empty dot badge on the Tab.
|
|
1070
1062
|
*/
|
|
1071
|
-
badgeIndicator:
|
|
1063
|
+
badgeIndicator: PropTypes.bool,
|
|
1072
1064
|
/**
|
|
1073
1065
|
* Provide an icon to be rendered inside `IconTab` as the visual label for Tab.
|
|
1074
1066
|
*/
|
|
1075
|
-
children:
|
|
1067
|
+
children: PropTypes.node,
|
|
1076
1068
|
/**
|
|
1077
1069
|
* Specify an optional className to be added to your Tab
|
|
1078
1070
|
*/
|
|
1079
|
-
className:
|
|
1071
|
+
className: PropTypes.string,
|
|
1080
1072
|
/**
|
|
1081
1073
|
* Specify whether the tooltip for the icon should be open when it first renders
|
|
1082
1074
|
*/
|
|
1083
|
-
defaultOpen:
|
|
1075
|
+
defaultOpen: PropTypes.bool,
|
|
1084
1076
|
/**
|
|
1085
1077
|
* Specify the duration in milliseconds to delay before displaying the tooltip for the icon.
|
|
1086
1078
|
*/
|
|
1087
|
-
enterDelayMs:
|
|
1079
|
+
enterDelayMs: PropTypes.number,
|
|
1088
1080
|
/**
|
|
1089
1081
|
* Provide the label to be rendered inside the Tooltip. The label will use
|
|
1090
1082
|
* `aria-labelledby` and will fully describe the child node that is provided.
|
|
@@ -1092,18 +1084,18 @@ IconTab.propTypes = {
|
|
|
1092
1084
|
* announced to the screen reader. If using the badgeIndicator then provide a
|
|
1093
1085
|
* label with describing that there is a new notification.
|
|
1094
1086
|
*/
|
|
1095
|
-
label:
|
|
1087
|
+
label: PropTypes.node.isRequired,
|
|
1096
1088
|
/**
|
|
1097
1089
|
* Specify the duration in milliseconds to delay before hiding the tooltip
|
|
1098
1090
|
*/
|
|
1099
|
-
leaveDelayMs:
|
|
1091
|
+
leaveDelayMs: PropTypes.number
|
|
1100
1092
|
};
|
|
1101
1093
|
|
|
1102
1094
|
/**
|
|
1103
1095
|
* TabPanel
|
|
1104
1096
|
*/
|
|
1105
1097
|
|
|
1106
|
-
const TabPanel = /*#__PURE__*/
|
|
1098
|
+
const TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel({
|
|
1107
1099
|
children,
|
|
1108
1100
|
className: customClassName,
|
|
1109
1101
|
...rest
|
|
@@ -1116,11 +1108,11 @@ const TabPanel = /*#__PURE__*/React__default["default"].forwardRef(function TabP
|
|
|
1116
1108
|
const {
|
|
1117
1109
|
selectedIndex,
|
|
1118
1110
|
baseId
|
|
1119
|
-
} =
|
|
1120
|
-
const index =
|
|
1111
|
+
} = React.useContext(TabsContext);
|
|
1112
|
+
const index = React.useContext(TabPanelContext);
|
|
1121
1113
|
const id = `${baseId}-tabpanel-${index}`;
|
|
1122
1114
|
const tabId = `${baseId}-tab-${index}`;
|
|
1123
|
-
const className =
|
|
1115
|
+
const className = cx(`${prefix}--tab-content`, customClassName, {
|
|
1124
1116
|
[`${prefix}--tab-content--interactive`]: interactiveContent
|
|
1125
1117
|
});
|
|
1126
1118
|
React.useEffect(() => {
|
|
@@ -1157,7 +1149,7 @@ const TabPanel = /*#__PURE__*/React__default["default"].forwardRef(function TabP
|
|
|
1157
1149
|
});
|
|
1158
1150
|
return () => observer.disconnect();
|
|
1159
1151
|
}, []);
|
|
1160
|
-
return /*#__PURE__*/
|
|
1152
|
+
return /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers.extends({}, rest, {
|
|
1161
1153
|
"aria-labelledby": tabId,
|
|
1162
1154
|
id: id,
|
|
1163
1155
|
className: className,
|
|
@@ -1171,11 +1163,11 @@ TabPanel.propTypes = {
|
|
|
1171
1163
|
/**
|
|
1172
1164
|
* Provide child elements to be rendered inside `TabPanel`.
|
|
1173
1165
|
*/
|
|
1174
|
-
children:
|
|
1166
|
+
children: PropTypes.node,
|
|
1175
1167
|
/**
|
|
1176
1168
|
* Specify an optional className to be added to TabPanel.
|
|
1177
1169
|
*/
|
|
1178
|
-
className:
|
|
1170
|
+
className: PropTypes.string
|
|
1179
1171
|
};
|
|
1180
1172
|
|
|
1181
1173
|
/**
|
|
@@ -1188,7 +1180,7 @@ function TabPanels({
|
|
|
1188
1180
|
const prefix = usePrefix.usePrefix();
|
|
1189
1181
|
const refs = React.useRef([]);
|
|
1190
1182
|
const hiddenStates = React.useRef([]);
|
|
1191
|
-
useIsomorphicEffect
|
|
1183
|
+
useIsomorphicEffect.default(() => {
|
|
1192
1184
|
const tabContainer = refs.current[0]?.previousElementSibling;
|
|
1193
1185
|
const isVertical = tabContainer?.classList.contains(`${prefix}--tabs--vertical`);
|
|
1194
1186
|
const parentHasHeight = tabContainer?.parentElement?.style.height;
|
|
@@ -1217,10 +1209,10 @@ function TabPanels({
|
|
|
1217
1209
|
});
|
|
1218
1210
|
}
|
|
1219
1211
|
});
|
|
1220
|
-
return /*#__PURE__*/
|
|
1221
|
-
return !reactIs.isElement(child) ? null : /*#__PURE__*/
|
|
1212
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, React.Children.map(children, (child, index) => {
|
|
1213
|
+
return !reactIs.isElement(child) ? null : /*#__PURE__*/React.createElement(TabPanelContext.Provider, {
|
|
1222
1214
|
value: index
|
|
1223
|
-
}, /*#__PURE__*/
|
|
1215
|
+
}, /*#__PURE__*/React.cloneElement(child, {
|
|
1224
1216
|
ref: element => {
|
|
1225
1217
|
refs.current[index] = element;
|
|
1226
1218
|
}
|
|
@@ -1231,7 +1223,7 @@ TabPanels.propTypes = {
|
|
|
1231
1223
|
/**
|
|
1232
1224
|
* Provide child elements to be rendered inside `TabPanels`.
|
|
1233
1225
|
*/
|
|
1234
|
-
children:
|
|
1226
|
+
children: PropTypes.node
|
|
1235
1227
|
};
|
|
1236
1228
|
|
|
1237
1229
|
exports.IconTab = IconTab;
|