@carbon/react 1.82.1 → 1.83.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +943 -828
- package/es/components/AILabel/index.js +13 -13
- package/es/components/AISkeleton/AISkeletonIcon.js +2 -2
- package/es/components/AISkeleton/AISkeletonPlaceholder.js +2 -2
- package/es/components/AISkeleton/AISkeletonText.js +2 -2
- package/es/components/Accordion/Accordion.Skeleton.js +15 -15
- package/es/components/Accordion/Accordion.js +3 -3
- package/es/components/Accordion/AccordionItem.js +9 -9
- package/es/components/Accordion/AccordionProvider.js +2 -2
- package/es/components/AccordionItem/index.d.ts +9 -0
- package/es/components/AspectRatio/AspectRatio.js +2 -2
- package/es/components/BadgeIndicator/index.js +3 -3
- package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +5 -5
- package/es/components/Breadcrumb/Breadcrumb.js +3 -3
- package/es/components/Breadcrumb/BreadcrumbItem.js +9 -9
- package/es/components/Button/Button.Skeleton.js +3 -3
- package/es/components/Button/Button.js +5 -5
- package/es/components/Button/ButtonBase.js +5 -5
- package/es/components/ButtonSet/ButtonSet.js +2 -2
- package/es/components/ChatButton/ChatButton.Skeleton.js +2 -2
- package/es/components/ChatButton/ChatButton.js +3 -3
- package/es/components/Checkbox/Checkbox.Skeleton.js +4 -4
- package/es/components/Checkbox/Checkbox.js +15 -15
- package/es/components/CheckboxGroup/CheckboxGroup.js +12 -12
- package/es/components/ClassPrefix/index.js +2 -2
- package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +7 -7
- package/es/components/CodeSnippet/CodeSnippet.js +16 -16
- package/es/components/ComboBox/ComboBox.js +18 -18
- package/es/components/ComboButton/index.js +7 -7
- package/es/components/ComposedModal/ComposedModal.js +20 -20
- package/es/components/ComposedModal/ModalFooter.js +8 -8
- package/es/components/ComposedModal/ModalHeader.js +8 -8
- package/es/components/ContainedList/ContainedList.js +7 -7
- package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +7 -7
- package/es/components/ContentSwitcher/ContentSwitcher.d.ts +8 -0
- package/es/components/ContentSwitcher/ContentSwitcher.js +13 -7
- package/es/components/Copy/Copy.js +2 -2
- package/es/components/CopyButton/CopyButton.js +4 -4
- package/es/components/DangerButton/DangerButton.js +2 -2
- package/es/components/DataTable/DataTable.d.ts +81 -283
- package/es/components/DataTable/DataTable.js +83 -123
- package/es/components/DataTable/Table.d.ts +2 -2
- package/es/components/DataTable/Table.js +4 -4
- package/es/components/DataTable/TableActionList.d.ts +1 -1
- package/es/components/DataTable/TableBatchAction.js +2 -2
- package/es/components/DataTable/TableBatchActions.js +9 -9
- package/es/components/DataTable/TableBody.d.ts +3 -3
- package/es/components/DataTable/TableBody.js +2 -2
- package/es/components/DataTable/TableCell.d.ts +3 -4
- package/es/components/DataTable/TableCell.js +2 -2
- package/es/components/DataTable/TableContainer.d.ts +2 -3
- package/es/components/DataTable/TableContainer.js +6 -6
- package/es/components/DataTable/TableDecoratorRow.js +4 -4
- package/es/components/DataTable/TableExpandHeader.d.ts +2 -3
- package/es/components/DataTable/TableExpandHeader.js +4 -4
- package/es/components/DataTable/TableExpandRow.js +8 -8
- package/es/components/DataTable/TableExpandedRow.d.ts +3 -3
- package/es/components/DataTable/TableExpandedRow.js +4 -4
- package/es/components/DataTable/TableHead.d.ts +1 -1
- package/es/components/DataTable/TableHeader.d.ts +4 -4
- package/es/components/DataTable/TableHeader.js +15 -15
- package/es/components/DataTable/TableRow.d.ts +3 -4
- package/es/components/DataTable/TableRow.js +4 -4
- package/es/components/DataTable/TableSelectAll.js +3 -3
- package/es/components/DataTable/TableSelectRow.js +4 -4
- package/es/components/DataTable/TableSlugRow.js +3 -3
- package/es/components/DataTable/TableToolbar.js +2 -2
- package/es/components/DataTable/TableToolbarAction.js +2 -2
- package/es/components/DataTable/TableToolbarContent.d.ts +1 -1
- package/es/components/DataTable/TableToolbarMenu.js +2 -2
- package/es/components/DataTable/TableToolbarSearch.js +2 -2
- package/es/components/DataTable/index.d.ts +1 -1
- package/es/components/DataTableSkeleton/DataTableSkeleton.js +15 -15
- package/es/components/DatePicker/DatePicker.Skeleton.js +8 -8
- package/es/components/DatePicker/DatePicker.d.ts +1 -1
- package/es/components/DatePicker/DatePicker.js +23 -20
- package/es/components/DatePickerInput/DatePickerInput.d.ts +3 -4
- package/es/components/DatePickerInput/DatePickerInput.js +19 -19
- package/es/components/Dialog/index.d.ts +5 -6
- package/es/components/Dialog/index.js +10 -10
- package/es/components/Dropdown/Dropdown.Skeleton.d.ts +2 -3
- package/es/components/Dropdown/Dropdown.Skeleton.js +4 -4
- package/es/components/Dropdown/Dropdown.d.ts +3 -3
- package/es/components/Dropdown/Dropdown.js +18 -18
- package/es/components/ErrorBoundary/ErrorBoundary.js +2 -2
- package/es/components/ExpandableSearch/ExpandableSearch.js +3 -3
- package/es/components/FeatureFlags/index.js +2 -2
- package/es/components/FileUploader/FileUploader.Skeleton.d.ts +3 -3
- package/es/components/FileUploader/FileUploader.Skeleton.js +5 -5
- package/es/components/FileUploader/FileUploader.d.ts +2 -3
- package/es/components/FileUploader/FileUploader.js +12 -12
- package/es/components/FileUploader/FileUploaderButton.d.ts +3 -4
- package/es/components/FileUploader/FileUploaderButton.js +6 -5
- package/es/components/FileUploader/FileUploaderDropContainer.d.ts +2 -3
- package/es/components/FileUploader/FileUploaderDropContainer.js +5 -5
- package/es/components/FileUploader/FileUploaderItem.d.ts +2 -3
- package/es/components/FileUploader/FileUploaderItem.js +13 -13
- package/es/components/FileUploader/Filename.d.ts +3 -4
- package/es/components/FileUploader/Filename.js +7 -7
- package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +5 -5
- package/es/components/FluidComboBox/FluidComboBox.js +4 -4
- package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +11 -11
- package/es/components/FluidDatePicker/FluidDatePicker.js +4 -4
- package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
- package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +5 -5
- package/es/components/FluidDropdown/FluidDropdown.js +4 -4
- package/es/components/FluidForm/FluidForm.d.ts +3 -4
- package/es/components/FluidForm/FluidForm.js +3 -3
- package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +5 -5
- package/es/components/FluidMultiSelect/FluidMultiSelect.js +5 -5
- package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +5 -5
- package/es/components/FluidNumberInput/FluidNumberInput.js +4 -4
- package/es/components/FluidSearch/FluidSearch.Skeleton.js +5 -5
- package/es/components/FluidSearch/FluidSearch.js +4 -4
- package/es/components/FluidSelect/FluidSelect.Skeleton.js +5 -5
- package/es/components/FluidSelect/FluidSelect.js +4 -4
- package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +5 -5
- package/es/components/FluidTextArea/FluidTextArea.js +3 -3
- package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +5 -5
- package/es/components/FluidTextInput/FluidTextInput.js +5 -5
- package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +3 -3
- package/es/components/FluidTimePicker/FluidTimePicker.js +13 -13
- package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +3 -3
- package/es/components/Form/Form.js +2 -2
- package/es/components/FormGroup/FormGroup.d.ts +3 -4
- package/es/components/FormGroup/FormGroup.js +4 -4
- package/es/components/FormItem/FormItem.js +2 -2
- package/es/components/FormLabel/FormLabel.js +2 -2
- package/es/components/Grid/CSSGrid.js +8 -8
- package/es/components/Grid/Column.d.ts +5 -5
- package/es/components/Grid/Column.js +15 -15
- package/es/components/Grid/ColumnHang.js +2 -2
- package/es/components/Grid/FlexGrid.js +4 -4
- package/es/components/Grid/Grid.js +3 -3
- package/es/components/Grid/GridContext.d.ts +2 -2
- package/es/components/Grid/GridContext.js +1 -1
- package/es/components/Grid/Row.js +2 -2
- package/es/components/Heading/index.js +9 -9
- package/es/components/Icon/Icon.Skeleton.js +2 -2
- package/es/components/IconButton/index.js +11 -6
- package/es/components/IconIndicator/index.js +4 -4
- package/es/components/IdPrefix/index.js +2 -2
- package/es/components/InlineCheckbox/InlineCheckbox.js +6 -6
- package/es/components/InlineLoading/InlineLoading.js +10 -10
- package/es/components/Layer/LayerContext.js +2 -2
- package/es/components/Layer/index.d.ts +4 -0
- package/es/components/Layer/index.js +15 -8
- package/es/components/Layout/index.js +5 -5
- package/es/components/LayoutDirection/LayoutDirection.js +4 -4
- package/es/components/LayoutDirection/LayoutDirectionContext.js +2 -2
- package/es/components/LayoutDirection/index.d.ts +8 -0
- package/es/components/Link/Link.js +6 -6
- package/es/components/ListBox/ListBox.d.ts +2 -3
- package/es/components/ListBox/ListBox.js +5 -5
- package/es/components/ListBox/ListBoxField.d.ts +3 -4
- package/es/components/ListBox/ListBoxField.js +2 -2
- package/es/components/ListBox/ListBoxMenu.d.ts +2 -3
- package/es/components/ListBox/ListBoxMenu.js +2 -2
- package/es/components/ListBox/ListBoxMenuIcon.js +4 -4
- package/es/components/ListBox/ListBoxMenuItem.d.ts +2 -3
- package/es/components/ListBox/ListBoxMenuItem.js +3 -3
- package/es/components/ListBox/ListBoxSelection.js +6 -6
- package/es/components/ListBox/next/ListBoxSelection.js +7 -7
- package/es/components/ListBox/next/ListBoxTrigger.js +4 -4
- package/es/components/ListItem/ListItem.js +2 -2
- package/es/components/Loading/Loading.d.ts +3 -3
- package/es/components/Loading/Loading.js +6 -6
- package/es/components/Menu/Menu.js +5 -4
- package/es/components/Menu/MenuItem.js +18 -17
- package/es/components/MenuButton/index.js +4 -4
- package/es/components/Modal/Modal.d.ts +3 -4
- package/es/components/Modal/Modal.js +40 -38
- package/es/components/ModalWrapper/ModalWrapper.js +7 -7
- package/es/components/MultiSelect/FilterableMultiSelect.js +22 -26
- package/es/components/MultiSelect/MultiSelect.js +23 -23
- package/es/components/Notification/Notification.js +41 -41
- package/es/components/NumberInput/NumberInput.Skeleton.js +4 -4
- package/es/components/NumberInput/NumberInput.js +22 -22
- package/es/components/OrderedList/OrderedList.js +2 -2
- package/es/components/OverflowMenu/OverflowMenu.js +7 -7
- package/es/components/OverflowMenu/index.js +3 -3
- package/es/components/OverflowMenu/next/index.js +6 -6
- package/es/components/OverflowMenuItem/OverflowMenuItem.js +4 -4
- package/es/components/OverflowMenuV2/index.js +3 -3
- package/es/components/PageHeader/PageHeader.js +29 -29
- package/es/components/Pagination/Pagination.Skeleton.js +8 -8
- package/es/components/Pagination/Pagination.js +17 -17
- package/es/components/Pagination/experimental/PageSelector.js +3 -3
- package/es/components/Pagination/experimental/Pagination.js +14 -14
- package/es/components/PaginationNav/PaginationNav.js +31 -31
- package/es/components/Popover/index.js +15 -15
- package/es/components/PrimaryButton/PrimaryButton.js +2 -2
- package/es/components/ProgressBar/ProgressBar.js +13 -13
- package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +7 -7
- package/es/components/ProgressIndicator/ProgressIndicator.js +20 -20
- package/es/components/RadioButton/RadioButton.Skeleton.js +4 -4
- package/es/components/RadioButton/RadioButton.js +10 -10
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +16 -16
- package/es/components/RadioTile/RadioTile.js +12 -12
- package/es/components/Search/Search.Skeleton.js +4 -4
- package/es/components/Search/Search.js +11 -11
- package/es/components/SecondaryButton/SecondaryButton.js +2 -2
- package/es/components/Select/Select.Skeleton.js +5 -5
- package/es/components/Select/Select.js +19 -19
- package/es/components/SelectItem/SelectItem.js +2 -2
- package/es/components/SelectItemGroup/SelectItemGroup.js +2 -2
- package/es/components/ShapeIndicator/index.js +7 -7
- package/es/components/SkeletonIcon/SkeletonIcon.d.ts +0 -4
- package/es/components/SkeletonIcon/SkeletonIcon.js +3 -7
- package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +2 -2
- package/es/components/SkeletonText/SkeletonText.js +4 -4
- package/es/components/Slider/Slider.Skeleton.js +17 -17
- package/es/components/Slider/Slider.d.ts +8 -0
- package/es/components/Slider/Slider.js +44 -38
- package/es/components/Slider/SliderHandles.js +19 -19
- package/es/components/Stack/HStack.js +2 -2
- package/es/components/Stack/Stack.js +2 -2
- package/es/components/Stack/VStack.js +2 -2
- package/es/components/StructuredList/StructuredList.Skeleton.js +12 -12
- package/es/components/StructuredList/StructuredList.js +24 -24
- package/es/components/Switch/IconSwitch.js +3 -3
- package/es/components/Switch/Switch.js +4 -4
- package/es/components/TabContent/TabContent.js +2 -2
- package/es/components/Tabs/Tabs.Skeleton.js +7 -7
- package/es/components/Tabs/Tabs.js +65 -62
- package/es/components/Tag/DismissibleTag.d.ts +4 -0
- package/es/components/Tag/DismissibleTag.js +18 -13
- package/es/components/Tag/OperationalTag.js +6 -6
- package/es/components/Tag/SelectableTag.d.ts +4 -0
- package/es/components/Tag/SelectableTag.js +18 -9
- package/es/components/Tag/Tag.Skeleton.js +2 -2
- package/es/components/Tag/Tag.js +15 -15
- package/es/components/Text/Text.js +4 -4
- package/es/components/Text/TextDirection.js +2 -2
- package/es/components/Text/createTextComponent.js +2 -2
- package/es/components/TextArea/TextArea.Skeleton.js +4 -4
- package/es/components/TextArea/TextArea.js +19 -19
- package/es/components/TextInput/ControlledPasswordInput.d.ts +2 -3
- package/es/components/TextInput/ControlledPasswordInput.js +13 -13
- package/es/components/TextInput/PasswordInput.js +15 -15
- package/es/components/TextInput/TextInput.Skeleton.js +4 -4
- package/es/components/TextInput/TextInput.js +17 -17
- package/es/components/Theme/index.js +10 -10
- package/es/components/Tile/Tile.js +36 -36
- package/es/components/TileGroup/TileGroup.d.ts +3 -4
- package/es/components/TileGroup/TileGroup.js +8 -8
- package/es/components/TimePicker/TimePicker.d.ts +2 -3
- package/es/components/TimePicker/TimePicker.js +14 -14
- package/es/components/TimePickerSelect/TimePickerSelect.js +4 -4
- package/es/components/Toggle/Toggle.Skeleton.js +4 -4
- package/es/components/Toggle/Toggle.js +10 -10
- package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +8 -8
- package/es/components/Toggletip/index.js +12 -12
- package/es/components/Tooltip/DefinitionTooltip.js +4 -4
- package/es/components/Tooltip/Tooltip.d.ts +3 -0
- package/es/components/Tooltip/Tooltip.js +25 -13
- package/es/components/TreeView/TreeNode.js +45 -36
- package/es/components/TreeView/TreeView.js +30 -21
- package/es/components/UIShell/Content.js +2 -2
- package/es/components/UIShell/Header.js +2 -2
- package/es/components/UIShell/HeaderContainer.js +2 -2
- package/es/components/UIShell/HeaderGlobalAction.js +3 -3
- package/es/components/UIShell/HeaderGlobalBar.d.ts +1 -1
- package/es/components/UIShell/HeaderMenu.js +14 -14
- package/es/components/UIShell/HeaderMenuButton.js +4 -4
- package/es/components/UIShell/HeaderMenuItem.js +11 -9
- package/es/components/UIShell/HeaderName.js +3 -3
- package/es/components/UIShell/HeaderNavigation.js +3 -3
- package/es/components/UIShell/HeaderPanel.js +3 -3
- package/es/components/UIShell/HeaderSideNavItems.js +2 -2
- package/es/components/UIShell/Link.js +3 -3
- package/es/components/UIShell/SideNav.js +7 -7
- package/es/components/UIShell/SideNavDetails.js +3 -3
- package/es/components/UIShell/SideNavDivider.js +3 -3
- package/es/components/UIShell/SideNavFooter.js +7 -7
- package/es/components/UIShell/SideNavHeader.js +3 -3
- package/es/components/UIShell/SideNavIcon.js +2 -2
- package/es/components/UIShell/SideNavItem.js +2 -2
- package/es/components/UIShell/SideNavItems.js +5 -5
- package/es/components/UIShell/SideNavLink.js +5 -5
- package/es/components/UIShell/SideNavLinkText.js +2 -2
- package/es/components/UIShell/SideNavMenu.js +10 -10
- package/es/components/UIShell/SideNavMenuItem.js +5 -5
- package/es/components/UIShell/SideNavSwitcher.js +8 -8
- package/es/components/UIShell/SkipToContent.js +2 -2
- package/es/components/UIShell/Switcher.js +9 -9
- package/es/components/UIShell/SwitcherDivider.js +2 -2
- package/es/components/UIShell/SwitcherItem.js +3 -3
- package/es/components/UnorderedList/UnorderedList.js +2 -2
- package/es/feature-flags.d.ts +7 -0
- package/es/index.js +25 -26
- package/es/internal/FloatingMenu.js +4 -4
- package/es/internal/__mocks__/mockHTMLElement.d.ts +9 -0
- package/es/internal/createClassWrapper.js +2 -2
- package/es/internal/debounce.d.ts +8 -0
- package/es/internal/environment.d.ts +12 -0
- package/es/internal/useId.js +2 -2
- package/es/internal/useIdPrefix.js +3 -3
- package/es/internal/useNormalizedInputProps.js +3 -3
- package/es/internal/usePrefix.js +3 -3
- package/es/internal/usePreviousValue.d.ts +17 -0
- package/es/internal/usePreviousValue.js +28 -0
- package/es/internal/useResizeObserver.d.ts +14 -0
- package/es/internal/useResizeObserver.js +74 -0
- package/es/internal/wrapFocus.js +3 -6
- package/es/prop-types/AriaPropTypes.d.ts +8 -0
- package/es/tools/wrapComponent.d.ts +3 -4
- package/es/tools/wrapComponent.js +2 -2
- package/es/types/common.d.ts +0 -2
- package/lib/components/AccordionItem/index.d.ts +9 -0
- package/lib/components/CodeSnippet/CodeSnippet.js +2 -3
- package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +8 -0
- package/lib/components/ContentSwitcher/ContentSwitcher.js +7 -1
- package/lib/components/DataTable/DataTable.d.ts +81 -283
- package/lib/components/DataTable/DataTable.js +82 -123
- package/lib/components/DataTable/Table.d.ts +2 -2
- package/lib/components/DataTable/TableActionList.d.ts +1 -1
- package/lib/components/DataTable/TableBody.d.ts +3 -3
- package/lib/components/DataTable/TableCell.d.ts +3 -4
- package/lib/components/DataTable/TableContainer.d.ts +2 -3
- package/lib/components/DataTable/TableExpandHeader.d.ts +2 -3
- package/lib/components/DataTable/TableExpandedRow.d.ts +3 -3
- package/lib/components/DataTable/TableHead.d.ts +1 -1
- package/lib/components/DataTable/TableHeader.d.ts +4 -4
- package/lib/components/DataTable/TableRow.d.ts +3 -4
- package/lib/components/DataTable/TableToolbarContent.d.ts +1 -1
- package/lib/components/DataTable/index.d.ts +1 -1
- package/lib/components/DatePicker/DatePicker.d.ts +1 -1
- package/lib/components/DatePicker/DatePicker.js +6 -3
- package/lib/components/DatePickerInput/DatePickerInput.d.ts +3 -4
- package/lib/components/Dialog/index.d.ts +5 -6
- package/lib/components/Dropdown/Dropdown.Skeleton.d.ts +2 -3
- package/lib/components/Dropdown/Dropdown.d.ts +3 -3
- package/lib/components/FileUploader/FileUploader.Skeleton.d.ts +3 -3
- package/lib/components/FileUploader/FileUploader.d.ts +2 -3
- package/lib/components/FileUploader/FileUploaderButton.d.ts +3 -4
- package/lib/components/FileUploader/FileUploaderButton.js +3 -2
- package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +2 -3
- package/lib/components/FileUploader/FileUploaderItem.d.ts +2 -3
- package/lib/components/FileUploader/Filename.d.ts +3 -4
- package/lib/components/FluidForm/FluidForm.d.ts +3 -4
- package/lib/components/FormGroup/FormGroup.d.ts +3 -4
- package/lib/components/Grid/Column.d.ts +5 -5
- package/lib/components/Grid/Column.js +10 -10
- package/lib/components/Grid/GridContext.d.ts +2 -2
- package/lib/components/Grid/GridContext.js +5 -23
- package/lib/components/IconButton/index.js +6 -1
- package/lib/components/Layer/index.d.ts +4 -0
- package/lib/components/Layer/index.js +9 -2
- package/lib/components/LayoutDirection/index.d.ts +8 -0
- package/lib/components/Link/Link.js +1 -1
- package/lib/components/ListBox/ListBox.d.ts +2 -3
- package/lib/components/ListBox/ListBoxField.d.ts +3 -4
- package/lib/components/ListBox/ListBoxMenu.d.ts +2 -3
- package/lib/components/ListBox/ListBoxMenuItem.d.ts +2 -3
- package/lib/components/Loading/Loading.d.ts +3 -3
- package/lib/components/Menu/Menu.js +2 -1
- package/lib/components/Menu/MenuItem.js +2 -1
- package/lib/components/Modal/Modal.d.ts +3 -4
- package/lib/components/Modal/Modal.js +5 -3
- package/lib/components/MultiSelect/FilterableMultiSelect.js +1 -5
- package/lib/components/SkeletonIcon/SkeletonIcon.d.ts +0 -4
- package/lib/components/SkeletonIcon/SkeletonIcon.js +1 -5
- package/lib/components/Slider/Slider.d.ts +8 -0
- package/lib/components/Slider/Slider.js +6 -0
- package/lib/components/Tabs/Tabs.js +5 -2
- package/lib/components/Tag/DismissibleTag.d.ts +4 -0
- package/lib/components/Tag/DismissibleTag.js +8 -3
- package/lib/components/Tag/SelectableTag.d.ts +4 -0
- package/lib/components/Tag/SelectableTag.js +12 -3
- package/lib/components/TextInput/ControlledPasswordInput.d.ts +2 -3
- package/lib/components/TileGroup/TileGroup.d.ts +3 -4
- package/lib/components/TimePicker/TimePicker.d.ts +2 -3
- package/lib/components/Tooltip/Tooltip.d.ts +3 -0
- package/lib/components/Tooltip/Tooltip.js +18 -6
- package/lib/components/TreeView/TreeNode.js +20 -11
- package/lib/components/TreeView/TreeView.js +27 -18
- package/lib/components/UIShell/HeaderGlobalBar.d.ts +1 -1
- package/lib/components/UIShell/HeaderMenuItem.js +7 -5
- package/lib/components/UIShell/Switcher.js +3 -3
- package/lib/feature-flags.d.ts +7 -0
- package/lib/index.js +50 -51
- package/lib/internal/__mocks__/mockHTMLElement.d.ts +9 -0
- package/lib/internal/debounce.d.ts +8 -0
- package/lib/internal/environment.d.ts +12 -0
- package/lib/internal/usePreviousValue.d.ts +17 -0
- package/lib/internal/usePreviousValue.js +32 -0
- package/lib/internal/useResizeObserver.d.ts +14 -0
- package/lib/internal/useResizeObserver.js +78 -0
- package/lib/internal/wrapFocus.js +3 -6
- package/lib/prop-types/AriaPropTypes.d.ts +8 -0
- package/lib/tools/wrapComponent.d.ts +3 -4
- package/lib/types/common.d.ts +0 -2
- package/package.json +5 -6
- package/scss/components/content-switcher/_tokens.scss +9 -0
- package/telemetry.yml +5 -1
- package/es/components/DataTable/index.js +0 -76
- package/es/prop-types/tools/getDisplayName.js +0 -34
- package/es/prop-types/types.js +0 -13
- package/lib/components/DataTable/index.js +0 -82
- package/lib/prop-types/tools/getDisplayName.js +0 -38
- package/lib/prop-types/types.js +0 -17
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
-
import
|
|
9
|
+
import React, { useRef } from 'react';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { useControllableState } from '../../internal/useControllableState.js';
|
|
@@ -69,7 +69,7 @@ function Toggle(_ref) {
|
|
|
69
69
|
return (
|
|
70
70
|
/*#__PURE__*/
|
|
71
71
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
72
|
-
|
|
72
|
+
React.createElement("div", {
|
|
73
73
|
className: wrapperClasses,
|
|
74
74
|
onClick: !labelText ? e => {
|
|
75
75
|
// the underlying <button> can only be activated by keyboard as it is visually hidden;
|
|
@@ -82,7 +82,7 @@ function Toggle(_ref) {
|
|
|
82
82
|
buttonElement.current.focus();
|
|
83
83
|
}
|
|
84
84
|
} : undefined
|
|
85
|
-
}, /*#__PURE__*/
|
|
85
|
+
}, /*#__PURE__*/React.createElement("button", _extends({}, other, {
|
|
86
86
|
ref: buttonElement,
|
|
87
87
|
id: id,
|
|
88
88
|
className: `${prefix}--toggle__button`,
|
|
@@ -92,26 +92,26 @@ function Toggle(_ref) {
|
|
|
92
92
|
"aria-labelledby": ariaLabelledby ?? (labelText ? labelId : undefined),
|
|
93
93
|
disabled: disabled,
|
|
94
94
|
onClick: handleClick
|
|
95
|
-
})), /*#__PURE__*/
|
|
95
|
+
})), /*#__PURE__*/React.createElement(LabelComponent, {
|
|
96
96
|
id: labelId,
|
|
97
97
|
htmlFor: ariaLabelledby ? undefined : id,
|
|
98
98
|
className: `${prefix}--toggle__label`
|
|
99
|
-
}, labelText && /*#__PURE__*/
|
|
99
|
+
}, labelText && /*#__PURE__*/React.createElement(Text, {
|
|
100
100
|
className: labelTextClasses
|
|
101
|
-
}, labelText), /*#__PURE__*/
|
|
101
|
+
}, labelText), /*#__PURE__*/React.createElement("div", {
|
|
102
102
|
className: appearanceClasses
|
|
103
|
-
}, /*#__PURE__*/
|
|
103
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
104
104
|
className: switchClasses
|
|
105
|
-
}, isSm && /*#__PURE__*/
|
|
105
|
+
}, isSm && /*#__PURE__*/React.createElement("svg", {
|
|
106
106
|
"aria-hidden": "true",
|
|
107
107
|
focusable: "false",
|
|
108
108
|
className: `${prefix}--toggle__check`,
|
|
109
109
|
width: "6px",
|
|
110
110
|
height: "5px",
|
|
111
111
|
viewBox: "0 0 6 5"
|
|
112
|
-
}, _path || (_path = /*#__PURE__*/
|
|
112
|
+
}, _path || (_path = /*#__PURE__*/React.createElement("path", {
|
|
113
113
|
d: "M2.2 2.7L5 0 6 1 2.2 5 0 2.7 1 1.5z"
|
|
114
|
-
})))), renderSideLabel && /*#__PURE__*/
|
|
114
|
+
})))), renderSideLabel && /*#__PURE__*/React.createElement(Text, {
|
|
115
115
|
className: `${prefix}--toggle__text`,
|
|
116
116
|
"aria-hidden": "true"
|
|
117
117
|
}, sideLabel))))
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import
|
|
10
|
+
import React, { useContext } from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { PrefixContext } from '../../internal/usePrefix.js';
|
|
13
13
|
|
|
@@ -20,25 +20,25 @@ const ToggleSmallSkeleton = _ref => {
|
|
|
20
20
|
...rest
|
|
21
21
|
} = _ref;
|
|
22
22
|
const prefix = useContext(PrefixContext);
|
|
23
|
-
return /*#__PURE__*/
|
|
23
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
24
24
|
className: cx(`${prefix}--form-item`, className)
|
|
25
|
-
}, rest), /*#__PURE__*/
|
|
25
|
+
}, rest), /*#__PURE__*/React.createElement("input", {
|
|
26
26
|
type: "checkbox",
|
|
27
27
|
id: id,
|
|
28
28
|
className: `${prefix}--toggle ${prefix}--toggle--small ${prefix}--skeleton`
|
|
29
|
-
}), /*#__PURE__*/
|
|
29
|
+
}), /*#__PURE__*/React.createElement("label", {
|
|
30
30
|
className: `${prefix}--toggle__label ${prefix}--skeleton`,
|
|
31
31
|
htmlFor: id
|
|
32
|
-
}, labelText && /*#__PURE__*/
|
|
32
|
+
}, labelText && /*#__PURE__*/React.createElement("span", {
|
|
33
33
|
className: `${prefix}--toggle__label-text`
|
|
34
|
-
}, labelText), /*#__PURE__*/
|
|
34
|
+
}, labelText), /*#__PURE__*/React.createElement("span", {
|
|
35
35
|
className: `${prefix}--toggle__appearance`
|
|
36
|
-
}, /*#__PURE__*/
|
|
36
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
37
37
|
className: `${prefix}--toggle__check`,
|
|
38
38
|
width: "6px",
|
|
39
39
|
height: "5px",
|
|
40
40
|
viewBox: "0 0 6 5"
|
|
41
|
-
}, _path || (_path = /*#__PURE__*/
|
|
41
|
+
}, _path || (_path = /*#__PURE__*/React.createElement("path", {
|
|
42
42
|
d: "M2.2403 2.7299L4.9245 0 6 1.1117 2.2384 5 0 2.6863 1.0612 1.511z"
|
|
43
43
|
}))))));
|
|
44
44
|
};
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import cx from 'classnames';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
|
-
import
|
|
11
|
+
import React, { useRef, useState, useContext } from 'react';
|
|
12
12
|
import { Popover, PopoverContent } from '../Popover/index.js';
|
|
13
13
|
import { Escape } from '../../internal/keyboard/keys.js';
|
|
14
14
|
import { match } from '../../internal/keyboard/match.js';
|
|
@@ -29,7 +29,7 @@ function ToggletipLabel(_ref) {
|
|
|
29
29
|
const prefix = usePrefix();
|
|
30
30
|
const className = cx(`${prefix}--toggletip-label`, customClassName);
|
|
31
31
|
const BaseComponentAsAny = BaseComponent;
|
|
32
|
-
return /*#__PURE__*/
|
|
32
|
+
return /*#__PURE__*/React.createElement(BaseComponentAsAny, _extends({
|
|
33
33
|
className: className
|
|
34
34
|
}, rest), children);
|
|
35
35
|
}
|
|
@@ -51,7 +51,7 @@ ToggletipLabel.propTypes = {
|
|
|
51
51
|
};
|
|
52
52
|
// Used to coordinate accessibility props between button and content along with
|
|
53
53
|
// the actions to open and close the toggletip
|
|
54
|
-
const ToggletipContext = /*#__PURE__*/
|
|
54
|
+
const ToggletipContext = /*#__PURE__*/React.createContext(undefined);
|
|
55
55
|
function useToggletip() {
|
|
56
56
|
return useContext(ToggletipContext);
|
|
57
57
|
}
|
|
@@ -135,9 +135,9 @@ function Toggletip(_ref2) {
|
|
|
135
135
|
actions.close();
|
|
136
136
|
}
|
|
137
137
|
});
|
|
138
|
-
return /*#__PURE__*/
|
|
138
|
+
return /*#__PURE__*/React.createElement(ToggletipContext.Provider, {
|
|
139
139
|
value: value
|
|
140
|
-
}, /*#__PURE__*/
|
|
140
|
+
}, /*#__PURE__*/React.createElement(Popover, _extends({
|
|
141
141
|
align: align,
|
|
142
142
|
as: as,
|
|
143
143
|
caret: true,
|
|
@@ -209,7 +209,7 @@ Toggletip.propTypes = {
|
|
|
209
209
|
* clicks and keyboard interactions.
|
|
210
210
|
*/
|
|
211
211
|
|
|
212
|
-
const ToggletipButton = /*#__PURE__*/
|
|
212
|
+
const ToggletipButton = /*#__PURE__*/React.forwardRef(function ToggletipButton(_ref4, ref) {
|
|
213
213
|
let {
|
|
214
214
|
children,
|
|
215
215
|
className: customClassName,
|
|
@@ -222,11 +222,11 @@ const ToggletipButton = /*#__PURE__*/React__default.forwardRef(function Toggleti
|
|
|
222
222
|
const className = cx(`${prefix}--toggletip-button`, customClassName);
|
|
223
223
|
const ComponentToggle = BaseComponent ?? 'button';
|
|
224
224
|
if (ComponentToggle !== 'button') {
|
|
225
|
-
return /*#__PURE__*/
|
|
225
|
+
return /*#__PURE__*/React.createElement(ComponentToggle, _extends({}, toggletip?.onClick, {
|
|
226
226
|
className: className
|
|
227
227
|
}, rest), children);
|
|
228
228
|
}
|
|
229
|
-
return /*#__PURE__*/
|
|
229
|
+
return /*#__PURE__*/React.createElement("button", _extends({}, toggletip?.buttonProps, {
|
|
230
230
|
"aria-label": label,
|
|
231
231
|
type: "button",
|
|
232
232
|
className: className,
|
|
@@ -254,19 +254,19 @@ ToggletipButton.displayName = 'ToggletipButton';
|
|
|
254
254
|
* `children` passed in as a prop inside of `PopoverContent` so that they will
|
|
255
255
|
* be rendered inside of the popover for this component.
|
|
256
256
|
*/
|
|
257
|
-
const ToggletipContent = /*#__PURE__*/
|
|
257
|
+
const ToggletipContent = /*#__PURE__*/React.forwardRef(function ToggletipContent(_ref5, ref) {
|
|
258
258
|
let {
|
|
259
259
|
children,
|
|
260
260
|
className: customClassName
|
|
261
261
|
} = _ref5;
|
|
262
262
|
const toggletip = useToggletip();
|
|
263
263
|
const prefix = usePrefix();
|
|
264
|
-
return /*#__PURE__*/
|
|
264
|
+
return /*#__PURE__*/React.createElement(PopoverContent, _extends({
|
|
265
265
|
className: customClassName
|
|
266
266
|
}, toggletip?.contentProps, {
|
|
267
267
|
ref: ref,
|
|
268
268
|
"aria-live": "polite"
|
|
269
|
-
}), /*#__PURE__*/
|
|
269
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
270
270
|
className: `${prefix}--toggletip-content`
|
|
271
271
|
}, children));
|
|
272
272
|
});
|
|
@@ -293,7 +293,7 @@ function ToggletipActions(_ref6) {
|
|
|
293
293
|
} = _ref6;
|
|
294
294
|
const prefix = usePrefix();
|
|
295
295
|
const className = cx(`${prefix}--toggletip-actions`, customClassName);
|
|
296
|
-
return /*#__PURE__*/
|
|
296
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
297
297
|
className: className
|
|
298
298
|
}, children);
|
|
299
299
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import cx from 'classnames';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
|
-
import
|
|
11
|
+
import React, { useState } from 'react';
|
|
12
12
|
import { Popover, PopoverContent } from '../Popover/index.js';
|
|
13
13
|
import { Escape } from '../../internal/keyboard/keys.js';
|
|
14
14
|
import { match } from '../../internal/keyboard/match.js';
|
|
@@ -39,7 +39,7 @@ const DefinitionTooltip = _ref => {
|
|
|
39
39
|
setOpen(false);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
return /*#__PURE__*/
|
|
42
|
+
return /*#__PURE__*/React.createElement(Popover, {
|
|
43
43
|
align: align,
|
|
44
44
|
className: className,
|
|
45
45
|
autoAlign: autoAlign,
|
|
@@ -55,7 +55,7 @@ const DefinitionTooltip = _ref => {
|
|
|
55
55
|
setOpen(true);
|
|
56
56
|
},
|
|
57
57
|
open: isOpen
|
|
58
|
-
}, /*#__PURE__*/
|
|
58
|
+
}, /*#__PURE__*/React.createElement("button", _extends({}, rest, {
|
|
59
59
|
className: cx(`${prefix}--definition-term`, triggerClassName),
|
|
60
60
|
"aria-controls": tooltipId,
|
|
61
61
|
"aria-expanded": isOpen,
|
|
@@ -69,7 +69,7 @@ const DefinitionTooltip = _ref => {
|
|
|
69
69
|
},
|
|
70
70
|
onKeyDown: onKeyDown,
|
|
71
71
|
type: "button"
|
|
72
|
-
}), children), /*#__PURE__*/
|
|
72
|
+
}), children), /*#__PURE__*/React.createElement(PopoverContent, {
|
|
73
73
|
className: `${prefix}--definition-tooltip`,
|
|
74
74
|
id: tooltipId
|
|
75
75
|
}, tooltipText ?? definition));
|
|
@@ -54,6 +54,9 @@ interface TooltipBaseProps {
|
|
|
54
54
|
/**
|
|
55
55
|
* Provide the label to be rendered inside of the Tooltip. The label will use
|
|
56
56
|
* `aria-labelledby` and will fully describe the child node that is provided.
|
|
57
|
+
* If the child already has an `aria-label`, the tooltip will not apply
|
|
58
|
+
* `aria-labelledby`. If the child has its own `aria-labelledby`, that value
|
|
59
|
+
* will be kept. Otherwise, the tooltip will use its own ID to label the child.
|
|
57
60
|
* This means that if you have text in the child node, that it will not be
|
|
58
61
|
* announced to the screen reader.
|
|
59
62
|
*
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import cx from 'classnames';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
|
-
import
|
|
11
|
+
import React, { useRef, useState, useCallback, useEffect } from 'react';
|
|
12
12
|
import { Popover, PopoverContent } from '../Popover/index.js';
|
|
13
13
|
import { Escape, Enter, Space } from '../../internal/keyboard/keys.js';
|
|
14
14
|
import { match } from '../../internal/keyboard/match.js';
|
|
@@ -22,7 +22,7 @@ import useIsomorphicEffect from '../../internal/useIsomorphicEffect.js';
|
|
|
22
22
|
* Event types that trigger a "drag" to stop.
|
|
23
23
|
*/
|
|
24
24
|
const DRAG_STOP_EVENT_TYPES = new Set(['mouseup', 'touchend', 'touchcancel']);
|
|
25
|
-
const Tooltip = /*#__PURE__*/
|
|
25
|
+
const Tooltip = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
26
26
|
let {
|
|
27
27
|
as,
|
|
28
28
|
align = 'top',
|
|
@@ -45,7 +45,22 @@ const Tooltip = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
|
|
|
45
45
|
const [isPointerIntersecting, setIsPointerIntersecting] = useState(false);
|
|
46
46
|
const id = useId('tooltip');
|
|
47
47
|
const prefix = usePrefix();
|
|
48
|
-
const child =
|
|
48
|
+
const child = React.Children.only(children);
|
|
49
|
+
const {
|
|
50
|
+
'aria-label': ariaLabel,
|
|
51
|
+
'aria-labelledby': ariaLabelledBy,
|
|
52
|
+
'aria-describedby': ariaDescribedBy
|
|
53
|
+
} = child?.props ?? {};
|
|
54
|
+
const hasLabel = !!label;
|
|
55
|
+
const hasAriaLabel = typeof ariaLabel === 'string' ? ariaLabel.trim() !== '' : false;
|
|
56
|
+
|
|
57
|
+
// An `aria-label` takes precedence over `aria-describedby`, but when it's
|
|
58
|
+
// needed and the user doesn't specify one, the fallback `id` is used.
|
|
59
|
+
const labelledBy = hasAriaLabel ? null : hasLabel ? ariaLabelledBy ?? id : undefined;
|
|
60
|
+
|
|
61
|
+
// If `aria-label` is present, use any provided `aria-describedby`.
|
|
62
|
+
// If not, fallback to child's `aria-describedby` or the tooltip `id` if needed.
|
|
63
|
+
const describedBy = hasAriaLabel ? ariaDescribedBy : ariaDescribedBy ?? (!hasLabel && !ariaLabelledBy ? id : undefined);
|
|
49
64
|
const triggerProps = {
|
|
50
65
|
onFocus: () => !focusByMouse && setOpen(true),
|
|
51
66
|
onBlur: () => {
|
|
@@ -58,7 +73,9 @@ const Tooltip = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
|
|
|
58
73
|
onMouseLeave,
|
|
59
74
|
onMouseDown,
|
|
60
75
|
onMouseMove: onMouseMove,
|
|
61
|
-
onTouchStart: onDragStart
|
|
76
|
+
onTouchStart: onDragStart,
|
|
77
|
+
'aria-labelledby': labelledBy,
|
|
78
|
+
'aria-describedby': describedBy
|
|
62
79
|
};
|
|
63
80
|
function getChildEventHandlers(childProps) {
|
|
64
81
|
const eventHandlerFunctions = Object.keys(triggerProps).filter(prop => prop.startsWith('on'));
|
|
@@ -73,11 +90,6 @@ const Tooltip = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
|
|
|
73
90
|
});
|
|
74
91
|
return eventHandlers;
|
|
75
92
|
}
|
|
76
|
-
if (label) {
|
|
77
|
-
triggerProps['aria-labelledby'] = id;
|
|
78
|
-
} else {
|
|
79
|
-
triggerProps['aria-describedby'] = id;
|
|
80
|
-
}
|
|
81
93
|
const onKeyDown = useCallback(event => {
|
|
82
94
|
if (open && match(event, Escape)) {
|
|
83
95
|
event.stopPropagation();
|
|
@@ -151,7 +163,7 @@ const Tooltip = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
|
|
|
151
163
|
});
|
|
152
164
|
};
|
|
153
165
|
}, [isDragging, onDragStop]);
|
|
154
|
-
return /*#__PURE__*/
|
|
166
|
+
return /*#__PURE__*/React.createElement(Popover, _extends({
|
|
155
167
|
as: as,
|
|
156
168
|
ref: ref
|
|
157
169
|
}, rest, {
|
|
@@ -162,12 +174,12 @@ const Tooltip = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
|
|
|
162
174
|
onKeyDown: onKeyDown,
|
|
163
175
|
onMouseLeave: onMouseLeave,
|
|
164
176
|
open: open
|
|
165
|
-
}), /*#__PURE__*/
|
|
177
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
166
178
|
className: `${prefix}--tooltip-trigger__wrapper`
|
|
167
|
-
}, child !== undefined ? /*#__PURE__*/
|
|
179
|
+
}, child !== undefined ? /*#__PURE__*/React.cloneElement(child, {
|
|
168
180
|
...triggerProps,
|
|
169
181
|
...getChildEventHandlers(child.props)
|
|
170
|
-
}) : null), /*#__PURE__*/
|
|
182
|
+
}) : null), /*#__PURE__*/React.createElement(PopoverContent, {
|
|
171
183
|
"aria-hidden": open ? 'false' : 'true',
|
|
172
184
|
className: `${prefix}--tooltip-content`,
|
|
173
185
|
id: id,
|
|
@@ -9,7 +9,7 @@ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js
|
|
|
9
9
|
import { CaretDown } from '@carbon/icons-react';
|
|
10
10
|
import cx from 'classnames';
|
|
11
11
|
import PropTypes from 'prop-types';
|
|
12
|
-
import
|
|
12
|
+
import React, { useRef, useState, useEffect } from 'react';
|
|
13
13
|
import { ArrowLeft, ArrowRight, Enter, Space } from '../../internal/keyboard/keys.js';
|
|
14
14
|
import { matches, match } from '../../internal/keyboard/match.js';
|
|
15
15
|
import { useControllableState } from '../../internal/useControllableState.js';
|
|
@@ -17,7 +17,7 @@ import { usePrefix } from '../../internal/usePrefix.js';
|
|
|
17
17
|
import { uniqueId } from '../../tools/uniqueId.js';
|
|
18
18
|
import { useFeatureFlag } from '../FeatureFlags/index.js';
|
|
19
19
|
|
|
20
|
-
const TreeNode = /*#__PURE__*/
|
|
20
|
+
const TreeNode = /*#__PURE__*/React.forwardRef((_ref, forwardedRef) => {
|
|
21
21
|
let {
|
|
22
22
|
active,
|
|
23
23
|
children,
|
|
@@ -70,19 +70,28 @@ const TreeNode = /*#__PURE__*/React__default.forwardRef((_ref, forwardedRef) =>
|
|
|
70
70
|
forwardedRef.current = element;
|
|
71
71
|
}
|
|
72
72
|
};
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
73
|
+
function enhanceTreeNodes(children) {
|
|
74
|
+
return React.Children.map(children, node => {
|
|
75
|
+
if (! /*#__PURE__*/React.isValidElement(node)) return node;
|
|
76
|
+
const isTreeNode = node.type.displayName === 'TreeNode';
|
|
77
|
+
if (isTreeNode) {
|
|
78
|
+
return /*#__PURE__*/React.cloneElement(node, {
|
|
79
|
+
active,
|
|
80
|
+
depth: depth + 1,
|
|
81
|
+
disabled: disabled || node.props.disabled,
|
|
82
|
+
onTreeSelect,
|
|
83
|
+
onNodeFocusEvent,
|
|
84
|
+
selected,
|
|
85
|
+
tabIndex: node.props.disabled ? null : -1
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
const newChildren = enhanceTreeNodes(node.props.children);
|
|
89
|
+
return /*#__PURE__*/React.cloneElement(node, {
|
|
90
|
+
children: newChildren
|
|
83
91
|
});
|
|
84
|
-
}
|
|
85
|
-
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
const nodesWithProps = enhanceTreeNodes(children);
|
|
86
95
|
const isActive = active === id;
|
|
87
96
|
const isSelected = selected.includes(id);
|
|
88
97
|
const treeNodeClasses = cx(className, `${prefix}--tree-node`, {
|
|
@@ -282,52 +291,52 @@ const TreeNode = /*#__PURE__*/React__default.forwardRef((_ref, forwardedRef) =>
|
|
|
282
291
|
};
|
|
283
292
|
if (!children) {
|
|
284
293
|
if (href) {
|
|
285
|
-
return /*#__PURE__*/
|
|
294
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
286
295
|
role: "none"
|
|
287
|
-
}, /*#__PURE__*/
|
|
296
|
+
}, /*#__PURE__*/React.createElement("a", _extends({}, treeNodeProps, {
|
|
288
297
|
ref: setRefs,
|
|
289
298
|
href: !disabled ? href : undefined
|
|
290
|
-
}), /*#__PURE__*/
|
|
299
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
291
300
|
className: `${prefix}--tree-node__label`,
|
|
292
301
|
ref: currentNodeLabel
|
|
293
|
-
}, Icon && /*#__PURE__*/
|
|
302
|
+
}, Icon && /*#__PURE__*/React.createElement(Icon, {
|
|
294
303
|
className: `${prefix}--tree-node__icon`
|
|
295
304
|
}), label)));
|
|
296
305
|
} else {
|
|
297
|
-
return /*#__PURE__*/
|
|
306
|
+
return /*#__PURE__*/React.createElement("li", _extends({}, treeNodeProps, {
|
|
298
307
|
ref: setRefs
|
|
299
|
-
}), /*#__PURE__*/
|
|
308
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
300
309
|
className: `${prefix}--tree-node__label`,
|
|
301
310
|
ref: currentNodeLabel
|
|
302
|
-
}, Icon && /*#__PURE__*/
|
|
311
|
+
}, Icon && /*#__PURE__*/React.createElement(Icon, {
|
|
303
312
|
className: `${prefix}--tree-node__icon`
|
|
304
313
|
}), label));
|
|
305
314
|
}
|
|
306
315
|
}
|
|
307
316
|
if (href) {
|
|
308
|
-
return /*#__PURE__*/
|
|
317
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
309
318
|
role: "none",
|
|
310
319
|
className: `${prefix}--tree-node-link-parent`
|
|
311
|
-
}, /*#__PURE__*/
|
|
320
|
+
}, /*#__PURE__*/React.createElement("a", _extends({}, treeNodeProps, {
|
|
312
321
|
"aria-expanded": !!expanded,
|
|
313
322
|
ref: setRefs,
|
|
314
323
|
href: !disabled ? href : undefined
|
|
315
|
-
}), /*#__PURE__*/
|
|
324
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
316
325
|
className: `${prefix}--tree-node__label`,
|
|
317
326
|
ref: currentNodeLabel
|
|
318
|
-
}, /*#__PURE__*/
|
|
327
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
319
328
|
className: `${prefix}--tree-parent-node__toggle`
|
|
320
329
|
// @ts-ignore
|
|
321
330
|
,
|
|
322
331
|
disabled: disabled,
|
|
323
332
|
onClick: handleToggleClick
|
|
324
|
-
}, /*#__PURE__*/
|
|
333
|
+
}, /*#__PURE__*/React.createElement(CaretDown, {
|
|
325
334
|
className: toggleClasses
|
|
326
|
-
})), /*#__PURE__*/
|
|
335
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
327
336
|
className: `${prefix}--tree-node__label__details`
|
|
328
|
-
}, Icon && /*#__PURE__*/
|
|
337
|
+
}, Icon && /*#__PURE__*/React.createElement(Icon, {
|
|
329
338
|
className: `${prefix}--tree-node__icon`
|
|
330
|
-
}), label))), /*#__PURE__*/
|
|
339
|
+
}), label))), /*#__PURE__*/React.createElement("ul", {
|
|
331
340
|
id: `${id}-subtree`,
|
|
332
341
|
role: "group",
|
|
333
342
|
className: cx(`${prefix}--tree-node__children`, {
|
|
@@ -335,25 +344,25 @@ const TreeNode = /*#__PURE__*/React__default.forwardRef((_ref, forwardedRef) =>
|
|
|
335
344
|
})
|
|
336
345
|
}, nodesWithProps));
|
|
337
346
|
} else {
|
|
338
|
-
return /*#__PURE__*/
|
|
347
|
+
return /*#__PURE__*/React.createElement("li", _extends({}, treeNodeProps, {
|
|
339
348
|
"aria-expanded": !!expanded,
|
|
340
349
|
ref: setRefs
|
|
341
|
-
}), /*#__PURE__*/
|
|
350
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
342
351
|
className: `${prefix}--tree-node__label`,
|
|
343
352
|
ref: currentNodeLabel
|
|
344
|
-
}, /*#__PURE__*/
|
|
353
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
345
354
|
className: `${prefix}--tree-parent-node__toggle`
|
|
346
355
|
// @ts-ignore
|
|
347
356
|
,
|
|
348
357
|
disabled: disabled,
|
|
349
358
|
onClick: handleToggleClick
|
|
350
|
-
}, /*#__PURE__*/
|
|
359
|
+
}, /*#__PURE__*/React.createElement(CaretDown, {
|
|
351
360
|
className: toggleClasses
|
|
352
|
-
})), /*#__PURE__*/
|
|
361
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
353
362
|
className: `${prefix}--tree-node__label__details`
|
|
354
|
-
}, Icon && /*#__PURE__*/
|
|
363
|
+
}, Icon && /*#__PURE__*/React.createElement(Icon, {
|
|
355
364
|
className: `${prefix}--tree-node__icon`
|
|
356
|
-
}), label)), /*#__PURE__*/
|
|
365
|
+
}), label)), /*#__PURE__*/React.createElement("ul", {
|
|
357
366
|
id: `${id}-subtree`,
|
|
358
367
|
role: "group",
|
|
359
368
|
className: cx(`${prefix}--tree-node__children`, {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import cx from 'classnames';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
|
-
import
|
|
11
|
+
import React, { useRef, useState, useEffect } from 'react';
|
|
12
12
|
import { ArrowUp, ArrowDown, Home, End } from '../../internal/keyboard/keys.js';
|
|
13
13
|
import { matches, match } from '../../internal/keyboard/match.js';
|
|
14
14
|
import { useControllableState } from '../../internal/useControllableState.js';
|
|
@@ -111,24 +111,33 @@ const TreeView = _ref => {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
let focusTarget = false;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
114
|
+
function enhanceTreeNodes(children) {
|
|
115
|
+
return React.Children.map(children, child => {
|
|
116
|
+
if (! /*#__PURE__*/React.isValidElement(child)) return child;
|
|
117
|
+
const isTreeNode = child.type.displayName === 'TreeNode';
|
|
118
|
+
if (isTreeNode) {
|
|
119
|
+
const node = child;
|
|
120
|
+
const sharedNodeProps = {
|
|
121
|
+
active,
|
|
122
|
+
depth: 0,
|
|
123
|
+
onNodeFocusEvent: handleFocusEvent,
|
|
124
|
+
onTreeSelect: handleTreeSelect,
|
|
125
|
+
selected,
|
|
126
|
+
tabIndex: node.props.disabled ? undefined : -1
|
|
127
|
+
};
|
|
128
|
+
if (!focusTarget && !node.props.disabled) {
|
|
129
|
+
sharedNodeProps.tabIndex = 0;
|
|
130
|
+
focusTarget = true;
|
|
131
|
+
}
|
|
132
|
+
return /*#__PURE__*/React.cloneElement(child, sharedNodeProps);
|
|
133
|
+
}
|
|
134
|
+
const newChildren = enhanceTreeNodes(child.props.children);
|
|
135
|
+
return /*#__PURE__*/React.cloneElement(child, {
|
|
136
|
+
children: newChildren
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
const nodesWithProps = enhanceTreeNodes(children);
|
|
132
141
|
function handleKeyDown(event) {
|
|
133
142
|
event.stopPropagation();
|
|
134
143
|
if (matches(event, [ArrowUp, ArrowDown, Home, End])) {
|
|
@@ -211,11 +220,11 @@ const TreeView = _ref => {
|
|
|
211
220
|
}, []);
|
|
212
221
|
useActiveAndSelectedOnMount();
|
|
213
222
|
const labelId = `${treeId}__label`;
|
|
214
|
-
const TreeLabel = () => !hideLabel ? /*#__PURE__*/
|
|
223
|
+
const TreeLabel = () => !hideLabel ? /*#__PURE__*/React.createElement("label", {
|
|
215
224
|
id: labelId,
|
|
216
225
|
className: `${prefix}--label`
|
|
217
226
|
}, label) : null;
|
|
218
|
-
return /*#__PURE__*/
|
|
227
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TreeLabel, null), /*#__PURE__*/React.createElement("ul", _extends({}, rest, {
|
|
219
228
|
"aria-label": hideLabel ? label : undefined,
|
|
220
229
|
"aria-labelledby": !hideLabel ? labelId : undefined,
|
|
221
230
|
"aria-multiselectable": multiselect || undefined,
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import cx from 'classnames';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import
|
|
10
|
+
import React from 'react';
|
|
11
11
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
12
12
|
|
|
13
13
|
const Content = _ref => {
|
|
@@ -19,7 +19,7 @@ const Content = _ref => {
|
|
|
19
19
|
} = _ref;
|
|
20
20
|
const prefix = usePrefix();
|
|
21
21
|
const className = cx(`${prefix}--content`, customClassName);
|
|
22
|
-
return /*#__PURE__*/
|
|
22
|
+
return /*#__PURE__*/React.createElement(tagName, {
|
|
23
23
|
...rest,
|
|
24
24
|
className
|
|
25
25
|
}, children);
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import cx from 'classnames';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
|
-
import
|
|
11
|
+
import React from 'react';
|
|
12
12
|
import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
|
|
13
13
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
14
14
|
|
|
@@ -20,7 +20,7 @@ const Header = _ref => {
|
|
|
20
20
|
} = _ref;
|
|
21
21
|
const prefix = usePrefix();
|
|
22
22
|
const className = cx(`${prefix}--header`, customClassName);
|
|
23
|
-
return /*#__PURE__*/
|
|
23
|
+
return /*#__PURE__*/React.createElement("header", _extends({}, rest, {
|
|
24
24
|
className: className
|
|
25
25
|
}), children);
|
|
26
26
|
};
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import
|
|
10
|
+
import React, { useState, useCallback } from 'react';
|
|
11
11
|
import { Escape } from '../../internal/keyboard/keys.js';
|
|
12
12
|
import { match } from '../../internal/keyboard/match.js';
|
|
13
13
|
import { useWindowEvent } from '../../internal/useEvent.js';
|
|
@@ -28,7 +28,7 @@ function HeaderContainer(_ref) {
|
|
|
28
28
|
const handleHeaderMenuButtonClick = useCallback(() => {
|
|
29
29
|
setIsSideNavExpandedState(prevIsSideNavExpanded => !prevIsSideNavExpanded);
|
|
30
30
|
}, [setIsSideNavExpandedState]);
|
|
31
|
-
return /*#__PURE__*/
|
|
31
|
+
return /*#__PURE__*/React.createElement(Children, _extends({}, rest, {
|
|
32
32
|
isSideNavExpanded: isSideNavExpandedState,
|
|
33
33
|
onClickSideNavExpand: handleHeaderMenuButtonClick
|
|
34
34
|
}));
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import cx from 'classnames';
|
|
10
|
-
import
|
|
10
|
+
import React from 'react';
|
|
11
11
|
import PropTypes from 'prop-types';
|
|
12
12
|
import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
|
|
13
13
|
import Button from '../Button/Button.js';
|
|
@@ -22,7 +22,7 @@ import { usePrefix } from '../../internal/usePrefix.js';
|
|
|
22
22
|
*
|
|
23
23
|
* Note: children passed to this component should be an Icon.
|
|
24
24
|
*/
|
|
25
|
-
const HeaderGlobalAction = /*#__PURE__*/
|
|
25
|
+
const HeaderGlobalAction = /*#__PURE__*/React.forwardRef(function HeaderGlobalAction(_ref, ref) {
|
|
26
26
|
let {
|
|
27
27
|
'aria-label': ariaLabel,
|
|
28
28
|
'aria-labelledby': ariaLabelledBy,
|
|
@@ -45,7 +45,7 @@ const HeaderGlobalAction = /*#__PURE__*/React__default.forwardRef(function Heade
|
|
|
45
45
|
'aria-label': ariaLabel,
|
|
46
46
|
'aria-labelledby': ariaLabelledBy
|
|
47
47
|
};
|
|
48
|
-
return /*#__PURE__*/
|
|
48
|
+
return /*#__PURE__*/React.createElement(Button, _extends({}, rest, accessibilityLabel, {
|
|
49
49
|
className: className,
|
|
50
50
|
onClick: onClick,
|
|
51
51
|
type: "button",
|