@carbon/react 1.83.0-rc.0 → 1.83.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 +1008 -938
- package/es/components/AILabel/index.js +13 -13
- package/es/components/AISkeleton/AISkeletonIcon.js +2 -2
- package/es/components/AISkeleton/AISkeletonPlaceholder.js +2 -2
- package/es/components/AISkeleton/AISkeletonText.js +2 -2
- package/es/components/Accordion/Accordion.Skeleton.js +15 -15
- package/es/components/Accordion/Accordion.js +3 -3
- package/es/components/Accordion/AccordionItem.js +9 -9
- package/es/components/Accordion/AccordionProvider.js +2 -2
- package/es/components/AspectRatio/AspectRatio.js +2 -2
- package/es/components/BadgeIndicator/index.js +3 -3
- package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +5 -5
- package/es/components/Breadcrumb/Breadcrumb.js +3 -3
- package/es/components/Breadcrumb/BreadcrumbItem.js +9 -9
- package/es/components/Button/Button.Skeleton.js +3 -3
- package/es/components/Button/Button.js +5 -5
- package/es/components/Button/ButtonBase.js +5 -5
- package/es/components/ButtonSet/ButtonSet.js +2 -2
- package/es/components/ChatButton/ChatButton.Skeleton.js +2 -2
- package/es/components/ChatButton/ChatButton.js +3 -3
- package/es/components/Checkbox/Checkbox.Skeleton.js +4 -4
- package/es/components/Checkbox/Checkbox.js +15 -15
- package/es/components/CheckboxGroup/CheckboxGroup.js +12 -12
- package/es/components/ClassPrefix/index.js +2 -2
- package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +7 -7
- package/es/components/CodeSnippet/CodeSnippet.js +16 -16
- package/es/components/ComboBox/ComboBox.js +18 -18
- package/es/components/ComboButton/index.js +7 -7
- package/es/components/ComposedModal/ComposedModal.js +20 -20
- package/es/components/ComposedModal/ModalFooter.js +8 -8
- package/es/components/ComposedModal/ModalHeader.js +8 -8
- package/es/components/ContainedList/ContainedList.js +7 -7
- package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +7 -7
- package/es/components/ContentSwitcher/ContentSwitcher.d.ts +8 -0
- package/es/components/ContentSwitcher/ContentSwitcher.js +13 -7
- package/es/components/Copy/Copy.js +2 -2
- package/es/components/CopyButton/CopyButton.js +4 -4
- package/es/components/DangerButton/DangerButton.js +2 -2
- package/es/components/DataTable/DataTable.d.ts +81 -283
- package/es/components/DataTable/DataTable.js +83 -123
- package/es/components/DataTable/Table.d.ts +2 -2
- package/es/components/DataTable/Table.js +4 -4
- package/es/components/DataTable/TableActionList.d.ts +1 -1
- package/es/components/DataTable/TableBatchAction.js +2 -2
- package/es/components/DataTable/TableBatchActions.js +9 -9
- package/es/components/DataTable/TableBody.d.ts +3 -3
- package/es/components/DataTable/TableBody.js +2 -2
- package/es/components/DataTable/TableCell.d.ts +3 -4
- package/es/components/DataTable/TableCell.js +2 -2
- package/es/components/DataTable/TableContainer.d.ts +2 -3
- package/es/components/DataTable/TableContainer.js +6 -6
- package/es/components/DataTable/TableDecoratorRow.js +4 -4
- package/es/components/DataTable/TableExpandHeader.d.ts +2 -3
- package/es/components/DataTable/TableExpandHeader.js +4 -4
- package/es/components/DataTable/TableExpandRow.js +8 -8
- package/es/components/DataTable/TableExpandedRow.d.ts +3 -3
- package/es/components/DataTable/TableExpandedRow.js +4 -4
- package/es/components/DataTable/TableHead.d.ts +1 -1
- package/es/components/DataTable/TableHeader.d.ts +4 -4
- package/es/components/DataTable/TableHeader.js +15 -15
- package/es/components/DataTable/TableRow.d.ts +3 -4
- package/es/components/DataTable/TableRow.js +4 -4
- package/es/components/DataTable/TableSelectAll.js +3 -3
- package/es/components/DataTable/TableSelectRow.js +4 -4
- package/es/components/DataTable/TableSlugRow.js +3 -3
- package/es/components/DataTable/TableToolbar.js +2 -2
- package/es/components/DataTable/TableToolbarAction.js +2 -2
- package/es/components/DataTable/TableToolbarContent.d.ts +1 -1
- package/es/components/DataTable/TableToolbarMenu.js +2 -2
- package/es/components/DataTable/TableToolbarSearch.js +2 -2
- package/es/components/DataTable/index.d.ts +1 -1
- package/es/components/DataTableSkeleton/DataTableSkeleton.js +15 -15
- package/es/components/DatePicker/DatePicker.Skeleton.js +8 -8
- package/es/components/DatePicker/DatePicker.js +17 -17
- package/es/components/DatePickerInput/DatePickerInput.d.ts +3 -4
- package/es/components/DatePickerInput/DatePickerInput.js +19 -19
- package/es/components/Dialog/index.d.ts +5 -6
- package/es/components/Dialog/index.js +10 -10
- package/es/components/Dropdown/Dropdown.Skeleton.d.ts +2 -3
- package/es/components/Dropdown/Dropdown.Skeleton.js +4 -4
- package/es/components/Dropdown/Dropdown.d.ts +3 -3
- package/es/components/Dropdown/Dropdown.js +18 -18
- package/es/components/ErrorBoundary/ErrorBoundary.js +2 -2
- package/es/components/ExpandableSearch/ExpandableSearch.js +3 -3
- package/es/components/FeatureFlags/index.js +2 -2
- package/es/components/FileUploader/FileUploader.Skeleton.d.ts +3 -3
- package/es/components/FileUploader/FileUploader.Skeleton.js +5 -5
- package/es/components/FileUploader/FileUploader.d.ts +2 -3
- package/es/components/FileUploader/FileUploader.js +12 -12
- package/es/components/FileUploader/FileUploaderButton.d.ts +2 -3
- package/es/components/FileUploader/FileUploaderButton.js +4 -4
- package/es/components/FileUploader/FileUploaderDropContainer.d.ts +2 -3
- package/es/components/FileUploader/FileUploaderDropContainer.js +5 -5
- package/es/components/FileUploader/FileUploaderItem.d.ts +2 -3
- package/es/components/FileUploader/FileUploaderItem.js +13 -13
- package/es/components/FileUploader/Filename.d.ts +3 -4
- package/es/components/FileUploader/Filename.js +7 -7
- package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +5 -5
- package/es/components/FluidComboBox/FluidComboBox.js +4 -4
- package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +11 -11
- package/es/components/FluidDatePicker/FluidDatePicker.js +4 -4
- package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
- package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +5 -5
- package/es/components/FluidDropdown/FluidDropdown.js +4 -4
- package/es/components/FluidForm/FluidForm.d.ts +3 -4
- package/es/components/FluidForm/FluidForm.js +3 -3
- package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +5 -5
- package/es/components/FluidMultiSelect/FluidMultiSelect.js +5 -5
- package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +5 -5
- package/es/components/FluidNumberInput/FluidNumberInput.js +4 -4
- package/es/components/FluidSearch/FluidSearch.Skeleton.js +5 -5
- package/es/components/FluidSearch/FluidSearch.js +4 -4
- package/es/components/FluidSelect/FluidSelect.Skeleton.js +5 -5
- package/es/components/FluidSelect/FluidSelect.js +4 -4
- package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +5 -5
- package/es/components/FluidTextArea/FluidTextArea.js +3 -3
- package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +5 -5
- package/es/components/FluidTextInput/FluidTextInput.js +5 -5
- package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +3 -3
- package/es/components/FluidTimePicker/FluidTimePicker.js +13 -13
- package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +3 -3
- package/es/components/Form/Form.js +2 -2
- package/es/components/FormGroup/FormGroup.d.ts +3 -4
- package/es/components/FormGroup/FormGroup.js +4 -4
- package/es/components/FormItem/FormItem.js +2 -2
- package/es/components/FormLabel/FormLabel.js +2 -2
- package/es/components/Grid/CSSGrid.js +8 -8
- package/es/components/Grid/Column.js +5 -5
- package/es/components/Grid/ColumnHang.js +2 -2
- package/es/components/Grid/FlexGrid.js +4 -4
- package/es/components/Grid/Grid.js +3 -3
- package/es/components/Grid/GridContext.d.ts +2 -2
- package/es/components/Grid/GridContext.js +1 -1
- package/es/components/Grid/Row.js +2 -2
- package/es/components/Heading/index.js +9 -9
- package/es/components/Icon/Icon.Skeleton.js +2 -2
- package/es/components/IconButton/index.js +11 -6
- package/es/components/IconIndicator/index.js +4 -4
- package/es/components/IdPrefix/index.js +2 -2
- package/es/components/InlineCheckbox/InlineCheckbox.js +6 -6
- package/es/components/InlineLoading/InlineLoading.js +10 -10
- package/es/components/Layer/LayerContext.js +2 -2
- package/es/components/Layer/index.d.ts +4 -0
- package/es/components/Layer/index.js +15 -8
- package/es/components/Layout/index.js +5 -5
- package/es/components/LayoutDirection/LayoutDirection.js +4 -4
- package/es/components/LayoutDirection/LayoutDirectionContext.js +2 -2
- package/es/components/Link/Link.js +6 -6
- package/es/components/ListBox/ListBox.d.ts +2 -3
- package/es/components/ListBox/ListBox.js +5 -5
- package/es/components/ListBox/ListBoxField.d.ts +3 -4
- package/es/components/ListBox/ListBoxField.js +2 -2
- package/es/components/ListBox/ListBoxMenu.d.ts +2 -3
- package/es/components/ListBox/ListBoxMenu.js +2 -2
- package/es/components/ListBox/ListBoxMenuIcon.js +4 -4
- package/es/components/ListBox/ListBoxMenuItem.d.ts +2 -3
- package/es/components/ListBox/ListBoxMenuItem.js +3 -3
- package/es/components/ListBox/ListBoxSelection.js +6 -6
- package/es/components/ListBox/next/ListBoxSelection.js +7 -7
- package/es/components/ListBox/next/ListBoxTrigger.js +4 -4
- package/es/components/ListItem/ListItem.js +2 -2
- package/es/components/Loading/Loading.d.ts +3 -3
- package/es/components/Loading/Loading.js +6 -6
- package/es/components/Menu/Menu.js +3 -3
- package/es/components/Menu/MenuItem.js +16 -16
- package/es/components/MenuButton/index.js +4 -4
- package/es/components/Modal/Modal.d.ts +2 -3
- package/es/components/Modal/Modal.js +35 -35
- package/es/components/ModalWrapper/ModalWrapper.js +7 -7
- package/es/components/MultiSelect/FilterableMultiSelect.js +22 -26
- package/es/components/MultiSelect/MultiSelect.js +23 -23
- package/es/components/Notification/Notification.js +41 -41
- package/es/components/NumberInput/NumberInput.Skeleton.js +4 -4
- package/es/components/NumberInput/NumberInput.js +22 -22
- package/es/components/OrderedList/OrderedList.js +2 -2
- package/es/components/OverflowMenu/OverflowMenu.js +7 -7
- package/es/components/OverflowMenu/index.js +3 -3
- package/es/components/OverflowMenu/next/index.js +6 -6
- package/es/components/OverflowMenuItem/OverflowMenuItem.js +4 -4
- package/es/components/OverflowMenuV2/index.js +3 -3
- package/es/components/PageHeader/PageHeader.js +29 -29
- package/es/components/Pagination/Pagination.Skeleton.js +8 -8
- package/es/components/Pagination/Pagination.js +17 -17
- package/es/components/Pagination/experimental/PageSelector.js +3 -3
- package/es/components/Pagination/experimental/Pagination.js +14 -14
- package/es/components/PaginationNav/PaginationNav.js +31 -31
- package/es/components/Popover/index.js +15 -15
- package/es/components/PrimaryButton/PrimaryButton.js +2 -2
- package/es/components/ProgressBar/ProgressBar.js +13 -13
- package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +7 -7
- package/es/components/ProgressIndicator/ProgressIndicator.js +20 -20
- package/es/components/RadioButton/RadioButton.Skeleton.js +4 -4
- package/es/components/RadioButton/RadioButton.js +10 -10
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +16 -16
- package/es/components/RadioTile/RadioTile.js +12 -12
- package/es/components/Search/Search.Skeleton.js +4 -4
- package/es/components/Search/Search.js +11 -11
- package/es/components/SecondaryButton/SecondaryButton.js +2 -2
- package/es/components/Select/Select.Skeleton.js +5 -5
- package/es/components/Select/Select.js +19 -19
- package/es/components/SelectItem/SelectItem.js +2 -2
- package/es/components/SelectItemGroup/SelectItemGroup.js +2 -2
- package/es/components/ShapeIndicator/index.js +7 -7
- package/es/components/SkeletonIcon/SkeletonIcon.d.ts +0 -4
- package/es/components/SkeletonIcon/SkeletonIcon.js +3 -7
- package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +2 -2
- package/es/components/SkeletonText/SkeletonText.js +4 -4
- package/es/components/Slider/Slider.Skeleton.js +17 -17
- package/es/components/Slider/Slider.js +38 -38
- package/es/components/Slider/SliderHandles.js +19 -19
- package/es/components/Stack/HStack.js +2 -2
- package/es/components/Stack/Stack.js +2 -2
- package/es/components/Stack/VStack.js +2 -2
- package/es/components/StructuredList/StructuredList.Skeleton.js +12 -12
- package/es/components/StructuredList/StructuredList.js +24 -24
- package/es/components/Switch/IconSwitch.js +3 -3
- package/es/components/Switch/Switch.js +4 -4
- package/es/components/TabContent/TabContent.js +2 -2
- package/es/components/Tabs/Tabs.Skeleton.js +7 -7
- package/es/components/Tabs/Tabs.js +60 -60
- package/es/components/Tag/DismissibleTag.js +10 -10
- package/es/components/Tag/OperationalTag.js +6 -6
- package/es/components/Tag/SelectableTag.js +6 -6
- package/es/components/Tag/Tag.Skeleton.js +2 -2
- package/es/components/Tag/Tag.js +15 -15
- package/es/components/Text/Text.js +4 -4
- package/es/components/Text/TextDirection.js +2 -2
- package/es/components/Text/createTextComponent.js +2 -2
- package/es/components/TextArea/TextArea.Skeleton.js +4 -4
- package/es/components/TextArea/TextArea.js +19 -19
- package/es/components/TextInput/ControlledPasswordInput.d.ts +2 -3
- package/es/components/TextInput/ControlledPasswordInput.js +13 -13
- package/es/components/TextInput/PasswordInput.js +15 -15
- package/es/components/TextInput/TextInput.Skeleton.js +4 -4
- package/es/components/TextInput/TextInput.js +17 -17
- package/es/components/Theme/index.js +10 -10
- package/es/components/Tile/Tile.js +36 -36
- package/es/components/TileGroup/TileGroup.d.ts +3 -4
- package/es/components/TileGroup/TileGroup.js +8 -8
- package/es/components/TimePicker/TimePicker.d.ts +2 -3
- package/es/components/TimePicker/TimePicker.js +14 -14
- package/es/components/TimePickerSelect/TimePickerSelect.js +4 -4
- package/es/components/Toggle/Toggle.Skeleton.js +4 -4
- package/es/components/Toggle/Toggle.js +10 -10
- package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +8 -8
- package/es/components/Toggletip/index.js +12 -12
- package/es/components/Tooltip/DefinitionTooltip.js +4 -4
- package/es/components/Tooltip/Tooltip.d.ts +3 -0
- package/es/components/Tooltip/Tooltip.js +25 -13
- package/es/components/TreeView/TreeNode.js +45 -36
- package/es/components/TreeView/TreeView.js +30 -21
- package/es/components/UIShell/Content.js +2 -2
- package/es/components/UIShell/Header.js +2 -2
- package/es/components/UIShell/HeaderContainer.js +2 -2
- package/es/components/UIShell/HeaderGlobalAction.js +3 -3
- package/es/components/UIShell/HeaderGlobalBar.d.ts +1 -1
- package/es/components/UIShell/HeaderMenu.js +14 -14
- package/es/components/UIShell/HeaderMenuButton.js +4 -4
- package/es/components/UIShell/HeaderMenuItem.js +11 -9
- package/es/components/UIShell/HeaderName.js +3 -3
- package/es/components/UIShell/HeaderNavigation.js +3 -3
- package/es/components/UIShell/HeaderPanel.js +3 -3
- package/es/components/UIShell/HeaderSideNavItems.js +2 -2
- package/es/components/UIShell/Link.js +3 -3
- package/es/components/UIShell/SideNav.js +7 -7
- package/es/components/UIShell/SideNavDetails.js +3 -3
- package/es/components/UIShell/SideNavDivider.js +3 -3
- package/es/components/UIShell/SideNavFooter.js +7 -7
- package/es/components/UIShell/SideNavHeader.js +3 -3
- package/es/components/UIShell/SideNavIcon.js +2 -2
- package/es/components/UIShell/SideNavItem.js +2 -2
- package/es/components/UIShell/SideNavItems.js +5 -5
- package/es/components/UIShell/SideNavLink.js +5 -5
- package/es/components/UIShell/SideNavLinkText.js +2 -2
- package/es/components/UIShell/SideNavMenu.js +10 -10
- package/es/components/UIShell/SideNavMenuItem.js +5 -5
- package/es/components/UIShell/SideNavSwitcher.js +8 -8
- package/es/components/UIShell/SkipToContent.js +2 -2
- package/es/components/UIShell/Switcher.js +8 -8
- package/es/components/UIShell/SwitcherDivider.js +2 -2
- package/es/components/UIShell/SwitcherItem.js +3 -3
- package/es/components/UnorderedList/UnorderedList.js +2 -2
- package/es/index.js +23 -24
- package/es/internal/FloatingMenu.js +4 -4
- package/es/internal/__mocks__/mockHTMLElement.d.ts +9 -0
- package/es/internal/createClassWrapper.js +2 -2
- package/es/internal/useId.js +2 -2
- package/es/internal/useIdPrefix.js +3 -3
- package/es/internal/useNormalizedInputProps.js +3 -3
- package/es/internal/usePrefix.js +3 -3
- package/es/internal/useResizeObserver.d.ts +14 -0
- package/es/internal/useResizeObserver.js +74 -0
- package/es/internal/wrapFocus.js +3 -6
- package/es/tools/wrapComponent.d.ts +3 -4
- package/es/tools/wrapComponent.js +2 -2
- package/es/types/common.d.ts +0 -2
- package/lib/components/CodeSnippet/CodeSnippet.js +2 -3
- package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +8 -0
- package/lib/components/ContentSwitcher/ContentSwitcher.js +7 -1
- package/lib/components/DataTable/DataTable.d.ts +81 -283
- package/lib/components/DataTable/DataTable.js +82 -123
- package/lib/components/DataTable/Table.d.ts +2 -2
- package/lib/components/DataTable/TableActionList.d.ts +1 -1
- package/lib/components/DataTable/TableBody.d.ts +3 -3
- package/lib/components/DataTable/TableCell.d.ts +3 -4
- package/lib/components/DataTable/TableContainer.d.ts +2 -3
- package/lib/components/DataTable/TableExpandHeader.d.ts +2 -3
- package/lib/components/DataTable/TableExpandedRow.d.ts +3 -3
- package/lib/components/DataTable/TableHead.d.ts +1 -1
- package/lib/components/DataTable/TableHeader.d.ts +4 -4
- package/lib/components/DataTable/TableRow.d.ts +3 -4
- package/lib/components/DataTable/TableToolbarContent.d.ts +1 -1
- package/lib/components/DataTable/index.d.ts +1 -1
- package/lib/components/DatePickerInput/DatePickerInput.d.ts +3 -4
- package/lib/components/Dialog/index.d.ts +5 -6
- package/lib/components/Dropdown/Dropdown.Skeleton.d.ts +2 -3
- package/lib/components/Dropdown/Dropdown.d.ts +3 -3
- package/lib/components/FileUploader/FileUploader.Skeleton.d.ts +3 -3
- package/lib/components/FileUploader/FileUploader.d.ts +2 -3
- package/lib/components/FileUploader/FileUploaderButton.d.ts +2 -3
- package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +2 -3
- package/lib/components/FileUploader/FileUploaderItem.d.ts +2 -3
- package/lib/components/FileUploader/Filename.d.ts +3 -4
- package/lib/components/FluidForm/FluidForm.d.ts +3 -4
- package/lib/components/FormGroup/FormGroup.d.ts +3 -4
- package/lib/components/Grid/GridContext.d.ts +2 -2
- package/lib/components/Grid/GridContext.js +5 -23
- package/lib/components/IconButton/index.js +6 -1
- package/lib/components/Layer/index.d.ts +4 -0
- package/lib/components/Layer/index.js +9 -2
- package/lib/components/Link/Link.js +1 -1
- package/lib/components/ListBox/ListBox.d.ts +2 -3
- package/lib/components/ListBox/ListBoxField.d.ts +3 -4
- package/lib/components/ListBox/ListBoxMenu.d.ts +2 -3
- package/lib/components/ListBox/ListBoxMenuItem.d.ts +2 -3
- package/lib/components/Loading/Loading.d.ts +3 -3
- package/lib/components/Modal/Modal.d.ts +2 -3
- package/lib/components/MultiSelect/FilterableMultiSelect.js +1 -5
- package/lib/components/SkeletonIcon/SkeletonIcon.d.ts +0 -4
- package/lib/components/SkeletonIcon/SkeletonIcon.js +1 -5
- package/lib/components/TextInput/ControlledPasswordInput.d.ts +2 -3
- package/lib/components/TileGroup/TileGroup.d.ts +3 -4
- package/lib/components/TimePicker/TimePicker.d.ts +2 -3
- package/lib/components/Tooltip/Tooltip.d.ts +3 -0
- package/lib/components/Tooltip/Tooltip.js +18 -6
- package/lib/components/TreeView/TreeNode.js +20 -11
- package/lib/components/TreeView/TreeView.js +27 -18
- package/lib/components/UIShell/HeaderGlobalBar.d.ts +1 -1
- package/lib/components/UIShell/HeaderMenuItem.js +7 -5
- package/lib/index.js +46 -47
- package/lib/internal/__mocks__/mockHTMLElement.d.ts +9 -0
- package/lib/internal/useResizeObserver.d.ts +14 -0
- package/lib/internal/useResizeObserver.js +78 -0
- package/lib/internal/wrapFocus.js +3 -6
- package/lib/tools/wrapComponent.d.ts +3 -4
- package/lib/types/common.d.ts +0 -2
- package/package.json +5 -6
- package/scss/components/content-switcher/_tokens.scss +9 -0
- package/telemetry.yml +4 -1
- package/es/components/DataTable/index.js +0 -76
- package/lib/components/DataTable/index.js +0 -82
|
@@ -10,7 +10,7 @@ import { ChevronLeft, ChevronRight, Close } from '@carbon/icons-react';
|
|
|
10
10
|
import { breakpoints } from '@carbon/layout';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import PropTypes from 'prop-types';
|
|
13
|
-
import
|
|
13
|
+
import React, { useState, useRef, useCallback, useEffect, forwardRef, createContext, useMemo, isValidElement } from 'react';
|
|
14
14
|
import '../Grid/FlexGrid.js';
|
|
15
15
|
import { Grid as GridAsGridComponent } from '../Grid/Grid.js';
|
|
16
16
|
import '../Grid/Row.js';
|
|
@@ -42,7 +42,7 @@ const verticalTabHeight = 64;
|
|
|
42
42
|
|
|
43
43
|
// Used to manage the overall state of the Tabs
|
|
44
44
|
|
|
45
|
-
const TabsContext = /*#__PURE__*/
|
|
45
|
+
const TabsContext = /*#__PURE__*/React.createContext({
|
|
46
46
|
baseId: '',
|
|
47
47
|
activeIndex: 0,
|
|
48
48
|
defaultSelectedIndex: 0,
|
|
@@ -54,7 +54,7 @@ const TabsContext = /*#__PURE__*/React__default.createContext({
|
|
|
54
54
|
});
|
|
55
55
|
|
|
56
56
|
// Used to keep track of position in a tablist
|
|
57
|
-
const TabContext = /*#__PURE__*/
|
|
57
|
+
const TabContext = /*#__PURE__*/React.createContext({
|
|
58
58
|
index: 0,
|
|
59
59
|
hasSecondaryLabel: false
|
|
60
60
|
});
|
|
@@ -62,7 +62,7 @@ const lgMediaQuery = `(min-width: ${breakpoints.lg.width})`;
|
|
|
62
62
|
const smMediaQuery = `(max-width: ${breakpoints.md.width})`;
|
|
63
63
|
|
|
64
64
|
// Used to keep track of position in a list of tab panels
|
|
65
|
-
const TabPanelContext = /*#__PURE__*/
|
|
65
|
+
const TabPanelContext = /*#__PURE__*/React.createContext(0);
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
68
|
* Tabs
|
|
@@ -101,7 +101,7 @@ function Tabs(_ref) {
|
|
|
101
101
|
selectedIndex,
|
|
102
102
|
setSelectedIndex
|
|
103
103
|
};
|
|
104
|
-
return /*#__PURE__*/
|
|
104
|
+
return /*#__PURE__*/React.createElement(TabsContext.Provider, {
|
|
105
105
|
value: value
|
|
106
106
|
}, children);
|
|
107
107
|
}
|
|
@@ -172,14 +172,14 @@ function TabsVertical(_ref2) {
|
|
|
172
172
|
return (
|
|
173
173
|
/*#__PURE__*/
|
|
174
174
|
// eslint-disable-next-line react/forbid-component-props
|
|
175
|
-
|
|
175
|
+
React.createElement(GridAsGridComponent, {
|
|
176
176
|
style: {
|
|
177
177
|
height: height
|
|
178
178
|
}
|
|
179
|
-
}, /*#__PURE__*/
|
|
179
|
+
}, /*#__PURE__*/React.createElement(Tabs, props, children))
|
|
180
180
|
);
|
|
181
181
|
}
|
|
182
|
-
return /*#__PURE__*/
|
|
182
|
+
return /*#__PURE__*/React.createElement(Tabs, props, children);
|
|
183
183
|
}
|
|
184
184
|
TabsVertical.propTypes = {
|
|
185
185
|
/**
|
|
@@ -272,7 +272,7 @@ function TabList(_ref4) {
|
|
|
272
272
|
setSelectedIndex,
|
|
273
273
|
setActiveIndex,
|
|
274
274
|
dismissable
|
|
275
|
-
} =
|
|
275
|
+
} = React.useContext(TabsContext);
|
|
276
276
|
const prefix = usePrefix();
|
|
277
277
|
const ref = useRef(null);
|
|
278
278
|
const previousButton = useRef(null);
|
|
@@ -281,13 +281,13 @@ function TabList(_ref4) {
|
|
|
281
281
|
const [scrollLeft, setScrollLeft] = useState(0);
|
|
282
282
|
let hasSecondaryLabelTabs = false;
|
|
283
283
|
if (contained) {
|
|
284
|
-
hasSecondaryLabelTabs =
|
|
284
|
+
hasSecondaryLabelTabs = React.Children.toArray(children).some(child => {
|
|
285
285
|
const _child = child;
|
|
286
|
-
return /*#__PURE__*/
|
|
286
|
+
return /*#__PURE__*/React.isValidElement(child) && !!_child.props.secondaryLabel;
|
|
287
287
|
});
|
|
288
288
|
}
|
|
289
289
|
const isLg = useMatchMedia(lgMediaQuery);
|
|
290
|
-
const distributeWidth = fullWidth && contained && isLg &&
|
|
290
|
+
const distributeWidth = fullWidth && contained && isLg && React.Children.toArray(children).length < 9;
|
|
291
291
|
const className = cx(`${prefix}--tabs`, {
|
|
292
292
|
[`${prefix}--tabs--contained`]: contained,
|
|
293
293
|
[`${prefix}--tabs--light`]: light,
|
|
@@ -480,16 +480,16 @@ function TabList(_ref4) {
|
|
|
480
480
|
return createLongPressBehavior(ref, 'forward', setScrollLeft);
|
|
481
481
|
}
|
|
482
482
|
});
|
|
483
|
-
return /*#__PURE__*/
|
|
483
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
484
484
|
className: className
|
|
485
|
-
}, /*#__PURE__*/
|
|
485
|
+
}, /*#__PURE__*/React.createElement("button", _extends({
|
|
486
486
|
"aria-hidden": "true",
|
|
487
487
|
tabIndex: -1,
|
|
488
488
|
"aria-label": "Scroll left",
|
|
489
489
|
ref: previousButton,
|
|
490
490
|
className: previousButtonClasses,
|
|
491
491
|
type: "button"
|
|
492
|
-
}, leftOverflowButtonProps), _ChevronLeft || (_ChevronLeft = /*#__PURE__*/
|
|
492
|
+
}, leftOverflowButtonProps), _ChevronLeft || (_ChevronLeft = /*#__PURE__*/React.createElement(ChevronLeft, null))), /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
493
493
|
"aria-label": label,
|
|
494
494
|
ref: ref,
|
|
495
495
|
role: "tablist",
|
|
@@ -497,26 +497,26 @@ function TabList(_ref4) {
|
|
|
497
497
|
onScroll: debouncedOnScroll,
|
|
498
498
|
onKeyDown: onKeyDown,
|
|
499
499
|
onBlur: handleBlur
|
|
500
|
-
}),
|
|
501
|
-
return !isElement(child) ? null : /*#__PURE__*/
|
|
500
|
+
}), React.Children.map(children, (child, index) => {
|
|
501
|
+
return !isElement(child) ? null : /*#__PURE__*/React.createElement(TabContext.Provider, {
|
|
502
502
|
value: {
|
|
503
503
|
index,
|
|
504
504
|
hasSecondaryLabel: hasSecondaryLabelTabs,
|
|
505
505
|
contained
|
|
506
506
|
}
|
|
507
|
-
}, /*#__PURE__*/
|
|
507
|
+
}, /*#__PURE__*/React.cloneElement(child, {
|
|
508
508
|
ref: node => {
|
|
509
509
|
tabs.current[index] = node;
|
|
510
510
|
}
|
|
511
511
|
}));
|
|
512
|
-
})), /*#__PURE__*/
|
|
512
|
+
})), /*#__PURE__*/React.createElement("button", _extends({
|
|
513
513
|
"aria-hidden": "true",
|
|
514
514
|
tabIndex: -1,
|
|
515
515
|
"aria-label": "Scroll right",
|
|
516
516
|
ref: nextButton,
|
|
517
517
|
className: nextButtonClasses,
|
|
518
518
|
type: "button"
|
|
519
|
-
}, rightOverflowButtonProps), _ChevronRight || (_ChevronRight = /*#__PURE__*/
|
|
519
|
+
}, rightOverflowButtonProps), _ChevronRight || (_ChevronRight = /*#__PURE__*/React.createElement(ChevronRight, null))));
|
|
520
520
|
}
|
|
521
521
|
TabList.propTypes = {
|
|
522
522
|
/**
|
|
@@ -595,7 +595,7 @@ function TabListVertical(_ref8) {
|
|
|
595
595
|
selectedIndex,
|
|
596
596
|
setSelectedIndex,
|
|
597
597
|
setActiveIndex
|
|
598
|
-
} =
|
|
598
|
+
} = React.useContext(TabsContext);
|
|
599
599
|
const prefix = usePrefix();
|
|
600
600
|
const ref = useRef(null);
|
|
601
601
|
const [isOverflowingBottom, setIsOverflowingBottom] = useState(false);
|
|
@@ -682,34 +682,34 @@ function TabListVertical(_ref8) {
|
|
|
682
682
|
};
|
|
683
683
|
});
|
|
684
684
|
if (isSm) {
|
|
685
|
-
return /*#__PURE__*/
|
|
685
|
+
return /*#__PURE__*/React.createElement(TabList, _extends({}, rest, {
|
|
686
686
|
"aria-label": label,
|
|
687
687
|
contained: true
|
|
688
688
|
}), children);
|
|
689
689
|
}
|
|
690
|
-
return /*#__PURE__*/
|
|
690
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
691
691
|
className: className
|
|
692
|
-
}, isOverflowingTop && /*#__PURE__*/
|
|
692
|
+
}, isOverflowingTop && /*#__PURE__*/React.createElement("div", {
|
|
693
693
|
className: `${prefix}--tab--list-gradient_top`
|
|
694
|
-
}), /*#__PURE__*/
|
|
694
|
+
}), /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
695
695
|
"aria-label": label,
|
|
696
696
|
ref: ref,
|
|
697
697
|
role: "tablist",
|
|
698
698
|
className: `${prefix}--tab--list`,
|
|
699
699
|
onKeyDown: onKeyDown,
|
|
700
700
|
onBlur: handleBlur
|
|
701
|
-
}),
|
|
702
|
-
return !isElement(child) ? null : /*#__PURE__*/
|
|
701
|
+
}), React.Children.map(children, (child, index) => {
|
|
702
|
+
return !isElement(child) ? null : /*#__PURE__*/React.createElement(TabContext.Provider, {
|
|
703
703
|
value: {
|
|
704
704
|
index,
|
|
705
705
|
hasSecondaryLabel: false
|
|
706
706
|
}
|
|
707
|
-
}, /*#__PURE__*/
|
|
707
|
+
}, /*#__PURE__*/React.cloneElement(child, {
|
|
708
708
|
ref: node => {
|
|
709
709
|
tabs.current[index] = node;
|
|
710
710
|
}
|
|
711
711
|
}));
|
|
712
|
-
})), isOverflowingBottom && /*#__PURE__*/
|
|
712
|
+
})), isOverflowingBottom && /*#__PURE__*/React.createElement("div", {
|
|
713
713
|
className: `${prefix}--tab--list-gradient_bottom`
|
|
714
714
|
}));
|
|
715
715
|
}
|
|
@@ -799,15 +799,15 @@ const Tab = /*#__PURE__*/forwardRef(function Tab(_ref10, forwardRef) {
|
|
|
799
799
|
baseId,
|
|
800
800
|
dismissable,
|
|
801
801
|
onTabCloseRequest
|
|
802
|
-
} =
|
|
802
|
+
} = React.useContext(TabsContext);
|
|
803
803
|
const {
|
|
804
804
|
index,
|
|
805
805
|
hasSecondaryLabel,
|
|
806
806
|
contained
|
|
807
|
-
} =
|
|
807
|
+
} = React.useContext(TabContext);
|
|
808
808
|
const {
|
|
809
809
|
badgeIndicator
|
|
810
|
-
} =
|
|
810
|
+
} = React.useContext(IconTabContext) || {};
|
|
811
811
|
const dismissIconRef = useRef(null);
|
|
812
812
|
const tabRef = useRef(null);
|
|
813
813
|
const ref = useMergedRefs([forwardRef, tabRef]);
|
|
@@ -883,12 +883,12 @@ const Tab = /*#__PURE__*/forwardRef(function Tab(_ref10, forwardRef) {
|
|
|
883
883
|
}
|
|
884
884
|
onKeyDown?.(event);
|
|
885
885
|
};
|
|
886
|
-
const DismissIcon = /*#__PURE__*/
|
|
886
|
+
const DismissIcon = /*#__PURE__*/React.createElement("div", {
|
|
887
887
|
className: cx({
|
|
888
888
|
[`${prefix}--tabs__nav-item--close`]: dismissable,
|
|
889
889
|
[`${prefix}--tabs__nav-item--close--hidden`]: !dismissable
|
|
890
890
|
})
|
|
891
|
-
}, /*#__PURE__*/
|
|
891
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
892
892
|
type: "button",
|
|
893
893
|
tabIndex: selectedIndex === index && dismissable ? 0 : -1,
|
|
894
894
|
"aria-disabled": disabled,
|
|
@@ -903,7 +903,7 @@ const Tab = /*#__PURE__*/forwardRef(function Tab(_ref10, forwardRef) {
|
|
|
903
903
|
onClick: handleClose,
|
|
904
904
|
title: `Remove ${typeof children === 'string' ? children : ''} tab`,
|
|
905
905
|
ref: dismissIconRef
|
|
906
|
-
}, /*#__PURE__*/
|
|
906
|
+
}, /*#__PURE__*/React.createElement(Close, {
|
|
907
907
|
"aria-hidden": selectedIndex === index && dismissable ? 'false' : 'true',
|
|
908
908
|
"aria-label": `Press delete to remove ${typeof children === 'string' ? children : ''} tab`
|
|
909
909
|
})));
|
|
@@ -911,14 +911,14 @@ const Tab = /*#__PURE__*/forwardRef(function Tab(_ref10, forwardRef) {
|
|
|
911
911
|
|
|
912
912
|
// should only happen for vertical variation, so no dismissable icon is needed here
|
|
913
913
|
if (isEllipsisApplied) {
|
|
914
|
-
return /*#__PURE__*/
|
|
914
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
915
915
|
label: children,
|
|
916
916
|
align: "top",
|
|
917
917
|
leaveDelayMs: 0,
|
|
918
918
|
autoAlign: true,
|
|
919
919
|
onMouseEnter: () => false,
|
|
920
920
|
closeOnActivation: true
|
|
921
|
-
}, /*#__PURE__*/
|
|
921
|
+
}, /*#__PURE__*/React.createElement(BaseComponent, _extends({}, rest, {
|
|
922
922
|
"aria-controls": panelId,
|
|
923
923
|
"aria-disabled": disabled,
|
|
924
924
|
"aria-selected": selectedIndex === index,
|
|
@@ -938,17 +938,17 @@ const Tab = /*#__PURE__*/forwardRef(function Tab(_ref10, forwardRef) {
|
|
|
938
938
|
onKeyDown: handleKeyDown,
|
|
939
939
|
tabIndex: selectedIndex === index ? '0' : '-1',
|
|
940
940
|
type: "button"
|
|
941
|
-
}), /*#__PURE__*/
|
|
941
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
942
942
|
className: `${prefix}--tabs__nav-item-label-wrapper`
|
|
943
|
-
}, /*#__PURE__*/
|
|
943
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
944
944
|
className: `${prefix}--tabs__nav-item-label`
|
|
945
|
-
}, children)), hasSecondaryLabel && secondaryLabel && /*#__PURE__*/
|
|
945
|
+
}, children)), hasSecondaryLabel && secondaryLabel && /*#__PURE__*/React.createElement(Text, {
|
|
946
946
|
as: "div",
|
|
947
947
|
className: `${prefix}--tabs__nav-item-secondary-label`,
|
|
948
948
|
title: secondaryLabel
|
|
949
949
|
}, secondaryLabel)));
|
|
950
950
|
}
|
|
951
|
-
return /*#__PURE__*/
|
|
951
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(BaseComponent, _extends({}, rest, {
|
|
952
952
|
"aria-controls": panelId,
|
|
953
953
|
"aria-disabled": disabled,
|
|
954
954
|
"aria-selected": selectedIndex === index,
|
|
@@ -967,25 +967,25 @@ const Tab = /*#__PURE__*/forwardRef(function Tab(_ref10, forwardRef) {
|
|
|
967
967
|
onKeyDown: handleKeyDown,
|
|
968
968
|
tabIndex: selectedIndex === index ? '0' : '-1',
|
|
969
969
|
type: "button"
|
|
970
|
-
}), /*#__PURE__*/
|
|
970
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
971
971
|
className: `${prefix}--tabs__nav-item-label-wrapper`
|
|
972
|
-
}, dismissable && Icon && /*#__PURE__*/
|
|
972
|
+
}, dismissable && Icon && /*#__PURE__*/React.createElement("div", {
|
|
973
973
|
className: `${prefix}--tabs__nav-item--icon-left`
|
|
974
|
-
}, /*#__PURE__*/
|
|
974
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
975
975
|
size: 16
|
|
976
|
-
})), /*#__PURE__*/
|
|
976
|
+
})), /*#__PURE__*/React.createElement(Text, {
|
|
977
977
|
className: `${prefix}--tabs__nav-item-label`
|
|
978
|
-
}, children), !dismissable && Icon && /*#__PURE__*/
|
|
978
|
+
}, children), !dismissable && Icon && /*#__PURE__*/React.createElement("div", {
|
|
979
979
|
className: cx(`${prefix}--tabs__nav-item--icon`, {
|
|
980
980
|
[`${prefix}--visually-hidden`]: !hasIcon
|
|
981
981
|
})
|
|
982
|
-
}, !dismissable && Icon && /*#__PURE__*/
|
|
982
|
+
}, !dismissable && Icon && /*#__PURE__*/React.createElement(Icon, {
|
|
983
983
|
size: 16
|
|
984
|
-
}))), hasSecondaryLabel && secondaryLabel && /*#__PURE__*/
|
|
984
|
+
}))), hasSecondaryLabel && secondaryLabel && /*#__PURE__*/React.createElement(Text, {
|
|
985
985
|
as: "div",
|
|
986
986
|
className: `${prefix}--tabs__nav-item-secondary-label`,
|
|
987
987
|
title: secondaryLabel
|
|
988
|
-
}, secondaryLabel), !disabled && badgeIndicator && (_BadgeIndicator || (_BadgeIndicator = /*#__PURE__*/
|
|
988
|
+
}, secondaryLabel), !disabled && badgeIndicator && (_BadgeIndicator || (_BadgeIndicator = /*#__PURE__*/React.createElement(BadgeIndicator, null)))), DismissIcon);
|
|
989
989
|
});
|
|
990
990
|
Tab.propTypes = {
|
|
991
991
|
/**
|
|
@@ -1034,7 +1034,7 @@ Tab.propTypes = {
|
|
|
1034
1034
|
*/
|
|
1035
1035
|
|
|
1036
1036
|
const IconTabContext = /*#__PURE__*/createContext(false);
|
|
1037
|
-
const IconTab = /*#__PURE__*/
|
|
1037
|
+
const IconTab = /*#__PURE__*/React.forwardRef(function IconTab(_ref11, ref) {
|
|
1038
1038
|
let {
|
|
1039
1039
|
badgeIndicator,
|
|
1040
1040
|
children,
|
|
@@ -1053,16 +1053,16 @@ const IconTab = /*#__PURE__*/React__default.forwardRef(function IconTab(_ref11,
|
|
|
1053
1053
|
const classNames = cx(`${prefix}--tabs__nav-item--icon-only`, customClassName, {
|
|
1054
1054
|
[`${prefix}--tabs__nav-item--icon-only__20`]: hasSize20
|
|
1055
1055
|
});
|
|
1056
|
-
return /*#__PURE__*/
|
|
1056
|
+
return /*#__PURE__*/React.createElement(IconTabContext.Provider, {
|
|
1057
1057
|
value: value
|
|
1058
|
-
}, /*#__PURE__*/
|
|
1058
|
+
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
1059
1059
|
align: "bottom",
|
|
1060
1060
|
defaultOpen: defaultOpen,
|
|
1061
1061
|
className: `${prefix}--icon-tooltip`,
|
|
1062
1062
|
enterDelayMs: enterDelayMs,
|
|
1063
1063
|
label: label,
|
|
1064
1064
|
leaveDelayMs: leaveDelayMs
|
|
1065
|
-
}, /*#__PURE__*/
|
|
1065
|
+
}, /*#__PURE__*/React.createElement(Tab, _extends({
|
|
1066
1066
|
className: classNames,
|
|
1067
1067
|
ref: ref
|
|
1068
1068
|
}, rest), children)));
|
|
@@ -1106,7 +1106,7 @@ IconTab.propTypes = {
|
|
|
1106
1106
|
* TabPanel
|
|
1107
1107
|
*/
|
|
1108
1108
|
|
|
1109
|
-
const TabPanel = /*#__PURE__*/
|
|
1109
|
+
const TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(_ref12, forwardRef) {
|
|
1110
1110
|
let {
|
|
1111
1111
|
children,
|
|
1112
1112
|
className: customClassName,
|
|
@@ -1120,8 +1120,8 @@ const TabPanel = /*#__PURE__*/React__default.forwardRef(function TabPanel(_ref12
|
|
|
1120
1120
|
const {
|
|
1121
1121
|
selectedIndex,
|
|
1122
1122
|
baseId
|
|
1123
|
-
} =
|
|
1124
|
-
const index =
|
|
1123
|
+
} = React.useContext(TabsContext);
|
|
1124
|
+
const index = React.useContext(TabPanelContext);
|
|
1125
1125
|
const id = `${baseId}-tabpanel-${index}`;
|
|
1126
1126
|
const tabId = `${baseId}-tab-${index}`;
|
|
1127
1127
|
const className = cx(`${prefix}--tab-content`, customClassName, {
|
|
@@ -1161,7 +1161,7 @@ const TabPanel = /*#__PURE__*/React__default.forwardRef(function TabPanel(_ref12
|
|
|
1161
1161
|
});
|
|
1162
1162
|
return () => observer.disconnect();
|
|
1163
1163
|
}, []);
|
|
1164
|
-
return /*#__PURE__*/
|
|
1164
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
1165
1165
|
"aria-labelledby": tabId,
|
|
1166
1166
|
id: id,
|
|
1167
1167
|
className: className,
|
|
@@ -1222,10 +1222,10 @@ function TabPanels(_ref13) {
|
|
|
1222
1222
|
});
|
|
1223
1223
|
}
|
|
1224
1224
|
});
|
|
1225
|
-
return /*#__PURE__*/
|
|
1226
|
-
return !isElement(child) ? null : /*#__PURE__*/
|
|
1225
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, React.Children.map(children, (child, index) => {
|
|
1226
|
+
return !isElement(child) ? null : /*#__PURE__*/React.createElement(TabPanelContext.Provider, {
|
|
1227
1227
|
value: index
|
|
1228
|
-
}, /*#__PURE__*/
|
|
1228
|
+
}, /*#__PURE__*/React.cloneElement(child, {
|
|
1229
1229
|
ref: element => {
|
|
1230
1230
|
refs.current[index] = element;
|
|
1231
1231
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import
|
|
10
|
+
import React, { forwardRef, useRef, useState, useLayoutEffect } from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { useId } from '../../internal/useId.js';
|
|
13
13
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
@@ -55,9 +55,9 @@ const DismissibleTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
55
55
|
onClose(event);
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
|
-
let normalizedDecorator = /*#__PURE__*/
|
|
58
|
+
let normalizedDecorator = /*#__PURE__*/React.isValidElement(slug ?? decorator) ? slug ?? decorator : null;
|
|
59
59
|
if (normalizedDecorator && normalizedDecorator['type']?.displayName === 'AILabel') {
|
|
60
|
-
normalizedDecorator = /*#__PURE__*/
|
|
60
|
+
normalizedDecorator = /*#__PURE__*/React.cloneElement(normalizedDecorator, {
|
|
61
61
|
size: 'sm',
|
|
62
62
|
kind: 'inline'
|
|
63
63
|
});
|
|
@@ -71,7 +71,7 @@ const DismissibleTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
71
71
|
...otherProps
|
|
72
72
|
} = other;
|
|
73
73
|
const dismissActionLabel = isEllipsisApplied ? dismissTooltipLabel : title;
|
|
74
|
-
return /*#__PURE__*/
|
|
74
|
+
return /*#__PURE__*/React.createElement(Tag, _extends({
|
|
75
75
|
ref: combinedRef,
|
|
76
76
|
type: type,
|
|
77
77
|
size: size,
|
|
@@ -79,26 +79,26 @@ const DismissibleTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
79
79
|
disabled: disabled,
|
|
80
80
|
className: tagClasses,
|
|
81
81
|
id: tagId
|
|
82
|
-
}, otherProps), /*#__PURE__*/
|
|
82
|
+
}, otherProps), /*#__PURE__*/React.createElement("div", {
|
|
83
83
|
className: `${prefix}--interactive--tag-children`
|
|
84
|
-
}, /*#__PURE__*/
|
|
84
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
85
85
|
title: tagTitle ? tagTitle : text,
|
|
86
86
|
className: `${prefix}--tag__label`
|
|
87
|
-
}, text), slug ? normalizedDecorator : decorator ? /*#__PURE__*/
|
|
87
|
+
}, text), slug ? normalizedDecorator : decorator ? /*#__PURE__*/React.createElement("div", {
|
|
88
88
|
className: `${prefix}--tag__decorator`
|
|
89
|
-
}, normalizedDecorator) : '', /*#__PURE__*/
|
|
89
|
+
}, normalizedDecorator) : '', /*#__PURE__*/React.createElement(Tooltip, {
|
|
90
90
|
label: dismissActionLabel,
|
|
91
91
|
align: "bottom",
|
|
92
92
|
className: tooltipClasses,
|
|
93
93
|
leaveDelayMs: 0,
|
|
94
94
|
closeOnActivation: true
|
|
95
|
-
}, /*#__PURE__*/
|
|
95
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
96
96
|
type: "button",
|
|
97
97
|
className: `${prefix}--tag__close-icon`,
|
|
98
98
|
onClick: handleClose,
|
|
99
99
|
disabled: disabled,
|
|
100
100
|
"aria-label": dismissActionLabel
|
|
101
|
-
}, _Close || (_Close = /*#__PURE__*/
|
|
101
|
+
}, _Close || (_Close = /*#__PURE__*/React.createElement(Close, null))))));
|
|
102
102
|
});
|
|
103
103
|
DismissibleTag.propTypes = {
|
|
104
104
|
/**
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import
|
|
10
|
+
import React, { forwardRef, useRef, useState, useLayoutEffect } from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { useId } from '../../internal/useId.js';
|
|
13
13
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
@@ -54,14 +54,14 @@ const OperationalTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
54
54
|
const tooltipClasses = cx(`${prefix}--icon-tooltip`, `${prefix}--tag-label-tooltip`);
|
|
55
55
|
const combinedRef = mergeRefs(tagRef, forwardRef);
|
|
56
56
|
if (isEllipsisApplied) {
|
|
57
|
-
return /*#__PURE__*/
|
|
57
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
58
58
|
label: text,
|
|
59
59
|
align: "bottom",
|
|
60
60
|
className: tooltipClasses,
|
|
61
61
|
leaveDelayMs: 0,
|
|
62
62
|
onMouseEnter: () => false,
|
|
63
63
|
closeOnActivation: true
|
|
64
|
-
}, /*#__PURE__*/
|
|
64
|
+
}, /*#__PURE__*/React.createElement(Tag, _extends({
|
|
65
65
|
ref: combinedRef,
|
|
66
66
|
type: type,
|
|
67
67
|
size: size,
|
|
@@ -69,12 +69,12 @@ const OperationalTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
69
69
|
disabled: disabled,
|
|
70
70
|
className: tagClasses,
|
|
71
71
|
id: tagId
|
|
72
|
-
}, other), /*#__PURE__*/
|
|
72
|
+
}, other), /*#__PURE__*/React.createElement(Text, {
|
|
73
73
|
title: text,
|
|
74
74
|
className: `${prefix}--tag__label`
|
|
75
75
|
}, text)));
|
|
76
76
|
}
|
|
77
|
-
return /*#__PURE__*/
|
|
77
|
+
return /*#__PURE__*/React.createElement(Tag, _extends({
|
|
78
78
|
ref: combinedRef,
|
|
79
79
|
type: type,
|
|
80
80
|
size: size,
|
|
@@ -82,7 +82,7 @@ const OperationalTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
82
82
|
disabled: disabled,
|
|
83
83
|
className: tagClasses,
|
|
84
84
|
id: tagId
|
|
85
|
-
}, other), /*#__PURE__*/
|
|
85
|
+
}, other), /*#__PURE__*/React.createElement(Text, {
|
|
86
86
|
title: text,
|
|
87
87
|
className: `${prefix}--tag__label`
|
|
88
88
|
}, text));
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import
|
|
10
|
+
import React, { forwardRef, useRef, useState, useLayoutEffect } from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { useId } from '../../internal/useId.js';
|
|
13
13
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
@@ -57,13 +57,13 @@ const SelectableTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
57
57
|
onClick?.(e);
|
|
58
58
|
};
|
|
59
59
|
if (isEllipsisApplied) {
|
|
60
|
-
return /*#__PURE__*/
|
|
60
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
61
61
|
label: text,
|
|
62
62
|
align: "bottom",
|
|
63
63
|
className: tooltipClasses,
|
|
64
64
|
leaveDelayMs: 0,
|
|
65
65
|
onMouseEnter: () => false
|
|
66
|
-
}, /*#__PURE__*/
|
|
66
|
+
}, /*#__PURE__*/React.createElement(Tag, _extends({
|
|
67
67
|
"aria-pressed": selectedTag !== false,
|
|
68
68
|
ref: combinedRef,
|
|
69
69
|
size: size,
|
|
@@ -72,12 +72,12 @@ const SelectableTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
72
72
|
className: tagClasses,
|
|
73
73
|
id: tagId,
|
|
74
74
|
onClick: handleClick
|
|
75
|
-
}, other), /*#__PURE__*/
|
|
75
|
+
}, other), /*#__PURE__*/React.createElement(Text, {
|
|
76
76
|
title: text,
|
|
77
77
|
className: `${prefix}--tag__label`
|
|
78
78
|
}, text)));
|
|
79
79
|
}
|
|
80
|
-
return /*#__PURE__*/
|
|
80
|
+
return /*#__PURE__*/React.createElement(Tag, _extends({
|
|
81
81
|
"aria-pressed": selectedTag !== false,
|
|
82
82
|
ref: combinedRef,
|
|
83
83
|
size: size,
|
|
@@ -86,7 +86,7 @@ const SelectableTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
86
86
|
className: tagClasses,
|
|
87
87
|
id: tagId,
|
|
88
88
|
onClick: handleClick
|
|
89
|
-
}, other), /*#__PURE__*/
|
|
89
|
+
}, other), /*#__PURE__*/React.createElement(Text, {
|
|
90
90
|
title: text,
|
|
91
91
|
className: `${prefix}--tag__label`
|
|
92
92
|
}, text));
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import
|
|
10
|
+
import React from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
13
13
|
|
|
@@ -23,7 +23,7 @@ function TagSkeleton(_ref) {
|
|
|
23
23
|
// TODO: V12 - Remove this class
|
|
24
24
|
[`${prefix}--layout--size-${size}`]: size
|
|
25
25
|
});
|
|
26
|
-
return /*#__PURE__*/
|
|
26
|
+
return /*#__PURE__*/React.createElement("span", _extends({
|
|
27
27
|
className: tagClasses
|
|
28
28
|
}, rest));
|
|
29
29
|
}
|
package/es/components/Tag/Tag.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import
|
|
10
|
+
import React, { useRef, useState, useLayoutEffect } from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { Close } from '@carbon/icons-react';
|
|
13
13
|
import { useId } from '../../internal/useId.js';
|
|
@@ -40,7 +40,7 @@ const SIZES = {
|
|
|
40
40
|
md: 'md',
|
|
41
41
|
lg: 'lg'
|
|
42
42
|
};
|
|
43
|
-
const TagBase = /*#__PURE__*/
|
|
43
|
+
const TagBase = /*#__PURE__*/React.forwardRef((_ref, forwardRef) => {
|
|
44
44
|
let {
|
|
45
45
|
children,
|
|
46
46
|
className,
|
|
@@ -95,55 +95,55 @@ const TagBase = /*#__PURE__*/React__default.forwardRef((_ref, forwardRef) => {
|
|
|
95
95
|
};
|
|
96
96
|
|
|
97
97
|
// AILabel is always size `sm` and `inline`
|
|
98
|
-
let normalizedDecorator = /*#__PURE__*/
|
|
98
|
+
let normalizedDecorator = /*#__PURE__*/React.isValidElement(slug ?? decorator) ? slug ?? decorator : null;
|
|
99
99
|
if (normalizedDecorator && normalizedDecorator['type']?.displayName === 'AILabel' && !isInteractiveTag) {
|
|
100
|
-
normalizedDecorator = /*#__PURE__*/
|
|
100
|
+
normalizedDecorator = /*#__PURE__*/React.cloneElement(normalizedDecorator, {
|
|
101
101
|
size: 'sm',
|
|
102
102
|
kind: 'inline'
|
|
103
103
|
});
|
|
104
104
|
}
|
|
105
105
|
if (filter) {
|
|
106
106
|
const ComponentTag = BaseComponent ?? 'div';
|
|
107
|
-
return /*#__PURE__*/
|
|
107
|
+
return /*#__PURE__*/React.createElement(ComponentTag, _extends({
|
|
108
108
|
className: tagClasses,
|
|
109
109
|
id: tagId
|
|
110
|
-
}, other), CustomIconElement && size !== 'sm' ? /*#__PURE__*/
|
|
110
|
+
}, other), CustomIconElement && size !== 'sm' ? /*#__PURE__*/React.createElement("div", {
|
|
111
111
|
className: `${prefix}--tag__custom-icon`
|
|
112
|
-
}, /*#__PURE__*/
|
|
112
|
+
}, /*#__PURE__*/React.createElement(CustomIconElement, null)) : '', /*#__PURE__*/React.createElement(Text, {
|
|
113
113
|
title: typeof children === 'string' ? children : undefined,
|
|
114
114
|
className: `${prefix}--tag__label`
|
|
115
|
-
}, children !== null && children !== undefined ? children : typeText), normalizedDecorator, /*#__PURE__*/
|
|
115
|
+
}, children !== null && children !== undefined ? children : typeText), normalizedDecorator, /*#__PURE__*/React.createElement("button", {
|
|
116
116
|
type: "button",
|
|
117
117
|
className: `${prefix}--tag__close-icon`,
|
|
118
118
|
onClick: handleClose,
|
|
119
119
|
disabled: disabled,
|
|
120
120
|
"aria-label": title,
|
|
121
121
|
title: title
|
|
122
|
-
}, _Close || (_Close = /*#__PURE__*/
|
|
122
|
+
}, _Close || (_Close = /*#__PURE__*/React.createElement(Close, null))));
|
|
123
123
|
}
|
|
124
124
|
const ComponentTag = BaseComponent ?? (other.onClick || className?.includes(`${prefix}--tag--operational`) ? 'button' : 'div');
|
|
125
125
|
const labelClasses = cx({
|
|
126
126
|
[`${prefix}--tag__label`]: !isInteractiveTag
|
|
127
127
|
});
|
|
128
|
-
return /*#__PURE__*/
|
|
128
|
+
return /*#__PURE__*/React.createElement(ComponentTag, _extends({
|
|
129
129
|
ref: ref,
|
|
130
130
|
disabled: disabled,
|
|
131
131
|
className: tagClasses,
|
|
132
132
|
id: tagId,
|
|
133
133
|
type: ComponentTag === 'button' ? 'button' : undefined
|
|
134
|
-
}, other), CustomIconElement && size !== 'sm' ? /*#__PURE__*/
|
|
134
|
+
}, other), CustomIconElement && size !== 'sm' ? /*#__PURE__*/React.createElement("div", {
|
|
135
135
|
className: `${prefix}--tag__custom-icon`
|
|
136
|
-
}, /*#__PURE__*/
|
|
136
|
+
}, /*#__PURE__*/React.createElement(CustomIconElement, null)) : '', isEllipsisApplied && !isInteractiveTag ? /*#__PURE__*/React.createElement(DefinitionTooltip, {
|
|
137
137
|
openOnHover: false,
|
|
138
138
|
definition: children !== null && children !== undefined ? children : typeText,
|
|
139
139
|
className: `${prefix}--definition--tooltip--tag`
|
|
140
|
-
}, /*#__PURE__*/
|
|
140
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
141
141
|
title: children !== null && children !== undefined && typeof children === 'string' ? children : typeText,
|
|
142
142
|
className: labelClasses
|
|
143
|
-
}, children !== null && children !== undefined ? children : typeText)) : /*#__PURE__*/
|
|
143
|
+
}, children !== null && children !== undefined ? children : typeText)) : /*#__PURE__*/React.createElement(Text, {
|
|
144
144
|
title: children !== null && children !== undefined && typeof children === 'string' ? children : typeText,
|
|
145
145
|
className: labelClasses
|
|
146
|
-
}, children !== null && children !== undefined ? children : typeText), slug ? normalizedDecorator : decorator ? /*#__PURE__*/
|
|
146
|
+
}, children !== null && children !== undefined ? children : typeText), slug ? normalizedDecorator : decorator ? /*#__PURE__*/React.createElement("div", {
|
|
147
147
|
className: `${prefix}--tag__decorator`
|
|
148
148
|
}, normalizedDecorator) : '');
|
|
149
149
|
});
|