@carbon/react 1.110.0-rc.0 → 1.111.0-rc.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 +994 -994
- package/es/components/AILabel/index.js +47 -0
- package/es/components/AISkeleton/AISkeletonIcon.js +6 -0
- package/es/components/AISkeleton/AISkeletonPlaceholder.js +6 -1
- package/es/components/AISkeleton/AISkeletonText.js +15 -0
- package/es/components/Accordion/Accordion.Skeleton.js +15 -0
- package/es/components/Accordion/Accordion.js +22 -0
- package/es/components/Accordion/AccordionItem.js +33 -0
- package/es/components/AspectRatio/AspectRatio.js +19 -0
- package/es/components/BadgeIndicator/index.js +9 -0
- package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +12 -0
- package/es/components/Breadcrumb/Breadcrumb.js +16 -0
- package/es/components/Breadcrumb/BreadcrumbItem.js +12 -0
- package/es/components/Button/Button.Skeleton.js +17 -0
- package/es/components/Button/Button.js +96 -0
- package/es/components/ButtonSet/ButtonSet.js +14 -0
- package/es/components/ChatButton/ChatButton.Skeleton.js +6 -0
- package/es/components/ChatButton/ChatButton.js +24 -0
- package/es/components/Checkbox/Checkbox.Skeleton.js +5 -1
- package/es/components/Checkbox/Checkbox.js +57 -0
- package/es/components/CheckboxGroup/CheckboxGroup.js +40 -0
- package/es/components/ClassPrefix/index.js +3 -0
- package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +6 -0
- package/es/components/CodeSnippet/CodeSnippet.js +76 -0
- package/es/components/ComboBox/ComboBox.js +140 -0
- package/es/components/ComboButton/index.js +27 -0
- package/es/components/ComposedModal/ComposedModal.js +68 -0
- package/es/components/ComposedModal/ModalFooter.js +63 -0
- package/es/components/ComposedModal/ModalHeader.js +35 -0
- package/es/components/ContainedList/ContainedList.js +21 -0
- package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +18 -0
- package/es/components/ContentSwitcher/ContentSwitcher.js +25 -0
- package/es/components/Copy/Copy.js +29 -0
- package/es/components/CopyButton/CopyButton.js +26 -0
- package/es/components/DataTable/DataTable.js +59 -0
- package/es/components/DataTable/Table.js +27 -0
- package/es/components/DataTable/TableBatchAction.js +10 -0
- package/es/components/DataTable/TableBatchActions.js +24 -0
- package/es/components/DataTable/TableBody.js +3 -0
- package/es/components/DataTable/TableCell.js +15 -0
- package/es/components/DataTable/TableContainer.js +18 -0
- package/es/components/DataTable/TableDecoratorRow.js +6 -0
- package/es/components/DataTable/TableExpandHeader.js +31 -0
- package/es/components/DataTable/TableExpandRow.js +29 -0
- package/es/components/DataTable/TableExpandedRow.js +9 -0
- package/es/components/DataTable/TableHeader.js +35 -0
- package/es/components/DataTable/TableRow.js +21 -0
- package/es/components/DataTable/TableSelectAll.js +28 -0
- package/es/components/DataTable/TableSelectRow.js +31 -0
- package/es/components/DataTable/TableSlugRow.js +6 -0
- package/es/components/DataTable/TableToolbar.js +15 -0
- package/es/components/DataTable/TableToolbarMenu.js +15 -0
- package/es/components/DataTable/TableToolbarSearch.js +58 -0
- package/es/components/DataTableSkeleton/DataTableSkeleton.js +24 -0
- package/es/components/DatePicker/DatePicker.Skeleton.js +12 -0
- package/es/components/DatePicker/DatePicker.js +88 -0
- package/es/components/DatePickerInput/DatePickerInput.js +79 -0
- package/es/components/Dialog/Dialog.js +130 -3
- package/es/components/Dropdown/Dropdown.Skeleton.js +9 -0
- package/es/components/Dropdown/Dropdown.js +109 -0
- package/es/components/FeatureFlags/index.js +3 -0
- package/es/components/FileUploader/FileUploader.Skeleton.js +5 -1
- package/es/components/FileUploader/FileUploader.js +57 -0
- package/es/components/FileUploader/FileUploaderButton.js +47 -0
- package/es/components/FileUploader/FileUploaderDropContainer.js +42 -0
- package/es/components/FileUploader/FileUploaderItem.js +29 -0
- package/es/components/FileUploader/Filename.js +18 -0
- package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +5 -1
- package/es/components/FluidComboBox/FluidComboBox.js +61 -0
- package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +6 -0
- package/es/components/FluidDatePicker/FluidDatePicker.js +21 -0
- package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +5 -1
- package/es/components/FluidDropdown/FluidDropdown.js +65 -0
- package/es/components/FluidForm/FluidForm.js +6 -0
- package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +5 -1
- package/es/components/FluidMultiSelect/FluidMultiSelect.js +128 -0
- package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +5 -1
- package/es/components/FluidNumberInput/FluidNumberInput.js +95 -0
- package/es/components/FluidSearch/FluidSearch.Skeleton.js +5 -1
- package/es/components/FluidSearch/FluidSearch.js +45 -0
- package/es/components/FluidSelect/FluidSelect.Skeleton.js +5 -1
- package/es/components/FluidSelect/FluidSelect.js +38 -0
- package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +5 -1
- package/es/components/FluidTextArea/FluidTextArea.js +67 -0
- package/es/components/FluidTextInput/FluidPasswordInput.js +58 -0
- package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +5 -1
- package/es/components/FluidTextInput/FluidTextInput.js +54 -0
- package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +6 -0
- package/es/components/FluidTimePicker/FluidTimePicker.js +28 -0
- package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +26 -0
- package/es/components/Form/Form.js +6 -0
- package/es/components/FormGroup/FormGroup.js +25 -0
- package/es/components/FormItem/FormItem.js +6 -0
- package/es/components/FormLabel/FormLabel.js +9 -0
- package/es/components/Grid/CSSGrid.js +43 -0
- package/es/components/Grid/Column.js +86 -0
- package/es/components/Grid/ColumnHang.js +9 -0
- package/es/components/Grid/FlexGrid.js +24 -0
- package/es/components/Grid/Grid.js +27 -0
- package/es/components/Grid/GridContext.js +10 -0
- package/es/components/Grid/Row.js +17 -0
- package/es/components/Heading/index.js +19 -0
- package/es/components/Icon/Icon.Skeleton.js +5 -1
- package/es/components/IconButton/index.js +68 -0
- package/es/components/IconIndicator/index.js +12 -0
- package/es/components/IdPrefix/index.js +3 -0
- package/es/components/InlineCheckbox/InlineCheckbox.js +34 -0
- package/es/components/InlineLoading/InlineLoading.js +19 -0
- package/es/components/Layer/index.js +17 -0
- package/es/components/Layout/index.js +34 -0
- package/es/components/LayoutDirection/LayoutDirection.js +10 -0
- package/es/components/Link/Link.d.ts +1 -1
- package/es/components/Link/Link.js +28 -0
- package/es/components/ListBox/ListBox.js +41 -0
- package/es/components/ListBox/ListBoxField.js +17 -0
- package/es/components/ListBox/ListBoxMenu.js +6 -0
- package/es/components/ListBox/ListBoxMenuIcon.js +7 -0
- package/es/components/ListBox/ListBoxMenuItem.js +16 -0
- package/es/components/ListBox/ListBoxSelection.d.ts +1 -1
- package/es/components/ListBox/ListBoxSelection.js +32 -9
- package/es/components/ListBox/next/ListBoxSelection.d.ts +1 -1
- package/es/components/ListBox/next/ListBoxSelection.js +41 -6
- package/es/components/ListBox/next/ListBoxTrigger.js +7 -0
- package/es/components/ListItem/ListItem.js +6 -0
- package/es/components/Loading/Loading.js +18 -0
- package/es/components/Menu/Menu.js +52 -0
- package/es/components/Menu/MenuContext.d.ts +11 -12
- package/es/components/Menu/MenuItem.js +77 -1
- package/es/components/MenuButton/index.js +33 -0
- package/es/components/Modal/Modal.js +115 -1
- package/es/components/MultiSelect/FilterableMultiSelect.js +128 -0
- package/es/components/MultiSelect/MultiSelect.js +149 -1
- package/es/components/MultiSelect/MultiSelectPropTypes.js +25 -0
- package/es/components/Notification/Notification.js +207 -0
- package/es/components/NumberInput/NumberInput.Skeleton.js +9 -0
- package/es/components/NumberInput/NumberInput.js +138 -0
- package/es/components/OrderedList/OrderedList.js +15 -0
- package/es/components/OverflowMenu/OverflowMenu.js +76 -0
- package/es/components/OverflowMenu/next/index.js +30 -0
- package/es/components/OverflowMenuItem/OverflowMenuItem.js +36 -0
- package/es/components/PageHeader/PageHeader.js +48 -0
- package/es/components/Pagination/Pagination.Skeleton.js +5 -1
- package/es/components/Pagination/Pagination.d.ts +8 -0
- package/es/components/Pagination/Pagination.js +85 -3
- package/es/components/Pagination/experimental/PageSelector.js +8 -0
- package/es/components/Pagination/experimental/Pagination.js +54 -0
- package/es/components/PaginationNav/PaginationNav.js +80 -0
- package/es/components/Popover/index.js +58 -0
- package/es/components/ProgressBar/ProgressBar.js +27 -0
- package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +6 -0
- package/es/components/ProgressIndicator/ProgressIndicator.js +58 -0
- package/es/components/RadioButton/RadioButton.Skeleton.js +5 -1
- package/es/components/RadioButton/RadioButton.js +63 -0
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +59 -0
- package/es/components/RadioTile/RadioTile.js +45 -0
- package/es/components/Search/Search.Skeleton.js +9 -0
- package/es/components/Search/Search.js +66 -1
- package/es/components/Select/Select.Skeleton.js +6 -0
- package/es/components/Select/Select.js +82 -19
- package/es/components/SelectItem/SelectItem.js +15 -0
- package/es/components/SelectItemGroup/SelectItemGroup.js +12 -0
- package/es/components/ShapeIndicator/index.js +12 -0
- package/es/components/SkeletonIcon/SkeletonIcon.js +5 -1
- package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +5 -1
- package/es/components/SkeletonText/SkeletonText.js +15 -0
- package/es/components/Slider/Slider.Skeleton.js +15 -0
- package/es/components/Slider/Slider.js +104 -0
- package/es/components/Stack/Stack.js +20 -0
- package/es/components/StructuredList/StructuredList.Skeleton.js +6 -0
- package/es/components/StructuredList/StructuredList.js +97 -0
- package/es/components/Switch/IconSwitch.js +47 -0
- package/es/components/Switch/Switch.js +30 -0
- package/es/components/TabContent/TabContent.js +9 -0
- package/es/components/Tabs/Tabs.Skeleton.js +6 -0
- package/es/components/Tabs/Tabs.d.ts +15 -1
- package/es/components/Tabs/Tabs.js +185 -5
- package/es/components/Tag/DismissibleTag.js +43 -0
- package/es/components/Tag/OperationalTag.js +22 -0
- package/es/components/Tag/SelectableTag.js +31 -0
- package/es/components/Tag/Tag.Skeleton.js +7 -0
- package/es/components/Tag/Tag.js +41 -0
- package/es/components/Text/Text.js +10 -0
- package/es/components/Text/TextDirection.js +11 -0
- package/es/components/TextArea/TextArea.Skeleton.js +6 -0
- package/es/components/TextArea/TextArea.js +80 -0
- package/es/components/TextInput/ControlledPasswordInput.js +64 -0
- package/es/components/TextInput/PasswordInput.js +83 -0
- package/es/components/TextInput/TextInput.Skeleton.js +9 -0
- package/es/components/TextInput/TextInput.js +76 -0
- package/es/components/Theme/index.js +21 -0
- package/es/components/Tile/Tile.js +157 -2
- package/es/components/TileGroup/TileGroup.js +28 -0
- package/es/components/TimePicker/TimePicker.js +67 -0
- package/es/components/TimePickerSelect/TimePickerSelect.js +15 -0
- package/es/components/Toggle/Toggle.js +46 -0
- package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +11 -0
- package/es/components/Toggletip/index.js +38 -0
- package/es/components/Tooltip/DefinitionTooltip.js +36 -0
- package/es/components/Tooltip/Tooltip.js +46 -0
- package/es/components/TreeView/TreeNode.js +64 -0
- package/es/components/TreeView/TreeView.js +32 -0
- package/es/components/UIShell/Content.js +9 -0
- package/es/components/UIShell/Header.js +9 -0
- package/es/components/UIShell/HeaderContainer.js +9 -0
- package/es/components/UIShell/HeaderGlobalAction.js +28 -0
- package/es/components/UIShell/HeaderMenu.js +37 -0
- package/es/components/UIShell/HeaderMenuButton.js +17 -0
- package/es/components/UIShell/HeaderMenuItem.js +25 -0
- package/es/components/UIShell/HeaderName.js +18 -0
- package/es/components/UIShell/HeaderNavigation.js +10 -0
- package/es/components/UIShell/HeaderPanel.js +19 -0
- package/es/components/UIShell/HeaderSideNavItems.js +11 -0
- package/es/components/UIShell/Link.js +14 -0
- package/es/components/UIShell/SideNav.js +53 -0
- package/es/components/UIShell/SideNavDetails.js +10 -0
- package/es/components/UIShell/SideNavDivider.js +5 -1
- package/es/components/UIShell/SideNavFooter.js +11 -0
- package/es/components/UIShell/SideNavHeader.js +13 -0
- package/es/components/UIShell/SideNavIcon.js +10 -0
- package/es/components/UIShell/SideNavItem.js +10 -0
- package/es/components/UIShell/SideNavItems.js +11 -0
- package/es/components/UIShell/SideNavLink.js +22 -0
- package/es/components/UIShell/SideNavLinkText.js +6 -0
- package/es/components/UIShell/SideNavMenu.js +31 -0
- package/es/components/UIShell/SideNavMenuItem.js +17 -0
- package/es/components/UIShell/SideNavSwitcher.js +16 -0
- package/es/components/UIShell/SkipToContent.js +11 -0
- package/es/components/UIShell/Switcher.js +12 -0
- package/es/components/UIShell/SwitcherDivider.js +5 -1
- package/es/components/UIShell/SwitcherItem.js +30 -0
- package/es/components/UnorderedList/UnorderedList.js +12 -0
- package/es/index.d.ts +1 -0
- package/es/internal/OptimizedResize.js +6 -2
- package/es/internal/usePresence.js +6 -0
- package/es/internal/warnAboutDeprecatedReactVersion.d.ts +7 -0
- package/lib/components/AILabel/index.js +47 -0
- package/lib/components/AISkeleton/AISkeletonIcon.js +6 -0
- package/lib/components/AISkeleton/AISkeletonPlaceholder.js +6 -1
- package/lib/components/AISkeleton/AISkeletonText.js +15 -0
- package/lib/components/Accordion/Accordion.Skeleton.js +15 -0
- package/lib/components/Accordion/Accordion.js +22 -0
- package/lib/components/Accordion/AccordionItem.js +33 -0
- package/lib/components/AspectRatio/AspectRatio.js +19 -0
- package/lib/components/BadgeIndicator/index.js +9 -0
- package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +12 -0
- package/lib/components/Breadcrumb/Breadcrumb.js +16 -0
- package/lib/components/Breadcrumb/BreadcrumbItem.js +12 -0
- package/lib/components/Button/Button.Skeleton.js +17 -0
- package/lib/components/Button/Button.js +96 -0
- package/lib/components/ButtonSet/ButtonSet.js +14 -0
- package/lib/components/ChatButton/ChatButton.Skeleton.js +6 -0
- package/lib/components/ChatButton/ChatButton.js +24 -0
- package/lib/components/Checkbox/Checkbox.Skeleton.js +5 -1
- package/lib/components/Checkbox/Checkbox.js +57 -0
- package/lib/components/CheckboxGroup/CheckboxGroup.js +40 -0
- package/lib/components/ClassPrefix/index.js +3 -0
- package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +6 -0
- package/lib/components/CodeSnippet/CodeSnippet.js +76 -0
- package/lib/components/ComboBox/ComboBox.js +140 -0
- package/lib/components/ComboButton/index.js +27 -0
- package/lib/components/ComposedModal/ComposedModal.js +68 -0
- package/lib/components/ComposedModal/ComposedModalContext.js +0 -1
- package/lib/components/ComposedModal/ModalFooter.js +63 -0
- package/lib/components/ComposedModal/ModalHeader.js +35 -0
- package/lib/components/ComposedModal/useComposedModalState.js +0 -1
- package/lib/components/ContainedList/ContainedList.js +21 -0
- package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +18 -0
- package/lib/components/ContainedList/index.js +2 -2
- package/lib/components/ContentSwitcher/ContentSwitcher.js +25 -0
- package/lib/components/ContextMenu/useContextMenu.js +0 -1
- package/lib/components/Copy/Copy.js +29 -0
- package/lib/components/CopyButton/CopyButton.js +26 -0
- package/lib/components/DataTable/DataTable.js +59 -0
- package/lib/components/DataTable/Table.js +27 -0
- package/lib/components/DataTable/TableBatchAction.js +10 -0
- package/lib/components/DataTable/TableBatchActions.js +24 -0
- package/lib/components/DataTable/TableBody.js +3 -0
- package/lib/components/DataTable/TableCell.js +15 -0
- package/lib/components/DataTable/TableContainer.js +18 -0
- package/lib/components/DataTable/TableContext.js +0 -1
- package/lib/components/DataTable/TableDecoratorRow.js +6 -0
- package/lib/components/DataTable/TableExpandHeader.js +31 -0
- package/lib/components/DataTable/TableExpandRow.js +29 -0
- package/lib/components/DataTable/TableExpandedRow.js +9 -0
- package/lib/components/DataTable/TableHeader.js +35 -0
- package/lib/components/DataTable/TableRow.js +21 -0
- package/lib/components/DataTable/TableSelectAll.js +28 -0
- package/lib/components/DataTable/TableSelectRow.js +31 -0
- package/lib/components/DataTable/TableSlugRow.js +6 -0
- package/lib/components/DataTable/TableToolbar.js +15 -0
- package/lib/components/DataTable/TableToolbarMenu.js +15 -0
- package/lib/components/DataTable/TableToolbarSearch.js +58 -0
- package/lib/components/DataTableSkeleton/DataTableSkeleton.js +24 -0
- package/lib/components/DatePicker/DatePicker.Skeleton.js +12 -0
- package/lib/components/DatePicker/DatePicker.js +88 -0
- package/lib/components/DatePickerInput/DatePickerInput.js +79 -0
- package/lib/components/Dialog/Dialog.js +130 -3
- package/lib/components/Dropdown/Dropdown.Skeleton.js +9 -0
- package/lib/components/Dropdown/Dropdown.js +109 -0
- package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
- package/lib/components/FeatureFlags/index.js +3 -0
- package/lib/components/FileUploader/FileUploader.Skeleton.js +5 -1
- package/lib/components/FileUploader/FileUploader.js +57 -0
- package/lib/components/FileUploader/FileUploaderButton.js +47 -0
- package/lib/components/FileUploader/FileUploaderDropContainer.js +42 -0
- package/lib/components/FileUploader/FileUploaderItem.js +29 -0
- package/lib/components/FileUploader/Filename.js +18 -0
- package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +5 -1
- package/lib/components/FluidComboBox/FluidComboBox.js +61 -0
- package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +6 -0
- package/lib/components/FluidDatePicker/FluidDatePicker.js +21 -0
- package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +5 -1
- package/lib/components/FluidDropdown/FluidDropdown.js +65 -0
- package/lib/components/FluidForm/FluidForm.js +6 -0
- package/lib/components/FluidForm/FormContext.js +0 -1
- package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +5 -1
- package/lib/components/FluidMultiSelect/FluidMultiSelect.js +128 -0
- package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +5 -1
- package/lib/components/FluidNumberInput/FluidNumberInput.js +95 -0
- package/lib/components/FluidSearch/FluidSearch.Skeleton.js +5 -1
- package/lib/components/FluidSearch/FluidSearch.js +45 -0
- package/lib/components/FluidSelect/FluidSelect.Skeleton.js +5 -1
- package/lib/components/FluidSelect/FluidSelect.js +38 -0
- package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +5 -1
- package/lib/components/FluidTextArea/FluidTextArea.js +67 -0
- package/lib/components/FluidTextInput/FluidPasswordInput.js +58 -0
- package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +5 -1
- package/lib/components/FluidTextInput/FluidTextInput.js +54 -0
- package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +6 -0
- package/lib/components/FluidTimePicker/FluidTimePicker.js +28 -0
- package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +26 -0
- package/lib/components/Form/Form.js +6 -0
- package/lib/components/FormGroup/FormGroup.js +25 -0
- package/lib/components/FormItem/FormItem.js +6 -0
- package/lib/components/FormLabel/FormLabel.js +9 -0
- package/lib/components/Grid/CSSGrid.js +43 -0
- package/lib/components/Grid/Column.js +86 -0
- package/lib/components/Grid/ColumnHang.js +9 -0
- package/lib/components/Grid/FlexGrid.js +24 -0
- package/lib/components/Grid/Grid.js +27 -0
- package/lib/components/Grid/GridContext.js +10 -0
- package/lib/components/Grid/Row.js +17 -0
- package/lib/components/Heading/index.js +19 -0
- package/lib/components/Icon/Icon.Skeleton.js +5 -1
- package/lib/components/IconButton/index.js +68 -0
- package/lib/components/IconIndicator/index.js +12 -0
- package/lib/components/IdPrefix/index.js +3 -0
- package/lib/components/InlineCheckbox/InlineCheckbox.js +34 -0
- package/lib/components/InlineLoading/InlineLoading.js +19 -0
- package/lib/components/Layer/index.js +17 -0
- package/lib/components/Layout/index.js +34 -0
- package/lib/components/LayoutDirection/LayoutDirection.js +10 -0
- package/lib/components/LayoutDirection/useLayoutDirection.js +0 -1
- package/lib/components/Link/Link.d.ts +1 -1
- package/lib/components/Link/Link.js +28 -0
- package/lib/components/ListBox/ListBox.js +41 -0
- package/lib/components/ListBox/ListBoxField.js +17 -0
- package/lib/components/ListBox/ListBoxMenu.js +6 -0
- package/lib/components/ListBox/ListBoxMenuIcon.js +7 -0
- package/lib/components/ListBox/ListBoxMenuItem.js +16 -0
- package/lib/components/ListBox/ListBoxSelection.d.ts +1 -1
- package/lib/components/ListBox/ListBoxSelection.js +32 -9
- package/lib/components/ListBox/next/ListBoxSelection.d.ts +1 -1
- package/lib/components/ListBox/next/ListBoxSelection.js +41 -6
- package/lib/components/ListBox/next/ListBoxTrigger.js +7 -0
- package/lib/components/ListItem/ListItem.js +6 -0
- package/lib/components/Loading/Loading.js +18 -0
- package/lib/components/Menu/Menu.js +52 -0
- package/lib/components/Menu/MenuContext.d.ts +11 -12
- package/lib/components/Menu/MenuContext.js +0 -1
- package/lib/components/Menu/MenuItem.js +77 -1
- package/lib/components/MenuButton/index.js +33 -0
- package/lib/components/Modal/Modal.js +115 -1
- package/lib/components/MultiSelect/FilterableMultiSelect.js +128 -0
- package/lib/components/MultiSelect/MultiSelect.js +148 -0
- package/lib/components/MultiSelect/MultiSelectPropTypes.js +25 -0
- package/lib/components/Notification/Notification.js +207 -0
- package/lib/components/NumberInput/NumberInput.Skeleton.js +9 -0
- package/lib/components/NumberInput/NumberInput.js +138 -0
- package/lib/components/OrderedList/OrderedList.js +15 -0
- package/lib/components/OverflowMenu/OverflowMenu.js +76 -0
- package/lib/components/OverflowMenu/next/index.js +30 -0
- package/lib/components/OverflowMenuItem/OverflowMenuItem.js +36 -0
- package/lib/components/PageHeader/PageHeader.js +48 -0
- package/lib/components/Pagination/Pagination.Skeleton.js +5 -1
- package/lib/components/Pagination/Pagination.d.ts +8 -0
- package/lib/components/Pagination/Pagination.js +85 -3
- package/lib/components/Pagination/experimental/PageSelector.js +8 -0
- package/lib/components/Pagination/experimental/Pagination.js +54 -0
- package/lib/components/PaginationNav/PaginationNav.js +80 -0
- package/lib/components/Popover/index.js +58 -0
- package/lib/components/ProgressBar/ProgressBar.js +27 -0
- package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +6 -0
- package/lib/components/ProgressIndicator/ProgressIndicator.js +58 -0
- package/lib/components/RadioButton/RadioButton.Skeleton.js +5 -1
- package/lib/components/RadioButton/RadioButton.js +63 -0
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +59 -0
- package/lib/components/RadioTile/RadioTile.js +45 -0
- package/lib/components/Search/Search.Skeleton.js +9 -0
- package/lib/components/Search/Search.js +66 -1
- package/lib/components/Select/Select.Skeleton.js +6 -0
- package/lib/components/Select/Select.js +82 -19
- package/lib/components/SelectItem/SelectItem.js +15 -0
- package/lib/components/SelectItemGroup/SelectItemGroup.js +12 -0
- package/lib/components/ShapeIndicator/index.js +12 -0
- package/lib/components/SkeletonIcon/SkeletonIcon.js +5 -1
- package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +5 -1
- package/lib/components/SkeletonText/SkeletonText.js +15 -0
- package/lib/components/Slider/Slider.Skeleton.js +15 -0
- package/lib/components/Slider/Slider.js +104 -0
- package/lib/components/Stack/Stack.js +20 -0
- package/lib/components/StructuredList/StructuredList.Skeleton.js +6 -0
- package/lib/components/StructuredList/StructuredList.js +97 -0
- package/lib/components/Switch/IconSwitch.js +47 -0
- package/lib/components/Switch/Switch.js +30 -0
- package/lib/components/TabContent/TabContent.js +9 -0
- package/lib/components/Tabs/Tabs.Skeleton.js +6 -0
- package/lib/components/Tabs/Tabs.d.ts +15 -1
- package/lib/components/Tabs/Tabs.js +185 -5
- package/lib/components/Tabs/usePressable.js +0 -1
- package/lib/components/Tag/DismissibleTag.js +43 -0
- package/lib/components/Tag/OperationalTag.js +22 -0
- package/lib/components/Tag/SelectableTag.js +31 -0
- package/lib/components/Tag/Tag.Skeleton.js +7 -0
- package/lib/components/Tag/Tag.js +41 -0
- package/lib/components/Text/Text.js +10 -0
- package/lib/components/Text/TextDirection.js +11 -0
- package/lib/components/Text/TextDirectionContext.js +0 -1
- package/lib/components/TextArea/TextArea.Skeleton.js +6 -0
- package/lib/components/TextArea/TextArea.js +80 -0
- package/lib/components/TextInput/ControlledPasswordInput.js +64 -0
- package/lib/components/TextInput/PasswordInput.js +83 -0
- package/lib/components/TextInput/TextInput.Skeleton.js +9 -0
- package/lib/components/TextInput/TextInput.js +76 -0
- package/lib/components/Theme/index.js +21 -0
- package/lib/components/Tile/Tile.js +157 -2
- package/lib/components/TileGroup/TileGroup.js +28 -0
- package/lib/components/TimePicker/TimePicker.js +67 -0
- package/lib/components/TimePickerSelect/TimePickerSelect.js +15 -0
- package/lib/components/Toggle/Toggle.js +46 -0
- package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +11 -0
- package/lib/components/Toggletip/index.js +38 -0
- package/lib/components/Tooltip/DefinitionTooltip.js +36 -0
- package/lib/components/Tooltip/Tooltip.js +46 -0
- package/lib/components/TreeView/TreeContext.js +0 -1
- package/lib/components/TreeView/TreeNode.js +64 -0
- package/lib/components/TreeView/TreeView.js +32 -0
- package/lib/components/UIShell/Content.js +9 -0
- package/lib/components/UIShell/Header.js +9 -0
- package/lib/components/UIShell/HeaderContainer.js +9 -0
- package/lib/components/UIShell/HeaderGlobalAction.js +28 -0
- package/lib/components/UIShell/HeaderMenu.js +37 -0
- package/lib/components/UIShell/HeaderMenuButton.js +17 -0
- package/lib/components/UIShell/HeaderMenuItem.js +25 -0
- package/lib/components/UIShell/HeaderName.js +18 -0
- package/lib/components/UIShell/HeaderNavigation.js +10 -0
- package/lib/components/UIShell/HeaderPanel.js +19 -0
- package/lib/components/UIShell/HeaderSideNavItems.js +11 -0
- package/lib/components/UIShell/Link.js +14 -0
- package/lib/components/UIShell/SideNav.js +53 -0
- package/lib/components/UIShell/SideNavDetails.js +10 -0
- package/lib/components/UIShell/SideNavDivider.js +5 -1
- package/lib/components/UIShell/SideNavFooter.js +11 -0
- package/lib/components/UIShell/SideNavHeader.js +13 -0
- package/lib/components/UIShell/SideNavIcon.js +10 -0
- package/lib/components/UIShell/SideNavItem.js +10 -0
- package/lib/components/UIShell/SideNavItems.js +11 -0
- package/lib/components/UIShell/SideNavLink.js +22 -0
- package/lib/components/UIShell/SideNavLinkText.js +6 -0
- package/lib/components/UIShell/SideNavMenu.js +31 -0
- package/lib/components/UIShell/SideNavMenuItem.js +17 -0
- package/lib/components/UIShell/SideNavSwitcher.js +16 -0
- package/lib/components/UIShell/SkipToContent.js +11 -0
- package/lib/components/UIShell/Switcher.js +12 -0
- package/lib/components/UIShell/SwitcherDivider.js +5 -1
- package/lib/components/UIShell/SwitcherItem.js +30 -0
- package/lib/components/UnorderedList/UnorderedList.js +12 -0
- package/lib/feature-flags.js +0 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +241 -241
- package/lib/internal/OptimizedResize.js +6 -2
- package/lib/internal/useAttachedMenu.js +0 -1
- package/lib/internal/useControllableState.js +0 -1
- package/lib/internal/useDelayedState.js +0 -1
- package/lib/internal/useEvent.js +0 -1
- package/lib/internal/useIsomorphicEffect.js +0 -1
- package/lib/internal/useMatchMedia.js +0 -1
- package/lib/internal/useMergedRefs.js +0 -1
- package/lib/internal/useNoInteractiveChildren.js +0 -1
- package/lib/internal/useOutsideClick.js +0 -1
- package/lib/internal/useOverflowItems.js +0 -1
- package/lib/internal/usePresence.js +6 -1
- package/lib/internal/usePresenceContext.js +0 -1
- package/lib/internal/usePreviousValue.js +0 -1
- package/lib/internal/useResizeObserver.js +0 -1
- package/lib/internal/useSavedCallback.js +0 -1
- package/lib/internal/utils.js +0 -1
- package/lib/internal/warnAboutDeprecatedReactVersion.d.ts +7 -0
- package/lib/internal/wrapFocus.js +0 -1
- package/package.json +9 -9
- package/telemetry.yml +12 -0
|
@@ -48,18 +48,35 @@ const Layer = React.forwardRef((props, ref) => {
|
|
|
48
48
|
});
|
|
49
49
|
Layer.displayName = "Layer";
|
|
50
50
|
Layer.propTypes = {
|
|
51
|
+
/**
|
|
52
|
+
* Specify a custom component or element to be rendered as the top-level
|
|
53
|
+
* element in the component
|
|
54
|
+
*/
|
|
51
55
|
as: PropTypes.oneOfType([
|
|
52
56
|
PropTypes.func,
|
|
53
57
|
PropTypes.string,
|
|
54
58
|
PropTypes.elementType
|
|
55
59
|
]),
|
|
60
|
+
/**
|
|
61
|
+
* Provide child elements to be rendered inside of `Theme`
|
|
62
|
+
*/
|
|
56
63
|
children: PropTypes.node,
|
|
64
|
+
/**
|
|
65
|
+
* Provide a custom class name to be used on the outermost element rendered by
|
|
66
|
+
* the component
|
|
67
|
+
*/
|
|
57
68
|
className: PropTypes.string,
|
|
69
|
+
/**
|
|
70
|
+
* Specify the layer level and override any existing levels based on hierarchy
|
|
71
|
+
*/
|
|
58
72
|
level: PropTypes.oneOf([
|
|
59
73
|
0,
|
|
60
74
|
1,
|
|
61
75
|
2
|
|
62
76
|
]),
|
|
77
|
+
/**
|
|
78
|
+
* Applies a css background-color set to $layer-background
|
|
79
|
+
*/
|
|
63
80
|
withBackground: PropTypes.bool
|
|
64
81
|
};
|
|
65
82
|
//#endregion
|
|
@@ -40,14 +40,31 @@ const Layout = React.forwardRef(({ as: BaseComponent = "div", children, classNam
|
|
|
40
40
|
});
|
|
41
41
|
});
|
|
42
42
|
Layout.propTypes = {
|
|
43
|
+
/**
|
|
44
|
+
* Specify a custom component or element to be rendered as the top-level
|
|
45
|
+
* element in the component
|
|
46
|
+
*/
|
|
43
47
|
as: PropTypes.oneOfType([
|
|
44
48
|
PropTypes.func,
|
|
45
49
|
PropTypes.string,
|
|
46
50
|
PropTypes.elementType
|
|
47
51
|
]),
|
|
52
|
+
/**
|
|
53
|
+
* Provide child elements to be rendered inside of `Layout`
|
|
54
|
+
*/
|
|
48
55
|
children: PropTypes.node,
|
|
56
|
+
/**
|
|
57
|
+
* Provide a custom class name to be used on the outermost element rendered by
|
|
58
|
+
* the component
|
|
59
|
+
*/
|
|
49
60
|
className: PropTypes.string,
|
|
61
|
+
/**
|
|
62
|
+
* Specify the desired density of components within this layout
|
|
63
|
+
*/
|
|
50
64
|
density: PropTypes.oneOf(densities),
|
|
65
|
+
/**
|
|
66
|
+
* Specify the desired size of components within this layout
|
|
67
|
+
*/
|
|
51
68
|
size: PropTypes.oneOf(sizes)
|
|
52
69
|
};
|
|
53
70
|
const LayoutConstraint = React.forwardRef(({ as: BaseComponent = "div", children, className, density, size, ...rest }, forwardRef) => {
|
|
@@ -68,18 +85,35 @@ const LayoutConstraint = React.forwardRef(({ as: BaseComponent = "div", children
|
|
|
68
85
|
});
|
|
69
86
|
});
|
|
70
87
|
LayoutConstraint.propTypes = {
|
|
88
|
+
/**
|
|
89
|
+
* Specify a custom component or element to be rendered as the top-level
|
|
90
|
+
* element in the component
|
|
91
|
+
*/
|
|
71
92
|
as: PropTypes.oneOfType([
|
|
72
93
|
PropTypes.func,
|
|
73
94
|
PropTypes.string,
|
|
74
95
|
PropTypes.elementType
|
|
75
96
|
]),
|
|
97
|
+
/**
|
|
98
|
+
* Provide child elements to be rendered inside of `LayoutConstraint`
|
|
99
|
+
*/
|
|
76
100
|
children: PropTypes.node,
|
|
101
|
+
/**
|
|
102
|
+
* Provide a custom class name to be used on the outermost element rendered by
|
|
103
|
+
* the component
|
|
104
|
+
*/
|
|
77
105
|
className: PropTypes.string,
|
|
106
|
+
/**
|
|
107
|
+
* Specify the desired layout density constraints of this element's children
|
|
108
|
+
*/
|
|
78
109
|
density: PropTypes.shape({
|
|
79
110
|
min: PropTypes.oneOf(densities),
|
|
80
111
|
default: PropTypes.oneOf(densities),
|
|
81
112
|
max: PropTypes.oneOf(densities)
|
|
82
113
|
}),
|
|
114
|
+
/**
|
|
115
|
+
* Specify the desired layout size constraints of this element's children
|
|
116
|
+
*/
|
|
83
117
|
size: PropTypes.shape({
|
|
84
118
|
min: PropTypes.oneOf(sizes),
|
|
85
119
|
default: PropTypes.oneOf(sizes),
|
|
@@ -30,12 +30,22 @@ function LayoutDirection({ as: BaseComponent = "div", children, dir, ...rest })
|
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
32
|
LayoutDirection.propTypes = {
|
|
33
|
+
/**
|
|
34
|
+
* Customize the element type used to render the outermost node
|
|
35
|
+
*/
|
|
33
36
|
as: PropTypes.oneOfType([
|
|
34
37
|
PropTypes.func,
|
|
35
38
|
PropTypes.string,
|
|
36
39
|
PropTypes.elementType
|
|
37
40
|
]),
|
|
41
|
+
/**
|
|
42
|
+
* Provide child elements or components to be rendered inside of this
|
|
43
|
+
* component
|
|
44
|
+
*/
|
|
38
45
|
children: PropTypes.node,
|
|
46
|
+
/**
|
|
47
|
+
* Specify the layout direction of this part of the page
|
|
48
|
+
*/
|
|
39
49
|
dir: PropTypes.oneOf(["ltr", "rtl"]).isRequired
|
|
40
50
|
};
|
|
41
51
|
//#endregion
|
|
@@ -43,7 +43,7 @@ export interface LinkBaseProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
|
43
43
|
*/
|
|
44
44
|
target?: HTMLAttributeAnchorTarget;
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* When enabled, applies Carbon's visited-link styles to browser-controlled :visited link state.
|
|
47
47
|
*/
|
|
48
48
|
visited?: boolean;
|
|
49
49
|
}
|
|
@@ -55,18 +55,46 @@ const Link = React.forwardRef(({ as: BaseComponent, children, className: customC
|
|
|
55
55
|
});
|
|
56
56
|
Link.displayName = "Link";
|
|
57
57
|
Link.propTypes = {
|
|
58
|
+
/**
|
|
59
|
+
* Provide a custom element or component to render the top-level node for the
|
|
60
|
+
* component.
|
|
61
|
+
*/
|
|
58
62
|
as: PropTypes.elementType,
|
|
63
|
+
/**
|
|
64
|
+
* Provide the content for the Link
|
|
65
|
+
*/
|
|
59
66
|
children: PropTypes.node,
|
|
67
|
+
/**
|
|
68
|
+
* Provide a custom className to be applied to the containing `<a>` node
|
|
69
|
+
*/
|
|
60
70
|
className: PropTypes.string,
|
|
71
|
+
/**
|
|
72
|
+
* Specify if the control should be disabled, or not
|
|
73
|
+
*/
|
|
61
74
|
disabled: PropTypes.bool,
|
|
75
|
+
/**
|
|
76
|
+
* Provide the `href` attribute for the `<a>` node
|
|
77
|
+
*/
|
|
62
78
|
href: PropTypes.string,
|
|
79
|
+
/**
|
|
80
|
+
* Specify whether you want the inline version of this control
|
|
81
|
+
*/
|
|
63
82
|
inline: PropTypes.bool,
|
|
83
|
+
/**
|
|
84
|
+
* A component used to render an icon.
|
|
85
|
+
*/
|
|
64
86
|
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
87
|
+
/**
|
|
88
|
+
* Specify the size of the Link. Currently supports either `sm`, `md` (default) or `lg` as an option.
|
|
89
|
+
*/
|
|
65
90
|
size: PropTypes.oneOf([
|
|
66
91
|
"sm",
|
|
67
92
|
"md",
|
|
68
93
|
"lg"
|
|
69
94
|
]),
|
|
95
|
+
/**
|
|
96
|
+
* When enabled, applies Carbon's visited-link styles to browser-controlled :visited link state.
|
|
97
|
+
*/
|
|
70
98
|
visited: PropTypes.bool
|
|
71
99
|
};
|
|
72
100
|
//#endregion
|
|
@@ -73,18 +73,59 @@ const ListBox = forwardRef((props, ref) => {
|
|
|
73
73
|
});
|
|
74
74
|
ListBox.displayName = "ListBox";
|
|
75
75
|
ListBox.propTypes = {
|
|
76
|
+
/**
|
|
77
|
+
* Provide the contents of your ListBox
|
|
78
|
+
*/
|
|
76
79
|
children: PropTypes.node,
|
|
80
|
+
/**
|
|
81
|
+
* Specify a class name to be applied on the containing list box node
|
|
82
|
+
*/
|
|
77
83
|
className: PropTypes.string,
|
|
84
|
+
/**
|
|
85
|
+
* Specify whether the ListBox is currently disabled
|
|
86
|
+
*/
|
|
78
87
|
disabled: PropTypes.bool,
|
|
88
|
+
/**
|
|
89
|
+
* Specify whether the control is currently invalid
|
|
90
|
+
*/
|
|
79
91
|
invalid: PropTypes.bool,
|
|
92
|
+
/**
|
|
93
|
+
* Specify the text to be displayed when the control is invalid
|
|
94
|
+
*/
|
|
80
95
|
invalidText: PropTypes.node,
|
|
96
|
+
/**
|
|
97
|
+
* Specify the id to be applied to the element containing the invalid text
|
|
98
|
+
*/
|
|
81
99
|
invalidTextId: PropTypes.string,
|
|
100
|
+
/**
|
|
101
|
+
* Specify if the control should render open
|
|
102
|
+
*/
|
|
82
103
|
isOpen: PropTypes.bool,
|
|
104
|
+
/**
|
|
105
|
+
* `true` to use the light version. For use on $ui-01 backgrounds only.
|
|
106
|
+
* Don't use this to make tile background color same as container background color.
|
|
107
|
+
*/
|
|
83
108
|
light: deprecate(PropTypes.bool, "The `light` prop for `ListBox` has been deprecated in favor of the new `Layer` component. It will be removed in the next major release."),
|
|
109
|
+
/**
|
|
110
|
+
* Specify the size of the ListBox. Currently supports either `xs`, `sm`, `md` or `lg` as an option.
|
|
111
|
+
*/
|
|
84
112
|
size: ListBoxSizePropType,
|
|
113
|
+
/**
|
|
114
|
+
* Specify the "type" of the ListBox. Currently supports either `default` or
|
|
115
|
+
* `inline` as an option.
|
|
116
|
+
*/
|
|
85
117
|
type: ListBoxTypePropType,
|
|
118
|
+
/**
|
|
119
|
+
* Specify whether the control is currently in warning state
|
|
120
|
+
*/
|
|
86
121
|
warn: PropTypes.bool,
|
|
122
|
+
/**
|
|
123
|
+
* Provide the text that is displayed when the control is in warning state
|
|
124
|
+
*/
|
|
87
125
|
warnText: PropTypes.string,
|
|
126
|
+
/**
|
|
127
|
+
* Specify the id to be applied to the element containing the warn text
|
|
128
|
+
*/
|
|
88
129
|
warnTextId: PropTypes.string
|
|
89
130
|
};
|
|
90
131
|
//#endregion
|
|
@@ -24,10 +24,27 @@ function ListBoxField({ children, disabled, tabIndex, ...rest }) {
|
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
ListBoxField.propTypes = {
|
|
27
|
+
/**
|
|
28
|
+
* Typically set by `getToggleButtonProps`, this should specify whether the
|
|
29
|
+
* field has a popup.
|
|
30
|
+
*/
|
|
27
31
|
"aria-haspopup": PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
|
|
32
|
+
/**
|
|
33
|
+
* Provide the contents of your ListBoxField
|
|
34
|
+
*/
|
|
28
35
|
children: PropTypes.node,
|
|
36
|
+
/**
|
|
37
|
+
* Specify if the parent <ListBox> is disabled
|
|
38
|
+
*/
|
|
29
39
|
disabled: PropTypes.bool,
|
|
40
|
+
/**
|
|
41
|
+
* The role for the component, should be set by `getToggleButtonProps` coming
|
|
42
|
+
* from Downshift
|
|
43
|
+
*/
|
|
30
44
|
role: PropTypes.string,
|
|
45
|
+
/**
|
|
46
|
+
* Optional prop to specify the tabIndex of the <ListBox> trigger button
|
|
47
|
+
*/
|
|
31
48
|
tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
|
|
32
49
|
};
|
|
33
50
|
//#endregion
|
|
@@ -34,12 +34,18 @@ const ListBoxMenu = forwardRef(({ children, id, ...rest }, ref) => {
|
|
|
34
34
|
});
|
|
35
35
|
ListBoxMenu.displayName = "ListBoxMenu";
|
|
36
36
|
ListBoxMenu.propTypes = {
|
|
37
|
+
/**
|
|
38
|
+
* Provide the contents of your ListBoxMenu
|
|
39
|
+
*/
|
|
37
40
|
children: PropTypes.oneOfType([
|
|
38
41
|
PropTypes.node,
|
|
39
42
|
PropTypes.arrayOf(PropTypes.oneOf([ListBoxMenuItem])),
|
|
40
43
|
PropTypes.shape({ type: PropTypes.oneOf([ListBoxMenuItem]) }),
|
|
41
44
|
PropTypes.bool
|
|
42
45
|
]),
|
|
46
|
+
/**
|
|
47
|
+
* Specify a custom `id`
|
|
48
|
+
*/
|
|
43
49
|
id: PropTypes.string.isRequired
|
|
44
50
|
};
|
|
45
51
|
//#endregion
|
|
@@ -47,7 +47,14 @@ const ListBoxMenuIcon = ({ isOpen, translateWithId: t = defaultTranslateWithId }
|
|
|
47
47
|
});
|
|
48
48
|
};
|
|
49
49
|
ListBoxMenuIcon.propTypes = {
|
|
50
|
+
/**
|
|
51
|
+
* Specify whether the menu is currently open, which will influence the
|
|
52
|
+
* direction of the menu icon
|
|
53
|
+
*/
|
|
50
54
|
isOpen: PropTypes.bool.isRequired,
|
|
55
|
+
/**
|
|
56
|
+
* Translates component strings using your i18n tool.
|
|
57
|
+
*/
|
|
51
58
|
translateWithId: PropTypes.func
|
|
52
59
|
};
|
|
53
60
|
//#endregion
|
|
@@ -69,10 +69,26 @@ const ListBoxMenuItem = forwardRef(({ children, isActive = false, isHighlighted
|
|
|
69
69
|
});
|
|
70
70
|
ListBoxMenuItem.displayName = "ListBoxMenuItem";
|
|
71
71
|
ListBoxMenuItem.propTypes = {
|
|
72
|
+
/**
|
|
73
|
+
* Specify any children nodes that should be rendered inside of the ListBox
|
|
74
|
+
* Menu Item
|
|
75
|
+
*/
|
|
72
76
|
children: PropTypes.node,
|
|
77
|
+
/**
|
|
78
|
+
* Specify if the item should be disabled
|
|
79
|
+
*/
|
|
73
80
|
disabled: PropTypes.bool,
|
|
81
|
+
/**
|
|
82
|
+
* Specify whether the current menu item is "active".
|
|
83
|
+
*/
|
|
74
84
|
isActive: PropTypes.bool,
|
|
85
|
+
/**
|
|
86
|
+
* Specify whether the current menu item is "highlighted".
|
|
87
|
+
*/
|
|
75
88
|
isHighlighted: PropTypes.bool,
|
|
89
|
+
/**
|
|
90
|
+
* Provide an optional tooltip for the ListBoxMenuItem
|
|
91
|
+
*/
|
|
76
92
|
title: PropTypes.string
|
|
77
93
|
};
|
|
78
94
|
//#endregion
|
|
@@ -13,7 +13,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
13
13
|
import { Close } from "@carbon/icons-react";
|
|
14
14
|
//#region src/components/ListBox/ListBoxSelection.tsx
|
|
15
15
|
/**
|
|
16
|
-
* Copyright IBM Corp. 2016,
|
|
16
|
+
* Copyright IBM Corp. 2016, 2026
|
|
17
17
|
*
|
|
18
18
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
19
19
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -23,7 +23,7 @@ const translationIds = {
|
|
|
23
23
|
"clear.selection": "clear.selection"
|
|
24
24
|
};
|
|
25
25
|
const defaultTranslations = {
|
|
26
|
-
[translationIds["clear.all"]]: "Clear
|
|
26
|
+
[translationIds["clear.all"]]: "Clear selected items",
|
|
27
27
|
[translationIds["clear.selection"]]: "Clear selected item"
|
|
28
28
|
};
|
|
29
29
|
const defaultTranslateWithId = (messageId) => {
|
|
@@ -36,9 +36,11 @@ const defaultTranslateWithId = (messageId) => {
|
|
|
36
36
|
*/
|
|
37
37
|
const ListBoxSelection = ({ clearSelection, selectionCount, translateWithId: t = defaultTranslateWithId, disabled, onClearSelection, readOnly }) => {
|
|
38
38
|
const prefix = usePrefix();
|
|
39
|
+
const hasSelectionCount = (selectionCount ?? 0) > 0;
|
|
40
|
+
const hasMultipleSelections = (selectionCount ?? 0) > 1;
|
|
39
41
|
const className = classNames(`${prefix}--list-box__selection`, {
|
|
40
|
-
[`${prefix}--tag--filter`]:
|
|
41
|
-
[`${prefix}--list-box__selection--multi`]:
|
|
42
|
+
[`${prefix}--tag--filter`]: hasSelectionCount,
|
|
43
|
+
[`${prefix}--list-box__selection--multi`]: hasSelectionCount
|
|
42
44
|
});
|
|
43
45
|
const handleOnClick = (event) => {
|
|
44
46
|
event.stopPropagation();
|
|
@@ -46,9 +48,9 @@ const ListBoxSelection = ({ clearSelection, selectionCount, translateWithId: t =
|
|
|
46
48
|
clearSelection(event);
|
|
47
49
|
if (onClearSelection) onClearSelection(event);
|
|
48
50
|
};
|
|
49
|
-
const description =
|
|
51
|
+
const description = hasMultipleSelections ? t("clear.all") : t("clear.selection");
|
|
50
52
|
const tagClasses = classNames(`${prefix}--tag`, `${prefix}--tag--filter`, `${prefix}--tag--high-contrast`, { [`${prefix}--tag--disabled`]: disabled });
|
|
51
|
-
return
|
|
53
|
+
return hasSelectionCount ? /* @__PURE__ */ jsxs("div", {
|
|
52
54
|
className: tagClasses,
|
|
53
55
|
children: [/* @__PURE__ */ jsx("span", {
|
|
54
56
|
className: `${prefix}--tag__label`,
|
|
@@ -59,27 +61,48 @@ const ListBoxSelection = ({ clearSelection, selectionCount, translateWithId: t =
|
|
|
59
61
|
tabIndex: -1,
|
|
60
62
|
className: `${prefix}--tag__close-icon`,
|
|
61
63
|
onClick: handleOnClick,
|
|
62
|
-
"aria-label":
|
|
64
|
+
"aria-label": description,
|
|
63
65
|
title: description,
|
|
64
66
|
"aria-disabled": readOnly ? true : void 0,
|
|
65
67
|
children: /* @__PURE__ */ jsx(Close, {})
|
|
66
68
|
})]
|
|
67
|
-
}) : /* @__PURE__ */
|
|
69
|
+
}) : /* @__PURE__ */ jsx("div", {
|
|
68
70
|
role: "button",
|
|
69
71
|
className,
|
|
70
72
|
tabIndex: -1,
|
|
71
73
|
onClick: handleOnClick,
|
|
72
74
|
"aria-label": description,
|
|
73
75
|
title: description,
|
|
74
|
-
children:
|
|
76
|
+
children: /* @__PURE__ */ jsx(Close, {})
|
|
75
77
|
});
|
|
76
78
|
};
|
|
77
79
|
ListBoxSelection.propTypes = {
|
|
80
|
+
/**
|
|
81
|
+
* Specify a function to be invoked when a user interacts with the clear
|
|
82
|
+
* selection element.
|
|
83
|
+
*/
|
|
78
84
|
clearSelection: PropTypes.func.isRequired,
|
|
85
|
+
/**
|
|
86
|
+
* Specify whether or not the clear selection element should be disabled
|
|
87
|
+
*/
|
|
79
88
|
disabled: PropTypes.bool,
|
|
89
|
+
/**
|
|
90
|
+
* Specify an optional `onClearSelection` handler that is called when the underlying
|
|
91
|
+
* element is cleared
|
|
92
|
+
*/
|
|
80
93
|
onClearSelection: PropTypes.func,
|
|
94
|
+
/**
|
|
95
|
+
* Whether or not the Dropdown is readonly
|
|
96
|
+
*/
|
|
81
97
|
readOnly: PropTypes.bool,
|
|
98
|
+
/**
|
|
99
|
+
* Specify an optional `selectionCount` value that will be used to determine
|
|
100
|
+
* whether the selection should display a badge or a single clear icon.
|
|
101
|
+
*/
|
|
82
102
|
selectionCount: PropTypes.number,
|
|
103
|
+
/**
|
|
104
|
+
* Translates component strings using your i18n tool.
|
|
105
|
+
*/
|
|
83
106
|
translateWithId: PropTypes.func
|
|
84
107
|
};
|
|
85
108
|
//#endregion
|
|
@@ -13,7 +13,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
13
13
|
import { Close } from "@carbon/icons-react";
|
|
14
14
|
//#region src/components/ListBox/next/ListBoxSelection.tsx
|
|
15
15
|
/**
|
|
16
|
-
* Copyright IBM Corp. 2016,
|
|
16
|
+
* Copyright IBM Corp. 2016, 2026
|
|
17
17
|
*
|
|
18
18
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
19
19
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -28,7 +28,7 @@ const translationIds = {
|
|
|
28
28
|
"clear.selection": "clear.selection"
|
|
29
29
|
};
|
|
30
30
|
const defaultTranslations = {
|
|
31
|
-
[translationIds["clear.all"]]: "Clear
|
|
31
|
+
[translationIds["clear.all"]]: "Clear selected items",
|
|
32
32
|
[translationIds["clear.selection"]]: "Clear selected item"
|
|
33
33
|
};
|
|
34
34
|
const defaultTranslateWithId = (messageId) => {
|
|
@@ -36,11 +36,13 @@ const defaultTranslateWithId = (messageId) => {
|
|
|
36
36
|
};
|
|
37
37
|
function ListBoxSelection({ clearSelection, selectionCount, translateWithId: t = defaultTranslateWithId, disabled, readOnly, onClearSelection, ...rest }) {
|
|
38
38
|
const prefix = usePrefix();
|
|
39
|
+
const hasSelectionCount = (selectionCount ?? 0) > 0;
|
|
40
|
+
const hasMultipleSelections = (selectionCount ?? 0) > 1;
|
|
39
41
|
const className = classNames(`${prefix}--list-box__selection`, {
|
|
40
|
-
[`${prefix}--tag--filter`]:
|
|
41
|
-
[`${prefix}--list-box__selection--multi`]:
|
|
42
|
+
[`${prefix}--tag--filter`]: hasSelectionCount,
|
|
43
|
+
[`${prefix}--list-box__selection--multi`]: hasSelectionCount
|
|
42
44
|
});
|
|
43
|
-
const description =
|
|
45
|
+
const description = hasMultipleSelections ? t("clear.all") : t("clear.selection");
|
|
44
46
|
const tagClasses = classNames(`${prefix}--tag`, `${prefix}--tag--filter`, `${prefix}--tag--high-contrast`, { [`${prefix}--tag--disabled`]: disabled });
|
|
45
47
|
function onClick(event) {
|
|
46
48
|
event.stopPropagation();
|
|
@@ -48,7 +50,7 @@ function ListBoxSelection({ clearSelection, selectionCount, translateWithId: t =
|
|
|
48
50
|
clearSelection(event);
|
|
49
51
|
if (onClearSelection) onClearSelection(event);
|
|
50
52
|
}
|
|
51
|
-
if (
|
|
53
|
+
if (hasSelectionCount) return /* @__PURE__ */ jsxs("div", {
|
|
52
54
|
className: tagClasses,
|
|
53
55
|
children: [/* @__PURE__ */ jsx("span", {
|
|
54
56
|
className: `${prefix}--tag__label`,
|
|
@@ -80,14 +82,47 @@ function ListBoxSelection({ clearSelection, selectionCount, translateWithId: t =
|
|
|
80
82
|
});
|
|
81
83
|
}
|
|
82
84
|
ListBoxSelection.propTypes = {
|
|
85
|
+
/**
|
|
86
|
+
* Specify a function to be invoked when a user interacts with the clear
|
|
87
|
+
* selection element.
|
|
88
|
+
*/
|
|
83
89
|
clearSelection: PropTypes.func.isRequired,
|
|
90
|
+
/**
|
|
91
|
+
* Specify whether or not the clear selection element should be disabled
|
|
92
|
+
*/
|
|
84
93
|
disabled: PropTypes.bool,
|
|
94
|
+
/**
|
|
95
|
+
* Whether or not the listbox is readonly
|
|
96
|
+
*/
|
|
85
97
|
readOnly: PropTypes.bool,
|
|
98
|
+
/**
|
|
99
|
+
* Specify an optional `onClearSelection` handler that is called when the underlying
|
|
100
|
+
* element is cleared
|
|
101
|
+
*/
|
|
86
102
|
onClearSelection: PropTypes.func,
|
|
103
|
+
/**
|
|
104
|
+
* Specify an optional `onClick` handler that is called when the underlying
|
|
105
|
+
* clear selection element is clicked
|
|
106
|
+
*/
|
|
87
107
|
onClick: PropTypes.func,
|
|
108
|
+
/**
|
|
109
|
+
* Specify an optional `onClick` handler that is called when the underlying
|
|
110
|
+
* clear selection element is clicked
|
|
111
|
+
*/
|
|
88
112
|
onMouseUp: PropTypes.func,
|
|
113
|
+
/**
|
|
114
|
+
* Specify an optional `onKeyDown` handler that is called when the underlying
|
|
115
|
+
* clear selection element fires a keydown event
|
|
116
|
+
*/
|
|
89
117
|
onKeyDown: PropTypes.func,
|
|
118
|
+
/**
|
|
119
|
+
* Specify an optional `selectionCount` value that will be used to determine
|
|
120
|
+
* whether the selection should display a badge or a single clear icon.
|
|
121
|
+
*/
|
|
90
122
|
selectionCount: PropTypes.number,
|
|
123
|
+
/**
|
|
124
|
+
* Translates component strings using your i18n tool.
|
|
125
|
+
*/
|
|
91
126
|
translateWithId: PropTypes.func
|
|
92
127
|
};
|
|
93
128
|
//#endregion
|
|
@@ -52,7 +52,14 @@ const ListBoxTrigger = React.forwardRef(({ isOpen, translateWithId: t = defaultT
|
|
|
52
52
|
});
|
|
53
53
|
});
|
|
54
54
|
ListBoxTrigger.propTypes = {
|
|
55
|
+
/**
|
|
56
|
+
* Specify whether the menu is currently open, which will influence the
|
|
57
|
+
* direction of the menu icon
|
|
58
|
+
*/
|
|
55
59
|
isOpen: PropTypes.bool.isRequired,
|
|
60
|
+
/**
|
|
61
|
+
* Translates component strings using your i18n tool.
|
|
62
|
+
*/
|
|
56
63
|
translateWithId: PropTypes.func
|
|
57
64
|
};
|
|
58
65
|
//#endregion
|
|
@@ -27,7 +27,13 @@ function ListItem({ className, children, ...other }) {
|
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
ListItem.propTypes = {
|
|
30
|
+
/**
|
|
31
|
+
* Specify the content for the ListItem
|
|
32
|
+
*/
|
|
30
33
|
children: PropTypes.node,
|
|
34
|
+
/**
|
|
35
|
+
* Specify an optional className to apply to the underlying `<li>` node
|
|
36
|
+
*/
|
|
31
37
|
className: PropTypes.string
|
|
32
38
|
};
|
|
33
39
|
//#endregion
|
|
@@ -62,11 +62,29 @@ function Loading({ active = true, className: customClassName, withOverlay = true
|
|
|
62
62
|
}) : loading;
|
|
63
63
|
}
|
|
64
64
|
Loading.propTypes = {
|
|
65
|
+
/**
|
|
66
|
+
* Specify whether you want the loading indicator to be spinning or not
|
|
67
|
+
*/
|
|
65
68
|
active: PropTypes.bool,
|
|
69
|
+
/**
|
|
70
|
+
* Provide an optional className to be applied to the containing node
|
|
71
|
+
*/
|
|
66
72
|
className: PropTypes.string,
|
|
73
|
+
/**
|
|
74
|
+
* Specify a description that would be used to best describe the loading state
|
|
75
|
+
*/
|
|
67
76
|
description: PropTypes.string,
|
|
77
|
+
/**
|
|
78
|
+
* Provide an `id` to uniquely identify the label
|
|
79
|
+
*/
|
|
68
80
|
id: deprecate(PropTypes.string, `\nThe prop \`id\` is no longer needed.`),
|
|
81
|
+
/**
|
|
82
|
+
* Specify whether you would like the small variant of <Loading>
|
|
83
|
+
*/
|
|
69
84
|
small: PropTypes.bool,
|
|
85
|
+
/**
|
|
86
|
+
* Specify whether you want the loader to be applied with an overlay
|
|
87
|
+
*/
|
|
70
88
|
withOverlay: PropTypes.bool
|
|
71
89
|
};
|
|
72
90
|
//#endregion
|
|
@@ -212,25 +212,77 @@ const Menu = forwardRef(function Menu({ backgroundToken = "layer", border = fals
|
|
|
212
212
|
return isRoot ? open && createPortal(rendered, target) || null : rendered;
|
|
213
213
|
});
|
|
214
214
|
Menu.propTypes = {
|
|
215
|
+
/**
|
|
216
|
+
* Specify the background token to use. Default is 'layer'.
|
|
217
|
+
*/
|
|
215
218
|
backgroundToken: PropTypes.oneOf(["layer", "background"]),
|
|
219
|
+
/**
|
|
220
|
+
* Specify whether a border should be rendered on the menu
|
|
221
|
+
*/
|
|
216
222
|
border: PropTypes.bool,
|
|
223
|
+
/**
|
|
224
|
+
* A collection of MenuItems to be rendered within this Menu.
|
|
225
|
+
*/
|
|
217
226
|
children: PropTypes.node,
|
|
227
|
+
/**
|
|
228
|
+
* Additional CSS class names.
|
|
229
|
+
*/
|
|
218
230
|
className: PropTypes.string,
|
|
231
|
+
/**
|
|
232
|
+
* A label describing the Menu.
|
|
233
|
+
*/
|
|
219
234
|
label: PropTypes.string,
|
|
235
|
+
/**
|
|
236
|
+
* Specify how the menu should align with the button element
|
|
237
|
+
*/
|
|
220
238
|
menuAlignment: PropTypes.string,
|
|
239
|
+
/**
|
|
240
|
+
* **Deprecated**: Menus now always support both icons as well as selectable items and nesting.
|
|
241
|
+
* The mode of this menu. Defaults to full.
|
|
242
|
+
* `full` supports nesting and selectable menu items, but no icons.
|
|
243
|
+
* `basic` supports icons but no nesting or selectable menu items.
|
|
244
|
+
*
|
|
245
|
+
* **This prop is not intended for use and will be set by the respective implementation (like useContextMenu, MenuButton, and ComboButton).**
|
|
246
|
+
*/
|
|
221
247
|
mode: deprecate(PropTypes.oneOf(["full", "basic"]), "Menus now always support both icons as well as selectable items and nesting."),
|
|
248
|
+
/**
|
|
249
|
+
* Provide an optional function to be called when the Menu should be closed,
|
|
250
|
+
* including if the Menu is blurred, the user presses escape, or the Menu is
|
|
251
|
+
* a submenu and the user presses ArrowLeft.
|
|
252
|
+
*/
|
|
222
253
|
onClose: PropTypes.func,
|
|
254
|
+
/**
|
|
255
|
+
* Provide an optional function to be called when the Menu is opened.
|
|
256
|
+
*/
|
|
223
257
|
onOpen: PropTypes.func,
|
|
258
|
+
/**
|
|
259
|
+
* Whether the Menu is open or not.
|
|
260
|
+
*/
|
|
224
261
|
open: PropTypes.bool,
|
|
262
|
+
/**
|
|
263
|
+
* Specify the size of the Menu.
|
|
264
|
+
*/
|
|
225
265
|
size: PropTypes.oneOf([
|
|
226
266
|
"xs",
|
|
227
267
|
"sm",
|
|
228
268
|
"md",
|
|
229
269
|
"lg"
|
|
230
270
|
]),
|
|
271
|
+
/**
|
|
272
|
+
* Specify a DOM node where the Menu should be rendered in. Defaults to document.body.
|
|
273
|
+
*/
|
|
231
274
|
target: PropTypes.object,
|
|
275
|
+
/**
|
|
276
|
+
* Specify the x position of the Menu. Either pass a single number or an array with two numbers describing your activator's boundaries ([x1, x2])
|
|
277
|
+
*/
|
|
232
278
|
x: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),
|
|
279
|
+
/**
|
|
280
|
+
* Specify the y position of the Menu. Either pass a single number or an array with two numbers describing your activator's boundaries ([y1, y2])
|
|
281
|
+
*/
|
|
233
282
|
y: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),
|
|
283
|
+
/**
|
|
284
|
+
* @deprecated Internal compatibility flag. Use `false` to enable auto-alignment behavior.
|
|
285
|
+
*/
|
|
234
286
|
legacyAutoalign: PropTypes.bool
|
|
235
287
|
};
|
|
236
288
|
//#endregion
|