@carbon/react 0.17.0 → 1.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/es/_virtual/ResizeObserver.es.js +13 -0
- package/es/_virtual/_commonjsHelpers.js +29 -0
- package/es/_virtual/_rollupPluginBabelHelpers.js +354 -0
- package/es/{prefix.js → _virtual/index.js} +2 -2
- package/es/_virtual/rangePlugin.js +10 -0
- package/es/components/Accordion/Accordion.Skeleton.js +103 -0
- package/es/components/Accordion/Accordion.js +68 -0
- package/es/components/Accordion/AccordionItem.js +181 -0
- package/es/components/Accordion/index.js +9 -0
- package/es/components/AccordionItem/index.js +11 -0
- package/es/components/AspectRatio/AspectRatio.js +67 -0
- package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +45 -0
- package/es/components/Breadcrumb/Breadcrumb.js +58 -0
- package/es/components/Breadcrumb/BreadcrumbItem.js +94 -0
- package/es/components/Button/Button.Skeleton.js +71 -0
- package/es/components/Button/Button.js +351 -0
- package/es/components/ButtonSet/ButtonSet.js +48 -0
- package/es/components/Checkbox/Checkbox.Skeleton.js +36 -0
- package/es/components/Checkbox/Checkbox.js +136 -0
- package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +58 -0
- package/es/components/CodeSnippet/CodeSnippet.js +372 -0
- package/es/components/ComboBox/ComboBox.js +532 -0
- package/es/components/ComboBox/tools/filter.js +20 -0
- package/es/components/ComposedModal/ComposedModal.js +630 -0
- package/es/components/ComposedModal/index.js +19 -0
- package/es/components/ComposedModal/next/ComposedModal.js +223 -0
- package/es/components/ComposedModal/next/ModalFooter.js +213 -0
- package/es/components/ComposedModal/next/ModalHeader.js +127 -0
- package/es/components/ContentSwitcher/ContentSwitcher.js +185 -0
- package/es/components/ContextMenu/useContextMenu.js +57 -0
- package/es/components/Copy/Copy.js +124 -0
- package/es/components/CopyButton/CopyButton.js +67 -0
- package/es/components/DangerButton/DangerButton.js +20 -0
- package/es/components/DataTable/DataTable.js +638 -0
- package/es/components/DataTable/Table.js +90 -0
- package/es/components/DataTable/TableActionList.js +17 -0
- package/es/components/DataTable/TableBatchAction.js +45 -0
- package/es/components/DataTable/TableBatchActions.js +110 -0
- package/es/components/DataTable/TableBody.js +37 -0
- package/es/components/DataTable/TableCell.js +16 -0
- package/es/components/DataTable/TableContainer.js +66 -0
- package/es/components/DataTable/TableExpandHeader.js +86 -0
- package/es/components/DataTable/TableExpandRow.js +93 -0
- package/es/components/DataTable/TableExpandedRow.js +75 -0
- package/es/components/DataTable/TableHead.js +16 -0
- package/es/components/DataTable/TableHeader.js +187 -0
- package/es/components/DataTable/TableRow.js +41 -0
- package/es/components/DataTable/TableSelectAll.js +84 -0
- package/es/components/DataTable/TableSelectRow.js +97 -0
- package/es/components/DataTable/TableToolbar.js +48 -0
- package/es/components/DataTable/TableToolbarAction.js +31 -0
- package/es/components/DataTable/TableToolbarContent.js +17 -0
- package/es/components/DataTable/TableToolbarMenu.js +61 -0
- package/es/components/DataTable/TableToolbarSearch.js +242 -0
- package/es/components/DataTable/index.js +72 -0
- package/es/components/DataTable/state/getDerivedStateFromProps.js +52 -0
- package/es/components/DataTable/state/sortStates.js +19 -0
- package/es/components/DataTable/state/sorting.js +93 -0
- package/es/components/DataTable/tools/cells.js +21 -0
- package/es/components/DataTable/tools/denormalize.js +43 -0
- package/es/components/DataTable/tools/filter.js +42 -0
- package/es/components/DataTable/tools/instanceId.js +21 -0
- package/es/components/DataTable/tools/normalize.js +78 -0
- package/es/components/DataTable/tools/sorting.js +110 -0
- package/es/components/DataTableSkeleton/DataTableSkeleton.js +133 -0
- package/es/components/DatePicker/DatePicker.Skeleton.js +69 -0
- package/es/components/DatePicker/DatePicker.js +622 -0
- package/es/components/DatePicker/index.js +15 -0
- package/es/components/DatePicker/next/DatePicker.js +558 -0
- package/es/components/DatePicker/plugins/appendToPlugin.js +58 -0
- package/es/components/DatePicker/plugins/fixEventsPlugin.js +89 -0
- package/es/components/DatePicker/plugins/rangePlugin.js +51 -0
- package/es/components/DatePickerInput/DatePickerInput.js +271 -0
- package/es/components/DatePickerInput/index.js +15 -0
- package/es/components/DatePickerInput/next/DatePickerInput.js +269 -0
- package/es/components/Dropdown/Dropdown.Skeleton.js +55 -0
- package/es/components/Dropdown/Dropdown.js +327 -0
- package/es/components/ErrorBoundary/ErrorBoundary.js +96 -0
- package/es/components/ErrorBoundary/ErrorBoundaryContext.js +16 -0
- package/es/components/ExpandableSearch/ExpandableSearch.js +67 -0
- package/es/components/ExpandableSearch/index.js +9 -0
- package/es/components/FeatureFlags/index.js +169 -0
- package/es/components/FileUploader/FileUploader.Skeleton.js +43 -0
- package/es/components/FileUploader/FileUploader.js +284 -0
- package/es/components/FileUploader/FileUploaderButton.js +198 -0
- package/es/components/FileUploader/FileUploaderDropContainer.js +223 -0
- package/es/components/FileUploader/FileUploaderItem.js +130 -0
- package/es/components/FileUploader/Filename.js +82 -0
- package/es/components/FileUploader/index.js +14 -0
- package/es/components/FluidForm/FluidForm.js +46 -0
- package/es/components/FluidForm/FormContext.js +14 -0
- package/es/components/Form/Form.js +41 -0
- package/es/components/FormGroup/FormGroup.js +97 -0
- package/es/components/FormItem/FormItem.js +41 -0
- package/es/components/FormLabel/FormLabel.js +48 -0
- package/es/components/Grid/CSSGrid.js +139 -0
- package/es/components/Grid/Column.js +363 -0
- package/es/components/Grid/ColumnHang.js +51 -0
- package/es/components/Grid/FlexGrid.js +76 -0
- package/es/components/Grid/Grid.js +63 -0
- package/es/components/Grid/GridContext.js +60 -0
- package/es/components/Grid/Row.js +65 -0
- package/es/components/Heading/index.js +62 -0
- package/es/components/Icon/Icon.Skeleton.js +45 -0
- package/es/components/IconButton/index.js +89 -0
- package/es/components/InlineCheckbox/InlineCheckbox.js +122 -0
- package/es/components/InlineLoading/InlineLoading.js +118 -0
- package/es/components/Layer/LayerContext.js +12 -0
- package/es/components/Layer/index.js +62 -0
- package/es/components/Link/Link.js +95 -0
- package/es/components/ListBox/ListBox.js +129 -0
- package/es/components/ListBox/ListBoxField.js +62 -0
- package/es/components/ListBox/ListBoxMenu.js +56 -0
- package/es/components/ListBox/ListBoxMenuIcon.js +61 -0
- package/es/components/ListBox/ListBoxMenuItem.js +87 -0
- package/es/components/ListBox/ListBoxPropTypes.js +14 -0
- package/es/components/ListBox/ListBoxSelection.js +148 -0
- package/es/components/ListBox/index.js +20 -0
- package/es/components/ListBox/next/ListBoxSelection.js +155 -0
- package/es/components/ListBox/next/ListBoxTrigger.js +68 -0
- package/es/components/ListItem/ListItem.js +41 -0
- package/es/components/Loading/Loading.js +102 -0
- package/es/components/Menu/Menu.js +328 -0
- package/es/components/Menu/MenuDivider.js +19 -0
- package/es/components/Menu/MenuGroup.js +34 -0
- package/es/components/Menu/MenuItem.js +58 -0
- package/es/components/Menu/MenuOption.js +250 -0
- package/es/components/Menu/MenuRadioGroup.js +50 -0
- package/es/components/Menu/MenuRadioGroupOptions.js +64 -0
- package/es/components/Menu/MenuSelectableItem.js +57 -0
- package/es/components/Menu/_utils.js +177 -0
- package/es/components/Menu/index.js +25 -0
- package/es/components/Modal/Modal.js +343 -0
- package/es/components/Modal/index.js +15 -0
- package/es/components/Modal/next/Modal.js +277 -0
- package/es/components/ModalWrapper/ModalWrapper.js +164 -0
- package/es/components/MultiSelect/FilterableMultiSelect.js +576 -0
- package/es/components/MultiSelect/MultiSelect.js +468 -0
- package/es/components/MultiSelect/MultiSelectPropTypes.js +41 -0
- package/es/components/MultiSelect/index.js +23 -0
- package/es/components/MultiSelect/next/FilterableMultiSelect.js +532 -0
- package/es/components/MultiSelect/tools/itemToString.js +24 -0
- package/es/components/MultiSelect/tools/sorting.js +53 -0
- package/es/components/Notification/Notification.js +530 -0
- package/es/components/Notification/index.js +42 -0
- package/es/components/Notification/next/Notification.js +684 -0
- package/es/components/NumberInput/NumberInput.Skeleton.js +44 -0
- package/es/components/NumberInput/NumberInput.js +515 -0
- package/es/components/OrderedList/OrderedList.js +66 -0
- package/es/components/OverflowMenu/OverflowMenu.js +516 -0
- package/es/components/OverflowMenu/index.js +14 -0
- package/es/components/OverflowMenuItem/OverflowMenuItem.js +221 -0
- package/es/components/OverflowMenuItem/index.js +12 -0
- package/es/components/OverflowMenuV2/index.js +137 -0
- package/es/components/Pagination/Pagination.Skeleton.js +48 -0
- package/es/components/Pagination/Pagination.js +420 -0
- package/es/components/Pagination/experimental/PageSelector.js +81 -0
- package/es/components/Pagination/experimental/Pagination.js +281 -0
- package/es/components/Pagination/index.js +14 -0
- package/es/components/Pagination/next/Pagination.js +401 -0
- package/es/components/PaginationNav/PaginationNav.js +436 -0
- package/es/components/Popover/index.js +118 -0
- package/es/components/PrimaryButton/PrimaryButton.js +20 -0
- package/es/components/ProgressBar/ProgressBar.js +110 -0
- package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +50 -0
- package/es/components/ProgressIndicator/ProgressIndicator.js +323 -0
- package/es/components/ProgressIndicator/index.js +15 -0
- package/es/components/ProgressIndicator/next/ProgressIndicator.js +117 -0
- package/es/components/RadioButton/RadioButton.Skeleton.js +37 -0
- package/es/components/RadioButton/RadioButton.js +172 -0
- package/es/components/RadioButton/index.js +15 -0
- package/es/components/RadioButton/next/RadioButton.js +128 -0
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +190 -0
- package/es/components/RadioButtonGroup/index.js +15 -0
- package/es/components/RadioButtonGroup/next/RadioButtonGroup.js +141 -0
- package/es/components/RadioTile/RadioTile.js +147 -0
- package/es/components/Search/Search.Skeleton.js +50 -0
- package/es/components/Search/Search.js +289 -0
- package/es/components/Search/index.js +15 -0
- package/es/components/Search/next/Search.js +263 -0
- package/es/components/SearchFilterButton/SearchFilterButton.js +61 -0
- package/es/components/SearchLayoutButton/SearchLayoutButton.js +151 -0
- package/es/components/SecondaryButton/SecondaryButton.js +20 -0
- package/es/components/Select/Select.Skeleton.js +46 -0
- package/es/components/Select/Select.js +211 -0
- package/es/components/SelectItem/SelectItem.js +70 -0
- package/es/components/SelectItemGroup/SelectItemGroup.js +60 -0
- package/es/components/SkeletonIcon/SkeletonIcon.js +42 -0
- package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +37 -0
- package/es/components/SkeletonText/SkeletonText.js +114 -0
- package/es/components/Slider/Slider.Skeleton.js +56 -0
- package/es/components/Slider/Slider.js +649 -0
- package/es/components/Slider/index.js +14 -0
- package/es/components/Stack/Stack.js +102 -0
- package/es/components/Stack/index.js +26 -0
- package/es/components/StructuredList/StructuredList.Skeleton.js +82 -0
- package/es/components/StructuredList/StructuredList.js +307 -0
- package/es/components/StructuredList/index.js +43 -0
- package/es/components/StructuredList/next/StructuredList.js +330 -0
- package/es/components/Switch/Switch.js +124 -0
- package/es/components/Tab/Tab.js +191 -0
- package/es/components/Tab/index.js +15 -0
- package/es/components/TabContent/TabContent.js +77 -0
- package/es/components/Tabs/Tabs.Skeleton.js +53 -0
- package/es/components/Tabs/Tabs.js +618 -0
- package/es/components/Tabs/index.js +19 -0
- package/es/components/Tabs/next/Tabs.Skeleton.js +53 -0
- package/es/components/Tabs/next/Tabs.js +648 -0
- package/es/components/Tabs/next/usePressable.js +145 -0
- package/es/components/Tag/Tag.Skeleton.js +40 -0
- package/es/components/Tag/Tag.js +146 -0
- package/es/components/Text/Text.js +98 -0
- package/es/components/Text/TextDirectionContext.js +12 -0
- package/es/components/Text/createTextComponent.js +33 -0
- package/es/components/Text/index.js +13 -0
- package/es/components/TextArea/TextArea.Skeleton.js +44 -0
- package/es/components/TextArea/TextArea.js +220 -0
- package/es/components/TextInput/ControlledPasswordInput.js +234 -0
- package/es/components/TextInput/PasswordInput.js +286 -0
- package/es/components/TextInput/TextInput.Skeleton.js +44 -0
- package/es/components/TextInput/TextInput.js +239 -0
- package/es/components/TextInput/index.js +20 -0
- package/es/components/TextInput/util.js +33 -0
- package/es/components/Theme/index.js +103 -0
- package/es/components/Tile/Tile.js +767 -0
- package/es/components/Tile/index.js +19 -0
- package/es/components/Tile/next/Tile.js +647 -0
- package/es/components/TileGroup/TileGroup.js +164 -0
- package/es/components/TimePicker/TimePicker.js +256 -0
- package/es/components/TimePicker/index.js +15 -0
- package/es/components/TimePicker/next/TimePicker.js +218 -0
- package/es/components/TimePickerSelect/TimePickerSelect.js +82 -0
- package/es/components/TimePickerSelect/index.js +15 -0
- package/es/components/TimePickerSelect/next/TimePickerSelect.js +77 -0
- package/es/components/Toggle/Toggle.Skeleton.js +74 -0
- package/es/components/Toggle/Toggle.js +120 -0
- package/es/components/Toggle/index.js +19 -0
- package/es/components/Toggle/next/Toggle.js +158 -0
- package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +71 -0
- package/es/components/ToggleSmall/ToggleSmall.js +104 -0
- package/es/components/Toolbar/Toolbar.js +121 -0
- package/es/components/ToolbarSearch/ToolbarSearch.js +168 -0
- package/es/components/Tooltip/next/DefinitionTooltip.js +122 -0
- package/es/components/Tooltip/next/Tooltip.js +154 -0
- package/es/components/TooltipDefinition/TooltipDefinition.js +167 -0
- package/es/components/TooltipIcon/TooltipIcon.js +235 -0
- package/es/components/TreeView/TreeNode.js +325 -0
- package/es/components/TreeView/TreeView.js +252 -0
- package/es/components/TreeView/index.js +13 -0
- package/es/components/UIShell/Content.js +50 -0
- package/es/components/UIShell/Header.js +37 -0
- package/es/components/UIShell/HeaderContainer.js +44 -0
- package/es/components/UIShell/HeaderGlobalAction.js +87 -0
- package/es/components/UIShell/HeaderGlobalBar.js +20 -0
- package/es/components/UIShell/HeaderMenu.js +240 -0
- package/es/components/UIShell/HeaderMenuButton.js +69 -0
- package/es/components/UIShell/HeaderMenuItem.js +73 -0
- package/es/components/UIShell/HeaderName.js +62 -0
- package/es/components/UIShell/HeaderNavigation.js +100 -0
- package/es/components/UIShell/HeaderPanel.js +52 -0
- package/es/components/UIShell/HeaderSideNavItems.js +50 -0
- package/es/components/UIShell/Link.js +49 -0
- package/es/components/UIShell/SideNav.js +227 -0
- package/es/components/UIShell/SideNavDetails.js +46 -0
- package/es/components/UIShell/SideNavDivider.js +30 -0
- package/es/components/UIShell/SideNavFooter.js +78 -0
- package/es/components/UIShell/SideNavHeader.js +50 -0
- package/es/components/UIShell/SideNavIcon.js +49 -0
- package/es/components/UIShell/SideNavItem.js +47 -0
- package/es/components/UIShell/SideNavItems.js +56 -0
- package/es/components/UIShell/SideNavLink.js +74 -0
- package/es/components/UIShell/SideNavLinkText.js +41 -0
- package/es/components/UIShell/SideNavMenu.js +198 -0
- package/es/components/UIShell/SideNavMenuItem.js +57 -0
- package/es/components/UIShell/SideNavSwitcher.js +80 -0
- package/es/components/UIShell/SkipToContent.js +57 -0
- package/es/components/UIShell/Switcher.js +45 -0
- package/es/components/UIShell/SwitcherDivider.js +35 -0
- package/es/components/UIShell/SwitcherItem.js +62 -0
- package/es/components/UIShell/_utils.js +10 -0
- package/es/components/UIShell/index.js +17 -0
- package/es/components/UIShell/next/HeaderNavigation.js +52 -0
- package/es/components/UIShell/next/SideNavMenu.js +160 -0
- package/es/components/UnorderedList/UnorderedList.js +59 -0
- package/es/index.js +190 -2
- package/es/internal/ClickListener.js +101 -0
- package/es/internal/ComponentToggle.js +42 -0
- package/es/internal/FeatureFlags.js +52 -0
- package/es/internal/FloatingMenu.js +483 -0
- package/es/internal/OptimizedResize.js +65 -0
- package/es/internal/Selection.js +243 -0
- package/es/internal/createClassWrapper.js +31 -0
- package/es/internal/deprecateFieldOnObject.js +26 -0
- package/es/internal/environment.js +15 -0
- package/es/internal/focus/index.js +16 -0
- package/es/internal/keyboard/keys.js +65 -0
- package/es/internal/keyboard/match.js +82 -0
- package/es/internal/keyboard/navigation.js +61 -0
- package/es/internal/useControllableState.js +86 -0
- package/es/internal/useDelayedState.js +54 -0
- package/es/internal/useEffectOnce.js +31 -0
- package/es/internal/useId.js +59 -0
- package/es/internal/useIsomorphicEffect.js +13 -0
- package/es/internal/useMatchMedia.js +51 -0
- package/es/internal/useMergedRefs.js +31 -0
- package/es/internal/useNoInteractiveChildren.js +92 -0
- package/es/internal/useNormalizedInputProps.js +88 -0
- package/es/internal/usePrefix.js +15 -0
- package/es/internal/useSavedCallback.js +32 -0
- package/es/internal/warning.js +28 -0
- package/es/internal/wrapFocus.js +75 -0
- package/es/node_modules/flatpickr/dist/l10n/index.js +1423 -0
- package/es/node_modules/flatpickr/dist/plugins/rangePlugin.js +196 -0
- package/es/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +1112 -0
- package/es/node_modules/use-resize-observer/polyfilled.js +112 -0
- package/es/prop-types/AriaPropTypes.js +16 -0
- package/es/prop-types/deprecate.js +33 -0
- package/es/prop-types/isRequiredOneOf.js +47 -0
- package/es/prop-types/requiredIfGivenPropIsTruthy.js +29 -0
- package/es/prop-types/requiredIfValueExists.js +32 -0
- package/es/prop-types/types.js +10 -0
- package/es/tools/array.js +32 -0
- package/es/tools/createPropAdapter.js +63 -0
- package/es/tools/events.js +35 -0
- package/es/tools/mergeRefs.js +31 -0
- package/es/tools/setupGetInstanceId.js +19 -0
- package/es/tools/toggleClass.js +14 -0
- package/es/tools/uniqueId.js +15 -0
- package/es/tools/wrapComponent.js +42 -0
- package/icons/es/index.js +1 -1
- package/icons/lib/index.js +7 -1952
- package/index.scss +1 -0
- package/lib/_virtual/ResizeObserver.es.js +17 -0
- package/lib/_virtual/_commonjsHelpers.js +35 -0
- package/lib/_virtual/_rollupPluginBabelHelpers.js +383 -0
- package/lib/{prefix.js → _virtual/index.js} +4 -2
- package/lib/_virtual/rangePlugin.js +14 -0
- package/lib/components/Accordion/Accordion.Skeleton.js +113 -0
- package/lib/components/Accordion/Accordion.js +97 -0
- package/lib/components/Accordion/AccordionItem.js +191 -0
- package/lib/components/Accordion/index.js +16 -0
- package/lib/components/AccordionItem/index.js +16 -0
- package/lib/components/AspectRatio/AspectRatio.js +77 -0
- package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +55 -0
- package/lib/components/Breadcrumb/Breadcrumb.js +68 -0
- package/lib/components/Breadcrumb/BreadcrumbItem.js +104 -0
- package/lib/components/Button/Button.Skeleton.js +100 -0
- package/lib/components/Button/Button.js +380 -0
- package/lib/components/ButtonSet/ButtonSet.js +58 -0
- package/lib/components/Checkbox/Checkbox.Skeleton.js +46 -0
- package/lib/components/Checkbox/Checkbox.js +146 -0
- package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +68 -0
- package/lib/components/CodeSnippet/CodeSnippet.js +383 -0
- package/lib/components/ComboBox/ComboBox.js +543 -0
- package/lib/components/ComboBox/tools/filter.js +24 -0
- package/lib/components/ComposedModal/ComposedModal.js +643 -0
- package/lib/components/ComposedModal/index.js +45 -0
- package/lib/components/ComposedModal/next/ComposedModal.js +234 -0
- package/lib/components/ComposedModal/next/ModalFooter.js +223 -0
- package/lib/components/ComposedModal/next/ModalHeader.js +137 -0
- package/lib/components/ContentSwitcher/ContentSwitcher.js +195 -0
- package/lib/components/ContextMenu/useContextMenu.js +61 -0
- package/lib/components/Copy/Copy.js +154 -0
- package/lib/components/CopyButton/CopyButton.js +77 -0
- package/lib/components/DangerButton/DangerButton.js +28 -0
- package/lib/components/DataTable/DataTable.js +667 -0
- package/lib/components/DataTable/Table.js +120 -0
- package/lib/components/DataTable/TableActionList.js +21 -0
- package/lib/components/DataTable/TableBatchAction.js +54 -0
- package/lib/components/DataTable/TableBatchActions.js +120 -0
- package/lib/components/DataTable/TableBody.js +46 -0
- package/lib/components/DataTable/TableCell.js +20 -0
- package/lib/components/DataTable/TableContainer.js +76 -0
- package/lib/components/DataTable/TableExpandHeader.js +96 -0
- package/lib/components/DataTable/TableExpandRow.js +103 -0
- package/lib/components/DataTable/TableExpandedRow.js +85 -0
- package/lib/components/DataTable/TableHead.js +20 -0
- package/lib/components/DataTable/TableHeader.js +197 -0
- package/lib/components/DataTable/TableRow.js +52 -0
- package/lib/components/DataTable/TableSelectAll.js +94 -0
- package/lib/components/DataTable/TableSelectRow.js +107 -0
- package/lib/components/DataTable/TableToolbar.js +77 -0
- package/lib/components/DataTable/TableToolbarAction.js +40 -0
- package/lib/components/DataTable/TableToolbarContent.js +21 -0
- package/lib/components/DataTable/TableToolbarMenu.js +71 -0
- package/lib/components/DataTable/TableToolbarSearch.js +252 -0
- package/lib/components/DataTable/index.js +76 -0
- package/lib/components/DataTable/state/getDerivedStateFromProps.js +56 -0
- package/lib/components/DataTable/state/sortStates.js +23 -0
- package/lib/components/DataTable/state/sorting.js +100 -0
- package/lib/components/DataTable/tools/cells.js +25 -0
- package/lib/components/DataTable/tools/denormalize.js +47 -0
- package/lib/components/DataTable/tools/filter.js +46 -0
- package/lib/components/DataTable/tools/instanceId.js +25 -0
- package/lib/components/DataTable/tools/normalize.js +82 -0
- package/lib/components/DataTable/tools/sorting.js +117 -0
- package/lib/components/DataTableSkeleton/DataTableSkeleton.js +143 -0
- package/lib/components/DatePicker/DatePicker.Skeleton.js +79 -0
- package/lib/components/DatePicker/DatePicker.js +633 -0
- package/lib/components/DatePicker/index.js +39 -0
- package/lib/components/DatePicker/next/DatePicker.js +569 -0
- package/lib/components/DatePicker/plugins/appendToPlugin.js +62 -0
- package/lib/components/DatePicker/plugins/fixEventsPlugin.js +93 -0
- package/lib/components/DatePicker/plugins/rangePlugin.js +55 -0
- package/lib/components/DatePickerInput/DatePickerInput.js +281 -0
- package/lib/components/DatePickerInput/index.js +39 -0
- package/lib/components/DatePickerInput/next/DatePickerInput.js +279 -0
- package/lib/components/Dropdown/Dropdown.Skeleton.js +65 -0
- package/lib/components/Dropdown/Dropdown.js +337 -0
- package/lib/components/ErrorBoundary/ErrorBoundary.js +105 -0
- package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +20 -0
- package/lib/components/ExpandableSearch/ExpandableSearch.js +76 -0
- package/lib/components/ExpandableSearch/index.js +16 -0
- package/lib/components/FeatureFlags/index.js +181 -0
- package/lib/components/FileUploader/FileUploader.Skeleton.js +53 -0
- package/lib/components/FileUploader/FileUploader.js +313 -0
- package/lib/components/FileUploader/FileUploaderButton.js +227 -0
- package/lib/components/FileUploader/FileUploaderDropContainer.js +233 -0
- package/lib/components/FileUploader/FileUploaderItem.js +159 -0
- package/lib/components/FileUploader/Filename.js +91 -0
- package/lib/components/FileUploader/index.js +38 -0
- package/lib/components/FluidForm/FluidForm.js +56 -0
- package/lib/components/FluidForm/FormContext.js +18 -0
- package/lib/components/Form/Form.js +51 -0
- package/lib/components/FormGroup/FormGroup.js +107 -0
- package/lib/components/FormItem/FormItem.js +51 -0
- package/lib/components/FormLabel/FormLabel.js +77 -0
- package/lib/components/Grid/CSSGrid.js +149 -0
- package/lib/components/Grid/Column.js +392 -0
- package/lib/components/Grid/ColumnHang.js +61 -0
- package/lib/components/Grid/FlexGrid.js +86 -0
- package/lib/components/Grid/Grid.js +72 -0
- package/lib/components/Grid/GridContext.js +88 -0
- package/lib/components/Grid/Row.js +75 -0
- package/lib/components/Heading/index.js +72 -0
- package/lib/components/Icon/Icon.Skeleton.js +55 -0
- package/lib/components/IconButton/index.js +98 -0
- package/lib/components/InlineCheckbox/InlineCheckbox.js +131 -0
- package/lib/components/InlineLoading/InlineLoading.js +128 -0
- package/lib/components/Layer/LayerContext.js +20 -0
- package/lib/components/Layer/index.js +72 -0
- package/lib/components/Link/Link.js +105 -0
- package/lib/components/ListBox/ListBox.js +139 -0
- package/lib/components/ListBox/ListBoxField.js +71 -0
- package/lib/components/ListBox/ListBoxMenu.js +65 -0
- package/lib/components/ListBox/ListBoxMenuIcon.js +72 -0
- package/lib/components/ListBox/ListBoxMenuItem.js +97 -0
- package/lib/components/ListBox/ListBoxPropTypes.js +42 -0
- package/lib/components/ListBox/ListBoxSelection.js +159 -0
- package/lib/components/ListBox/index.js +25 -0
- package/lib/components/ListBox/next/ListBoxSelection.js +166 -0
- package/lib/components/ListBox/next/ListBoxTrigger.js +79 -0
- package/lib/components/ListItem/ListItem.js +51 -0
- package/lib/components/Loading/Loading.js +112 -0
- package/lib/components/Menu/Menu.js +339 -0
- package/lib/components/Menu/MenuDivider.js +27 -0
- package/lib/components/Menu/MenuGroup.js +43 -0
- package/lib/components/Menu/MenuItem.js +67 -0
- package/lib/components/Menu/MenuOption.js +260 -0
- package/lib/components/Menu/MenuRadioGroup.js +59 -0
- package/lib/components/Menu/MenuRadioGroupOptions.js +73 -0
- package/lib/components/Menu/MenuSelectableItem.js +66 -0
- package/lib/components/Menu/_utils.js +191 -0
- package/lib/components/Menu/index.js +30 -0
- package/lib/components/Modal/Modal.js +353 -0
- package/lib/components/Modal/index.js +39 -0
- package/lib/components/Modal/next/Modal.js +287 -0
- package/lib/components/ModalWrapper/ModalWrapper.js +173 -0
- package/lib/components/MultiSelect/FilterableMultiSelect.js +588 -0
- package/lib/components/MultiSelect/MultiSelect.js +480 -0
- package/lib/components/MultiSelect/MultiSelectPropTypes.js +49 -0
- package/lib/components/MultiSelect/index.js +47 -0
- package/lib/components/MultiSelect/next/FilterableMultiSelect.js +544 -0
- package/lib/components/MultiSelect/tools/itemToString.js +32 -0
- package/lib/components/MultiSelect/tools/sorting.js +58 -0
- package/lib/components/Notification/Notification.js +544 -0
- package/lib/components/Notification/index.js +51 -0
- package/lib/components/Notification/next/Notification.js +698 -0
- package/lib/components/NumberInput/NumberInput.Skeleton.js +54 -0
- package/lib/components/NumberInput/NumberInput.js +546 -0
- package/lib/components/OrderedList/OrderedList.js +76 -0
- package/lib/components/OverflowMenu/OverflowMenu.js +547 -0
- package/lib/components/OverflowMenu/index.js +38 -0
- package/lib/components/OverflowMenuItem/OverflowMenuItem.js +250 -0
- package/lib/components/OverflowMenuItem/index.js +16 -0
- package/lib/components/OverflowMenuV2/index.js +147 -0
- package/lib/components/Pagination/Pagination.Skeleton.js +58 -0
- package/lib/components/Pagination/Pagination.js +430 -0
- package/lib/components/Pagination/experimental/PageSelector.js +91 -0
- package/lib/components/Pagination/experimental/Pagination.js +310 -0
- package/lib/components/Pagination/index.js +38 -0
- package/lib/components/Pagination/next/Pagination.js +411 -0
- package/lib/components/PaginationNav/PaginationNav.js +465 -0
- package/lib/components/Popover/index.js +129 -0
- package/lib/components/PrimaryButton/PrimaryButton.js +28 -0
- package/lib/components/ProgressBar/ProgressBar.js +120 -0
- package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +60 -0
- package/lib/components/ProgressIndicator/ProgressIndicator.js +334 -0
- package/lib/components/ProgressIndicator/index.js +39 -0
- package/lib/components/ProgressIndicator/next/ProgressIndicator.js +127 -0
- package/lib/components/RadioButton/RadioButton.Skeleton.js +47 -0
- package/lib/components/RadioButton/RadioButton.js +183 -0
- package/lib/components/RadioButton/index.js +39 -0
- package/lib/components/RadioButton/next/RadioButton.js +138 -0
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +200 -0
- package/lib/components/RadioButtonGroup/index.js +39 -0
- package/lib/components/RadioButtonGroup/next/RadioButtonGroup.js +151 -0
- package/lib/components/RadioTile/RadioTile.js +157 -0
- package/lib/components/Search/Search.Skeleton.js +60 -0
- package/lib/components/Search/Search.js +299 -0
- package/lib/components/Search/index.js +39 -0
- package/lib/components/Search/next/Search.js +273 -0
- package/lib/components/SearchFilterButton/SearchFilterButton.js +70 -0
- package/lib/components/SearchLayoutButton/SearchLayoutButton.js +160 -0
- package/lib/components/SecondaryButton/SecondaryButton.js +28 -0
- package/lib/components/Select/Select.Skeleton.js +56 -0
- package/lib/components/Select/Select.js +240 -0
- package/lib/components/SelectItem/SelectItem.js +80 -0
- package/lib/components/SelectItemGroup/SelectItemGroup.js +89 -0
- package/lib/components/SkeletonIcon/SkeletonIcon.js +52 -0
- package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +47 -0
- package/lib/components/SkeletonText/SkeletonText.js +124 -0
- package/lib/components/Slider/Slider.Skeleton.js +66 -0
- package/lib/components/Slider/Slider.js +679 -0
- package/lib/components/Slider/index.js +38 -0
- package/lib/components/Stack/Stack.js +112 -0
- package/lib/components/Stack/index.js +35 -0
- package/lib/components/StructuredList/StructuredList.Skeleton.js +92 -0
- package/lib/components/StructuredList/StructuredList.js +322 -0
- package/lib/components/StructuredList/index.js +52 -0
- package/lib/components/StructuredList/next/StructuredList.js +345 -0
- package/lib/components/Switch/Switch.js +134 -0
- package/lib/components/Tab/Tab.js +220 -0
- package/lib/components/Tab/index.js +39 -0
- package/lib/components/TabContent/TabContent.js +87 -0
- package/lib/components/Tabs/Tabs.Skeleton.js +63 -0
- package/lib/components/Tabs/Tabs.js +629 -0
- package/lib/components/Tabs/index.js +47 -0
- package/lib/components/Tabs/next/Tabs.Skeleton.js +63 -0
- package/lib/components/Tabs/next/Tabs.js +664 -0
- package/lib/components/Tabs/next/usePressable.js +149 -0
- package/lib/components/Tag/Tag.Skeleton.js +50 -0
- package/lib/components/Tag/Tag.js +156 -0
- package/lib/components/Text/Text.js +107 -0
- package/lib/components/Text/TextDirectionContext.js +16 -0
- package/lib/components/Text/createTextComponent.js +41 -0
- package/lib/components/Text/index.js +17 -0
- package/lib/components/TextArea/TextArea.Skeleton.js +54 -0
- package/lib/components/TextArea/TextArea.js +230 -0
- package/lib/components/TextInput/ControlledPasswordInput.js +244 -0
- package/lib/components/TextInput/PasswordInput.js +315 -0
- package/lib/components/TextInput/TextInput.Skeleton.js +54 -0
- package/lib/components/TextInput/TextInput.js +268 -0
- package/lib/components/TextInput/index.js +25 -0
- package/lib/components/TextInput/util.js +37 -0
- package/lib/components/Theme/index.js +116 -0
- package/lib/components/Tile/Tile.js +782 -0
- package/lib/components/Tile/index.js +48 -0
- package/lib/components/Tile/next/Tile.js +662 -0
- package/lib/components/TileGroup/TileGroup.js +173 -0
- package/lib/components/TimePicker/TimePicker.js +266 -0
- package/lib/components/TimePicker/index.js +39 -0
- package/lib/components/TimePicker/next/TimePicker.js +228 -0
- package/lib/components/TimePickerSelect/TimePickerSelect.js +92 -0
- package/lib/components/TimePickerSelect/index.js +39 -0
- package/lib/components/TimePickerSelect/next/TimePickerSelect.js +87 -0
- package/lib/components/Toggle/Toggle.Skeleton.js +84 -0
- package/lib/components/Toggle/Toggle.js +130 -0
- package/lib/components/Toggle/index.js +23 -0
- package/lib/components/Toggle/next/Toggle.js +169 -0
- package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +81 -0
- package/lib/components/ToggleSmall/ToggleSmall.js +114 -0
- package/lib/components/Toolbar/Toolbar.js +135 -0
- package/lib/components/ToolbarSearch/ToolbarSearch.js +178 -0
- package/lib/components/Tooltip/next/DefinitionTooltip.js +132 -0
- package/lib/components/Tooltip/next/Tooltip.js +164 -0
- package/lib/components/TooltipDefinition/TooltipDefinition.js +178 -0
- package/lib/components/TooltipIcon/TooltipIcon.js +245 -0
- package/lib/components/TreeView/TreeNode.js +335 -0
- package/lib/components/TreeView/TreeView.js +281 -0
- package/lib/components/TreeView/index.js +18 -0
- package/lib/components/UIShell/Content.js +60 -0
- package/lib/components/UIShell/Header.js +47 -0
- package/lib/components/UIShell/HeaderContainer.js +53 -0
- package/lib/components/UIShell/HeaderGlobalAction.js +97 -0
- package/lib/components/UIShell/HeaderGlobalBar.js +24 -0
- package/lib/components/UIShell/HeaderMenu.js +250 -0
- package/lib/components/UIShell/HeaderMenuButton.js +79 -0
- package/lib/components/UIShell/HeaderMenuItem.js +83 -0
- package/lib/components/UIShell/HeaderName.js +72 -0
- package/lib/components/UIShell/HeaderNavigation.js +110 -0
- package/lib/components/UIShell/HeaderPanel.js +62 -0
- package/lib/components/UIShell/HeaderSideNavItems.js +60 -0
- package/lib/components/UIShell/Link.js +59 -0
- package/lib/components/UIShell/SideNav.js +237 -0
- package/lib/components/UIShell/SideNavDetails.js +56 -0
- package/lib/components/UIShell/SideNavDivider.js +40 -0
- package/lib/components/UIShell/SideNavFooter.js +88 -0
- package/lib/components/UIShell/SideNavHeader.js +60 -0
- package/lib/components/UIShell/SideNavIcon.js +59 -0
- package/lib/components/UIShell/SideNavItem.js +57 -0
- package/lib/components/UIShell/SideNavItems.js +66 -0
- package/lib/components/UIShell/SideNavLink.js +84 -0
- package/lib/components/UIShell/SideNavLinkText.js +51 -0
- package/lib/components/UIShell/SideNavMenu.js +209 -0
- package/lib/components/UIShell/SideNavMenuItem.js +67 -0
- package/lib/components/UIShell/SideNavSwitcher.js +90 -0
- package/lib/components/UIShell/SkipToContent.js +67 -0
- package/lib/components/UIShell/Switcher.js +55 -0
- package/lib/components/UIShell/SwitcherDivider.js +45 -0
- package/lib/components/UIShell/SwitcherItem.js +72 -0
- package/lib/components/UIShell/_utils.js +14 -0
- package/lib/components/UIShell/index.js +42 -0
- package/lib/components/UIShell/next/HeaderNavigation.js +62 -0
- package/lib/components/UIShell/next/SideNavMenu.js +170 -0
- package/lib/components/UnorderedList/UnorderedList.js +69 -0
- package/lib/index.js +409 -858
- package/lib/internal/ClickListener.js +110 -0
- package/lib/internal/ComponentToggle.js +50 -0
- package/lib/internal/FeatureFlags.js +56 -0
- package/lib/internal/FloatingMenu.js +498 -0
- package/lib/internal/OptimizedResize.js +73 -0
- package/lib/internal/Selection.js +254 -0
- package/lib/internal/createClassWrapper.js +39 -0
- package/lib/internal/deprecateFieldOnObject.js +30 -0
- package/lib/internal/environment.js +19 -0
- package/lib/internal/focus/index.js +20 -0
- package/lib/internal/keyboard/keys.js +79 -0
- package/lib/internal/keyboard/match.js +87 -0
- package/lib/internal/keyboard/navigation.js +69 -0
- package/lib/internal/useControllableState.js +90 -0
- package/lib/internal/useDelayedState.js +58 -0
- package/lib/internal/useEffectOnce.js +35 -0
- package/lib/internal/useId.js +64 -0
- package/lib/internal/useIsomorphicEffect.js +17 -0
- package/lib/internal/useMatchMedia.js +55 -0
- package/lib/internal/useMergedRefs.js +35 -0
- package/lib/internal/useNoInteractiveChildren.js +97 -0
- package/lib/internal/useNormalizedInputProps.js +96 -0
- package/lib/internal/usePrefix.js +24 -0
- package/lib/internal/useSavedCallback.js +36 -0
- package/lib/internal/warning.js +32 -0
- package/lib/internal/wrapFocus.js +84 -0
- package/lib/node_modules/flatpickr/dist/l10n/index.js +1427 -0
- package/lib/node_modules/flatpickr/dist/plugins/rangePlugin.js +200 -0
- package/lib/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +1116 -0
- package/lib/node_modules/use-resize-observer/polyfilled.js +120 -0
- package/lib/prop-types/AriaPropTypes.js +24 -0
- package/lib/prop-types/deprecate.js +37 -0
- package/lib/prop-types/isRequiredOneOf.js +51 -0
- package/lib/prop-types/requiredIfGivenPropIsTruthy.js +33 -0
- package/lib/prop-types/requiredIfValueExists.js +36 -0
- package/lib/prop-types/types.js +14 -0
- package/lib/tools/array.js +36 -0
- package/lib/tools/createPropAdapter.js +67 -0
- package/lib/tools/events.js +39 -0
- package/lib/tools/mergeRefs.js +35 -0
- package/lib/tools/setupGetInstanceId.js +23 -0
- package/lib/tools/toggleClass.js +18 -0
- package/lib/tools/uniqueId.js +19 -0
- package/lib/tools/wrapComponent.js +52 -0
- package/package.json +49 -18
- package/scss/{grid/_config.scss → components/_index.scss} +1 -1
- package/scss/components/accordion/_accordion.scss +9 -0
- package/scss/components/aspect-ratio/_aspect-ratio.scss +9 -0
- package/scss/components/breadcrumb/_breadcrumb.scss +9 -0
- package/scss/components/button/_button.scss +9 -0
- package/scss/components/button/_tokens.scss +9 -0
- package/scss/components/checkbox/_checkbox.scss +9 -0
- package/scss/components/code-snippet/_code-snippet.scss +9 -0
- package/scss/components/combo-box/_combo-box.scss +9 -0
- package/scss/components/content-switcher/_content-switcher.scss +9 -0
- package/scss/components/copy-button/_copy-button.scss +9 -0
- package/scss/components/data-table/_data-table.scss +9 -0
- package/scss/components/data-table/action/_data-table-action.scss +9 -0
- package/scss/components/data-table/action/_index.scss +9 -0
- package/scss/components/data-table/expandable/_data-table-expandable.scss +9 -0
- package/scss/components/data-table/expandable/_index.scss +9 -0
- package/scss/components/data-table/skeleton/_data-table-skeleton.scss +9 -0
- package/scss/components/data-table/skeleton/_index.scss +9 -0
- package/scss/components/data-table/sort/_data-table-sort.scss +9 -0
- package/scss/components/data-table/sort/_index.scss +9 -0
- package/scss/components/date-picker/_date-picker.scss +9 -0
- package/scss/components/dropdown/_dropdown.scss +9 -0
- package/scss/components/file-uploader/_file-uploader.scss +9 -0
- package/scss/components/form/_form.scss +9 -0
- package/scss/components/inline-loading/_inline-loading.scss +9 -0
- package/scss/components/link/_link.scss +9 -0
- package/scss/components/list/_list.scss +9 -0
- package/scss/components/list-box/_index.scss +9 -0
- package/scss/components/list-box/_list-box.scss +9 -0
- package/scss/components/loading/_loading.scss +9 -0
- package/scss/components/menu/_menu.scss +9 -0
- package/scss/components/modal/_modal.scss +9 -0
- package/scss/components/multiselect/_multiselect.scss +9 -0
- package/scss/components/notification/_actionable-notification.scss +9 -0
- package/scss/components/notification/_inline-notification.scss +9 -0
- package/scss/components/notification/_toast-notification.scss +9 -0
- package/scss/components/notification/_tokens.scss +9 -0
- package/scss/components/number-input/_number-input.scss +9 -0
- package/scss/components/overflow-menu/_overflow-menu.scss +9 -0
- package/scss/components/pagination/_pagination.scss +9 -0
- package/scss/components/pagination/_unstable_pagination.scss +9 -0
- package/scss/components/pagination-nav/_pagination-nav.scss +9 -0
- package/scss/components/popover/_index.scss +9 -0
- package/scss/components/popover/_popover.scss +9 -0
- package/scss/components/progress-bar/_index.scss +9 -0
- package/scss/components/progress-bar/_progress-bar.scss +9 -0
- package/scss/components/progress-indicator/_progress-indicator.scss +9 -0
- package/scss/components/radio-button/_radio-button.scss +9 -0
- package/scss/components/search/_search.scss +9 -0
- package/scss/components/select/_select.scss +9 -0
- package/scss/components/skeleton-styles/_index.scss +9 -0
- package/scss/components/skeleton-styles/_skeleton-styles.scss +9 -0
- package/scss/components/slider/_slider.scss +9 -0
- package/scss/components/stack/_stack.scss +9 -0
- package/scss/components/structured-list/_structured-list.scss +9 -0
- package/scss/components/tabs/_tabs.scss +9 -0
- package/scss/components/tag/_tag.scss +9 -0
- package/scss/components/tag/_tokens.scss +9 -0
- package/scss/components/text-area/_text-area.scss +9 -0
- package/scss/components/text-input/_text-input.scss +9 -0
- package/scss/components/tile/_tile.scss +9 -0
- package/scss/components/time-picker/_time-picker.scss +9 -0
- package/scss/components/toggle/_toggle.scss +9 -0
- package/scss/components/toggletip/_index.scss +9 -0
- package/scss/components/toggletip/_toggletip.scss +9 -0
- package/scss/components/tooltip/_tooltip.scss +9 -0
- package/scss/components/treeview/_treeview.scss +9 -0
- package/scss/components/ui-shell/_ui-shell.scss +9 -0
- package/scss/components/ui-shell/content/_content.scss +9 -0
- package/scss/components/ui-shell/content/_index.scss +9 -0
- package/scss/components/ui-shell/header/_header.scss +9 -0
- package/scss/components/ui-shell/header/_index.scss +9 -0
- package/scss/components/ui-shell/header-panel/_header-panel.scss +9 -0
- package/scss/components/ui-shell/header-panel/_index.scss +9 -0
- package/scss/components/ui-shell/side-nav/_index.scss +9 -0
- package/scss/components/ui-shell/side-nav/_side-nav.scss +9 -0
- package/scss/components/ui-shell/switcher/_index.scss +9 -0
- package/scss/components/ui-shell/switcher/_switcher.scss +9 -0
- package/scss/fonts/_src.scss +9 -0
- package/scss/grid/_css-grid.scss +9 -0
- package/scss/grid/_mixins.scss +9 -0
- package/scss/type/_index.scss +9 -0
- package/scss/type/_reset.scss +9 -0
- package/scss/utilities/_box-shadow.scss +9 -0
- package/scss/utilities/_button-reset.scss +9 -0
- package/scss/utilities/_component-reset.scss +9 -0
- package/scss/utilities/_component-tokens.scss +9 -0
- package/scss/utilities/_custom-property.scss +9 -0
- package/scss/utilities/_focus-outline.scss +9 -0
- package/scss/utilities/_high-contrast-mode.scss +9 -0
- package/scss/utilities/_index.scss +9 -0
- package/scss/utilities/_keyframes.scss +9 -0
- package/scss/utilities/_placeholder-colors.scss +9 -0
- package/scss/utilities/_rotate.scss +9 -0
- package/scss/utilities/_skeleton.scss +9 -0
- package/scss/utilities/_text-overflow.scss +9 -0
- package/scss/utilities/_text-truncate.scss +9 -0
- package/scss/utilities/_visually-hidden.scss +9 -0
- package/icons/es/icon-helpers/es/index.js +0 -141
- package/icons/es/icons-react/next/index.esm.js +0 -14
- package/icons/lib/icon-helpers/es/index.js +0 -146
- package/icons/lib/icons-react/next/index.esm.js +0 -1973
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2021
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { objectWithoutProperties as _objectWithoutProperties, defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
+
import cx from 'classnames';
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
|
+
import React__default from 'react';
|
|
12
|
+
import { warning } from '../../internal/warning.js';
|
|
13
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
14
|
+
import { match } from '../../internal/keyboard/match.js';
|
|
15
|
+
import { Enter } from '../../internal/keyboard/keys.js';
|
|
16
|
+
|
|
17
|
+
var _path, _ToggleSmall$propType;
|
|
18
|
+
|
|
19
|
+
var _excluded = ["className", "defaultToggled", "toggled", "onChange", "onToggle", "id", "labelText", "labelA", "labelB"];
|
|
20
|
+
var didWarnAboutDeprecation = false;
|
|
21
|
+
|
|
22
|
+
var ToggleSmall = function ToggleSmall(_ref) {
|
|
23
|
+
var className = _ref.className,
|
|
24
|
+
defaultToggled = _ref.defaultToggled,
|
|
25
|
+
toggled = _ref.toggled,
|
|
26
|
+
_onChange = _ref.onChange,
|
|
27
|
+
onToggle = _ref.onToggle,
|
|
28
|
+
id = _ref.id,
|
|
29
|
+
labelText = _ref.labelText,
|
|
30
|
+
labelA = _ref.labelA,
|
|
31
|
+
labelB = _ref.labelB,
|
|
32
|
+
other = _objectWithoutProperties(_ref, _excluded);
|
|
33
|
+
|
|
34
|
+
var prefix = usePrefix();
|
|
35
|
+
|
|
36
|
+
if (process.env.NODE_ENV !== "production") {
|
|
37
|
+
process.env.NODE_ENV !== "production" ? warning(didWarnAboutDeprecation, '`<ToggleSmall>` has been deprecated in favor of `<Toggle size="sm" />` and will be removed in the next major release of `carbon-components-react`') : void 0;
|
|
38
|
+
didWarnAboutDeprecation = true;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
var input;
|
|
42
|
+
var wrapperClasses = cx("".concat(prefix, "--form-item"), _defineProperty({}, className, className));
|
|
43
|
+
var checkedProps = {};
|
|
44
|
+
|
|
45
|
+
if (typeof toggled !== 'undefined') {
|
|
46
|
+
checkedProps.checked = toggled;
|
|
47
|
+
} else {
|
|
48
|
+
checkedProps.defaultChecked = defaultToggled;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
var ariaLabel = typeof labelText === 'string' && labelText || other['aria-label'] || other.ariaLabel || null;
|
|
52
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
53
|
+
className: wrapperClasses
|
|
54
|
+
}, /*#__PURE__*/React__default.createElement("input", _extends({}, other, checkedProps, {
|
|
55
|
+
"aria-label": null,
|
|
56
|
+
type: "checkbox",
|
|
57
|
+
id: id,
|
|
58
|
+
className: "".concat(prefix, "--toggle-input ").concat(prefix, "--toggle-input--small"),
|
|
59
|
+
onChange: function onChange(evt) {
|
|
60
|
+
_onChange && _onChange(evt);
|
|
61
|
+
onToggle(input.checked, id, evt);
|
|
62
|
+
},
|
|
63
|
+
ref: function ref(el) {
|
|
64
|
+
input = el;
|
|
65
|
+
},
|
|
66
|
+
onKeyUp: function onKeyUp(evt) {
|
|
67
|
+
if (match(evt, Enter)) {
|
|
68
|
+
input.checked = !input.checked;
|
|
69
|
+
_onChange && _onChange(evt);
|
|
70
|
+
onToggle(input.checked, id, evt);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
})), /*#__PURE__*/React__default.createElement("label", {
|
|
74
|
+
className: "".concat(prefix, "--toggle-input__label"),
|
|
75
|
+
htmlFor: id,
|
|
76
|
+
"aria-label": ariaLabel
|
|
77
|
+
}, labelText, /*#__PURE__*/React__default.createElement("span", {
|
|
78
|
+
className: "".concat(prefix, "--toggle__switch")
|
|
79
|
+
}, /*#__PURE__*/React__default.createElement("svg", {
|
|
80
|
+
className: "".concat(prefix, "--toggle__check"),
|
|
81
|
+
width: "6px",
|
|
82
|
+
height: "5px",
|
|
83
|
+
viewBox: "0 0 6 5"
|
|
84
|
+
}, _path || (_path = /*#__PURE__*/React__default.createElement("path", {
|
|
85
|
+
d: "M2.2 2.7L5 0 6 1 2.2 5 0 2.7 1 1.5z"
|
|
86
|
+
}))), /*#__PURE__*/React__default.createElement("span", {
|
|
87
|
+
className: "".concat(prefix, "--toggle__text--off"),
|
|
88
|
+
"aria-hidden": "true"
|
|
89
|
+
}, labelA), /*#__PURE__*/React__default.createElement("span", {
|
|
90
|
+
className: "".concat(prefix, "--toggle__text--on"),
|
|
91
|
+
"aria-hidden": "true"
|
|
92
|
+
}, labelB))));
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
ToggleSmall.propTypes = (_ToggleSmall$propType = {}, _defineProperty(_ToggleSmall$propType, 'aria-label', PropTypes.string.isRequired), _defineProperty(_ToggleSmall$propType, "className", PropTypes.string), _defineProperty(_ToggleSmall$propType, "defaultToggled", PropTypes.bool), _defineProperty(_ToggleSmall$propType, "id", PropTypes.string.isRequired), _defineProperty(_ToggleSmall$propType, "labelA", PropTypes.node.isRequired), _defineProperty(_ToggleSmall$propType, "labelB", PropTypes.node.isRequired), _defineProperty(_ToggleSmall$propType, "labelText", PropTypes.node), _defineProperty(_ToggleSmall$propType, "onChange", PropTypes.func), _defineProperty(_ToggleSmall$propType, "onToggle", PropTypes.func), _defineProperty(_ToggleSmall$propType, "toggled", PropTypes.bool), _ToggleSmall$propType);
|
|
96
|
+
ToggleSmall.defaultProps = {
|
|
97
|
+
defaultToggled: false,
|
|
98
|
+
onToggle: function onToggle() {},
|
|
99
|
+
labelA: 'Off',
|
|
100
|
+
labelB: 'On'
|
|
101
|
+
};
|
|
102
|
+
var ToggleSmall$1 = ToggleSmall;
|
|
103
|
+
|
|
104
|
+
export { ToggleSmall$1 as default };
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2021
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
+
import React__default from 'react';
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
|
+
import ToolbarSearch from '../ToolbarSearch/ToolbarSearch.js';
|
|
12
|
+
import cx from 'classnames';
|
|
13
|
+
import { warning } from '../../internal/warning.js';
|
|
14
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
15
|
+
|
|
16
|
+
var _excluded = ["children", "className"];
|
|
17
|
+
var didWarnAboutDeprecation = false;
|
|
18
|
+
|
|
19
|
+
var Toolbar = function Toolbar(_ref) {
|
|
20
|
+
var children = _ref.children,
|
|
21
|
+
className = _ref.className,
|
|
22
|
+
other = _objectWithoutProperties(_ref, _excluded);
|
|
23
|
+
|
|
24
|
+
var prefix = usePrefix();
|
|
25
|
+
var wrapperClasses = cx("".concat(prefix, "--toolbar"), className);
|
|
26
|
+
|
|
27
|
+
if (process.env.NODE_ENV !== "production") {
|
|
28
|
+
process.env.NODE_ENV !== "production" ? warning(didWarnAboutDeprecation, 'The Toolbar component has been deprecated and will be removed in the next major release of `carbon-components-react`') : void 0;
|
|
29
|
+
didWarnAboutDeprecation = true;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
33
|
+
className: wrapperClasses
|
|
34
|
+
}, other), children);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
Toolbar.propTypes = {
|
|
38
|
+
/**
|
|
39
|
+
* Specify a collection of ToolbarItem's that should render in the Toolbar
|
|
40
|
+
*/
|
|
41
|
+
children: PropTypes.node,
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Specify an optional className to be applied to the containing Toolbar node
|
|
45
|
+
*/
|
|
46
|
+
className: PropTypes.string
|
|
47
|
+
};
|
|
48
|
+
var ToolbarItem = function ToolbarItem(_ref2) {
|
|
49
|
+
var children = _ref2.children,
|
|
50
|
+
type = _ref2.type,
|
|
51
|
+
placeHolderText = _ref2.placeHolderText;
|
|
52
|
+
var toolbarItem = type === 'search' ? /*#__PURE__*/React__default.createElement(ToolbarSearch, {
|
|
53
|
+
placeHolderText: placeHolderText
|
|
54
|
+
}) : children;
|
|
55
|
+
return toolbarItem;
|
|
56
|
+
};
|
|
57
|
+
ToolbarItem.propTypes = {
|
|
58
|
+
/**
|
|
59
|
+
* Specify the contents of the ToolbarItem
|
|
60
|
+
*/
|
|
61
|
+
children: PropTypes.node,
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Specify the placeholder text for the ToolbarSearch component. Useful if
|
|
65
|
+
* `type` is set to 'search'
|
|
66
|
+
*/
|
|
67
|
+
placeHolderText: PropTypes.string,
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Specify the type of the ToolbarItem. The `search` type will render a
|
|
71
|
+
* `ToolbarSearch` component
|
|
72
|
+
*/
|
|
73
|
+
type: PropTypes.string
|
|
74
|
+
};
|
|
75
|
+
ToolbarItem.defaultProps = {
|
|
76
|
+
placeHolderText: 'Provide placeHolderText'
|
|
77
|
+
}; // eslint-disable-next-line react/display-name
|
|
78
|
+
|
|
79
|
+
var ToolbarTitle = /*#__PURE__*/React__default.forwardRef(function (_ref3, ref) {
|
|
80
|
+
var title = _ref3.title;
|
|
81
|
+
var prefix = usePrefix();
|
|
82
|
+
return /*#__PURE__*/React__default.createElement("li", {
|
|
83
|
+
ref: ref,
|
|
84
|
+
className: "".concat(prefix, "--toolbar-menu__title")
|
|
85
|
+
}, title);
|
|
86
|
+
});
|
|
87
|
+
ToolbarTitle.displayName = 'ToolbarTitle';
|
|
88
|
+
ToolbarTitle.propTypes = {
|
|
89
|
+
/**
|
|
90
|
+
* Specify the title of the Toolbar
|
|
91
|
+
*/
|
|
92
|
+
title: PropTypes.string
|
|
93
|
+
}; // eslint-disable-next-line react/display-name
|
|
94
|
+
|
|
95
|
+
var ToolbarOption = /*#__PURE__*/React__default.forwardRef(function (_ref4, ref) {
|
|
96
|
+
var children = _ref4.children;
|
|
97
|
+
var prefix = usePrefix();
|
|
98
|
+
return /*#__PURE__*/React__default.createElement("li", {
|
|
99
|
+
ref: ref,
|
|
100
|
+
className: "".concat(prefix, "--toolbar-menu__option")
|
|
101
|
+
}, children);
|
|
102
|
+
});
|
|
103
|
+
ToolbarOption.displayName = 'ToolbarOption';
|
|
104
|
+
ToolbarOption.propTypes = {
|
|
105
|
+
/**
|
|
106
|
+
* Specify the contents of the ToolbarOption
|
|
107
|
+
*/
|
|
108
|
+
children: PropTypes.node
|
|
109
|
+
}; // eslint-disable-next-line react/display-name
|
|
110
|
+
|
|
111
|
+
var ToolbarDivider = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
112
|
+
var prefix = usePrefix();
|
|
113
|
+
return /*#__PURE__*/React__default.createElement("hr", {
|
|
114
|
+
ref: ref,
|
|
115
|
+
className: "".concat(prefix, "--toolbar-menu__divider")
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
ToolbarDivider.displayName = 'ToolbarDivider';
|
|
119
|
+
var Toolbar$1 = Toolbar;
|
|
120
|
+
|
|
121
|
+
export { ToolbarDivider, ToolbarItem, ToolbarOption, ToolbarTitle, Toolbar$1 as default };
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2021
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, defineProperty as _defineProperty, assertThisInitialized as _assertThisInitialized, createClass as _createClass, objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
+
import React__default, { Component } from 'react';
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
|
+
import cx from 'classnames';
|
|
12
|
+
import { Search } from '@carbon/icons-react';
|
|
13
|
+
import ClickListener from '../../internal/ClickListener.js';
|
|
14
|
+
import { warning } from '../../internal/warning.js';
|
|
15
|
+
import { PrefixContext } from '../../internal/usePrefix.js';
|
|
16
|
+
|
|
17
|
+
var _excluded = ["className", "type", "id", "placeHolderText", "labelText", "role", "labelId"];
|
|
18
|
+
var didWarnAboutDeprecation = false;
|
|
19
|
+
|
|
20
|
+
var ToolbarSearch = /*#__PURE__*/function (_Component) {
|
|
21
|
+
_inherits(ToolbarSearch, _Component);
|
|
22
|
+
|
|
23
|
+
var _super = _createSuper(ToolbarSearch);
|
|
24
|
+
|
|
25
|
+
function ToolbarSearch(props) {
|
|
26
|
+
var _this;
|
|
27
|
+
|
|
28
|
+
_classCallCheck(this, ToolbarSearch);
|
|
29
|
+
|
|
30
|
+
_this = _super.call(this, props);
|
|
31
|
+
|
|
32
|
+
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
33
|
+
expanded: false
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
_defineProperty(_assertThisInitialized(_this), "expandSearch", function () {
|
|
37
|
+
_this.setState({
|
|
38
|
+
expanded: !_this.state.expanded
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
_this.input.focus();
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
_defineProperty(_assertThisInitialized(_this), "handleClickOutside", function () {
|
|
45
|
+
_this.setState({
|
|
46
|
+
expanded: false
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
if (process.env.NODE_ENV !== "production") {
|
|
51
|
+
process.env.NODE_ENV !== "production" ? warning(didWarnAboutDeprecation, 'The ToolbarSearch component has been deprecated and will be removed in the next major release of `carbon-components-react`') : void 0;
|
|
52
|
+
didWarnAboutDeprecation = true;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return _this;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
_createClass(ToolbarSearch, [{
|
|
59
|
+
key: "render",
|
|
60
|
+
value: function render() {
|
|
61
|
+
var _classNames,
|
|
62
|
+
_this2 = this;
|
|
63
|
+
|
|
64
|
+
var prefix = this.context;
|
|
65
|
+
|
|
66
|
+
var _this$props = this.props,
|
|
67
|
+
className = _this$props.className,
|
|
68
|
+
type = _this$props.type,
|
|
69
|
+
id = _this$props.id,
|
|
70
|
+
placeHolderText = _this$props.placeHolderText,
|
|
71
|
+
labelText = _this$props.labelText,
|
|
72
|
+
role = _this$props.role,
|
|
73
|
+
labelId = _this$props.labelId,
|
|
74
|
+
other = _objectWithoutProperties(_this$props, _excluded);
|
|
75
|
+
|
|
76
|
+
var searchClasses = cx((_classNames = {}, _defineProperty(_classNames, "".concat(prefix, "--search ").concat(prefix, "--search--sm ").concat(prefix, "--toolbar-search"), true), _defineProperty(_classNames, "".concat(prefix, "--toolbar-search--active"), this.state.expanded), _defineProperty(_classNames, className, className), _classNames));
|
|
77
|
+
return /*#__PURE__*/React__default.createElement(ClickListener, {
|
|
78
|
+
onClickOutside: this.handleClickOutside
|
|
79
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
80
|
+
className: searchClasses,
|
|
81
|
+
role: role
|
|
82
|
+
}, /*#__PURE__*/React__default.createElement("label", {
|
|
83
|
+
htmlFor: id,
|
|
84
|
+
className: "".concat(prefix, "--label"),
|
|
85
|
+
id: labelId
|
|
86
|
+
}, labelText), /*#__PURE__*/React__default.createElement("input", _extends({}, other, {
|
|
87
|
+
type: type,
|
|
88
|
+
className: "".concat(prefix, "--search-input"),
|
|
89
|
+
id: id,
|
|
90
|
+
"aria-labelledby": labelId,
|
|
91
|
+
placeholder: placeHolderText,
|
|
92
|
+
ref: function ref(input) {
|
|
93
|
+
_this2.input = input;
|
|
94
|
+
}
|
|
95
|
+
})), /*#__PURE__*/React__default.createElement("button", {
|
|
96
|
+
type: "button",
|
|
97
|
+
className: "".concat(prefix, "--toolbar-search__btn"),
|
|
98
|
+
title: labelText,
|
|
99
|
+
onClick: this.expandSearch
|
|
100
|
+
}, /*#__PURE__*/React__default.createElement(Search, {
|
|
101
|
+
className: "".concat(prefix, "--search-magnifier"),
|
|
102
|
+
"aria-label": labelText
|
|
103
|
+
}))));
|
|
104
|
+
}
|
|
105
|
+
}]);
|
|
106
|
+
|
|
107
|
+
return ToolbarSearch;
|
|
108
|
+
}(Component);
|
|
109
|
+
|
|
110
|
+
_defineProperty(ToolbarSearch, "contextType", PrefixContext);
|
|
111
|
+
|
|
112
|
+
_defineProperty(ToolbarSearch, "propTypes", {
|
|
113
|
+
/**
|
|
114
|
+
* The child nodes.
|
|
115
|
+
*/
|
|
116
|
+
children: PropTypes.node,
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* The CSS class names.
|
|
120
|
+
*/
|
|
121
|
+
className: PropTypes.string,
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* The ID of the `<input>`.
|
|
125
|
+
*/
|
|
126
|
+
id: PropTypes.string,
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* The ID of the `<label>`.
|
|
130
|
+
*/
|
|
131
|
+
labelId: PropTypes.string,
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* The text in the `<label>`.
|
|
135
|
+
*/
|
|
136
|
+
labelText: PropTypes.node,
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* The placeholder text of the `<input>`.
|
|
140
|
+
*/
|
|
141
|
+
placeHolderText: PropTypes.string,
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Optional prop to specify the role of the ToolbarSearch
|
|
145
|
+
*/
|
|
146
|
+
role: PropTypes.string,
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* `true` to use the small version of the UI.
|
|
150
|
+
*/
|
|
151
|
+
small: PropTypes.bool,
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* The `type` of the `<input>`.
|
|
155
|
+
*/
|
|
156
|
+
type: PropTypes.string
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
_defineProperty(ToolbarSearch, "defaultProps", {
|
|
160
|
+
type: 'search',
|
|
161
|
+
id: 'search__input',
|
|
162
|
+
labelText: '',
|
|
163
|
+
placeHolderText: '',
|
|
164
|
+
role: 'search',
|
|
165
|
+
labelId: 'search__label'
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
export { ToolbarSearch as default };
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2021
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
+
import cx from 'classnames';
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
|
+
import React__default, { useState } from 'react';
|
|
12
|
+
import { Popover, PopoverContent } from '../../Popover/index.js';
|
|
13
|
+
import { useFallbackId } from '../../../internal/useId.js';
|
|
14
|
+
import { usePrefix } from '../../../internal/usePrefix.js';
|
|
15
|
+
import deprecate from '../../../prop-types/deprecate.js';
|
|
16
|
+
import { match } from '../../../internal/keyboard/match.js';
|
|
17
|
+
import { Escape } from '../../../internal/keyboard/keys.js';
|
|
18
|
+
|
|
19
|
+
var _excluded = ["align", "className", "children", "definition", "defaultOpen", "id", "tooltipText", "triggerClassName"];
|
|
20
|
+
|
|
21
|
+
function DefinitionTooltip(_ref) {
|
|
22
|
+
var _ref$align = _ref.align,
|
|
23
|
+
align = _ref$align === void 0 ? 'bottom-left' : _ref$align,
|
|
24
|
+
className = _ref.className,
|
|
25
|
+
children = _ref.children,
|
|
26
|
+
definition = _ref.definition,
|
|
27
|
+
_ref$defaultOpen = _ref.defaultOpen,
|
|
28
|
+
defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
|
|
29
|
+
id = _ref.id,
|
|
30
|
+
tooltipText = _ref.tooltipText,
|
|
31
|
+
triggerClassName = _ref.triggerClassName,
|
|
32
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
33
|
+
|
|
34
|
+
var _useState = useState(defaultOpen),
|
|
35
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
+
isOpen = _useState2[0],
|
|
37
|
+
setOpen = _useState2[1];
|
|
38
|
+
|
|
39
|
+
var prefix = usePrefix();
|
|
40
|
+
var tooltipId = useFallbackId(id);
|
|
41
|
+
|
|
42
|
+
function onKeyDown(event) {
|
|
43
|
+
if (isOpen && match(event, Escape)) {
|
|
44
|
+
event.stopPropagation();
|
|
45
|
+
setOpen(false);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return /*#__PURE__*/React__default.createElement(Popover, {
|
|
50
|
+
align: align,
|
|
51
|
+
className: className,
|
|
52
|
+
dropShadow: false,
|
|
53
|
+
highContrast: true,
|
|
54
|
+
onMouseLeave: function onMouseLeave() {
|
|
55
|
+
setOpen(false);
|
|
56
|
+
},
|
|
57
|
+
open: isOpen
|
|
58
|
+
}, /*#__PURE__*/React__default.createElement("button", _extends({}, rest, {
|
|
59
|
+
className: cx("".concat(prefix, "--definition-term"), triggerClassName),
|
|
60
|
+
"aria-controls": tooltipId,
|
|
61
|
+
"aria-expanded": isOpen,
|
|
62
|
+
onBlur: function onBlur() {
|
|
63
|
+
setOpen(false);
|
|
64
|
+
},
|
|
65
|
+
onClick: function onClick() {
|
|
66
|
+
setOpen(!isOpen);
|
|
67
|
+
},
|
|
68
|
+
onKeyDown: onKeyDown,
|
|
69
|
+
type: "button"
|
|
70
|
+
}), children), /*#__PURE__*/React__default.createElement(PopoverContent, {
|
|
71
|
+
className: "".concat(prefix, "--definition-tooltip"),
|
|
72
|
+
id: tooltipId
|
|
73
|
+
}, tooltipText !== null && tooltipText !== void 0 ? tooltipText : definition));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
DefinitionTooltip.propTypes = {
|
|
77
|
+
/**
|
|
78
|
+
* Specify how the trigger should align with the tooltip
|
|
79
|
+
*/
|
|
80
|
+
align: PropTypes.oneOf(['top', 'top-left', 'top-right', 'bottom', 'bottom-left', 'bottom-right']),
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* The `children` prop will be used as the value that is being defined
|
|
84
|
+
*/
|
|
85
|
+
children: PropTypes.node.isRequired,
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Specify an optional className to be applied to the container node
|
|
89
|
+
*/
|
|
90
|
+
className: PropTypes.string,
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Specify whether the tooltip should be open when it first renders
|
|
94
|
+
*/
|
|
95
|
+
defaultOpen: PropTypes.bool,
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* The `definition` prop is used as the content inside of the tooltip that
|
|
99
|
+
* appears when a user interacts with the element rendered by the `children`
|
|
100
|
+
* prop
|
|
101
|
+
*/
|
|
102
|
+
definition: PropTypes.node.isRequired,
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Provide a value that will be assigned as the id of the tooltip
|
|
106
|
+
*/
|
|
107
|
+
id: PropTypes.string,
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* [Deprecated] Please use the `definition` prop instead.
|
|
111
|
+
*
|
|
112
|
+
* Provide the text that will be displayed in the tooltip when it is rendered.
|
|
113
|
+
*/
|
|
114
|
+
tooltipText: deprecate(PropTypes.node, 'The tooltipText prop has been deprecated. Please use the `definition` prop instead.'),
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* The CSS class name of the trigger element
|
|
118
|
+
*/
|
|
119
|
+
triggerClassName: PropTypes.string
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export { DefinitionTooltip };
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2021
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
+
import cx from 'classnames';
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
|
+
import React__default, { useRef } from 'react';
|
|
12
|
+
import { Popover, PopoverContent } from '../../Popover/index.js';
|
|
13
|
+
import { useDelayedState } from '../../../internal/useDelayedState.js';
|
|
14
|
+
import { useId } from '../../../internal/useId.js';
|
|
15
|
+
import { useNoInteractiveChildren } from '../../../internal/useNoInteractiveChildren.js';
|
|
16
|
+
import { usePrefix } from '../../../internal/usePrefix.js';
|
|
17
|
+
import { match } from '../../../internal/keyboard/match.js';
|
|
18
|
+
import { Escape } from '../../../internal/keyboard/keys.js';
|
|
19
|
+
|
|
20
|
+
var _excluded = ["align", "className", "children", "label", "description", "enterDelayMs", "leaveDelayMs", "defaultOpen"];
|
|
21
|
+
|
|
22
|
+
function Tooltip(_ref) {
|
|
23
|
+
var _ref$align = _ref.align,
|
|
24
|
+
align = _ref$align === void 0 ? 'top' : _ref$align,
|
|
25
|
+
customClassName = _ref.className,
|
|
26
|
+
children = _ref.children,
|
|
27
|
+
label = _ref.label,
|
|
28
|
+
description = _ref.description,
|
|
29
|
+
_ref$enterDelayMs = _ref.enterDelayMs,
|
|
30
|
+
enterDelayMs = _ref$enterDelayMs === void 0 ? 100 : _ref$enterDelayMs,
|
|
31
|
+
_ref$leaveDelayMs = _ref.leaveDelayMs,
|
|
32
|
+
leaveDelayMs = _ref$leaveDelayMs === void 0 ? 300 : _ref$leaveDelayMs,
|
|
33
|
+
_ref$defaultOpen = _ref.defaultOpen,
|
|
34
|
+
defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
|
|
35
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
36
|
+
|
|
37
|
+
var containerRef = useRef(null);
|
|
38
|
+
var tooltipRef = useRef(null);
|
|
39
|
+
|
|
40
|
+
var _useDelayedState = useDelayedState(defaultOpen),
|
|
41
|
+
_useDelayedState2 = _slicedToArray(_useDelayedState, 2),
|
|
42
|
+
open = _useDelayedState2[0],
|
|
43
|
+
setOpen = _useDelayedState2[1];
|
|
44
|
+
|
|
45
|
+
var id = useId('tooltip');
|
|
46
|
+
var prefix = usePrefix();
|
|
47
|
+
var child = React__default.Children.only(children);
|
|
48
|
+
var triggerProps = {
|
|
49
|
+
onFocus: function onFocus() {
|
|
50
|
+
return setOpen(true);
|
|
51
|
+
},
|
|
52
|
+
onBlur: function onBlur() {
|
|
53
|
+
return setOpen(false);
|
|
54
|
+
},
|
|
55
|
+
// This should be placed on the trigger in case the element is disabled
|
|
56
|
+
onMouseEnter: onMouseEnter
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
if (label) {
|
|
60
|
+
triggerProps['aria-labelledby'] = id;
|
|
61
|
+
} else {
|
|
62
|
+
triggerProps['aria-describedby'] = id;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function onKeyDown(event) {
|
|
66
|
+
if (open && match(event, Escape)) {
|
|
67
|
+
event.stopPropagation();
|
|
68
|
+
setOpen(false);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function onMouseEnter() {
|
|
73
|
+
setOpen(true, enterDelayMs);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function onMouseLeave() {
|
|
77
|
+
setOpen(false, leaveDelayMs);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
useNoInteractiveChildren(tooltipRef, 'The Tooltip component must have no interactive content rendered by the' + '`label` or `description` prop');
|
|
81
|
+
return /*#__PURE__*/React__default.createElement(Popover, _extends({}, rest, {
|
|
82
|
+
align: align,
|
|
83
|
+
className: cx("".concat(prefix, "--tooltip"), customClassName),
|
|
84
|
+
dropShadow: false,
|
|
85
|
+
highContrast: true,
|
|
86
|
+
onKeyDown: onKeyDown,
|
|
87
|
+
onMouseLeave: onMouseLeave,
|
|
88
|
+
open: open,
|
|
89
|
+
ref: containerRef
|
|
90
|
+
}), /*#__PURE__*/React__default.cloneElement(child, triggerProps), /*#__PURE__*/React__default.createElement(PopoverContent, {
|
|
91
|
+
"aria-hidden": "true",
|
|
92
|
+
className: "".concat(prefix, "--tooltip-content"),
|
|
93
|
+
id: id,
|
|
94
|
+
ref: tooltipRef,
|
|
95
|
+
role: "tooltip"
|
|
96
|
+
}, label || description));
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
Tooltip.propTypes = {
|
|
100
|
+
/**
|
|
101
|
+
* Specify how the trigger should align with the tooltip
|
|
102
|
+
*/
|
|
103
|
+
align: PropTypes.oneOf(['top', 'top-left', 'top-right', 'bottom', 'bottom-left', 'bottom-right', 'left', 'left-bottom', 'left-top', 'right', 'right-bottom', 'right-top']),
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Pass in the child to which the tooltip will be applied
|
|
107
|
+
*/
|
|
108
|
+
children: PropTypes.node,
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Specify an optional className to be applied to the container node
|
|
112
|
+
*/
|
|
113
|
+
className: PropTypes.string,
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Specify whether the tooltip should be open when it first renders
|
|
117
|
+
*/
|
|
118
|
+
defaultOpen: PropTypes.bool,
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Provide the description to be rendered inside of the Tooltip. The
|
|
122
|
+
* description will use `aria-describedby` and will describe the child node
|
|
123
|
+
* in addition to the text rendered inside of the child. This means that if you
|
|
124
|
+
* have text in the child node, that it will be announced alongside the
|
|
125
|
+
* description to the screen reader.
|
|
126
|
+
*
|
|
127
|
+
* Note: if label and description are both provided, label will be used and
|
|
128
|
+
* description will not be used
|
|
129
|
+
*/
|
|
130
|
+
description: PropTypes.node,
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Specify the duration in milliseconds to delay before displaying the tooltip
|
|
134
|
+
*/
|
|
135
|
+
enterDelayMs: PropTypes.number,
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Provide the label to be rendered inside of the Tooltip. The label will use
|
|
139
|
+
* `aria-labelledby` and will fully describe the child node that is provided.
|
|
140
|
+
* This means that if you have text in the child node, that it will not be
|
|
141
|
+
* announced to the screen reader.
|
|
142
|
+
*
|
|
143
|
+
* Note: if label and description are both provided, description will not be
|
|
144
|
+
* used
|
|
145
|
+
*/
|
|
146
|
+
label: PropTypes.node,
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Specify the duration in milliseconds to delay before hiding the tooltip
|
|
150
|
+
*/
|
|
151
|
+
leaveDelayMs: PropTypes.number
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
export { Tooltip };
|