@carbon/react 1.83.0-rc.0 → 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 +1008 -938
- 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/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.js +17 -17
- 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 +2 -3
- package/es/components/FileUploader/FileUploaderButton.js +4 -4
- 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.js +5 -5
- 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/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 +3 -3
- package/es/components/Menu/MenuItem.js +16 -16
- package/es/components/MenuButton/index.js +4 -4
- package/es/components/Modal/Modal.d.ts +2 -3
- package/es/components/Modal/Modal.js +35 -35
- 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.js +38 -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 +60 -60
- package/es/components/Tag/DismissibleTag.js +10 -10
- package/es/components/Tag/OperationalTag.js +6 -6
- package/es/components/Tag/SelectableTag.js +6 -6
- 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 +8 -8
- 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/index.js +23 -24
- 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/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/useResizeObserver.d.ts +14 -0
- package/es/internal/useResizeObserver.js +74 -0
- package/es/internal/wrapFocus.js +3 -6
- 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/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/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 +2 -3
- 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/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/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/Modal/Modal.d.ts +2 -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/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/index.js +46 -47
- package/lib/internal/__mocks__/mockHTMLElement.d.ts +9 -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/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 +4 -1
- package/es/components/DataTable/index.js +0 -76
- package/lib/components/DataTable/index.js +0 -82
|
@@ -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",
|
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Generic container for `HeaderGlobalAction` components
|
|
9
9
|
*/
|
|
10
|
-
declare const HeaderGlobalBar: (props: import("
|
|
10
|
+
declare const HeaderGlobalBar: (props: import("react").HTMLAttributes<"div">) => React.ReactElement<any>;
|
|
11
11
|
export default HeaderGlobalBar;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import { ChevronDown } from '@carbon/icons-react';
|
|
10
10
|
import cx from 'classnames';
|
|
11
|
-
import
|
|
11
|
+
import React from 'react';
|
|
12
12
|
import PropTypes from 'prop-types';
|
|
13
13
|
import { Enter, Space, Escape } from '../../internal/keyboard/keys.js';
|
|
14
14
|
import { matches } from '../../internal/keyboard/match.js';
|
|
@@ -24,10 +24,10 @@ import { composeEventHandlers } from '../../tools/events.js';
|
|
|
24
24
|
* help manage focus state of its children.
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
class HeaderMenu extends
|
|
27
|
+
class HeaderMenu extends React.Component {
|
|
28
28
|
constructor(props) {
|
|
29
29
|
super(props);
|
|
30
|
-
_defineProperty(this, "_subMenus", /*#__PURE__*/
|
|
30
|
+
_defineProperty(this, "_subMenus", /*#__PURE__*/React.createRef());
|
|
31
31
|
_defineProperty(this, "items", []);
|
|
32
32
|
_defineProperty(this, "menuButtonRef", null);
|
|
33
33
|
/**
|
|
@@ -124,8 +124,8 @@ class HeaderMenu extends React__default.Component {
|
|
|
124
124
|
* sequence when they might not want to go through all the items.
|
|
125
125
|
*/
|
|
126
126
|
_defineProperty(this, "_renderMenuItem", (item, index) => {
|
|
127
|
-
if (/*#__PURE__*/
|
|
128
|
-
return /*#__PURE__*/
|
|
127
|
+
if (/*#__PURE__*/React.isValidElement(item)) {
|
|
128
|
+
return /*#__PURE__*/React.cloneElement(item, {
|
|
129
129
|
ref: this.handleItemRef(index)
|
|
130
130
|
});
|
|
131
131
|
}
|
|
@@ -157,8 +157,8 @@ class HeaderMenu extends React__default.Component {
|
|
|
157
157
|
onKeyDown,
|
|
158
158
|
...rest
|
|
159
159
|
} = this.props;
|
|
160
|
-
const hasActiveDescendant = childrenArg =>
|
|
161
|
-
if (! /*#__PURE__*/
|
|
160
|
+
const hasActiveDescendant = childrenArg => React.Children.toArray(childrenArg).some(child => {
|
|
161
|
+
if (! /*#__PURE__*/React.isValidElement(child)) {
|
|
162
162
|
return false;
|
|
163
163
|
}
|
|
164
164
|
|
|
@@ -190,12 +190,12 @@ class HeaderMenu extends React__default.Component {
|
|
|
190
190
|
// - aria-haspopup can definitely have the value "menu"
|
|
191
191
|
// - aria-expanded is on their example node with role="menuitem"
|
|
192
192
|
// - href can be set to javascript:void(0), ideally this will be a button
|
|
193
|
-
return /*#__PURE__*/
|
|
193
|
+
return /*#__PURE__*/React.createElement("li", _extends({}, rest, {
|
|
194
194
|
className: itemClassName,
|
|
195
195
|
onKeyDown: composeEventHandlers([onKeyDown, this.handleMenuClose]),
|
|
196
196
|
onClick: composeEventHandlers([onClick, this.handleOnClick]),
|
|
197
197
|
onBlur: composeEventHandlers([onBlur, this.handleOnBlur])
|
|
198
|
-
}), /*#__PURE__*/
|
|
198
|
+
}), /*#__PURE__*/React.createElement("a", _extends({
|
|
199
199
|
// eslint-disable-line jsx-a11y/role-supports-aria-props,jsx-a11y/anchor-is-valid
|
|
200
200
|
"aria-haspopup": "menu" // eslint-disable-line jsx-a11y/aria-proptypes
|
|
201
201
|
,
|
|
@@ -205,13 +205,13 @@ class HeaderMenu extends React__default.Component {
|
|
|
205
205
|
onKeyDown: this.handleOnKeyDown,
|
|
206
206
|
ref: this.handleMenuButtonRef,
|
|
207
207
|
tabIndex: 0
|
|
208
|
-
}, accessibilityLabel), menuLinkName, MenuContent ? /*#__PURE__*/
|
|
208
|
+
}, accessibilityLabel), menuLinkName, MenuContent ? /*#__PURE__*/React.createElement(MenuContent, null) : /*#__PURE__*/React.createElement(ChevronDown, {
|
|
209
209
|
className: `${this.context}--header__menu-arrow`
|
|
210
|
-
})), /*#__PURE__*/
|
|
210
|
+
})), /*#__PURE__*/React.createElement("ul", _extends({}, accessibilityLabel, {
|
|
211
211
|
ref: this._subMenus,
|
|
212
212
|
onClick: this.handleOnClick,
|
|
213
213
|
className: `${prefix}--header__menu`
|
|
214
|
-
}),
|
|
214
|
+
}), React.Children.map(children, this._renderMenuItem)));
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
217
|
_defineProperty(HeaderMenu, "propTypes", {
|
|
@@ -265,8 +265,8 @@ _defineProperty(HeaderMenu, "propTypes", {
|
|
|
265
265
|
tabIndex: PropTypes.number
|
|
266
266
|
});
|
|
267
267
|
_defineProperty(HeaderMenu, "contextType", PrefixContext);
|
|
268
|
-
const HeaderMenuForwardRef = /*#__PURE__*/
|
|
269
|
-
return /*#__PURE__*/
|
|
268
|
+
const HeaderMenuForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
269
|
+
return /*#__PURE__*/React.createElement(HeaderMenu, _extends({}, props, {
|
|
270
270
|
focusRef: ref
|
|
271
271
|
}));
|
|
272
272
|
});
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import { Menu, Close } from '@carbon/icons-react';
|
|
10
10
|
import cx from 'classnames';
|
|
11
|
-
import
|
|
11
|
+
import React from 'react';
|
|
12
12
|
import PropTypes from 'prop-types';
|
|
13
13
|
import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
|
|
14
14
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
@@ -36,13 +36,13 @@ function HeaderMenuButton(_ref) {
|
|
|
36
36
|
[`${prefix}--header__menu-toggle`]: true,
|
|
37
37
|
[`${prefix}--header__menu-toggle__hidden`]: !isCollapsible
|
|
38
38
|
});
|
|
39
|
-
const menuIcon = renderMenuIcon ? renderMenuIcon : _Menu || (_Menu = /*#__PURE__*/
|
|
39
|
+
const menuIcon = renderMenuIcon ? renderMenuIcon : _Menu || (_Menu = /*#__PURE__*/React.createElement(Menu, {
|
|
40
40
|
size: 20
|
|
41
41
|
}));
|
|
42
|
-
const closeIcon = renderCloseIcon ? renderCloseIcon : _Close || (_Close = /*#__PURE__*/
|
|
42
|
+
const closeIcon = renderCloseIcon ? renderCloseIcon : _Close || (_Close = /*#__PURE__*/React.createElement(Close, {
|
|
43
43
|
size: 20
|
|
44
44
|
}));
|
|
45
|
-
return /*#__PURE__*/
|
|
45
|
+
return /*#__PURE__*/React.createElement("button", _extends({}, rest, {
|
|
46
46
|
"aria-label": ariaLabel,
|
|
47
47
|
"aria-labelledby": ariaLabelledBy,
|
|
48
48
|
className: className,
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import
|
|
10
|
+
import React, { forwardRef } from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import Link, { LinkPropTypes } from './Link.js';
|
|
13
13
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
@@ -28,21 +28,23 @@ const HeaderMenuItem = /*#__PURE__*/forwardRef(function HeaderMenuItem(_ref, ref
|
|
|
28
28
|
if (isCurrentPage) {
|
|
29
29
|
isActive = isCurrentPage;
|
|
30
30
|
}
|
|
31
|
+
// We set the current class only if `isActive` is passed in and we do
|
|
32
|
+
// not have an `aria-current="page"` set for the breadcrumb item. When this
|
|
33
|
+
// class is added we also set `aria-current` as `true`
|
|
34
|
+
const hasCurrentClass = isActive && ariaCurrent !== 'page';
|
|
31
35
|
const linkClassName = cx({
|
|
32
36
|
[`${prefix}--header__menu-item`]: true,
|
|
33
|
-
|
|
34
|
-
// not have an `aria-current="page"` set for the breadcrumb item
|
|
35
|
-
[`${prefix}--header__menu-item--current`]: isActive && ariaCurrent !== 'page'
|
|
37
|
+
[`${prefix}--header__menu-item--current`]: hasCurrentClass
|
|
36
38
|
});
|
|
37
|
-
return /*#__PURE__*/
|
|
39
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
38
40
|
className: className,
|
|
39
41
|
role: role
|
|
40
|
-
}, /*#__PURE__*/
|
|
41
|
-
"aria-current": ariaCurrent,
|
|
42
|
+
}, /*#__PURE__*/React.createElement(Link, _extends({}, rest, {
|
|
43
|
+
"aria-current": hasCurrentClass ? true : ariaCurrent,
|
|
42
44
|
className: linkClassName,
|
|
43
45
|
ref: ref,
|
|
44
46
|
tabIndex: tabIndex
|
|
45
|
-
}), /*#__PURE__*/
|
|
47
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
46
48
|
className: `${prefix}--text-truncate--end`
|
|
47
49
|
}, children)));
|
|
48
50
|
});
|
|
@@ -63,7 +65,7 @@ HeaderMenuItem.propTypes = {
|
|
|
63
65
|
*/
|
|
64
66
|
className: PropTypes.string,
|
|
65
67
|
/**
|
|
66
|
-
*
|
|
68
|
+
* If `true` and `aria-current !== 'page'`, applies selected styles to the item and sets `aria-current="true"`.
|
|
67
69
|
*/
|
|
68
70
|
isActive: PropTypes.bool,
|
|
69
71
|
/**
|
|
@@ -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 Link, { LinkPropTypes } from './Link.js';
|
|
13
13
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
@@ -21,9 +21,9 @@ function HeaderName(_ref) {
|
|
|
21
21
|
} = _ref;
|
|
22
22
|
const selectorPrefix = usePrefix();
|
|
23
23
|
const className = cx(`${selectorPrefix}--header__name`, customClassName);
|
|
24
|
-
return /*#__PURE__*/
|
|
24
|
+
return /*#__PURE__*/React.createElement(Link, _extends({}, rest, {
|
|
25
25
|
className: className
|
|
26
|
-
}), prefix && /*#__PURE__*/
|
|
26
|
+
}), prefix && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
27
27
|
className: `${selectorPrefix}--header__name--prefix`
|
|
28
28
|
}, prefix), "\xA0"), children);
|
|
29
29
|
}
|