@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
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import cx from 'classnames';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
|
-
import
|
|
11
|
+
import React, { forwardRef, useState, useContext, useRef, useEffect } from 'react';
|
|
12
12
|
import { useFloating, autoUpdate, offset, useInteractions, useHover, safePolygon, FloatingFocusManager } from '@floating-ui/react';
|
|
13
13
|
import { Checkmark, CaretLeft, CaretRight } from '@carbon/icons-react';
|
|
14
14
|
import { ArrowRight, Enter, Space } from '../../internal/keyboard/keys.js';
|
|
@@ -18,8 +18,9 @@ import { useMergedRefs } from '../../internal/useMergedRefs.js';
|
|
|
18
18
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
19
19
|
import { Menu } from './Menu.js';
|
|
20
20
|
import { MenuContext } from './MenuContext.js';
|
|
21
|
-
import '../
|
|
21
|
+
import '../LayoutDirection/LayoutDirection.js';
|
|
22
22
|
import { useLayoutDirection } from '../LayoutDirection/useLayoutDirection.js';
|
|
23
|
+
import '../Text/index.js';
|
|
23
24
|
import { Text } from '../Text/Text.js';
|
|
24
25
|
|
|
25
26
|
var _Checkmark, _CaretLeft, _CaretRight;
|
|
@@ -158,11 +159,11 @@ const MenuItem = /*#__PURE__*/forwardRef(function MenuItem(_ref, forwardRef) {
|
|
|
158
159
|
}
|
|
159
160
|
});
|
|
160
161
|
}, [floatingStyles, refs.floating]);
|
|
161
|
-
return /*#__PURE__*/
|
|
162
|
+
return /*#__PURE__*/React.createElement(FloatingFocusManager, {
|
|
162
163
|
context: floatingContext,
|
|
163
164
|
order: ['reference', 'floating'],
|
|
164
165
|
modal: false
|
|
165
|
-
}, /*#__PURE__*/
|
|
166
|
+
}, /*#__PURE__*/React.createElement("li", _extends({
|
|
166
167
|
role: "menuitem"
|
|
167
168
|
}, rest, {
|
|
168
169
|
ref: ref,
|
|
@@ -174,19 +175,19 @@ const MenuItem = /*#__PURE__*/forwardRef(function MenuItem(_ref, forwardRef) {
|
|
|
174
175
|
onClick: handleClick,
|
|
175
176
|
onKeyDown: handleKeyDown,
|
|
176
177
|
onKeyUp: handleKeyUp
|
|
177
|
-
}, getReferenceProps()), /*#__PURE__*/
|
|
178
|
+
}, getReferenceProps()), /*#__PURE__*/React.createElement("div", {
|
|
178
179
|
className: `${prefix}--menu-item__selection-icon`
|
|
179
|
-
}, rest['aria-checked'] && (_Checkmark || (_Checkmark = /*#__PURE__*/
|
|
180
|
+
}, rest['aria-checked'] && (_Checkmark || (_Checkmark = /*#__PURE__*/React.createElement(Checkmark, null)))), /*#__PURE__*/React.createElement("div", {
|
|
180
181
|
className: `${prefix}--menu-item__icon`
|
|
181
|
-
}, IconElement && /*#__PURE__*/
|
|
182
|
+
}, IconElement && /*#__PURE__*/React.createElement(IconElement, null)), /*#__PURE__*/React.createElement(Text, {
|
|
182
183
|
as: "div",
|
|
183
184
|
className: `${prefix}--menu-item__label`,
|
|
184
185
|
title: label
|
|
185
|
-
}, label), shortcut && !hasChildren && /*#__PURE__*/
|
|
186
|
+
}, label), shortcut && !hasChildren && /*#__PURE__*/React.createElement("div", {
|
|
186
187
|
className: `${prefix}--menu-item__shortcut`
|
|
187
|
-
}, shortcut), hasChildren && /*#__PURE__*/
|
|
188
|
+
}, shortcut), hasChildren && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
188
189
|
className: `${prefix}--menu-item__shortcut`
|
|
189
|
-
}, rtl ? _CaretLeft || (_CaretLeft = /*#__PURE__*/
|
|
190
|
+
}, rtl ? _CaretLeft || (_CaretLeft = /*#__PURE__*/React.createElement(CaretLeft, null)) : _CaretRight || (_CaretRight = /*#__PURE__*/React.createElement(CaretRight, null))), /*#__PURE__*/React.createElement(Menu, _extends({
|
|
190
191
|
label: label,
|
|
191
192
|
open: submenuOpen,
|
|
192
193
|
onClose: () => {
|
|
@@ -261,7 +262,7 @@ const MenuItemSelectable = /*#__PURE__*/forwardRef(function MenuItemSelectable(_
|
|
|
261
262
|
}
|
|
262
263
|
}, [context.state.hasSelectableItems, context]);
|
|
263
264
|
const classNames = cx(className, `${prefix}--menu-item-selectable--selected`);
|
|
264
|
-
return /*#__PURE__*/
|
|
265
|
+
return /*#__PURE__*/React.createElement(MenuItem, _extends({}, rest, {
|
|
265
266
|
ref: forwardRef,
|
|
266
267
|
label: label,
|
|
267
268
|
className: classNames,
|
|
@@ -304,11 +305,11 @@ const MenuItemGroup = /*#__PURE__*/forwardRef(function MenuItemGroup(_ref3, forw
|
|
|
304
305
|
} = _ref3;
|
|
305
306
|
const prefix = usePrefix();
|
|
306
307
|
const classNames = cx(className, `${prefix}--menu-item-group`);
|
|
307
|
-
return /*#__PURE__*/
|
|
308
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
308
309
|
className: classNames,
|
|
309
310
|
role: "none",
|
|
310
311
|
ref: forwardRef
|
|
311
|
-
}, /*#__PURE__*/
|
|
312
|
+
}, /*#__PURE__*/React.createElement("ul", _extends({}, rest, {
|
|
312
313
|
role: "group",
|
|
313
314
|
"aria-label": label
|
|
314
315
|
}), children));
|
|
@@ -358,14 +359,14 @@ const MenuItemRadioGroup = /*#__PURE__*/forwardRef(function MenuItemRadioGroup(_
|
|
|
358
359
|
}
|
|
359
360
|
}, [context.state.hasSelectableItems, context]);
|
|
360
361
|
const classNames = cx(className, `${prefix}--menu-item-radio-group`);
|
|
361
|
-
return /*#__PURE__*/
|
|
362
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
362
363
|
className: classNames,
|
|
363
364
|
role: "none",
|
|
364
365
|
ref: forwardRef
|
|
365
|
-
}, /*#__PURE__*/
|
|
366
|
+
}, /*#__PURE__*/React.createElement("ul", _extends({}, rest, {
|
|
366
367
|
role: "group",
|
|
367
368
|
"aria-label": label
|
|
368
|
-
}), items.map((item, i) => /*#__PURE__*/
|
|
369
|
+
}), items.map((item, i) => /*#__PURE__*/React.createElement(MenuItem, {
|
|
369
370
|
key: i,
|
|
370
371
|
label: itemToString(item),
|
|
371
372
|
role: "menuitemradio",
|
|
@@ -415,7 +416,7 @@ const MenuItemDivider = /*#__PURE__*/forwardRef(function MenuItemDivider(_ref5,
|
|
|
415
416
|
} = _ref5;
|
|
416
417
|
const prefix = usePrefix();
|
|
417
418
|
const classNames = cx(className, `${prefix}--menu-item-divider`);
|
|
418
|
-
return /*#__PURE__*/
|
|
419
|
+
return /*#__PURE__*/React.createElement("li", _extends({}, rest, {
|
|
419
420
|
className: classNames,
|
|
420
421
|
role: "separator",
|
|
421
422
|
ref: forwardRef
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
-
import
|
|
9
|
+
import React, { forwardRef, useRef, useLayoutEffect } from 'react';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { ChevronDown } from '@carbon/icons-react';
|
|
@@ -114,11 +114,11 @@ const MenuButton = /*#__PURE__*/forwardRef(function MenuButton(_ref, forwardRef)
|
|
|
114
114
|
[`${prefix}--menu-button__trigger--open`]: open
|
|
115
115
|
});
|
|
116
116
|
const menuClasses = cx(`${prefix}--menu-button__${menuAlignment}`);
|
|
117
|
-
return /*#__PURE__*/
|
|
117
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
118
118
|
ref: ref,
|
|
119
119
|
"aria-owns": open ? id : undefined,
|
|
120
120
|
className: containerClasses
|
|
121
|
-
}), /*#__PURE__*/
|
|
121
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
122
122
|
ref: refs.setReference,
|
|
123
123
|
className: triggerClasses,
|
|
124
124
|
size: size$1,
|
|
@@ -131,7 +131,7 @@ const MenuButton = /*#__PURE__*/forwardRef(function MenuButton(_ref, forwardRef)
|
|
|
131
131
|
onClick: handleClick,
|
|
132
132
|
onMouseDown: handleMousedown,
|
|
133
133
|
"aria-controls": open ? id : undefined
|
|
134
|
-
}, label), /*#__PURE__*/
|
|
134
|
+
}, label), /*#__PURE__*/React.createElement(Menu, {
|
|
135
135
|
containerRef: triggerRef,
|
|
136
136
|
menuAlignment: menuAlignment,
|
|
137
137
|
className: menuClasses,
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import React, { type ReactNode, type Ref } from 'react';
|
|
8
|
-
import { ReactAttr } from '../../types/common';
|
|
7
|
+
import React, { type HTMLAttributes, type ReactNode, type Ref } from 'react';
|
|
9
8
|
import { InlineLoadingStatus } from '../InlineLoading/InlineLoading';
|
|
10
9
|
export declare const ModalSizes: readonly ["xs", "sm", "md", "lg"];
|
|
11
10
|
export type ModalSize = (typeof ModalSizes)[number];
|
|
@@ -13,7 +12,7 @@ export interface ModalSecondaryButton {
|
|
|
13
12
|
buttonText?: string | ReactNode;
|
|
14
13
|
onClick?: React.MouseEventHandler<HTMLButtonElement>;
|
|
15
14
|
}
|
|
16
|
-
export interface ModalProps extends
|
|
15
|
+
export interface ModalProps extends HTMLAttributes<HTMLDivElement> {
|
|
17
16
|
/**
|
|
18
17
|
* Specify whether the Modal is displaying an alert, error or warning
|
|
19
18
|
* Should go hand in hand with the danger prop.
|
|
@@ -32,7 +31,7 @@ export interface ModalProps extends ReactAttr<HTMLDivElement> {
|
|
|
32
31
|
*/
|
|
33
32
|
className?: string;
|
|
34
33
|
/**
|
|
35
|
-
* Specify
|
|
34
|
+
* Specify label for the close button of the modal; defaults to close
|
|
36
35
|
*/
|
|
37
36
|
closeButtonLabel?: string;
|
|
38
37
|
/**
|
|
@@ -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, useEffect } from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { Close } from '@carbon/icons-react';
|
|
13
13
|
import { toggleClass } from '../../tools/toggleClass.js';
|
|
@@ -21,6 +21,7 @@ import { wrapFocusWithoutSentinels, elementOrParentIsFloatingMenu, wrapFocus } f
|
|
|
21
21
|
import useIsomorphicEffect from '../../internal/useIsomorphicEffect.js';
|
|
22
22
|
import { useId } from '../../internal/useId.js';
|
|
23
23
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
24
|
+
import { usePreviousValue } from '../../internal/usePreviousValue.js';
|
|
24
25
|
import { Escape, Enter, Tab } from '../../internal/keyboard/keys.js';
|
|
25
26
|
import { match } from '../../internal/keyboard/match.js';
|
|
26
27
|
import { IconButton } from '../IconButton/index.js';
|
|
@@ -35,7 +36,7 @@ import { debounce } from '../../node_modules/es-toolkit/dist/compat/function/deb
|
|
|
35
36
|
import { Text } from '../Text/Text.js';
|
|
36
37
|
|
|
37
38
|
const ModalSizes = ['xs', 'sm', 'md', 'lg'];
|
|
38
|
-
const Modal = /*#__PURE__*/
|
|
39
|
+
const Modal = /*#__PURE__*/React.forwardRef(function Modal(_ref, ref) {
|
|
39
40
|
let {
|
|
40
41
|
'aria-label': ariaLabelProp,
|
|
41
42
|
children,
|
|
@@ -79,6 +80,7 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
|
|
|
79
80
|
const startTrap = useRef(null);
|
|
80
81
|
const endTrap = useRef(null);
|
|
81
82
|
const [isScrollable, setIsScrollable] = useState(false);
|
|
83
|
+
const prevOpen = usePreviousValue(open);
|
|
82
84
|
const modalInstanceId = `modal-${useId()}`;
|
|
83
85
|
const modalLabelId = `${prefix}--modal-header__label--${modalInstanceId}`;
|
|
84
86
|
const modalHeadingId = `${prefix}--modal-header__heading--${modalInstanceId}`;
|
|
@@ -201,14 +203,14 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
|
|
|
201
203
|
}
|
|
202
204
|
}, [open, prefix, enableDialogElement]);
|
|
203
205
|
useEffect(() => {
|
|
204
|
-
if (!enableDialogElement && !open && launcherButtonRef) {
|
|
206
|
+
if (!enableDialogElement && prevOpen && !open && launcherButtonRef) {
|
|
205
207
|
setTimeout(() => {
|
|
206
208
|
if ('current' in launcherButtonRef) {
|
|
207
209
|
launcherButtonRef.current?.focus();
|
|
208
210
|
}
|
|
209
211
|
});
|
|
210
212
|
}
|
|
211
|
-
}, [open, launcherButtonRef, enableDialogElement]);
|
|
213
|
+
}, [open, prevOpen, launcherButtonRef, enableDialogElement]);
|
|
212
214
|
useEffect(() => {
|
|
213
215
|
if (!enableDialogElement) {
|
|
214
216
|
const initialFocus = focusContainerElement => {
|
|
@@ -248,22 +250,22 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
|
|
|
248
250
|
}, []);
|
|
249
251
|
|
|
250
252
|
// AILabel always size `sm`
|
|
251
|
-
let normalizedDecorator = /*#__PURE__*/
|
|
253
|
+
let normalizedDecorator = /*#__PURE__*/React.isValidElement(slug ?? decorator) ? slug ?? decorator : null;
|
|
252
254
|
if (normalizedDecorator && normalizedDecorator['type']?.displayName === 'AILabel') {
|
|
253
|
-
normalizedDecorator = /*#__PURE__*/
|
|
255
|
+
normalizedDecorator = /*#__PURE__*/React.cloneElement(normalizedDecorator, {
|
|
254
256
|
size: 'sm'
|
|
255
257
|
});
|
|
256
258
|
}
|
|
257
|
-
const modalButton = /*#__PURE__*/
|
|
259
|
+
const modalButton = /*#__PURE__*/React.createElement("div", {
|
|
258
260
|
className: `${prefix}--modal-close-button`
|
|
259
|
-
}, /*#__PURE__*/
|
|
261
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
260
262
|
className: modalCloseButtonClass,
|
|
261
263
|
label: closeButtonLabel,
|
|
262
264
|
onClick: onRequestClose,
|
|
263
265
|
"aria-label": closeButtonLabel,
|
|
264
266
|
align: "left",
|
|
265
267
|
ref: button
|
|
266
|
-
}, /*#__PURE__*/
|
|
268
|
+
}, /*#__PURE__*/React.createElement(Close, {
|
|
267
269
|
size: 20,
|
|
268
270
|
"aria-hidden": "true",
|
|
269
271
|
tabIndex: "-1",
|
|
@@ -273,7 +275,7 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
|
|
|
273
275
|
// alertdialog is the only permitted aria role for a native dialog element
|
|
274
276
|
// https://www.w3.org/TR/html-aria/#docconformance:~:text=Role%3A-,alertdialog,-.%20(dialog%20is
|
|
275
277
|
const isAlertDialog = alert && !passiveModal;
|
|
276
|
-
const modalBody = enableDialogElement ? /*#__PURE__*/
|
|
278
|
+
const modalBody = enableDialogElement ? /*#__PURE__*/React.createElement(unstable__Dialog, {
|
|
277
279
|
open: open,
|
|
278
280
|
modal: true,
|
|
279
281
|
ref: innerModal,
|
|
@@ -281,37 +283,37 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
|
|
|
281
283
|
"aria-describedby": isAlertDialog ? modalBodyId : '',
|
|
282
284
|
className: containerClasses,
|
|
283
285
|
"aria-label": ariaLabel
|
|
284
|
-
}, /*#__PURE__*/
|
|
286
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
285
287
|
className: `${prefix}--modal-header`
|
|
286
|
-
}, modalLabel && /*#__PURE__*/
|
|
288
|
+
}, modalLabel && /*#__PURE__*/React.createElement(Text, {
|
|
287
289
|
as: "h2",
|
|
288
290
|
id: modalLabelId,
|
|
289
291
|
className: `${prefix}--modal-header__label`
|
|
290
|
-
}, modalLabel), /*#__PURE__*/
|
|
292
|
+
}, modalLabel), /*#__PURE__*/React.createElement(Text, {
|
|
291
293
|
as: "h2",
|
|
292
294
|
id: modalHeadingId,
|
|
293
295
|
className: `${prefix}--modal-header__heading`
|
|
294
|
-
}, modalHeading), decorator ? /*#__PURE__*/
|
|
296
|
+
}, modalHeading), decorator ? /*#__PURE__*/React.createElement("div", {
|
|
295
297
|
className: `${prefix}--modal--inner__decorator`
|
|
296
|
-
}, normalizedDecorator) : '', /*#__PURE__*/
|
|
298
|
+
}, normalizedDecorator) : '', /*#__PURE__*/React.createElement("div", {
|
|
297
299
|
className: `${prefix}--modal-close-button`
|
|
298
|
-
}, /*#__PURE__*/
|
|
300
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
299
301
|
className: modalCloseButtonClass,
|
|
300
302
|
label: closeButtonLabel,
|
|
301
303
|
onClick: onRequestClose,
|
|
302
304
|
"aria-label": closeButtonLabel,
|
|
303
305
|
align: "left",
|
|
304
306
|
ref: button
|
|
305
|
-
}, /*#__PURE__*/
|
|
307
|
+
}, /*#__PURE__*/React.createElement(Close, {
|
|
306
308
|
size: 20,
|
|
307
309
|
"aria-hidden": "true",
|
|
308
310
|
tabIndex: "-1",
|
|
309
311
|
className: `${modalCloseButtonClass}__icon`
|
|
310
|
-
})))), /*#__PURE__*/
|
|
312
|
+
})))), /*#__PURE__*/React.createElement(Layer, _extends({
|
|
311
313
|
ref: contentRef,
|
|
312
314
|
id: modalBodyId,
|
|
313
315
|
className: contentClasses
|
|
314
|
-
}, hasScrollingContentProps), children), !passiveModal && /*#__PURE__*/
|
|
316
|
+
}, hasScrollingContentProps), children), !passiveModal && /*#__PURE__*/React.createElement(ButtonSet, {
|
|
315
317
|
className: footerClasses,
|
|
316
318
|
"aria-busy": loadingActive
|
|
317
319
|
}, Array.isArray(secondaryButtons) && secondaryButtons.length <= 2 ? secondaryButtons.map((_ref3, i) => {
|
|
@@ -319,34 +321,34 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
|
|
|
319
321
|
buttonText,
|
|
320
322
|
onClick: onButtonClick
|
|
321
323
|
} = _ref3;
|
|
322
|
-
return /*#__PURE__*/
|
|
324
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
323
325
|
key: `${buttonText}-${i}`,
|
|
324
326
|
kind: "secondary",
|
|
325
327
|
onClick: onButtonClick
|
|
326
328
|
}, buttonText);
|
|
327
|
-
}) : secondaryButtonText && /*#__PURE__*/
|
|
329
|
+
}) : secondaryButtonText && /*#__PURE__*/React.createElement(Button, {
|
|
328
330
|
disabled: loadingActive,
|
|
329
331
|
kind: "secondary",
|
|
330
332
|
onClick: onSecondaryButtonClick,
|
|
331
333
|
ref: secondaryButton
|
|
332
|
-
}, secondaryButtonText), /*#__PURE__*/
|
|
334
|
+
}, secondaryButtonText), /*#__PURE__*/React.createElement(Button, {
|
|
333
335
|
className: primaryButtonClass,
|
|
334
336
|
kind: danger ? 'danger' : 'primary',
|
|
335
337
|
disabled: loadingActive || primaryButtonDisabled,
|
|
336
338
|
onClick: onRequestSubmit,
|
|
337
339
|
ref: button
|
|
338
|
-
}, loadingStatus === 'inactive' ? primaryButtonText : /*#__PURE__*/
|
|
340
|
+
}, loadingStatus === 'inactive' ? primaryButtonText : /*#__PURE__*/React.createElement(InlineLoading, {
|
|
339
341
|
status: loadingStatus,
|
|
340
342
|
description: loadingDescription,
|
|
341
343
|
iconDescription: loadingIconDescription,
|
|
342
344
|
className: `${prefix}--inline-loading--btn`,
|
|
343
345
|
onSuccess: onLoadingSuccess
|
|
344
|
-
})))) : /*#__PURE__*/
|
|
346
|
+
})))) : /*#__PURE__*/React.createElement(React.Fragment, null, !enableDialogElement && !focusTrapWithoutSentinels && /*#__PURE__*/React.createElement("span", {
|
|
345
347
|
ref: startTrap,
|
|
346
348
|
tabIndex: 0,
|
|
347
349
|
role: "link",
|
|
348
350
|
className: `${prefix}--visually-hidden`
|
|
349
|
-
}, "Focus sentinel"), /*#__PURE__*/
|
|
351
|
+
}, "Focus sentinel"), /*#__PURE__*/React.createElement("div", _extends({
|
|
350
352
|
ref: innerModal,
|
|
351
353
|
role: "dialog"
|
|
352
354
|
}, alertDialogProps, {
|
|
@@ -354,23 +356,23 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
|
|
|
354
356
|
"aria-label": ariaLabel,
|
|
355
357
|
"aria-modal": "true",
|
|
356
358
|
tabIndex: -1
|
|
357
|
-
}), /*#__PURE__*/
|
|
359
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
358
360
|
className: `${prefix}--modal-header`
|
|
359
|
-
}, passiveModal && modalButton, modalLabel && /*#__PURE__*/
|
|
361
|
+
}, passiveModal && modalButton, modalLabel && /*#__PURE__*/React.createElement(Text, {
|
|
360
362
|
as: "h2",
|
|
361
363
|
id: modalLabelId,
|
|
362
364
|
className: `${prefix}--modal-header__label`
|
|
363
|
-
}, modalLabel), /*#__PURE__*/
|
|
365
|
+
}, modalLabel), /*#__PURE__*/React.createElement(Text, {
|
|
364
366
|
as: "h2",
|
|
365
367
|
id: modalHeadingId,
|
|
366
368
|
className: `${prefix}--modal-header__heading`
|
|
367
|
-
}, modalHeading), slug ? normalizedDecorator : decorator ? /*#__PURE__*/
|
|
369
|
+
}, modalHeading), slug ? normalizedDecorator : decorator ? /*#__PURE__*/React.createElement("div", {
|
|
368
370
|
className: `${prefix}--modal--inner__decorator`
|
|
369
|
-
}, normalizedDecorator) : '', !passiveModal && modalButton), /*#__PURE__*/
|
|
371
|
+
}, normalizedDecorator) : '', !passiveModal && modalButton), /*#__PURE__*/React.createElement(Layer, _extends({
|
|
370
372
|
ref: contentRef,
|
|
371
373
|
id: modalBodyId,
|
|
372
374
|
className: contentClasses
|
|
373
|
-
}, hasScrollingContentProps), children), !passiveModal && /*#__PURE__*/
|
|
375
|
+
}, hasScrollingContentProps), children), !passiveModal && /*#__PURE__*/React.createElement(ButtonSet, {
|
|
374
376
|
className: footerClasses,
|
|
375
377
|
"aria-busy": loadingActive
|
|
376
378
|
}, Array.isArray(secondaryButtons) && secondaryButtons.length <= 2 ? secondaryButtons.map((_ref4, i) => {
|
|
@@ -378,35 +380,35 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
|
|
|
378
380
|
buttonText,
|
|
379
381
|
onClick: onButtonClick
|
|
380
382
|
} = _ref4;
|
|
381
|
-
return /*#__PURE__*/
|
|
383
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
382
384
|
key: `${buttonText}-${i}`,
|
|
383
385
|
kind: "secondary",
|
|
384
386
|
onClick: onButtonClick
|
|
385
387
|
}, buttonText);
|
|
386
|
-
}) : secondaryButtonText && /*#__PURE__*/
|
|
388
|
+
}) : secondaryButtonText && /*#__PURE__*/React.createElement(Button, {
|
|
387
389
|
disabled: loadingActive,
|
|
388
390
|
kind: "secondary",
|
|
389
391
|
onClick: onSecondaryButtonClick,
|
|
390
392
|
ref: secondaryButton
|
|
391
|
-
}, secondaryButtonText), /*#__PURE__*/
|
|
393
|
+
}, secondaryButtonText), /*#__PURE__*/React.createElement(Button, {
|
|
392
394
|
className: primaryButtonClass,
|
|
393
395
|
kind: danger ? 'danger' : 'primary',
|
|
394
396
|
disabled: loadingActive || primaryButtonDisabled,
|
|
395
397
|
onClick: onRequestSubmit,
|
|
396
398
|
ref: button
|
|
397
|
-
}, loadingStatus === 'inactive' ? primaryButtonText : /*#__PURE__*/
|
|
399
|
+
}, loadingStatus === 'inactive' ? primaryButtonText : /*#__PURE__*/React.createElement(InlineLoading, {
|
|
398
400
|
status: loadingStatus,
|
|
399
401
|
description: loadingDescription,
|
|
400
402
|
iconDescription: loadingIconDescription,
|
|
401
403
|
className: `${prefix}--inline-loading--btn`,
|
|
402
404
|
onSuccess: onLoadingSuccess
|
|
403
|
-
})))), !enableDialogElement && !focusTrapWithoutSentinels && /*#__PURE__*/
|
|
405
|
+
})))), !enableDialogElement && !focusTrapWithoutSentinels && /*#__PURE__*/React.createElement("span", {
|
|
404
406
|
ref: endTrap,
|
|
405
407
|
tabIndex: 0,
|
|
406
408
|
role: "link",
|
|
407
409
|
className: `${prefix}--visually-hidden`
|
|
408
410
|
}, "Focus sentinel"));
|
|
409
|
-
return /*#__PURE__*/
|
|
411
|
+
return /*#__PURE__*/React.createElement(Layer, _extends({}, rest, {
|
|
410
412
|
level: 0,
|
|
411
413
|
onKeyDown: handleKeyDown,
|
|
412
414
|
onClick: composeEventHandlers([rest?.onClick, handleOnClick]),
|
|
@@ -435,7 +437,7 @@ Modal.propTypes = {
|
|
|
435
437
|
*/
|
|
436
438
|
className: PropTypes.string,
|
|
437
439
|
/**
|
|
438
|
-
* Specify
|
|
440
|
+
* Specify label for the close button of the modal; defaults to close
|
|
439
441
|
*/
|
|
440
442
|
closeButtonLabel: PropTypes.string,
|
|
441
443
|
/**
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import
|
|
10
|
+
import React from 'react';
|
|
11
11
|
import Modal from '../Modal/Modal.js';
|
|
12
12
|
import Button, { ButtonKinds } from '../Button/Button.js';
|
|
13
13
|
import '../Button/Button.Skeleton.js';
|
|
@@ -18,11 +18,11 @@ import { match } from '../../internal/keyboard/match.js';
|
|
|
18
18
|
|
|
19
19
|
let didWarnAboutDeprecation = false;
|
|
20
20
|
process.env.NODE_ENV !== 'production';
|
|
21
|
-
class ModalWrapper extends
|
|
21
|
+
class ModalWrapper extends React.Component {
|
|
22
22
|
constructor() {
|
|
23
23
|
super(...arguments);
|
|
24
|
-
_defineProperty(this, "triggerButton", /*#__PURE__*/
|
|
25
|
-
_defineProperty(this, "modal", /*#__PURE__*/
|
|
24
|
+
_defineProperty(this, "triggerButton", /*#__PURE__*/React.createRef());
|
|
25
|
+
_defineProperty(this, "modal", /*#__PURE__*/React.createRef());
|
|
26
26
|
_defineProperty(this, "state", {
|
|
27
27
|
isOpen: false
|
|
28
28
|
});
|
|
@@ -85,7 +85,7 @@ class ModalWrapper extends React__default.Component {
|
|
|
85
85
|
onRequestClose: this.handleClose,
|
|
86
86
|
onRequestSubmit: this.handleOnRequestSubmit
|
|
87
87
|
};
|
|
88
|
-
return /*#__PURE__*/
|
|
88
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
89
89
|
role: "presentation",
|
|
90
90
|
onKeyDown: evt => {
|
|
91
91
|
if (match(evt, Escape)) {
|
|
@@ -93,7 +93,7 @@ class ModalWrapper extends React__default.Component {
|
|
|
93
93
|
onKeyDown(evt);
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
}, /*#__PURE__*/
|
|
96
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
97
97
|
className: buttonTriggerClassName,
|
|
98
98
|
disabled: disabled,
|
|
99
99
|
kind: triggerButtonKind,
|
|
@@ -101,7 +101,7 @@ class ModalWrapper extends React__default.Component {
|
|
|
101
101
|
iconDescription: triggerButtonIconDescription,
|
|
102
102
|
onClick: this.handleOpen,
|
|
103
103
|
ref: this.triggerButton
|
|
104
|
-
}, buttonTriggerText), /*#__PURE__*/
|
|
104
|
+
}, buttonTriggerText), /*#__PURE__*/React.createElement(Modal, _extends({
|
|
105
105
|
ref: this.modal,
|
|
106
106
|
primaryButtonText: primaryButtonText,
|
|
107
107
|
secondaryButtonText: secondaryButtonText
|
|
@@ -11,7 +11,7 @@ import cx from 'classnames';
|
|
|
11
11
|
import Downshift, { useCombobox, useMultipleSelection } from 'downshift';
|
|
12
12
|
import isEqual from 'react-fast-compare';
|
|
13
13
|
import PropTypes from 'prop-types';
|
|
14
|
-
import
|
|
14
|
+
import React, { forwardRef, useContext, useRef, useState, useLayoutEffect, useMemo, useEffect } from 'react';
|
|
15
15
|
import { defaultFilterItems } from '../ComboBox/tools/filter.js';
|
|
16
16
|
import { sortingPropTypes } from './MultiSelectPropTypes.js';
|
|
17
17
|
import ListBox from '../ListBox/index.js';
|
|
@@ -217,7 +217,7 @@ const FilterableMultiSelect = /*#__PURE__*/forwardRef(function FilterableMultiSe
|
|
|
217
217
|
[`${prefix}--text-input--empty`]: !inputValue,
|
|
218
218
|
[`${prefix}--text-input--light`]: light
|
|
219
219
|
});
|
|
220
|
-
const helper = helperText ? /*#__PURE__*/
|
|
220
|
+
const helper = helperText ? /*#__PURE__*/React.createElement("div", {
|
|
221
221
|
id: helperId,
|
|
222
222
|
className: helperClasses
|
|
223
223
|
}, helperText) : null;
|
|
@@ -425,9 +425,9 @@ const FilterableMultiSelect = /*#__PURE__*/forwardRef(function FilterableMultiSe
|
|
|
425
425
|
}
|
|
426
426
|
|
|
427
427
|
// AILabel always size `mini`
|
|
428
|
-
let normalizedDecorator = /*#__PURE__*/
|
|
428
|
+
let normalizedDecorator = /*#__PURE__*/React.isValidElement(slug ?? decorator) ? slug ?? decorator : null;
|
|
429
429
|
if (normalizedDecorator && normalizedDecorator['type']?.displayName === 'AILabel') {
|
|
430
|
-
normalizedDecorator = /*#__PURE__*/
|
|
430
|
+
normalizedDecorator = /*#__PURE__*/React.cloneElement(normalizedDecorator, {
|
|
431
431
|
size: 'mini'
|
|
432
432
|
});
|
|
433
433
|
}
|
|
@@ -543,18 +543,14 @@ const FilterableMultiSelect = /*#__PURE__*/forwardRef(function FilterableMultiSe
|
|
|
543
543
|
}
|
|
544
544
|
}
|
|
545
545
|
} : {};
|
|
546
|
-
const clearSelectionContent = controlledSelectedItems.length > 0 ?
|
|
547
|
-
|
|
548
|
-
}, clearSelectionDescription, " ", controlledSelectedItems.length, ",", clearSelectionText) : /*#__PURE__*/React__default.createElement("span", {
|
|
549
|
-
className: `${prefix}--visually-hidden`
|
|
550
|
-
}, clearSelectionDescription, ": 0");
|
|
551
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
546
|
+
const clearSelectionContent = controlledSelectedItems.length > 0 ? `${clearSelectionDescription} ${controlledSelectedItems.length}. ${clearSelectionText}.` : `${clearSelectionDescription} 0.`;
|
|
547
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
552
548
|
className: wrapperClasses
|
|
553
|
-
}, titleText ? /*#__PURE__*/
|
|
549
|
+
}, titleText ? /*#__PURE__*/React.createElement("label", _extends({
|
|
554
550
|
className: titleClasses
|
|
555
|
-
}, labelProps), titleText, /*#__PURE__*/
|
|
551
|
+
}, labelProps), titleText, /*#__PURE__*/React.createElement("span", {
|
|
556
552
|
className: `${prefix}--visually-hidden`
|
|
557
|
-
}, clearSelectionContent)) : null, /*#__PURE__*/
|
|
553
|
+
}, clearSelectionContent)) : null, /*#__PURE__*/React.createElement(ListBox, {
|
|
558
554
|
onFocus: isFluid ? handleFocus : undefined,
|
|
559
555
|
onBlur: isFluid ? handleFocus : undefined,
|
|
560
556
|
className: className,
|
|
@@ -568,10 +564,10 @@ const FilterableMultiSelect = /*#__PURE__*/forwardRef(function FilterableMultiSe
|
|
|
568
564
|
warnText: warnText,
|
|
569
565
|
isOpen: !readOnly && isOpen,
|
|
570
566
|
size: size$1
|
|
571
|
-
}, /*#__PURE__*/
|
|
567
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
572
568
|
className: `${prefix}--list-box__field`,
|
|
573
569
|
ref: autoAlign ? refs.setReference : null
|
|
574
|
-
}, controlledSelectedItems.length > 0 && /*#__PURE__*/
|
|
570
|
+
}, controlledSelectedItems.length > 0 && /*#__PURE__*/React.createElement(ListBoxSelection, {
|
|
575
571
|
readOnly: readOnly,
|
|
576
572
|
clearSelection: () => {
|
|
577
573
|
clearSelection();
|
|
@@ -582,17 +578,17 @@ const FilterableMultiSelect = /*#__PURE__*/forwardRef(function FilterableMultiSe
|
|
|
582
578
|
selectionCount: controlledSelectedItems.length,
|
|
583
579
|
translateWithId: translateWithId,
|
|
584
580
|
disabled: disabled
|
|
585
|
-
}), /*#__PURE__*/
|
|
581
|
+
}), /*#__PURE__*/React.createElement("input", _extends({
|
|
586
582
|
className: inputClasses
|
|
587
583
|
}, inputProps, {
|
|
588
584
|
ref: mergedRef
|
|
589
585
|
}, readOnlyEventHandlers, {
|
|
590
586
|
readOnly: readOnly
|
|
591
|
-
})), invalid && /*#__PURE__*/
|
|
587
|
+
})), invalid && /*#__PURE__*/React.createElement(WarningFilled, {
|
|
592
588
|
className: `${prefix}--list-box__invalid-icon`
|
|
593
|
-
}), showWarning && /*#__PURE__*/
|
|
589
|
+
}), showWarning && /*#__PURE__*/React.createElement(WarningAltFilled, {
|
|
594
590
|
className: `${prefix}--list-box__invalid-icon ${prefix}--list-box__invalid-icon--warning`
|
|
595
|
-
}), inputValue && /*#__PURE__*/
|
|
591
|
+
}), inputValue && /*#__PURE__*/React.createElement(ListBoxSelection, {
|
|
596
592
|
clearSelection: clearInputValue,
|
|
597
593
|
disabled: disabled,
|
|
598
594
|
translateWithId: translateWithId,
|
|
@@ -605,12 +601,12 @@ const FilterableMultiSelect = /*#__PURE__*/forwardRef(function FilterableMultiSe
|
|
|
605
601
|
// ListBoxSelection
|
|
606
602
|
event.stopPropagation();
|
|
607
603
|
}
|
|
608
|
-
}), /*#__PURE__*/
|
|
604
|
+
}), /*#__PURE__*/React.createElement(ListBoxTrigger, _extends({}, buttonProps, {
|
|
609
605
|
isOpen: isOpen,
|
|
610
606
|
translateWithId: translateWithId
|
|
611
|
-
}))), slug ? normalizedDecorator : decorator ? /*#__PURE__*/
|
|
607
|
+
}))), slug ? normalizedDecorator : decorator ? /*#__PURE__*/React.createElement("div", {
|
|
612
608
|
className: `${prefix}--list-box__inner-wrapper--decorator`
|
|
613
|
-
}, normalizedDecorator) : '', /*#__PURE__*/
|
|
609
|
+
}, normalizedDecorator) : '', /*#__PURE__*/React.createElement(ListBox.Menu, menuProps, isOpen ? sortedItems.map((item, index) => {
|
|
614
610
|
const isChecked = controlledSelectedItems.filter(selected => isEqual(selected, item)).length > 0;
|
|
615
611
|
const itemProps = getItemProps({
|
|
616
612
|
item,
|
|
@@ -628,21 +624,21 @@ const FilterableMultiSelect = /*#__PURE__*/forwardRef(function FilterableMultiSe
|
|
|
628
624
|
// eslint-disable-line @typescript-eslint/no-unused-vars
|
|
629
625
|
...modifiedItemProps
|
|
630
626
|
} = itemProps;
|
|
631
|
-
return /*#__PURE__*/
|
|
627
|
+
return /*#__PURE__*/React.createElement(ListBox.MenuItem, _extends({
|
|
632
628
|
key: itemProps.id,
|
|
633
629
|
"aria-label": itemText,
|
|
634
630
|
isActive: isChecked,
|
|
635
631
|
isHighlighted: highlightedIndex === index,
|
|
636
632
|
title: itemText,
|
|
637
633
|
disabled: disabled
|
|
638
|
-
}, modifiedItemProps), /*#__PURE__*/
|
|
634
|
+
}, modifiedItemProps), /*#__PURE__*/React.createElement("div", {
|
|
639
635
|
className: `${prefix}--checkbox-wrapper`
|
|
640
|
-
}, /*#__PURE__*/
|
|
636
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
641
637
|
title: useTitleInItem ? itemText : undefined,
|
|
642
638
|
className: `${prefix}--checkbox-label`,
|
|
643
639
|
"data-contained-checkbox-state": isChecked,
|
|
644
640
|
id: `${itemProps.id}-item`
|
|
645
|
-
}, ItemToElement ? /*#__PURE__*/
|
|
641
|
+
}, ItemToElement ? /*#__PURE__*/React.createElement(ItemToElement, _extends({
|
|
646
642
|
key: itemProps.id
|
|
647
643
|
}, item)) : itemText)));
|
|
648
644
|
}) : null)), !inline && !invalid && !warn ? helper : null);
|