@carbon/react 1.86.0 → 1.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +871 -871
- package/es/_virtual/_rollupPluginBabelHelpers.js +4 -4
- package/es/components/Button/Button.Skeleton.js +2 -1
- package/es/components/Button/Button.d.ts +1 -1
- package/es/components/Button/Button.js +3 -3
- package/es/components/Button/ButtonBase.js +2 -0
- package/es/components/Button/index.js +5 -1
- package/es/components/ButtonSet/index.js +4 -1
- package/es/components/Checkbox/index.js +4 -1
- package/es/components/CodeSnippet/CodeSnippet.js +1 -0
- package/es/components/ComboBox/ComboBox.d.ts +7 -0
- package/es/components/ComboBox/ComboBox.js +11 -2
- package/es/components/ComboBox/index.js +4 -1
- package/es/components/ComposedModal/ComposedModal.js +18 -8
- package/es/components/ContainedList/ContainedList.d.ts +1 -1
- package/es/components/ContainedList/ContainedList.js +3 -3
- package/es/components/ContainedList/ContainedListItem/index.js +4 -1
- package/es/components/ContainedList/index.js +2 -2
- package/es/components/Copy/Copy.js +1 -1
- package/es/components/Copy/index.js +4 -1
- package/es/components/CopyButton/index.js +4 -1
- package/es/components/DataTable/Table.js +1 -1
- package/es/components/DataTable/state/getDerivedStateFromProps.d.ts +19 -0
- package/es/components/DataTable/state/getDerivedStateFromProps.js +1 -2
- package/es/components/DataTable/state/sorting.d.ts +15 -0
- package/es/components/DataTable/state/sorting.js +1 -2
- package/es/components/DataTable/tools/denormalize.d.ts +22 -0
- package/es/components/DataTable/tools/denormalize.js +1 -2
- package/es/components/DataTable/tools/normalize.d.ts +9 -0
- package/es/components/DataTable/tools/normalize.js +1 -2
- package/es/components/DatePicker/DatePicker.js +18 -11
- package/es/components/DatePicker/index.js +4 -1
- package/es/components/DatePicker/plugins/fixEventsPlugin.d.ts +2 -0
- package/es/components/DatePicker/plugins/rangePlugin.d.ts +2 -0
- package/es/components/DatePickerInput/DatePickerInput.js +6 -0
- package/es/components/DatePickerInput/index.js +4 -1
- package/es/components/Dialog/index.js +2 -2
- package/es/components/Dropdown/Dropdown.Skeleton.js +4 -4
- package/es/components/Dropdown/Dropdown.js +2 -2
- package/es/components/Dropdown/index.js +4 -1
- package/es/components/FeatureFlags/index.js +2 -2
- package/es/components/FluidNumberInput/FluidNumberInput.d.ts +3 -2
- package/es/components/FluidNumberInput/FluidNumberInput.js +3 -2
- package/es/components/FluidSelect/index.js +4 -1
- package/es/components/FluidTextInput/index.js +4 -1
- package/es/components/IconButton/index.d.ts +1 -1
- package/es/components/IconIndicator/index.js +1 -1
- package/es/components/InlineCheckbox/index.js +4 -1
- package/es/components/InlineLoading/index.js +4 -1
- package/es/components/LayoutDirection/LayoutDirection.js +1 -2
- package/es/components/Link/index.js +4 -1
- package/es/components/ListBox/ListBox.js +1 -1
- package/es/components/Loading/index.js +4 -1
- package/es/components/Menu/Menu.d.ts +3 -1
- package/es/components/Menu/Menu.js +3 -1
- package/es/components/Menu/MenuItem.js +1 -1
- package/es/components/Modal/Modal.js +16 -5
- package/es/components/Modal/index.js +4 -1
- package/es/components/MultiSelect/FilterableMultiSelect.d.ts +7 -0
- package/es/components/MultiSelect/FilterableMultiSelect.js +20 -10
- package/es/components/MultiSelect/MultiSelect.js +2 -2
- package/es/components/MultiSelect/filter.js +0 -4
- package/es/components/MultiSelect/tools/itemToString.d.ts +1 -0
- package/es/components/MultiSelect/tools/sorting.d.ts +9 -0
- package/es/components/Notification/Notification.js +2 -2
- package/es/components/NumberInput/NumberInput.d.ts +3 -2
- package/es/components/NumberInput/NumberInput.js +5 -4
- package/es/components/OverflowMenu/next/index.js +1 -1
- package/es/components/OverflowMenuItem/index.js +4 -1
- package/es/components/OverflowMenuV2/index.d.ts +1 -0
- package/es/components/PageHeader/PageHeader.js +1 -1
- package/es/components/Pagination/experimental/PageSelector.d.ts +19 -0
- package/es/components/Pagination/experimental/Pagination.d.ts +43 -0
- package/es/components/Pagination/experimental/index.d.ts +3 -0
- package/es/components/Popover/index.js +26 -8
- package/es/components/RadioButton/index.js +4 -1
- package/es/components/RadioTile/index.js +4 -1
- package/es/components/Search/Search.js +1 -1
- package/es/components/Search/index.js +4 -1
- package/es/components/Select/index.js +4 -1
- package/es/components/SelectItem/index.js +4 -1
- package/es/components/ShapeIndicator/index.js +1 -1
- package/es/components/SkeletonText/index.js +4 -1
- package/es/components/Slider/Slider.js +1 -1
- package/es/components/Switch/IconSwitch.d.ts +3 -0
- package/es/components/Switch/IconSwitch.js +1 -2
- package/es/components/TabContent/TabContent.js +2 -22
- package/es/components/Tabs/Tabs.js +5 -5
- package/es/components/Tag/DismissibleTag.js +1 -1
- package/es/components/TextArea/TextArea.js +1 -1
- package/es/components/TextArea/index.js +4 -1
- package/es/components/TextInput/index.js +4 -1
- package/es/components/TextInput/util.d.ts +9 -0
- package/es/components/Toggletip/index.d.ts +1 -1
- package/es/components/Toggletip/index.js +3 -3
- package/es/components/UIShell/HeaderMenu.js +2 -2
- package/es/components/UIShell/SideNav.js +1 -1
- package/es/components/UIShell/_utils.d.ts +7 -0
- package/es/feature-flags.d.ts +1 -0
- package/es/internal/FloatingMenu.js +1 -1
- package/es/internal/deprecateFieldOnObject.js +1 -1
- package/es/internal/useEvent.d.ts +2 -2
- package/es/internal/useEvent.js +4 -3
- package/es/internal/useId.d.ts +21 -0
- package/es/internal/useId.js +27 -1
- package/es/internal/useOverflowItems.js +0 -6
- package/es/node_modules/es-toolkit/dist/compat/function/{debounce.mjs.js → debounce.js} +1 -1
- package/es/node_modules/es-toolkit/dist/compat/function/{throttle.mjs.js → throttle.js} +1 -1
- package/es/prop-types/deprecateComponent.d.ts +1 -0
- package/es/prop-types/deprecateComponent.js +1 -4
- package/es/prop-types/deprecateValuesWithin.d.ts +1 -0
- package/es/prop-types/requiredIfGivenPropIsTruthy.d.ts +14 -0
- package/es/tools/mergeRefs.d.ts +12 -0
- package/es/tools/mergeRefs.js +1 -2
- package/icons/index.js +1 -3
- package/lib/_virtual/_rollupPluginBabelHelpers.js +5 -7
- package/lib/components/AILabel/index.js +35 -43
- package/lib/components/AISkeleton/AISkeletonIcon.js +5 -11
- package/lib/components/AISkeleton/AISkeletonPlaceholder.js +4 -10
- package/lib/components/AISkeleton/AISkeletonText.js +8 -14
- package/lib/components/Accordion/Accordion.Skeleton.js +21 -27
- package/lib/components/Accordion/Accordion.js +11 -17
- package/lib/components/Accordion/AccordionItem.js +19 -25
- package/lib/components/Accordion/AccordionProvider.js +1 -7
- package/lib/components/AspectRatio/AspectRatio.js +7 -13
- package/lib/components/BadgeIndicator/index.js +7 -13
- package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +7 -13
- package/lib/components/Breadcrumb/Breadcrumb.js +9 -15
- package/lib/components/Breadcrumb/BreadcrumbItem.js +16 -22
- package/lib/components/Button/Button.Skeleton.js +9 -14
- package/lib/components/Button/Button.d.ts +1 -1
- package/lib/components/Button/Button.js +32 -37
- package/lib/components/Button/ButtonBase.js +8 -11
- package/lib/components/Button/index.js +3 -3
- package/lib/components/ButtonSet/ButtonSet.js +6 -12
- package/lib/components/ButtonSet/index.js +2 -2
- package/lib/components/ChatButton/ChatButton.Skeleton.js +5 -11
- package/lib/components/ChatButton/ChatButton.js +12 -18
- package/lib/components/Checkbox/Checkbox.Skeleton.js +6 -12
- package/lib/components/Checkbox/Checkbox.js +33 -39
- package/lib/components/Checkbox/index.js +3 -3
- package/lib/components/CheckboxGroup/CheckboxGroup.js +24 -30
- package/lib/components/ClassPrefix/index.js +3 -10
- package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +10 -16
- package/lib/components/CodeSnippet/CodeSnippet.js +40 -46
- package/lib/components/ComboBox/ComboBox.d.ts +7 -0
- package/lib/components/ComboBox/ComboBox.js +65 -63
- package/lib/components/ComboBox/index.js +2 -2
- package/lib/components/ComboButton/index.js +20 -28
- package/lib/components/ComposedModal/ComposedModal.js +61 -57
- package/lib/components/ComposedModal/ModalFooter.js +37 -45
- package/lib/components/ComposedModal/ModalHeader.js +23 -31
- package/lib/components/ContainedList/ContainedList.d.ts +1 -1
- package/lib/components/ContainedList/ContainedList.js +19 -25
- package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +14 -20
- package/lib/components/ContainedList/ContainedListItem/index.js +2 -2
- package/lib/components/ContainedList/index.js +5 -5
- package/lib/components/ContentSwitcher/ContentSwitcher.js +11 -19
- package/lib/components/ContextMenu/useContextMenu.js +1 -1
- package/lib/components/Copy/Copy.js +12 -18
- package/lib/components/Copy/index.js +2 -2
- package/lib/components/CopyButton/CopyButton.js +12 -18
- package/lib/components/CopyButton/index.js +2 -2
- package/lib/components/DangerButton/DangerButton.js +2 -6
- package/lib/components/DataTable/DataTable.js +48 -55
- package/lib/components/DataTable/Table.js +18 -24
- package/lib/components/DataTable/TableActionList.js +2 -2
- package/lib/components/DataTable/TableBatchAction.js +4 -9
- package/lib/components/DataTable/TableBatchActions.js +19 -25
- package/lib/components/DataTable/TableBody.js +5 -10
- package/lib/components/DataTable/TableCell.js +8 -14
- package/lib/components/DataTable/TableContainer.js +14 -20
- package/lib/components/DataTable/TableContext.js +0 -2
- package/lib/components/DataTable/TableDecoratorRow.js +5 -11
- package/lib/components/DataTable/TableExpandHeader.js +16 -22
- package/lib/components/DataTable/TableExpandRow.js +20 -26
- package/lib/components/DataTable/TableExpandedRow.js +8 -14
- package/lib/components/DataTable/TableHead.js +2 -2
- package/lib/components/DataTable/TableHeader.js +26 -32
- package/lib/components/DataTable/TableRow.js +8 -14
- package/lib/components/DataTable/TableSelectAll.js +13 -19
- package/lib/components/DataTable/TableSelectRow.js +15 -21
- package/lib/components/DataTable/TableSlugRow.js +7 -13
- package/lib/components/DataTable/TableToolbar.js +7 -13
- package/lib/components/DataTable/TableToolbarAction.js +5 -10
- package/lib/components/DataTable/TableToolbarContent.js +2 -2
- package/lib/components/DataTable/TableToolbarMenu.js +9 -15
- package/lib/components/DataTable/TableToolbarSearch.js +22 -28
- package/lib/components/DataTable/state/getDerivedStateFromProps.d.ts +19 -0
- package/lib/components/DataTable/state/getDerivedStateFromProps.js +2 -3
- package/lib/components/DataTable/state/sortStates.js +0 -2
- package/lib/components/DataTable/state/sorting.d.ts +15 -0
- package/lib/components/DataTable/state/sorting.js +0 -2
- package/lib/components/DataTable/tools/cells.js +0 -2
- package/lib/components/DataTable/tools/denormalize.d.ts +22 -0
- package/lib/components/DataTable/tools/denormalize.js +1 -2
- package/lib/components/DataTable/tools/filter.js +0 -2
- package/lib/components/DataTable/tools/normalize.d.ts +9 -0
- package/lib/components/DataTable/tools/normalize.js +1 -2
- package/lib/components/DataTable/tools/sorting.js +0 -2
- package/lib/components/DataTableSkeleton/DataTableSkeleton.js +25 -31
- package/lib/components/DatePicker/DatePicker.Skeleton.js +14 -20
- package/lib/components/DatePicker/DatePicker.js +65 -66
- package/lib/components/DatePicker/index.js +3 -3
- package/lib/components/DatePicker/plugins/appendToPlugin.js +0 -2
- package/lib/components/DatePicker/plugins/fixEventsPlugin.d.ts +2 -0
- package/lib/components/DatePicker/plugins/fixEventsPlugin.js +1 -1
- package/lib/components/DatePicker/plugins/rangePlugin.d.ts +2 -0
- package/lib/components/DatePicker/plugins/rangePlugin.js +2 -6
- package/lib/components/DatePickerInput/DatePickerInput.js +49 -49
- package/lib/components/DatePickerInput/index.js +2 -2
- package/lib/components/Dialog/index.js +72 -80
- package/lib/components/Dropdown/Dropdown.Skeleton.js +10 -16
- package/lib/components/Dropdown/Dropdown.js +49 -55
- package/lib/components/Dropdown/index.js +3 -3
- package/lib/components/ErrorBoundary/ErrorBoundary.js +4 -9
- package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +0 -2
- package/lib/components/ExpandableSearch/ExpandableSearch.js +6 -11
- package/lib/components/FeatureFlags/index.js +10 -17
- package/lib/components/FileUploader/FileUploader.Skeleton.js +7 -13
- package/lib/components/FileUploader/FileUploader.js +30 -36
- package/lib/components/FileUploader/FileUploaderButton.js +19 -25
- package/lib/components/FileUploader/FileUploaderDropContainer.js +18 -24
- package/lib/components/FileUploader/FileUploaderItem.js +23 -29
- package/lib/components/FileUploader/Filename.js +13 -18
- package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +7 -13
- package/lib/components/FluidComboBox/FluidComboBox.js +24 -30
- package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +14 -20
- package/lib/components/FluidDatePicker/FluidDatePicker.js +12 -18
- package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +4 -8
- package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +7 -13
- package/lib/components/FluidDropdown/FluidDropdown.js +24 -30
- package/lib/components/FluidForm/FluidForm.js +6 -12
- package/lib/components/FluidForm/FormContext.js +0 -2
- package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +7 -13
- package/lib/components/FluidMultiSelect/FluidMultiSelect.js +36 -42
- package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +7 -13
- package/lib/components/FluidNumberInput/FluidNumberInput.d.ts +3 -2
- package/lib/components/FluidNumberInput/FluidNumberInput.js +33 -38
- package/lib/components/FluidSearch/FluidSearch.Skeleton.js +7 -13
- package/lib/components/FluidSearch/FluidSearch.js +19 -25
- package/lib/components/FluidSelect/FluidSelect.Skeleton.js +7 -13
- package/lib/components/FluidSelect/FluidSelect.js +17 -23
- package/lib/components/FluidSelect/index.js +3 -3
- package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +7 -13
- package/lib/components/FluidTextArea/FluidTextArea.js +25 -31
- package/lib/components/FluidTextInput/FluidPasswordInput.js +18 -22
- package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +7 -13
- package/lib/components/FluidTextInput/FluidTextInput.js +23 -29
- package/lib/components/FluidTextInput/index.js +3 -3
- package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +6 -12
- package/lib/components/FluidTimePicker/FluidTimePicker.js +23 -29
- package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +10 -15
- package/lib/components/Form/Form.js +5 -11
- package/lib/components/FormGroup/FormGroup.js +13 -19
- package/lib/components/FormItem/FormItem.js +5 -11
- package/lib/components/FormLabel/FormLabel.js +6 -12
- package/lib/components/Grid/CSSGrid.js +20 -28
- package/lib/components/Grid/Column.js +31 -37
- package/lib/components/Grid/ColumnHang.js +5 -13
- package/lib/components/Grid/FlexGrid.js +10 -18
- package/lib/components/Grid/Grid.js +9 -16
- package/lib/components/Grid/GridContext.js +7 -14
- package/lib/components/Grid/Row.js +8 -14
- package/lib/components/Heading/index.js +14 -21
- package/lib/components/Icon/Icon.Skeleton.js +4 -10
- package/lib/components/IconButton/index.d.ts +1 -1
- package/lib/components/IconButton/index.js +25 -33
- package/lib/components/IconIndicator/index.js +9 -15
- package/lib/components/IdPrefix/index.js +3 -10
- package/lib/components/InlineCheckbox/InlineCheckbox.js +17 -22
- package/lib/components/InlineCheckbox/index.js +2 -2
- package/lib/components/InlineLoading/InlineLoading.js +17 -23
- package/lib/components/InlineLoading/index.js +2 -2
- package/lib/components/Layer/LayerContext.js +1 -7
- package/lib/components/Layer/LayerLevel.js +0 -2
- package/lib/components/Layer/index.js +11 -19
- package/lib/components/Layout/index.js +22 -30
- package/lib/components/LayoutDirection/LayoutDirection.js +6 -13
- package/lib/components/LayoutDirection/LayoutDirectionContext.js +1 -7
- package/lib/components/LayoutDirection/useLayoutDirection.js +0 -2
- package/lib/components/Link/Link.js +15 -21
- package/lib/components/Link/index.js +2 -2
- package/lib/components/ListBox/ListBox.js +17 -23
- package/lib/components/ListBox/ListBoxField.js +7 -12
- package/lib/components/ListBox/ListBoxMenu.js +7 -12
- package/lib/components/ListBox/ListBoxMenuIcon.js +7 -13
- package/lib/components/ListBox/ListBoxMenuItem.js +9 -15
- package/lib/components/ListBox/ListBoxPropTypes.js +2 -8
- package/lib/components/ListBox/ListBoxSelection.js +14 -20
- package/lib/components/ListBox/index.js +7 -7
- package/lib/components/ListBox/next/ListBoxSelection.js +18 -24
- package/lib/components/ListBox/next/ListBoxTrigger.js +7 -13
- package/lib/components/ListItem/ListItem.js +5 -11
- package/lib/components/Loading/Loading.js +14 -20
- package/lib/components/Loading/index.js +2 -2
- package/lib/components/Menu/Menu.d.ts +3 -1
- package/lib/components/Menu/Menu.js +18 -24
- package/lib/components/Menu/MenuContext.js +0 -2
- package/lib/components/Menu/MenuItem.js +44 -52
- package/lib/components/MenuButton/index.js +16 -24
- package/lib/components/Modal/Modal.js +91 -86
- package/lib/components/Modal/index.js +2 -2
- package/lib/components/ModalWrapper/ModalWrapper.js +30 -35
- package/lib/components/MultiSelect/FilterableMultiSelect.d.ts +7 -0
- package/lib/components/MultiSelect/FilterableMultiSelect.js +71 -71
- package/lib/components/MultiSelect/MultiSelect.js +61 -70
- package/lib/components/MultiSelect/MultiSelectPropTypes.js +2 -8
- package/lib/components/MultiSelect/filter.js +0 -6
- package/lib/components/MultiSelect/tools/itemToString.d.ts +1 -0
- package/lib/components/MultiSelect/tools/itemToString.js +1 -7
- package/lib/components/MultiSelect/tools/sorting.d.ts +9 -0
- package/lib/components/MultiSelect/tools/sorting.js +0 -2
- package/lib/components/Notification/Notification.js +118 -126
- package/lib/components/NumberInput/NumberFormatPropTypes.js +21 -27
- package/lib/components/NumberInput/NumberInput.Skeleton.js +8 -14
- package/lib/components/NumberInput/NumberInput.d.ts +3 -2
- package/lib/components/NumberInput/NumberInput.js +70 -77
- package/lib/components/OrderedList/OrderedList.js +8 -14
- package/lib/components/OverflowMenu/OverflowMenu.js +42 -49
- package/lib/components/OverflowMenu/index.js +3 -7
- package/lib/components/OverflowMenu/next/index.js +18 -26
- package/lib/components/OverflowMenuItem/OverflowMenuItem.js +27 -33
- package/lib/components/OverflowMenuItem/index.js +2 -2
- package/lib/components/OverflowMenuV2/index.d.ts +1 -0
- package/lib/components/OverflowMenuV2/index.js +2 -8
- package/lib/components/PageHeader/PageHeader.js +70 -78
- package/lib/components/PageHeader/index.js +0 -2
- package/lib/components/Pagination/Pagination.Skeleton.js +10 -16
- package/lib/components/Pagination/Pagination.js +44 -51
- package/lib/components/Pagination/experimental/PageSelector.d.ts +19 -0
- package/lib/components/Pagination/experimental/PageSelector.js +9 -15
- package/lib/components/Pagination/experimental/Pagination.d.ts +43 -0
- package/lib/components/Pagination/experimental/Pagination.js +34 -40
- package/lib/components/Pagination/experimental/index.d.ts +3 -0
- package/lib/components/PaginationNav/PaginationNav.js +54 -60
- package/lib/components/Popover/index.js +60 -50
- package/lib/components/PrimaryButton/PrimaryButton.js +2 -6
- package/lib/components/ProgressBar/ProgressBar.js +25 -31
- package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +10 -16
- package/lib/components/ProgressIndicator/ProgressIndicator.js +41 -49
- package/lib/components/RadioButton/RadioButton.Skeleton.js +6 -12
- package/lib/components/RadioButton/RadioButton.js +26 -32
- package/lib/components/RadioButton/index.js +2 -2
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +37 -43
- package/lib/components/RadioTile/RadioTile.js +25 -31
- package/lib/components/RadioTile/index.js +2 -2
- package/lib/components/Search/Search.Skeleton.js +7 -13
- package/lib/components/Search/Search.js +33 -39
- package/lib/components/Search/index.js +3 -3
- package/lib/components/SecondaryButton/SecondaryButton.js +2 -6
- package/lib/components/Select/Select.Skeleton.js +8 -14
- package/lib/components/Select/Select.js +42 -48
- package/lib/components/Select/index.js +3 -3
- package/lib/components/SelectItem/SelectItem.js +8 -14
- package/lib/components/SelectItem/index.js +2 -2
- package/lib/components/SelectItemGroup/SelectItemGroup.js +7 -13
- package/lib/components/ShapeIndicator/index.js +12 -18
- package/lib/components/SkeletonIcon/SkeletonIcon.js +4 -10
- package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +4 -10
- package/lib/components/SkeletonText/SkeletonText.js +11 -17
- package/lib/components/SkeletonText/index.js +2 -2
- package/lib/components/Slider/Slider.Skeleton.js +29 -35
- package/lib/components/Slider/Slider.js +84 -90
- package/lib/components/Slider/SliderHandles.js +18 -24
- package/lib/components/Slider/index.js +3 -3
- package/lib/components/Stack/HStack.js +1 -7
- package/lib/components/Stack/Stack.js +7 -15
- package/lib/components/Stack/VStack.js +1 -7
- package/lib/components/StructuredList/StructuredList.Skeleton.js +15 -21
- package/lib/components/StructuredList/StructuredList.js +60 -68
- package/lib/components/Switch/IconSwitch.d.ts +3 -0
- package/lib/components/Switch/IconSwitch.js +18 -25
- package/lib/components/Switch/Switch.js +14 -20
- package/lib/components/TabContent/TabContent.js +7 -33
- package/lib/components/Tabs/Tabs.Skeleton.js +10 -16
- package/lib/components/Tabs/Tabs.js +121 -129
- package/lib/components/Tabs/usePressable.js +0 -2
- package/lib/components/Tag/DismissibleTag.js +24 -30
- package/lib/components/Tag/OperationalTag.js +16 -22
- package/lib/components/Tag/SelectableTag.js +19 -25
- package/lib/components/Tag/Tag.Skeleton.js +5 -11
- package/lib/components/Tag/Tag.js +28 -34
- package/lib/components/Tag/isEllipsisActive.js +0 -2
- package/lib/components/Text/Text.js +6 -13
- package/lib/components/Text/TextDirection.js +4 -11
- package/lib/components/Text/TextDirectionContext.js +0 -2
- package/lib/components/Text/createTextComponent.js +1 -7
- package/lib/components/Text/index.js +0 -2
- package/lib/components/TextArea/TextArea.Skeleton.js +7 -13
- package/lib/components/TextArea/TextArea.js +49 -55
- package/lib/components/TextArea/index.js +3 -3
- package/lib/components/TextInput/ControlledPasswordInput.js +36 -42
- package/lib/components/TextInput/PasswordInput.js +48 -54
- package/lib/components/TextInput/TextInput.Skeleton.js +7 -13
- package/lib/components/TextInput/TextInput.js +47 -53
- package/lib/components/TextInput/index.js +3 -3
- package/lib/components/TextInput/util.d.ts +9 -0
- package/lib/components/TextInput/util.js +0 -2
- package/lib/components/Theme/index.js +16 -24
- package/lib/components/Tile/Tile.js +92 -100
- package/lib/components/TileGroup/TileGroup.js +15 -22
- package/lib/components/TimePicker/TimePicker.js +39 -45
- package/lib/components/TimePickerSelect/TimePickerSelect.js +10 -16
- package/lib/components/Toggle/Toggle.Skeleton.js +7 -13
- package/lib/components/Toggle/Toggle.js +28 -34
- package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +12 -20
- package/lib/components/Toggletip/index.d.ts +1 -1
- package/lib/components/Toggletip/index.js +33 -41
- package/lib/components/Tooltip/DefinitionTooltip.js +14 -22
- package/lib/components/Tooltip/Tooltip.js +19 -27
- package/lib/components/TreeView/TreeContext.js +0 -2
- package/lib/components/TreeView/TreeNode.js +41 -47
- package/lib/components/TreeView/TreeView.js +17 -23
- package/lib/components/UIShell/Content.js +6 -12
- package/lib/components/UIShell/Header.js +4 -10
- package/lib/components/UIShell/HeaderContainer.js +4 -9
- package/lib/components/UIShell/HeaderGlobalAction.js +11 -17
- package/lib/components/UIShell/HeaderGlobalBar.js +2 -2
- package/lib/components/UIShell/HeaderMenu.js +17 -23
- package/lib/components/UIShell/HeaderMenuButton.js +9 -15
- package/lib/components/UIShell/HeaderMenuItem.js +11 -17
- package/lib/components/UIShell/HeaderName.js +8 -14
- package/lib/components/UIShell/HeaderNavigation.js +6 -12
- package/lib/components/UIShell/HeaderPanel.js +11 -17
- package/lib/components/UIShell/HeaderSideNavItems.js +6 -12
- package/lib/components/UIShell/Link.js +6 -11
- package/lib/components/UIShell/SideNav.js +23 -29
- package/lib/components/UIShell/SideNavDetails.js +7 -13
- package/lib/components/UIShell/SideNavDivider.js +5 -11
- package/lib/components/UIShell/SideNavFooter.js +12 -18
- package/lib/components/UIShell/SideNavHeader.js +8 -14
- package/lib/components/UIShell/SideNavIcon.js +6 -12
- package/lib/components/UIShell/SideNavItem.js +6 -12
- package/lib/components/UIShell/SideNavItems.js +9 -15
- package/lib/components/UIShell/SideNavLink.js +13 -19
- package/lib/components/UIShell/SideNavLinkText.js +5 -11
- package/lib/components/UIShell/SideNavMenu.js +20 -26
- package/lib/components/UIShell/SideNavMenuItem.js +13 -19
- package/lib/components/UIShell/SideNavSwitcher.js +13 -19
- package/lib/components/UIShell/SkipToContent.js +7 -13
- package/lib/components/UIShell/Switcher.js +9 -15
- package/lib/components/UIShell/SwitcherDivider.js +4 -10
- package/lib/components/UIShell/SwitcherItem.js +15 -21
- package/lib/components/UIShell/_utils.d.ts +7 -0
- package/lib/components/UIShell/_utils.js +0 -2
- package/lib/components/UnorderedList/UnorderedList.js +7 -13
- package/lib/feature-flags.d.ts +1 -0
- package/lib/feature-flags.js +3 -4
- package/lib/index.js +180 -182
- package/lib/internal/FloatingMenu.js +10 -18
- package/lib/internal/OptimizedResize.js +2 -8
- package/lib/internal/Selection.js +1 -7
- package/lib/internal/clamp.js +0 -2
- package/lib/internal/createClassWrapper.js +1 -7
- package/lib/internal/deprecateFieldOnObject.js +1 -3
- package/lib/internal/environment.js +0 -2
- package/lib/internal/getAnnouncement.js +0 -2
- package/lib/internal/keyboard/keys.js +0 -2
- package/lib/internal/keyboard/match.js +0 -2
- package/lib/internal/keyboard/navigation.js +0 -2
- package/lib/internal/noopFn.js +0 -2
- package/lib/internal/useAttachedMenu.js +0 -2
- package/lib/internal/useControllableState.js +0 -2
- package/lib/internal/useDelayedState.js +0 -2
- package/lib/internal/useEvent.d.ts +2 -2
- package/lib/internal/useEvent.js +4 -5
- package/lib/internal/useId.d.ts +21 -0
- package/lib/internal/useId.js +27 -7
- package/lib/internal/useIdPrefix.js +2 -8
- package/lib/internal/useIsomorphicEffect.js +1 -1
- package/lib/internal/useMatchMedia.js +0 -2
- package/lib/internal/useMergedRefs.js +0 -2
- package/lib/internal/useNoInteractiveChildren.js +0 -2
- package/lib/internal/useNormalizedInputProps.js +2 -8
- package/lib/internal/useOutsideClick.js +0 -2
- package/lib/internal/useOverflowItems.js +1 -7
- package/lib/internal/usePrefix.js +2 -8
- package/lib/internal/usePreviousValue.js +0 -2
- package/lib/internal/useResizeObserver.js +0 -2
- package/lib/internal/useSavedCallback.js +0 -2
- package/lib/internal/utils.js +0 -2
- package/lib/internal/warning.js +0 -2
- package/lib/internal/wrapFocus.js +0 -2
- package/lib/node_modules/es-toolkit/dist/compat/function/{debounce.mjs.js → debounce.js} +1 -3
- package/lib/node_modules/es-toolkit/dist/compat/function/{throttle.mjs.js → throttle.js} +1 -3
- package/lib/node_modules/es-toolkit/dist/function/{debounce.mjs.js → debounce.js} +0 -2
- package/lib/prop-types/AriaPropTypes.js +2 -8
- package/lib/prop-types/deprecate.js +0 -2
- package/lib/prop-types/deprecateComponent.d.ts +1 -0
- package/lib/prop-types/deprecateComponent.js +2 -5
- package/lib/prop-types/deprecateValuesWithin.d.ts +1 -0
- package/lib/prop-types/deprecateValuesWithin.js +1 -1
- package/lib/prop-types/isRequiredOneOf.js +0 -2
- package/lib/prop-types/requiredIfGivenPropIsTruthy.d.ts +14 -0
- package/lib/prop-types/requiredIfGivenPropIsTruthy.js +1 -1
- package/lib/tools/events.js +0 -2
- package/lib/tools/mapPopoverAlign.js +0 -2
- package/lib/tools/mergeRefs.d.ts +12 -0
- package/lib/tools/mergeRefs.js +1 -2
- package/lib/tools/setupGetInstanceId.js +0 -2
- package/lib/tools/toggleClass.js +0 -2
- package/lib/tools/wrapComponent.js +4 -10
- package/package.json +12 -12
- package/telemetry.yml +1 -0
- /package/es/node_modules/es-toolkit/dist/function/{debounce.mjs.js → debounce.js} +0 -0
|
@@ -9,13 +9,13 @@ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js
|
|
|
9
9
|
import cx from 'classnames';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import deprecateValuesWithin from '../../prop-types/deprecateValuesWithin.js';
|
|
12
|
-
import React, { useRef,
|
|
12
|
+
import React, { useRef, useEffect, useMemo } from 'react';
|
|
13
13
|
import useIsomorphicEffect from '../../internal/useIsomorphicEffect.js';
|
|
14
14
|
import { useMergedRefs } from '../../internal/useMergedRefs.js';
|
|
15
15
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
16
|
-
import { useWindowEvent } from '../../internal/useEvent.js';
|
|
16
|
+
import { useEvent, useWindowEvent } from '../../internal/useEvent.js';
|
|
17
17
|
import { mapPopoverAlign } from '../../tools/mapPopoverAlign.js';
|
|
18
|
-
import { useFloating, offset, flip, arrow, hide
|
|
18
|
+
import { useFloating, autoUpdate, offset, flip, arrow, hide } from '@floating-ui/react';
|
|
19
19
|
import { useFeatureFlag } from '../FeatureFlags/index.js';
|
|
20
20
|
import { ToggletipButton } from '../Toggletip/index.js';
|
|
21
21
|
|
|
@@ -59,9 +59,10 @@ forwardRef) {
|
|
|
59
59
|
const enableFloatingStyles = useFeatureFlag('enable-v12-dynamic-floating-styles') || autoAlign;
|
|
60
60
|
let align = mapPopoverAlign(initialAlign);
|
|
61
61
|
|
|
62
|
-
//
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
// The `Popover` should close whenever it and its children loses focus
|
|
63
|
+
useEvent(popover, 'focusout', event => {
|
|
64
|
+
const relatedTarget = event.relatedTarget;
|
|
65
|
+
if (!popover.current?.contains(relatedTarget)) {
|
|
65
66
|
onRequestClose?.();
|
|
66
67
|
}
|
|
67
68
|
});
|
|
@@ -350,12 +351,29 @@ function PopoverContentRenderFunction(
|
|
|
350
351
|
caretRef,
|
|
351
352
|
autoAlign
|
|
352
353
|
} = React.useContext(PopoverContext);
|
|
353
|
-
const
|
|
354
|
+
const textRef = useRef(null);
|
|
355
|
+
const [isMultiLine, setIsMultiLine] = React.useState(false);
|
|
356
|
+
const ref = useMergedRefs([setFloating, textRef, forwardRef]);
|
|
354
357
|
const enableFloatingStyles = useFeatureFlag('enable-v12-dynamic-floating-styles') || autoAlign;
|
|
358
|
+
useEffect(() => {
|
|
359
|
+
checkIfMultiLine();
|
|
360
|
+
}, [children]);
|
|
361
|
+
const checkIfMultiLine = () => {
|
|
362
|
+
const el = textRef.current;
|
|
363
|
+
if (el) {
|
|
364
|
+
const style = getComputedStyle(el);
|
|
365
|
+
const lineHeight = parseFloat(style.lineHeight);
|
|
366
|
+
const height = el.offsetHeight;
|
|
367
|
+
const lines = Math.floor(height / lineHeight);
|
|
368
|
+
setIsMultiLine(lines > 1);
|
|
369
|
+
}
|
|
370
|
+
};
|
|
355
371
|
return /*#__PURE__*/React.createElement("span", _extends({}, rest, {
|
|
356
372
|
className: `${prefix}--popover`
|
|
357
373
|
}), /*#__PURE__*/React.createElement("span", {
|
|
358
|
-
className: cx(`${prefix}--popover-content`, className
|
|
374
|
+
className: cx(`${prefix}--popover-content`, className, {
|
|
375
|
+
[`${prefix}--tooltip-content--multiline`]: isMultiLine
|
|
376
|
+
}),
|
|
359
377
|
ref: ref
|
|
360
378
|
}, children, enableFloatingStyles && /*#__PURE__*/React.createElement("span", {
|
|
361
379
|
className: cx({
|
|
@@ -10,7 +10,7 @@ import { Close, Search as Search$1 } from '@carbon/icons-react';
|
|
|
10
10
|
import cx from 'classnames';
|
|
11
11
|
import PropTypes from 'prop-types';
|
|
12
12
|
import React, { useContext, useRef, useState } from 'react';
|
|
13
|
-
import {
|
|
13
|
+
import { Enter, Space, Escape } from '../../internal/keyboard/keys.js';
|
|
14
14
|
import { match } from '../../internal/keyboard/match.js';
|
|
15
15
|
import { useId } from '../../internal/useId.js';
|
|
16
16
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
@@ -10,7 +10,7 @@ import PropTypes from 'prop-types';
|
|
|
10
10
|
import React from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
13
|
-
import {
|
|
13
|
+
import { CircleStroke, LowSeverity, CircleFill, DiamondFill, Caution, CriticalSeverity, Critical } from '@carbon/icons-react';
|
|
14
14
|
|
|
15
15
|
var _path;
|
|
16
16
|
const ShapeIndicatorKinds = ['failed', 'critical', 'high', 'medium', 'low', 'cautious', 'undefined', 'stable', 'informative', 'incomplete', 'draft'];
|
|
@@ -20,7 +20,7 @@ import '../Tooltip/DefinitionTooltip.js';
|
|
|
20
20
|
import { Tooltip } from '../Tooltip/Tooltip.js';
|
|
21
21
|
import { LowerHandle, LowerHandleFocus, UpperHandle, UpperHandleFocus } from './SliderHandles.js';
|
|
22
22
|
import { clamp } from '../../internal/clamp.js';
|
|
23
|
-
import { throttle } from '../../node_modules/es-toolkit/dist/compat/function/throttle.
|
|
23
|
+
import { throttle } from '../../node_modules/es-toolkit/dist/compat/function/throttle.js';
|
|
24
24
|
import { Text } from '../Text/Text.js';
|
|
25
25
|
|
|
26
26
|
const ThumbWrapper = ({
|
|
@@ -7,26 +7,10 @@
|
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import React
|
|
10
|
+
import React from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
|
-
import { selectorTabbable } from '../../internal/keyboard/navigation.js';
|
|
13
|
-
import useIsomorphicEffect from '../../internal/useIsomorphicEffect.js';
|
|
14
12
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
15
13
|
|
|
16
|
-
/**
|
|
17
|
-
* Determine if the node within the provided ref contains content that is tabbable.
|
|
18
|
-
*/
|
|
19
|
-
function useTabbableContent(ref) {
|
|
20
|
-
const [hasTabbableContent, setHasTabbableContent] = useState(false);
|
|
21
|
-
|
|
22
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
23
|
-
useIsomorphicEffect(() => {
|
|
24
|
-
if (ref.current) {
|
|
25
|
-
setHasTabbableContent(!!ref.current.querySelector(selectorTabbable));
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
return hasTabbableContent;
|
|
29
|
-
}
|
|
30
14
|
function TabContent(props) {
|
|
31
15
|
const {
|
|
32
16
|
className,
|
|
@@ -36,16 +20,12 @@ function TabContent(props) {
|
|
|
36
20
|
} = props;
|
|
37
21
|
const prefix = usePrefix();
|
|
38
22
|
const tabContentClasses = cx(`${prefix}--tab-content`, className);
|
|
39
|
-
const ref = useRef(null);
|
|
40
|
-
const hasTabbableContent = useTabbableContent(ref);
|
|
41
23
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
42
24
|
role: "tabpanel"
|
|
43
25
|
}, other, {
|
|
44
26
|
className: tabContentClasses,
|
|
45
27
|
selected: selected,
|
|
46
|
-
hidden: !selected
|
|
47
|
-
ref: ref,
|
|
48
|
-
tabIndex: hasTabbableContent ? undefined : 0
|
|
28
|
+
hidden: !selected
|
|
49
29
|
}), children);
|
|
50
30
|
}
|
|
51
31
|
TabContent.propTypes = {
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
-
import { ChevronLeft, ChevronRight
|
|
9
|
+
import { Close, ChevronLeft, ChevronRight } from '@carbon/icons-react';
|
|
10
10
|
import { breakpoints } from '@carbon/layout';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import PropTypes from 'prop-types';
|
|
13
|
-
import React, {
|
|
13
|
+
import React, { forwardRef, createContext, useRef, useState, useMemo, isValidElement, useEffect, useCallback } from 'react';
|
|
14
14
|
import '../Grid/FlexGrid.js';
|
|
15
15
|
import { Grid as GridAsGridComponent } from '../Grid/Grid.js';
|
|
16
16
|
import '../Grid/Row.js';
|
|
@@ -26,15 +26,15 @@ import useIsomorphicEffect from '../../internal/useIsomorphicEffect.js';
|
|
|
26
26
|
import { useMergedRefs } from '../../internal/useMergedRefs.js';
|
|
27
27
|
import { getInteractiveContent } from '../../internal/useNoInteractiveChildren.js';
|
|
28
28
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
29
|
-
import { ArrowRight, ArrowLeft, Home, End, ArrowDown, ArrowUp
|
|
30
|
-
import {
|
|
29
|
+
import { Delete, ArrowRight, ArrowLeft, Home, End, ArrowDown, ArrowUp } from '../../internal/keyboard/keys.js';
|
|
30
|
+
import { match, matches } from '../../internal/keyboard/match.js';
|
|
31
31
|
import { usePressable } from './usePressable.js';
|
|
32
32
|
import { deprecate } from '../../prop-types/deprecate.js';
|
|
33
33
|
import { useEvent } from '../../internal/useEvent.js';
|
|
34
34
|
import { useMatchMedia } from '../../internal/useMatchMedia.js';
|
|
35
35
|
import '../Text/index.js';
|
|
36
36
|
import { BadgeIndicator } from '../BadgeIndicator/index.js';
|
|
37
|
-
import { debounce } from '../../node_modules/es-toolkit/dist/compat/function/debounce.
|
|
37
|
+
import { debounce } from '../../node_modules/es-toolkit/dist/compat/function/debounce.js';
|
|
38
38
|
import { Text } from '../Text/Text.js';
|
|
39
39
|
|
|
40
40
|
var _ChevronLeft, _ChevronRight, _BadgeIndicator;
|
|
@@ -12,7 +12,7 @@ import cx from 'classnames';
|
|
|
12
12
|
import { useId } from '../../internal/useId.js';
|
|
13
13
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
14
14
|
import { deprecate } from '../../prop-types/deprecate.js';
|
|
15
|
-
import Tag, {
|
|
15
|
+
import Tag, { TYPES, SIZES } from './Tag.js';
|
|
16
16
|
import { Close } from '@carbon/icons-react';
|
|
17
17
|
import '../Tooltip/DefinitionTooltip.js';
|
|
18
18
|
import { Tooltip } from '../Tooltip/Tooltip.js';
|
|
@@ -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 React, { useContext, useRef, useState, useEffect,
|
|
10
|
+
import React, { forwardRef, useContext, useRef, useState, useEffect, cloneElement } from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { deprecate } from '../../prop-types/deprecate.js';
|
|
13
13
|
import { WarningFilled, WarningAltFilled } from '@carbon/icons-react';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function textInputProps({ sharedTextInputProps, invalid, invalidId, warn, warnId, hasHelper, helperId, }: {
|
|
2
|
+
sharedTextInputProps: object;
|
|
3
|
+
invalid?: boolean;
|
|
4
|
+
invalidId?: string;
|
|
5
|
+
warn?: boolean;
|
|
6
|
+
warnId?: string;
|
|
7
|
+
hasHelper?: boolean;
|
|
8
|
+
helperId?: string;
|
|
9
|
+
}): object;
|
|
@@ -58,7 +58,7 @@ export declare namespace Toggletip {
|
|
|
58
58
|
*/
|
|
59
59
|
align: PropTypes.Requireable<string>;
|
|
60
60
|
/**
|
|
61
|
-
* Provide an offset value for alignment axis.
|
|
61
|
+
* **Experimental:** Provide an offset value for alignment axis. Only takes effect when `autoalign` is enabled.
|
|
62
62
|
*/
|
|
63
63
|
alignmentAxisOffset: PropTypes.Requireable<number>;
|
|
64
64
|
/**
|
|
@@ -8,8 +8,8 @@
|
|
|
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 React, { useRef, useState
|
|
12
|
-
import {
|
|
11
|
+
import React, { useContext, useRef, useState } from 'react';
|
|
12
|
+
import { PopoverContent, Popover } from '../Popover/index.js';
|
|
13
13
|
import { Escape } from '../../internal/keyboard/keys.js';
|
|
14
14
|
import { match } from '../../internal/keyboard/match.js';
|
|
15
15
|
import { useWindowEvent } from '../../internal/useEvent.js';
|
|
@@ -176,7 +176,7 @@ Toggletip.propTypes = {
|
|
|
176
176
|
// new values to match floating-ui
|
|
177
177
|
'top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-end', 'left-start', 'right-end', 'right-start']),
|
|
178
178
|
/**
|
|
179
|
-
* Provide an offset value for alignment axis.
|
|
179
|
+
* **Experimental:** Provide an offset value for alignment axis. Only takes effect when `autoalign` is enabled.
|
|
180
180
|
*/
|
|
181
181
|
alignmentAxisOffset: PropTypes.number,
|
|
182
182
|
/**
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import { ChevronDown } from '@carbon/icons-react';
|
|
10
10
|
import cx from 'classnames';
|
|
11
|
-
import React, { useContext, useState, useRef, Children,
|
|
11
|
+
import React, { forwardRef, useContext, useState, useRef, Children, isValidElement, cloneElement } from 'react';
|
|
12
12
|
import PropTypes from 'prop-types';
|
|
13
|
-
import { Enter, Space
|
|
13
|
+
import { Escape, Enter, Space } from '../../internal/keyboard/keys.js';
|
|
14
14
|
import { matches } from '../../internal/keyboard/match.js';
|
|
15
15
|
import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
|
|
16
16
|
import { PrefixContext } from '../../internal/usePrefix.js';
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
-
import React, {
|
|
9
|
+
import React, { useRef, isValidElement, createContext } from 'react';
|
|
10
10
|
import cx from 'classnames';
|
|
11
11
|
import PropTypes from 'prop-types';
|
|
12
12
|
import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -15,7 +15,7 @@ import { selectorTabbable, selectorFocusable } from './keyboard/navigation.js';
|
|
|
15
15
|
import { OptimizedResize } from './OptimizedResize.js';
|
|
16
16
|
import { PrefixContext } from './usePrefix.js';
|
|
17
17
|
import { warning } from './warning.js';
|
|
18
|
-
import {
|
|
18
|
+
import { wrapFocusWithoutSentinels, wrapFocus } from './wrapFocus.js';
|
|
19
19
|
|
|
20
20
|
const DIRECTION_LEFT = 'left';
|
|
21
21
|
const DIRECTION_TOP = 'top';
|
|
@@ -13,7 +13,7 @@ const deprecateFieldOnObject = (object, field, Component, message) => {
|
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: () => {
|
|
15
15
|
if (!didWarnAboutDeprecation[field]) {
|
|
16
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
16
|
+
process.env.NODE_ENV !== "production" ? warning(false, `The ${field} field has been deprecated on the ${object.displayName} object. ` + `Please import and use ${Component.displayName || Component.name || 'the field'} directly.`) : void 0;
|
|
17
17
|
didWarnAboutDeprecation[field] = true;
|
|
18
18
|
}
|
|
19
19
|
return Component;
|
|
@@ -4,6 +4,6 @@
|
|
|
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 {
|
|
8
|
-
export declare const useEvent: <E extends keyof GlobalEventHandlersEventMap>(elementOrRef: HTMLElement |
|
|
7
|
+
import { RefObject } from 'react';
|
|
8
|
+
export declare const useEvent: <E extends keyof GlobalEventHandlersEventMap>(elementOrRef: HTMLElement | RefObject<Element | null>, eventName: E, callback: (event: GlobalEventHandlersEventMap[E]) => void) => void;
|
|
9
9
|
export declare const useWindowEvent: <E extends keyof WindowEventMap>(eventName: E, callback: (event: WindowEventMap[E]) => void) => void;
|
package/es/internal/useEvent.js
CHANGED
|
@@ -13,15 +13,16 @@ const useEvent = (elementOrRef, eventName, callback) => {
|
|
|
13
13
|
savedCallback.current = callback;
|
|
14
14
|
}, [callback]);
|
|
15
15
|
useEffect(() => {
|
|
16
|
+
const element = 'current' in elementOrRef ? elementOrRef.current : elementOrRef;
|
|
17
|
+
if (!element) return;
|
|
16
18
|
const handler = event => {
|
|
17
19
|
if (savedCallback.current) {
|
|
18
20
|
savedCallback.current(event);
|
|
19
21
|
}
|
|
20
22
|
};
|
|
21
|
-
|
|
22
|
-
element?.addEventListener(eventName, handler);
|
|
23
|
+
element.addEventListener(eventName, handler);
|
|
23
24
|
return () => {
|
|
24
|
-
element
|
|
25
|
+
element.removeEventListener(eventName, handler);
|
|
25
26
|
};
|
|
26
27
|
}, [elementOrRef, eventName]);
|
|
27
28
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a unique ID for React <=17 with an optional prefix prepended to it.
|
|
3
|
+
* This is an internal utility, not intended for public usage.
|
|
4
|
+
* @param {string} [prefix]
|
|
5
|
+
* @returns {string}
|
|
6
|
+
*/
|
|
7
|
+
export function useCompatibleId(prefix?: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* Generate a unique id if a given `id` is not provided
|
|
10
|
+
* This is an internal utility, not intended for public usage.
|
|
11
|
+
* @param {string|undefined} id
|
|
12
|
+
* @returns {string}
|
|
13
|
+
*/
|
|
14
|
+
export function useFallbackId(id: string | undefined): string;
|
|
15
|
+
/**
|
|
16
|
+
* Generate a unique ID for React >=18 with an optional prefix prepended to it.
|
|
17
|
+
* This is an internal utility, not intended for public usage.
|
|
18
|
+
* @param {string} [prefix]
|
|
19
|
+
* @returns {string}
|
|
20
|
+
*/
|
|
21
|
+
export function useId(prefix?: string): string;
|
package/es/internal/useId.js
CHANGED
|
@@ -5,12 +5,38 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import React, { useState,
|
|
8
|
+
import React, { useState, useLayoutEffect, useEffect } from 'react';
|
|
9
9
|
import { setupGetInstanceId } from '../tools/setupGetInstanceId.js';
|
|
10
10
|
import { canUseDOM } from './environment.js';
|
|
11
11
|
import { useIdPrefix } from './useIdPrefix.js';
|
|
12
12
|
|
|
13
13
|
// This file was heavily inspired by:
|
|
14
|
+
//
|
|
15
|
+
// 1. Reach UI and their work on their auto-id package:
|
|
16
|
+
// https://github.com/reach/reach-ui/blob/86a046f54d53b6420e392b3fa56dd991d9d4e458/packages/auto-id/src/index.ts
|
|
17
|
+
//
|
|
18
|
+
// 2. Floating UI and their work on react >=18 compatibility
|
|
19
|
+
// https://github.com/floating-ui/floating-ui/blob/%40floating-ui/utils%400.2.5/packages/react/src/hooks/useId.ts
|
|
20
|
+
//
|
|
21
|
+
// The problem that this solves is an id mismatch when auto-generating
|
|
22
|
+
// ids on both the server and the client. When using server-side rendering,
|
|
23
|
+
// there can be the chance of a mismatch between what the server renders and
|
|
24
|
+
// what the client renders when the id value is auto-generated.
|
|
25
|
+
//
|
|
26
|
+
// To get around this, we set the initial value of the `id` to `null` and then
|
|
27
|
+
// conditionally use `useLayoutEffect` on the client and `useEffect` on the
|
|
28
|
+
// server. On the client, `useLayoutEffect` will patch up the id to the correct
|
|
29
|
+
// value. On the server, `useEffect` will not run.
|
|
30
|
+
//
|
|
31
|
+
// This ensures that we won't encounter a mismatch in ids between server and
|
|
32
|
+
// client, at the cost of runtime patching of the id value in
|
|
33
|
+
// `useLayoutEffect`
|
|
34
|
+
//
|
|
35
|
+
// React 18 introduced a new hook called `useId` that takes care of hydration
|
|
36
|
+
// mismatches. If the user is running React 18 or higher, the native hook is
|
|
37
|
+
// used via the `useReactId` function. If the user is running React 17 or
|
|
38
|
+
// lower, `useCompatibleId` is used.
|
|
39
|
+
|
|
14
40
|
|
|
15
41
|
// This tricks bundlers so they can't statically analyze this and produce
|
|
16
42
|
// compilation warnings/errors.
|
|
@@ -105,12 +105,6 @@ const useOverflowItems = (items, containerRef, offsetRef, maxItems, onChange) =>
|
|
|
105
105
|
|
|
106
106
|
// Only call onChange if hidden items actually changed
|
|
107
107
|
useEffect(() => {
|
|
108
|
-
if (previousHiddenItems && onChange) {
|
|
109
|
-
const hasChanged = hiddenItems.length !== previousHiddenItems.length || hiddenItems.some((item, index) => item !== previousHiddenItems[index]);
|
|
110
|
-
if (hasChanged) {
|
|
111
|
-
onChange(hiddenItems);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
108
|
}, [hiddenItems, previousHiddenItems, onChange]);
|
|
115
109
|
return {
|
|
116
110
|
visibleItems,
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { debounce as debounce$1 } from '../../function/debounce.
|
|
8
|
+
import { debounce as debounce$1 } from '../../function/debounce.js';
|
|
9
9
|
|
|
10
10
|
function debounce(func, debounceMs = 0, options = {}) {
|
|
11
11
|
if (typeof options !== 'object') {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function deprecateComponent(componentName: any, message: any): any;
|
|
@@ -9,12 +9,9 @@ import { warning } from '../internal/warning.js';
|
|
|
9
9
|
|
|
10
10
|
const didWarnAboutDeprecation = {};
|
|
11
11
|
function deprecateComponent(componentName, message) {
|
|
12
|
-
if (!componentName) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
12
|
if (!didWarnAboutDeprecation[componentName]) {
|
|
16
13
|
didWarnAboutDeprecation[componentName] = true;
|
|
17
|
-
process.env.NODE_ENV !== "production" ? warning(false, message
|
|
14
|
+
process.env.NODE_ENV !== "production" ? warning(false, message) : void 0;
|
|
18
15
|
}
|
|
19
16
|
return componentName;
|
|
20
17
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function deprecateValuesWithin(propType: any, allowedValues: any, propMappingFunction: any): (props: any, propName: any, componentName: any, ...rest: any[]) => any;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} name The name of the prop that must exist to validate
|
|
9
|
+
* the current prop.
|
|
10
|
+
* @param {React.Validator} propType The original prop type checker.
|
|
11
|
+
* @returns {React.Validator} The new prop type checker for the current prop that
|
|
12
|
+
* becomes required if the prop corresponding to the provided prop name exists.
|
|
13
|
+
*/
|
|
14
|
+
export default function requiredIfGivenPropIsTruthy(name: string, propType: React.Validator): React.Validator;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export default mergeRefs;
|
|
2
|
+
/**
|
|
3
|
+
* Copyright IBM Corp. 2016, 2023
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* @param {...Ref<Element>} refs List of React refs to merge.
|
|
10
|
+
* @returns {Ref<Element>} Merged React ref.
|
|
11
|
+
*/
|
|
12
|
+
declare function mergeRefs(...refs: Ref<Element>[]): Ref<Element>;
|
package/es/tools/mergeRefs.js
CHANGED
package/icons/index.js
CHANGED
|
@@ -7,14 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
'use strict';
|
|
9
9
|
|
|
10
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
|
-
|
|
12
10
|
var iconsReact = require('@carbon/icons-react');
|
|
13
11
|
|
|
14
12
|
|
|
15
13
|
|
|
16
14
|
Object.keys(iconsReact).forEach(function (k) {
|
|
17
|
-
if (k !== 'default' && !
|
|
15
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
18
16
|
enumerable: true,
|
|
19
17
|
get: function () { return iconsReact[k]; }
|
|
20
18
|
});
|
|
@@ -7,14 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
'use strict';
|
|
9
9
|
|
|
10
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
|
-
|
|
12
10
|
function _defineProperty(e, r, t) {
|
|
13
11
|
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
14
12
|
value: t,
|
|
15
|
-
enumerable:
|
|
16
|
-
configurable:
|
|
17
|
-
writable:
|
|
13
|
+
enumerable: true,
|
|
14
|
+
configurable: true,
|
|
15
|
+
writable: true
|
|
18
16
|
}) : e[r] = t, e;
|
|
19
17
|
}
|
|
20
18
|
function _extends() {
|
|
@@ -30,7 +28,7 @@ function _toPrimitive(t, r) {
|
|
|
30
28
|
if ("object" != typeof t || !t) return t;
|
|
31
29
|
var e = t[Symbol.toPrimitive];
|
|
32
30
|
if (void 0 !== e) {
|
|
33
|
-
var i = e.call(t, r
|
|
31
|
+
var i = e.call(t, r);
|
|
34
32
|
if ("object" != typeof i) return i;
|
|
35
33
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
36
34
|
}
|
|
@@ -42,6 +40,6 @@ function _toPropertyKey(t) {
|
|
|
42
40
|
}
|
|
43
41
|
|
|
44
42
|
exports.defineProperty = _defineProperty;
|
|
45
|
-
exports
|
|
43
|
+
exports.extends = _extends;
|
|
46
44
|
exports.toPrimitive = _toPrimitive;
|
|
47
45
|
exports.toPropertyKey = _toPropertyKey;
|