@carbon/react 1.82.1 → 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 +943 -828
- 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/AccordionItem/index.d.ts +9 -0
- 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.d.ts +1 -1
- package/es/components/DatePicker/DatePicker.js +23 -20
- 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 +3 -4
- package/es/components/FileUploader/FileUploaderButton.js +6 -5
- 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.d.ts +5 -5
- package/es/components/Grid/Column.js +15 -15
- 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/LayoutDirection/index.d.ts +8 -0
- 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 +5 -4
- package/es/components/Menu/MenuItem.js +18 -17
- package/es/components/MenuButton/index.js +4 -4
- package/es/components/Modal/Modal.d.ts +3 -4
- package/es/components/Modal/Modal.js +40 -38
- 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.d.ts +8 -0
- package/es/components/Slider/Slider.js +44 -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 +65 -62
- package/es/components/Tag/DismissibleTag.d.ts +4 -0
- package/es/components/Tag/DismissibleTag.js +18 -13
- package/es/components/Tag/OperationalTag.js +6 -6
- package/es/components/Tag/SelectableTag.d.ts +4 -0
- package/es/components/Tag/SelectableTag.js +18 -9
- 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 +9 -9
- 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/feature-flags.d.ts +7 -0
- package/es/index.js +25 -26
- 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/debounce.d.ts +8 -0
- package/es/internal/environment.d.ts +12 -0
- 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/usePreviousValue.d.ts +17 -0
- package/es/internal/usePreviousValue.js +28 -0
- package/es/internal/useResizeObserver.d.ts +14 -0
- package/es/internal/useResizeObserver.js +74 -0
- package/es/internal/wrapFocus.js +3 -6
- package/es/prop-types/AriaPropTypes.d.ts +8 -0
- 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/AccordionItem/index.d.ts +9 -0
- 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/DatePicker/DatePicker.d.ts +1 -1
- package/lib/components/DatePicker/DatePicker.js +6 -3
- 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 +3 -4
- package/lib/components/FileUploader/FileUploaderButton.js +3 -2
- 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/Column.d.ts +5 -5
- package/lib/components/Grid/Column.js +10 -10
- 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/LayoutDirection/index.d.ts +8 -0
- 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/Menu/Menu.js +2 -1
- package/lib/components/Menu/MenuItem.js +2 -1
- package/lib/components/Modal/Modal.d.ts +3 -4
- package/lib/components/Modal/Modal.js +5 -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/Slider/Slider.d.ts +8 -0
- package/lib/components/Slider/Slider.js +6 -0
- package/lib/components/Tabs/Tabs.js +5 -2
- package/lib/components/Tag/DismissibleTag.d.ts +4 -0
- package/lib/components/Tag/DismissibleTag.js +8 -3
- package/lib/components/Tag/SelectableTag.d.ts +4 -0
- package/lib/components/Tag/SelectableTag.js +12 -3
- 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/components/UIShell/Switcher.js +3 -3
- package/lib/feature-flags.d.ts +7 -0
- package/lib/index.js +50 -51
- package/lib/internal/__mocks__/mockHTMLElement.d.ts +9 -0
- package/lib/internal/debounce.d.ts +8 -0
- package/lib/internal/environment.d.ts +12 -0
- package/lib/internal/usePreviousValue.d.ts +17 -0
- package/lib/internal/usePreviousValue.js +32 -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/prop-types/AriaPropTypes.d.ts +8 -0
- 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 +5 -1
- package/es/components/DataTable/index.js +0 -76
- package/es/prop-types/tools/getDisplayName.js +0 -34
- package/es/prop-types/types.js +0 -13
- package/lib/components/DataTable/index.js +0 -82
- package/lib/prop-types/tools/getDisplayName.js +0 -38
- package/lib/prop-types/types.js +0 -17
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import
|
|
10
|
+
import React, { useState } from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { IconButton } from '../IconButton/index.js';
|
|
13
13
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
14
14
|
|
|
15
15
|
const noopFn = () => {};
|
|
16
|
-
const IconSwitch = /*#__PURE__*/
|
|
16
|
+
const IconSwitch = /*#__PURE__*/React.forwardRef(function Switch(props, tabRef) {
|
|
17
17
|
const {
|
|
18
18
|
align,
|
|
19
19
|
children,
|
|
@@ -72,7 +72,7 @@ const IconSwitch = /*#__PURE__*/React__default.forwardRef(function Switch(props,
|
|
|
72
72
|
leaveDelayMs,
|
|
73
73
|
size
|
|
74
74
|
};
|
|
75
|
-
return /*#__PURE__*/
|
|
75
|
+
return /*#__PURE__*/React.createElement(IconButton, _extends({
|
|
76
76
|
label: text,
|
|
77
77
|
type: "button",
|
|
78
78
|
ref: tabRef,
|
|
@@ -7,12 +7,12 @@
|
|
|
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
|
import { noopFn } from '../../internal/noopFn.js';
|
|
14
14
|
|
|
15
|
-
const Switch = /*#__PURE__*/
|
|
15
|
+
const Switch = /*#__PURE__*/React.forwardRef(function Switch(props, tabRef) {
|
|
16
16
|
const {
|
|
17
17
|
children,
|
|
18
18
|
className,
|
|
@@ -52,13 +52,13 @@ const Switch = /*#__PURE__*/React__default.forwardRef(function Switch(props, tab
|
|
|
52
52
|
className: classes,
|
|
53
53
|
disabled
|
|
54
54
|
};
|
|
55
|
-
return /*#__PURE__*/
|
|
55
|
+
return /*#__PURE__*/React.createElement("button", _extends({
|
|
56
56
|
type: "button",
|
|
57
57
|
ref: tabRef,
|
|
58
58
|
role: "tab",
|
|
59
59
|
tabIndex: selected ? 0 : -1,
|
|
60
60
|
"aria-selected": selected
|
|
61
|
-
}, other, commonProps), /*#__PURE__*/
|
|
61
|
+
}, other, commonProps), /*#__PURE__*/React.createElement("span", {
|
|
62
62
|
className: `${prefix}--content-switcher__label`,
|
|
63
63
|
title: text
|
|
64
64
|
}, text !== undefined ? text : children));
|
|
@@ -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 } from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { selectorTabbable } from '../../internal/keyboard/navigation.js';
|
|
13
13
|
import useIsomorphicEffect from '../../internal/useIsomorphicEffect.js';
|
|
@@ -38,7 +38,7 @@ function TabContent(props) {
|
|
|
38
38
|
const tabContentClasses = cx(`${prefix}--tab-content`, className);
|
|
39
39
|
const ref = useRef(null);
|
|
40
40
|
const hasTabbableContent = useTabbableContent(ref);
|
|
41
|
-
return /*#__PURE__*/
|
|
41
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
42
42
|
role: "tabpanel"
|
|
43
43
|
}, other, {
|
|
44
44
|
className: tabContentClasses,
|
|
@@ -7,18 +7,18 @@
|
|
|
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
|
|
|
14
14
|
var _span, _Tab, _Tab2, _Tab3, _Tab4, _Tab5;
|
|
15
15
|
function Tab() {
|
|
16
16
|
const prefix = usePrefix();
|
|
17
|
-
return /*#__PURE__*/
|
|
17
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
18
18
|
className: `${prefix}--tabs__nav-item`
|
|
19
|
-
}, /*#__PURE__*/
|
|
19
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
20
20
|
className: `${prefix}--tabs__nav-link`
|
|
21
|
-
}, _span || (_span = /*#__PURE__*/
|
|
21
|
+
}, _span || (_span = /*#__PURE__*/React.createElement("span", null))));
|
|
22
22
|
}
|
|
23
23
|
function TabsSkeleton(_ref) {
|
|
24
24
|
let {
|
|
@@ -30,11 +30,11 @@ function TabsSkeleton(_ref) {
|
|
|
30
30
|
const tabClasses = cx(className, `${prefix}--tabs`, `${prefix}--skeleton`, {
|
|
31
31
|
[`${prefix}--tabs--contained`]: contained
|
|
32
32
|
});
|
|
33
|
-
return /*#__PURE__*/
|
|
33
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
34
34
|
className: tabClasses
|
|
35
|
-
}, rest), /*#__PURE__*/
|
|
35
|
+
}, rest), /*#__PURE__*/React.createElement("ul", {
|
|
36
36
|
className: `${prefix}--tabs__nav`
|
|
37
|
-
}, _Tab || (_Tab = /*#__PURE__*/
|
|
37
|
+
}, _Tab || (_Tab = /*#__PURE__*/React.createElement(Tab, null)), _Tab2 || (_Tab2 = /*#__PURE__*/React.createElement(Tab, null)), _Tab3 || (_Tab3 = /*#__PURE__*/React.createElement(Tab, null)), _Tab4 || (_Tab4 = /*#__PURE__*/React.createElement(Tab, null)), _Tab5 || (_Tab5 = /*#__PURE__*/React.createElement(Tab, null))));
|
|
38
38
|
}
|
|
39
39
|
TabsSkeleton.propTypes = {
|
|
40
40
|
/**
|
|
@@ -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,
|
|
@@ -319,9 +319,12 @@ function TabList(_ref4) {
|
|
|
319
319
|
});
|
|
320
320
|
const tabs = useRef([]);
|
|
321
321
|
const debouncedOnScroll = useCallback(() => {
|
|
322
|
-
|
|
323
|
-
|
|
322
|
+
const updateScroll = debounce(() => {
|
|
323
|
+
if (ref.current) {
|
|
324
|
+
setScrollLeft(ref.current.scrollLeft);
|
|
325
|
+
}
|
|
324
326
|
}, scrollDebounceWait);
|
|
327
|
+
updateScroll();
|
|
325
328
|
}, [scrollDebounceWait]);
|
|
326
329
|
function onKeyDown(event) {
|
|
327
330
|
if (matches(event, [ArrowRight, ArrowLeft, Home, End])) {
|
|
@@ -477,16 +480,16 @@ function TabList(_ref4) {
|
|
|
477
480
|
return createLongPressBehavior(ref, 'forward', setScrollLeft);
|
|
478
481
|
}
|
|
479
482
|
});
|
|
480
|
-
return /*#__PURE__*/
|
|
483
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
481
484
|
className: className
|
|
482
|
-
}, /*#__PURE__*/
|
|
485
|
+
}, /*#__PURE__*/React.createElement("button", _extends({
|
|
483
486
|
"aria-hidden": "true",
|
|
484
487
|
tabIndex: -1,
|
|
485
488
|
"aria-label": "Scroll left",
|
|
486
489
|
ref: previousButton,
|
|
487
490
|
className: previousButtonClasses,
|
|
488
491
|
type: "button"
|
|
489
|
-
}, leftOverflowButtonProps), _ChevronLeft || (_ChevronLeft = /*#__PURE__*/
|
|
492
|
+
}, leftOverflowButtonProps), _ChevronLeft || (_ChevronLeft = /*#__PURE__*/React.createElement(ChevronLeft, null))), /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
490
493
|
"aria-label": label,
|
|
491
494
|
ref: ref,
|
|
492
495
|
role: "tablist",
|
|
@@ -494,26 +497,26 @@ function TabList(_ref4) {
|
|
|
494
497
|
onScroll: debouncedOnScroll,
|
|
495
498
|
onKeyDown: onKeyDown,
|
|
496
499
|
onBlur: handleBlur
|
|
497
|
-
}),
|
|
498
|
-
return !isElement(child) ? null : /*#__PURE__*/
|
|
500
|
+
}), React.Children.map(children, (child, index) => {
|
|
501
|
+
return !isElement(child) ? null : /*#__PURE__*/React.createElement(TabContext.Provider, {
|
|
499
502
|
value: {
|
|
500
503
|
index,
|
|
501
504
|
hasSecondaryLabel: hasSecondaryLabelTabs,
|
|
502
505
|
contained
|
|
503
506
|
}
|
|
504
|
-
}, /*#__PURE__*/
|
|
507
|
+
}, /*#__PURE__*/React.cloneElement(child, {
|
|
505
508
|
ref: node => {
|
|
506
509
|
tabs.current[index] = node;
|
|
507
510
|
}
|
|
508
511
|
}));
|
|
509
|
-
})), /*#__PURE__*/
|
|
512
|
+
})), /*#__PURE__*/React.createElement("button", _extends({
|
|
510
513
|
"aria-hidden": "true",
|
|
511
514
|
tabIndex: -1,
|
|
512
515
|
"aria-label": "Scroll right",
|
|
513
516
|
ref: nextButton,
|
|
514
517
|
className: nextButtonClasses,
|
|
515
518
|
type: "button"
|
|
516
|
-
}, rightOverflowButtonProps), _ChevronRight || (_ChevronRight = /*#__PURE__*/
|
|
519
|
+
}, rightOverflowButtonProps), _ChevronRight || (_ChevronRight = /*#__PURE__*/React.createElement(ChevronRight, null))));
|
|
517
520
|
}
|
|
518
521
|
TabList.propTypes = {
|
|
519
522
|
/**
|
|
@@ -592,7 +595,7 @@ function TabListVertical(_ref8) {
|
|
|
592
595
|
selectedIndex,
|
|
593
596
|
setSelectedIndex,
|
|
594
597
|
setActiveIndex
|
|
595
|
-
} =
|
|
598
|
+
} = React.useContext(TabsContext);
|
|
596
599
|
const prefix = usePrefix();
|
|
597
600
|
const ref = useRef(null);
|
|
598
601
|
const [isOverflowingBottom, setIsOverflowingBottom] = useState(false);
|
|
@@ -679,34 +682,34 @@ function TabListVertical(_ref8) {
|
|
|
679
682
|
};
|
|
680
683
|
});
|
|
681
684
|
if (isSm) {
|
|
682
|
-
return /*#__PURE__*/
|
|
685
|
+
return /*#__PURE__*/React.createElement(TabList, _extends({}, rest, {
|
|
683
686
|
"aria-label": label,
|
|
684
687
|
contained: true
|
|
685
688
|
}), children);
|
|
686
689
|
}
|
|
687
|
-
return /*#__PURE__*/
|
|
690
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
688
691
|
className: className
|
|
689
|
-
}, isOverflowingTop && /*#__PURE__*/
|
|
692
|
+
}, isOverflowingTop && /*#__PURE__*/React.createElement("div", {
|
|
690
693
|
className: `${prefix}--tab--list-gradient_top`
|
|
691
|
-
}), /*#__PURE__*/
|
|
694
|
+
}), /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
692
695
|
"aria-label": label,
|
|
693
696
|
ref: ref,
|
|
694
697
|
role: "tablist",
|
|
695
698
|
className: `${prefix}--tab--list`,
|
|
696
699
|
onKeyDown: onKeyDown,
|
|
697
700
|
onBlur: handleBlur
|
|
698
|
-
}),
|
|
699
|
-
return !isElement(child) ? null : /*#__PURE__*/
|
|
701
|
+
}), React.Children.map(children, (child, index) => {
|
|
702
|
+
return !isElement(child) ? null : /*#__PURE__*/React.createElement(TabContext.Provider, {
|
|
700
703
|
value: {
|
|
701
704
|
index,
|
|
702
705
|
hasSecondaryLabel: false
|
|
703
706
|
}
|
|
704
|
-
}, /*#__PURE__*/
|
|
707
|
+
}, /*#__PURE__*/React.cloneElement(child, {
|
|
705
708
|
ref: node => {
|
|
706
709
|
tabs.current[index] = node;
|
|
707
710
|
}
|
|
708
711
|
}));
|
|
709
|
-
})), isOverflowingBottom && /*#__PURE__*/
|
|
712
|
+
})), isOverflowingBottom && /*#__PURE__*/React.createElement("div", {
|
|
710
713
|
className: `${prefix}--tab--list-gradient_bottom`
|
|
711
714
|
}));
|
|
712
715
|
}
|
|
@@ -796,15 +799,15 @@ const Tab = /*#__PURE__*/forwardRef(function Tab(_ref10, forwardRef) {
|
|
|
796
799
|
baseId,
|
|
797
800
|
dismissable,
|
|
798
801
|
onTabCloseRequest
|
|
799
|
-
} =
|
|
802
|
+
} = React.useContext(TabsContext);
|
|
800
803
|
const {
|
|
801
804
|
index,
|
|
802
805
|
hasSecondaryLabel,
|
|
803
806
|
contained
|
|
804
|
-
} =
|
|
807
|
+
} = React.useContext(TabContext);
|
|
805
808
|
const {
|
|
806
809
|
badgeIndicator
|
|
807
|
-
} =
|
|
810
|
+
} = React.useContext(IconTabContext) || {};
|
|
808
811
|
const dismissIconRef = useRef(null);
|
|
809
812
|
const tabRef = useRef(null);
|
|
810
813
|
const ref = useMergedRefs([forwardRef, tabRef]);
|
|
@@ -880,12 +883,12 @@ const Tab = /*#__PURE__*/forwardRef(function Tab(_ref10, forwardRef) {
|
|
|
880
883
|
}
|
|
881
884
|
onKeyDown?.(event);
|
|
882
885
|
};
|
|
883
|
-
const DismissIcon = /*#__PURE__*/
|
|
886
|
+
const DismissIcon = /*#__PURE__*/React.createElement("div", {
|
|
884
887
|
className: cx({
|
|
885
888
|
[`${prefix}--tabs__nav-item--close`]: dismissable,
|
|
886
889
|
[`${prefix}--tabs__nav-item--close--hidden`]: !dismissable
|
|
887
890
|
})
|
|
888
|
-
}, /*#__PURE__*/
|
|
891
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
889
892
|
type: "button",
|
|
890
893
|
tabIndex: selectedIndex === index && dismissable ? 0 : -1,
|
|
891
894
|
"aria-disabled": disabled,
|
|
@@ -900,7 +903,7 @@ const Tab = /*#__PURE__*/forwardRef(function Tab(_ref10, forwardRef) {
|
|
|
900
903
|
onClick: handleClose,
|
|
901
904
|
title: `Remove ${typeof children === 'string' ? children : ''} tab`,
|
|
902
905
|
ref: dismissIconRef
|
|
903
|
-
}, /*#__PURE__*/
|
|
906
|
+
}, /*#__PURE__*/React.createElement(Close, {
|
|
904
907
|
"aria-hidden": selectedIndex === index && dismissable ? 'false' : 'true',
|
|
905
908
|
"aria-label": `Press delete to remove ${typeof children === 'string' ? children : ''} tab`
|
|
906
909
|
})));
|
|
@@ -908,14 +911,14 @@ const Tab = /*#__PURE__*/forwardRef(function Tab(_ref10, forwardRef) {
|
|
|
908
911
|
|
|
909
912
|
// should only happen for vertical variation, so no dismissable icon is needed here
|
|
910
913
|
if (isEllipsisApplied) {
|
|
911
|
-
return /*#__PURE__*/
|
|
914
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
912
915
|
label: children,
|
|
913
916
|
align: "top",
|
|
914
917
|
leaveDelayMs: 0,
|
|
915
918
|
autoAlign: true,
|
|
916
919
|
onMouseEnter: () => false,
|
|
917
920
|
closeOnActivation: true
|
|
918
|
-
}, /*#__PURE__*/
|
|
921
|
+
}, /*#__PURE__*/React.createElement(BaseComponent, _extends({}, rest, {
|
|
919
922
|
"aria-controls": panelId,
|
|
920
923
|
"aria-disabled": disabled,
|
|
921
924
|
"aria-selected": selectedIndex === index,
|
|
@@ -935,17 +938,17 @@ const Tab = /*#__PURE__*/forwardRef(function Tab(_ref10, forwardRef) {
|
|
|
935
938
|
onKeyDown: handleKeyDown,
|
|
936
939
|
tabIndex: selectedIndex === index ? '0' : '-1',
|
|
937
940
|
type: "button"
|
|
938
|
-
}), /*#__PURE__*/
|
|
941
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
939
942
|
className: `${prefix}--tabs__nav-item-label-wrapper`
|
|
940
|
-
}, /*#__PURE__*/
|
|
943
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
941
944
|
className: `${prefix}--tabs__nav-item-label`
|
|
942
|
-
}, children)), hasSecondaryLabel && secondaryLabel && /*#__PURE__*/
|
|
945
|
+
}, children)), hasSecondaryLabel && secondaryLabel && /*#__PURE__*/React.createElement(Text, {
|
|
943
946
|
as: "div",
|
|
944
947
|
className: `${prefix}--tabs__nav-item-secondary-label`,
|
|
945
948
|
title: secondaryLabel
|
|
946
949
|
}, secondaryLabel)));
|
|
947
950
|
}
|
|
948
|
-
return /*#__PURE__*/
|
|
951
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(BaseComponent, _extends({}, rest, {
|
|
949
952
|
"aria-controls": panelId,
|
|
950
953
|
"aria-disabled": disabled,
|
|
951
954
|
"aria-selected": selectedIndex === index,
|
|
@@ -964,25 +967,25 @@ const Tab = /*#__PURE__*/forwardRef(function Tab(_ref10, forwardRef) {
|
|
|
964
967
|
onKeyDown: handleKeyDown,
|
|
965
968
|
tabIndex: selectedIndex === index ? '0' : '-1',
|
|
966
969
|
type: "button"
|
|
967
|
-
}), /*#__PURE__*/
|
|
970
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
968
971
|
className: `${prefix}--tabs__nav-item-label-wrapper`
|
|
969
|
-
}, dismissable && Icon && /*#__PURE__*/
|
|
972
|
+
}, dismissable && Icon && /*#__PURE__*/React.createElement("div", {
|
|
970
973
|
className: `${prefix}--tabs__nav-item--icon-left`
|
|
971
|
-
}, /*#__PURE__*/
|
|
974
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
972
975
|
size: 16
|
|
973
|
-
})), /*#__PURE__*/
|
|
976
|
+
})), /*#__PURE__*/React.createElement(Text, {
|
|
974
977
|
className: `${prefix}--tabs__nav-item-label`
|
|
975
|
-
}, children), !dismissable && Icon && /*#__PURE__*/
|
|
978
|
+
}, children), !dismissable && Icon && /*#__PURE__*/React.createElement("div", {
|
|
976
979
|
className: cx(`${prefix}--tabs__nav-item--icon`, {
|
|
977
980
|
[`${prefix}--visually-hidden`]: !hasIcon
|
|
978
981
|
})
|
|
979
|
-
}, !dismissable && Icon && /*#__PURE__*/
|
|
982
|
+
}, !dismissable && Icon && /*#__PURE__*/React.createElement(Icon, {
|
|
980
983
|
size: 16
|
|
981
|
-
}))), hasSecondaryLabel && secondaryLabel && /*#__PURE__*/
|
|
984
|
+
}))), hasSecondaryLabel && secondaryLabel && /*#__PURE__*/React.createElement(Text, {
|
|
982
985
|
as: "div",
|
|
983
986
|
className: `${prefix}--tabs__nav-item-secondary-label`,
|
|
984
987
|
title: secondaryLabel
|
|
985
|
-
}, secondaryLabel), !disabled && badgeIndicator && (_BadgeIndicator || (_BadgeIndicator = /*#__PURE__*/
|
|
988
|
+
}, secondaryLabel), !disabled && badgeIndicator && (_BadgeIndicator || (_BadgeIndicator = /*#__PURE__*/React.createElement(BadgeIndicator, null)))), DismissIcon);
|
|
986
989
|
});
|
|
987
990
|
Tab.propTypes = {
|
|
988
991
|
/**
|
|
@@ -1031,7 +1034,7 @@ Tab.propTypes = {
|
|
|
1031
1034
|
*/
|
|
1032
1035
|
|
|
1033
1036
|
const IconTabContext = /*#__PURE__*/createContext(false);
|
|
1034
|
-
const IconTab = /*#__PURE__*/
|
|
1037
|
+
const IconTab = /*#__PURE__*/React.forwardRef(function IconTab(_ref11, ref) {
|
|
1035
1038
|
let {
|
|
1036
1039
|
badgeIndicator,
|
|
1037
1040
|
children,
|
|
@@ -1050,16 +1053,16 @@ const IconTab = /*#__PURE__*/React__default.forwardRef(function IconTab(_ref11,
|
|
|
1050
1053
|
const classNames = cx(`${prefix}--tabs__nav-item--icon-only`, customClassName, {
|
|
1051
1054
|
[`${prefix}--tabs__nav-item--icon-only__20`]: hasSize20
|
|
1052
1055
|
});
|
|
1053
|
-
return /*#__PURE__*/
|
|
1056
|
+
return /*#__PURE__*/React.createElement(IconTabContext.Provider, {
|
|
1054
1057
|
value: value
|
|
1055
|
-
}, /*#__PURE__*/
|
|
1058
|
+
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
1056
1059
|
align: "bottom",
|
|
1057
1060
|
defaultOpen: defaultOpen,
|
|
1058
1061
|
className: `${prefix}--icon-tooltip`,
|
|
1059
1062
|
enterDelayMs: enterDelayMs,
|
|
1060
1063
|
label: label,
|
|
1061
1064
|
leaveDelayMs: leaveDelayMs
|
|
1062
|
-
}, /*#__PURE__*/
|
|
1065
|
+
}, /*#__PURE__*/React.createElement(Tab, _extends({
|
|
1063
1066
|
className: classNames,
|
|
1064
1067
|
ref: ref
|
|
1065
1068
|
}, rest), children)));
|
|
@@ -1103,7 +1106,7 @@ IconTab.propTypes = {
|
|
|
1103
1106
|
* TabPanel
|
|
1104
1107
|
*/
|
|
1105
1108
|
|
|
1106
|
-
const TabPanel = /*#__PURE__*/
|
|
1109
|
+
const TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(_ref12, forwardRef) {
|
|
1107
1110
|
let {
|
|
1108
1111
|
children,
|
|
1109
1112
|
className: customClassName,
|
|
@@ -1117,8 +1120,8 @@ const TabPanel = /*#__PURE__*/React__default.forwardRef(function TabPanel(_ref12
|
|
|
1117
1120
|
const {
|
|
1118
1121
|
selectedIndex,
|
|
1119
1122
|
baseId
|
|
1120
|
-
} =
|
|
1121
|
-
const index =
|
|
1123
|
+
} = React.useContext(TabsContext);
|
|
1124
|
+
const index = React.useContext(TabPanelContext);
|
|
1122
1125
|
const id = `${baseId}-tabpanel-${index}`;
|
|
1123
1126
|
const tabId = `${baseId}-tab-${index}`;
|
|
1124
1127
|
const className = cx(`${prefix}--tab-content`, customClassName, {
|
|
@@ -1158,7 +1161,7 @@ const TabPanel = /*#__PURE__*/React__default.forwardRef(function TabPanel(_ref12
|
|
|
1158
1161
|
});
|
|
1159
1162
|
return () => observer.disconnect();
|
|
1160
1163
|
}, []);
|
|
1161
|
-
return /*#__PURE__*/
|
|
1164
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
1162
1165
|
"aria-labelledby": tabId,
|
|
1163
1166
|
id: id,
|
|
1164
1167
|
className: className,
|
|
@@ -1219,10 +1222,10 @@ function TabPanels(_ref13) {
|
|
|
1219
1222
|
});
|
|
1220
1223
|
}
|
|
1221
1224
|
});
|
|
1222
|
-
return /*#__PURE__*/
|
|
1223
|
-
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, {
|
|
1224
1227
|
value: index
|
|
1225
|
-
}, /*#__PURE__*/
|
|
1228
|
+
}, /*#__PURE__*/React.cloneElement(child, {
|
|
1226
1229
|
ref: element => {
|
|
1227
1230
|
refs.current[index] = element;
|
|
1228
1231
|
}
|
|
@@ -20,6 +20,10 @@ export interface DismissibleTagBaseProps {
|
|
|
20
20
|
* Specify if the `DismissibleTag` is disabled
|
|
21
21
|
*/
|
|
22
22
|
disabled?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Provide a custom tooltip label for the dismiss button
|
|
25
|
+
*/
|
|
26
|
+
dismissTooltipLabel?: string;
|
|
23
27
|
/**
|
|
24
28
|
* Specify the id for the selectable tag.
|
|
25
29
|
*/
|
|
@@ -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';
|
|
@@ -36,6 +36,7 @@ const DismissibleTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
36
36
|
text,
|
|
37
37
|
tagTitle,
|
|
38
38
|
type,
|
|
39
|
+
dismissTooltipLabel = 'Dismiss tag',
|
|
39
40
|
...other
|
|
40
41
|
} = _ref;
|
|
41
42
|
const prefix = usePrefix();
|
|
@@ -54,9 +55,9 @@ const DismissibleTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
54
55
|
onClose(event);
|
|
55
56
|
}
|
|
56
57
|
};
|
|
57
|
-
let normalizedDecorator = /*#__PURE__*/
|
|
58
|
+
let normalizedDecorator = /*#__PURE__*/React.isValidElement(slug ?? decorator) ? slug ?? decorator : null;
|
|
58
59
|
if (normalizedDecorator && normalizedDecorator['type']?.displayName === 'AILabel') {
|
|
59
|
-
normalizedDecorator = /*#__PURE__*/
|
|
60
|
+
normalizedDecorator = /*#__PURE__*/React.cloneElement(normalizedDecorator, {
|
|
60
61
|
size: 'sm',
|
|
61
62
|
kind: 'inline'
|
|
62
63
|
});
|
|
@@ -69,8 +70,8 @@ const DismissibleTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
69
70
|
onClick,
|
|
70
71
|
...otherProps
|
|
71
72
|
} = other;
|
|
72
|
-
const
|
|
73
|
-
return /*#__PURE__*/
|
|
73
|
+
const dismissActionLabel = isEllipsisApplied ? dismissTooltipLabel : title;
|
|
74
|
+
return /*#__PURE__*/React.createElement(Tag, _extends({
|
|
74
75
|
ref: combinedRef,
|
|
75
76
|
type: type,
|
|
76
77
|
size: size,
|
|
@@ -78,26 +79,26 @@ const DismissibleTag = /*#__PURE__*/forwardRef((_ref, forwardRef) => {
|
|
|
78
79
|
disabled: disabled,
|
|
79
80
|
className: tagClasses,
|
|
80
81
|
id: tagId
|
|
81
|
-
}, otherProps), /*#__PURE__*/
|
|
82
|
+
}, otherProps), /*#__PURE__*/React.createElement("div", {
|
|
82
83
|
className: `${prefix}--interactive--tag-children`
|
|
83
|
-
}, /*#__PURE__*/
|
|
84
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
84
85
|
title: tagTitle ? tagTitle : text,
|
|
85
86
|
className: `${prefix}--tag__label`
|
|
86
|
-
}, text), slug ? normalizedDecorator : decorator ? /*#__PURE__*/
|
|
87
|
+
}, text), slug ? normalizedDecorator : decorator ? /*#__PURE__*/React.createElement("div", {
|
|
87
88
|
className: `${prefix}--tag__decorator`
|
|
88
|
-
}, normalizedDecorator) : '', /*#__PURE__*/
|
|
89
|
-
label:
|
|
89
|
+
}, normalizedDecorator) : '', /*#__PURE__*/React.createElement(Tooltip, {
|
|
90
|
+
label: dismissActionLabel,
|
|
90
91
|
align: "bottom",
|
|
91
92
|
className: tooltipClasses,
|
|
92
93
|
leaveDelayMs: 0,
|
|
93
94
|
closeOnActivation: true
|
|
94
|
-
}, /*#__PURE__*/
|
|
95
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
95
96
|
type: "button",
|
|
96
97
|
className: `${prefix}--tag__close-icon`,
|
|
97
98
|
onClick: handleClose,
|
|
98
99
|
disabled: disabled,
|
|
99
|
-
"aria-label":
|
|
100
|
-
}, _Close || (_Close = /*#__PURE__*/
|
|
100
|
+
"aria-label": dismissActionLabel
|
|
101
|
+
}, _Close || (_Close = /*#__PURE__*/React.createElement(Close, null))))));
|
|
101
102
|
});
|
|
102
103
|
DismissibleTag.propTypes = {
|
|
103
104
|
/**
|
|
@@ -112,6 +113,10 @@ DismissibleTag.propTypes = {
|
|
|
112
113
|
* Specify if the `DismissibleTag` is disabled
|
|
113
114
|
*/
|
|
114
115
|
disabled: PropTypes.bool,
|
|
116
|
+
/**
|
|
117
|
+
* Provide a custom tooltip label for the dismiss button
|
|
118
|
+
*/
|
|
119
|
+
dismissTooltipLabel: PropTypes.string,
|
|
115
120
|
/**
|
|
116
121
|
* Specify the id for the tag.
|
|
117
122
|
*/
|
|
@@ -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));
|
|
@@ -36,6 +36,10 @@ export interface SelectableTagBaseProps {
|
|
|
36
36
|
* Specify the state of the selectable tag.
|
|
37
37
|
*/
|
|
38
38
|
selected?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Specify the default state of the selectable tag.
|
|
41
|
+
*/
|
|
42
|
+
defaultSelected?: boolean;
|
|
39
43
|
/**
|
|
40
44
|
* Specify the size of the Tag. Currently supports either `sm`,
|
|
41
45
|
* `md` (default) or `lg` sizes.
|