@carbon/react 0.17.0-rc.0 → 1.0.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 +97 -0
- package/es/components/Accordion/Accordion.js +68 -0
- package/es/components/Accordion/AccordionItem.js +176 -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 +69 -0
- package/es/components/Button/Button.js +289 -0
- package/es/components/ButtonSet/ButtonSet.js +48 -0
- package/es/components/Checkbox/Checkbox.Skeleton.js +36 -0
- package/es/components/Checkbox/Checkbox.js +123 -0
- package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +58 -0
- package/es/components/CodeSnippet/CodeSnippet.js +364 -0
- package/es/components/ComboBox/ComboBox.js +530 -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/ContentSwitcher/index.js +13 -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 +629 -0
- package/es/components/DataTable/Table.js +82 -0
- package/es/components/DataTable/TableActionList.js +17 -0
- package/es/components/DataTable/TableBatchAction.js +46 -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 +47 -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 +233 -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 +244 -0
- package/es/components/Dropdown/Dropdown.Skeleton.js +46 -0
- package/es/components/Dropdown/Dropdown.js +322 -0
- package/es/components/ErrorBoundary/ErrorBoundary.js +96 -0
- package/es/components/ErrorBoundary/ErrorBoundaryContext.js +16 -0
- package/es/components/ExpandableSearch/ExpandableSearch.js +61 -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 +87 -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 +88 -0
- package/es/components/InlineCheckbox/InlineCheckbox.js +122 -0
- package/es/components/InlineLoading/InlineLoading.js +111 -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 +139 -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 +274 -0
- package/es/components/ModalWrapper/ModalWrapper.js +164 -0
- package/es/components/MultiSelect/FilterableMultiSelect.js +575 -0
- package/es/components/MultiSelect/MultiSelect.js +467 -0
- package/es/components/MultiSelect/MultiSelectPropTypes.js +41 -0
- package/es/components/MultiSelect/index.js +23 -0
- package/es/components/MultiSelect/next/FilterableMultiSelect.js +531 -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 +663 -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 +213 -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 +140 -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 +268 -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 +203 -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 +639 -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 +326 -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 +608 -0
- package/es/components/TileGroup/TileGroup.js +164 -0
- package/es/components/TileGroup/index.js +13 -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 +71 -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/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 +188 -2
- package/es/internal/ClickListener.js +101 -0
- package/es/internal/ComponentToggle.js +43 -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/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 +107 -0
- package/lib/components/Accordion/Accordion.js +97 -0
- package/lib/components/Accordion/AccordionItem.js +186 -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 +98 -0
- package/lib/components/Button/Button.js +299 -0
- package/lib/components/ButtonSet/ButtonSet.js +58 -0
- package/lib/components/Checkbox/Checkbox.Skeleton.js +46 -0
- package/lib/components/Checkbox/Checkbox.js +133 -0
- package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +68 -0
- package/lib/components/CodeSnippet/CodeSnippet.js +375 -0
- package/lib/components/ComboBox/ComboBox.js +541 -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/ContentSwitcher/index.js +17 -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 +639 -0
- package/lib/components/DataTable/Table.js +93 -0
- package/lib/components/DataTable/TableActionList.js +21 -0
- package/lib/components/DataTable/TableBatchAction.js +55 -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 +57 -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 +243 -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 +254 -0
- package/lib/components/Dropdown/Dropdown.Skeleton.js +56 -0
- package/lib/components/Dropdown/Dropdown.js +332 -0
- package/lib/components/ErrorBoundary/ErrorBoundary.js +105 -0
- package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +20 -0
- package/lib/components/ExpandableSearch/ExpandableSearch.js +70 -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 +97 -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 +97 -0
- package/lib/components/InlineCheckbox/InlineCheckbox.js +131 -0
- package/lib/components/InlineLoading/InlineLoading.js +121 -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 +149 -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 +284 -0
- package/lib/components/ModalWrapper/ModalWrapper.js +173 -0
- package/lib/components/MultiSelect/FilterableMultiSelect.js +587 -0
- package/lib/components/MultiSelect/MultiSelect.js +479 -0
- package/lib/components/MultiSelect/MultiSelectPropTypes.js +49 -0
- package/lib/components/MultiSelect/index.js +47 -0
- package/lib/components/MultiSelect/next/FilterableMultiSelect.js +543 -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 +677 -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 +242 -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 +150 -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 +278 -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 +213 -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 +669 -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 +341 -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 +623 -0
- package/lib/components/TileGroup/TileGroup.js +173 -0
- package/lib/components/TileGroup/index.js +17 -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 +81 -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/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 +405 -858
- package/lib/internal/ClickListener.js +110 -0
- package/lib/internal/ComponentToggle.js +51 -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/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,95 @@
|
|
|
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 { usePrefix } from '../../internal/usePrefix.js';
|
|
13
|
+
|
|
14
|
+
var _excluded = ["children", "className", "href", "disabled", "inline", "visited", "renderIcon", "size"];
|
|
15
|
+
var Link = /*#__PURE__*/React__default.forwardRef(function Link(_ref, ref) {
|
|
16
|
+
var _cx;
|
|
17
|
+
|
|
18
|
+
var children = _ref.children,
|
|
19
|
+
customClassName = _ref.className,
|
|
20
|
+
href = _ref.href,
|
|
21
|
+
disabled = _ref.disabled,
|
|
22
|
+
inline = _ref.inline,
|
|
23
|
+
visited = _ref.visited,
|
|
24
|
+
Icon = _ref.renderIcon,
|
|
25
|
+
size = _ref.size,
|
|
26
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
27
|
+
|
|
28
|
+
var prefix = usePrefix();
|
|
29
|
+
var className = cx("".concat(prefix, "--link"), customClassName, (_cx = {}, _defineProperty(_cx, "".concat(prefix, "--link--disabled"), disabled), _defineProperty(_cx, "".concat(prefix, "--link--inline"), inline), _defineProperty(_cx, "".concat(prefix, "--link--visited"), visited), _defineProperty(_cx, "".concat(prefix, "--link--").concat(size), size), _cx));
|
|
30
|
+
var rel = rest.target === '_blank' ? 'noopener' : null;
|
|
31
|
+
var linkProps = {
|
|
32
|
+
className: className,
|
|
33
|
+
rel: rel
|
|
34
|
+
}; // Reference for disabled links:
|
|
35
|
+
// https://www.scottohara.me/blog/2021/05/28/disabled-links.html
|
|
36
|
+
|
|
37
|
+
if (!disabled) {
|
|
38
|
+
linkProps.href = href;
|
|
39
|
+
} else {
|
|
40
|
+
linkProps.role = 'link';
|
|
41
|
+
linkProps['aria-disabled'] = true;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return /*#__PURE__*/React__default.createElement("a", _extends({
|
|
45
|
+
ref: ref
|
|
46
|
+
}, linkProps, rest), children, !inline && Icon && /*#__PURE__*/React__default.createElement("div", {
|
|
47
|
+
className: "".concat(prefix, "--link__icon")
|
|
48
|
+
}, /*#__PURE__*/React__default.createElement(Icon, null)));
|
|
49
|
+
});
|
|
50
|
+
Link.displayName = 'Link';
|
|
51
|
+
Link.propTypes = {
|
|
52
|
+
/**
|
|
53
|
+
* Provide the content for the Link
|
|
54
|
+
*/
|
|
55
|
+
children: PropTypes.node,
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Provide a custom className to be applied to the containing `<a>` node
|
|
59
|
+
*/
|
|
60
|
+
className: PropTypes.string,
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Specify if the control should be disabled, or not
|
|
64
|
+
*/
|
|
65
|
+
disabled: PropTypes.bool,
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Provide the `href` attribute for the `<a>` node
|
|
69
|
+
*/
|
|
70
|
+
href: PropTypes.string,
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Specify whether you want the inline version of this control
|
|
74
|
+
*/
|
|
75
|
+
inline: PropTypes.bool,
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Optional prop to render an icon next to the link.
|
|
79
|
+
* Can be a React component class
|
|
80
|
+
*/
|
|
81
|
+
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Specify the size of the Link. Currently supports either `sm`, 'md' (default) or 'lg` as an option.
|
|
85
|
+
*/
|
|
86
|
+
size: PropTypes.oneOf(['sm', 'md', 'lg']),
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Specify whether you want the link to receive visited styles after the link has been clicked
|
|
90
|
+
*/
|
|
91
|
+
visited: PropTypes.bool
|
|
92
|
+
};
|
|
93
|
+
var Link$1 = Link;
|
|
94
|
+
|
|
95
|
+
export { Link$1 as default };
|
|
@@ -0,0 +1,139 @@
|
|
|
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 React__default from 'react';
|
|
11
|
+
import PropTypes from 'prop-types';
|
|
12
|
+
import { ListBoxSize, ListBoxType } from './ListBoxPropTypes.js';
|
|
13
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
14
|
+
import ListBoxField from './ListBoxField.js';
|
|
15
|
+
import ListBoxMenu from './ListBoxMenu.js';
|
|
16
|
+
import ListBoxMenuIcon from './ListBoxMenuIcon.js';
|
|
17
|
+
import ListBoxMenuItem from './ListBoxMenuItem.js';
|
|
18
|
+
import ListBoxSelection from './ListBoxSelection.js';
|
|
19
|
+
|
|
20
|
+
var _excluded = ["children", "className", "disabled", "type", "size", "invalid", "invalidText", "warn", "warnText", "light", "isOpen"];
|
|
21
|
+
|
|
22
|
+
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
23
|
+
if (event.keyCode === 27) {
|
|
24
|
+
event.stopPropagation();
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
var handleClick = function handleClick(event) {
|
|
29
|
+
event.preventDefault();
|
|
30
|
+
event.stopPropagation();
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* `ListBox` is a generic container component that handles creating the
|
|
34
|
+
* container class name in response to certain props.
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
var ListBox = /*#__PURE__*/React__default.forwardRef(function ListBox(_ref, ref) {
|
|
39
|
+
var _cx;
|
|
40
|
+
|
|
41
|
+
var children = _ref.children,
|
|
42
|
+
containerClassName = _ref.className,
|
|
43
|
+
disabled = _ref.disabled,
|
|
44
|
+
type = _ref.type,
|
|
45
|
+
size = _ref.size,
|
|
46
|
+
invalid = _ref.invalid,
|
|
47
|
+
invalidText = _ref.invalidText,
|
|
48
|
+
warn = _ref.warn,
|
|
49
|
+
warnText = _ref.warnText,
|
|
50
|
+
light = _ref.light,
|
|
51
|
+
isOpen = _ref.isOpen,
|
|
52
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
53
|
+
|
|
54
|
+
var prefix = usePrefix();
|
|
55
|
+
var showWarning = !invalid && warn;
|
|
56
|
+
var className = cx((_cx = {}, _defineProperty(_cx, containerClassName, !!containerClassName), _defineProperty(_cx, "".concat(prefix, "--list-box"), true), _defineProperty(_cx, "".concat(prefix, "--list-box--").concat(size), size), _defineProperty(_cx, "".concat(prefix, "--list-box--inline"), type === 'inline'), _defineProperty(_cx, "".concat(prefix, "--list-box--disabled"), disabled), _defineProperty(_cx, "".concat(prefix, "--list-box--light"), light), _defineProperty(_cx, "".concat(prefix, "--list-box--expanded"), isOpen), _defineProperty(_cx, "".concat(prefix, "--list-box--warning"), showWarning), _cx));
|
|
57
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", _extends({}, rest, {
|
|
58
|
+
className: className,
|
|
59
|
+
ref: ref,
|
|
60
|
+
onKeyDown: handleOnKeyDown,
|
|
61
|
+
onClick: handleClick,
|
|
62
|
+
"data-invalid": invalid || undefined
|
|
63
|
+
}), children), invalid ? /*#__PURE__*/React__default.createElement("div", {
|
|
64
|
+
className: "".concat(prefix, "--form-requirement")
|
|
65
|
+
}, invalidText) : null, showWarning ? /*#__PURE__*/React__default.createElement("div", {
|
|
66
|
+
className: "".concat(prefix, "--form-requirement")
|
|
67
|
+
}, warnText) : null);
|
|
68
|
+
});
|
|
69
|
+
ListBox.displayName = 'ListBox';
|
|
70
|
+
ListBox.propTypes = {
|
|
71
|
+
/**
|
|
72
|
+
* Provide the contents of your ListBox
|
|
73
|
+
*/
|
|
74
|
+
children: PropTypes.node,
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Specify a class name to be applied on the containing list box node
|
|
78
|
+
*/
|
|
79
|
+
className: PropTypes.string,
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Specify whether the ListBox is currently disabled
|
|
83
|
+
*/
|
|
84
|
+
disabled: PropTypes.bool.isRequired,
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Specify whether the control is currently invalid
|
|
88
|
+
*/
|
|
89
|
+
invalid: PropTypes.bool,
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Specify the text to be displayed when the control is invalid
|
|
93
|
+
*/
|
|
94
|
+
invalidText: PropTypes.node,
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Specify if the control should render open
|
|
98
|
+
*/
|
|
99
|
+
isOpen: PropTypes.bool,
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* `true` to use the light version. For use on $ui-01 backgrounds only.
|
|
103
|
+
* Don't use this to make tile background color same as container background color.
|
|
104
|
+
*/
|
|
105
|
+
light: PropTypes.bool,
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Specify the size of the ListBox. Currently supports either `sm`, `md` or `lg` as an option.
|
|
109
|
+
*/
|
|
110
|
+
size: ListBoxSize,
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Specify the "type" of the ListBox. Currently supports either `default` or
|
|
114
|
+
* `inline` as an option.
|
|
115
|
+
*/
|
|
116
|
+
type: ListBoxType.isRequired,
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Specify whether the control is currently in warning state
|
|
120
|
+
*/
|
|
121
|
+
warn: PropTypes.bool,
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Provide the text that is displayed when the control is in warning state
|
|
125
|
+
*/
|
|
126
|
+
warnText: PropTypes.node
|
|
127
|
+
};
|
|
128
|
+
ListBox.defaultProps = {
|
|
129
|
+
disabled: false,
|
|
130
|
+
type: 'default'
|
|
131
|
+
};
|
|
132
|
+
ListBox.Field = ListBoxField;
|
|
133
|
+
ListBox.Menu = ListBoxMenu;
|
|
134
|
+
ListBox.MenuIcon = ListBoxMenuIcon;
|
|
135
|
+
ListBox.MenuItem = ListBoxMenuItem;
|
|
136
|
+
ListBox.Selection = ListBoxSelection;
|
|
137
|
+
var ListBox$1 = ListBox;
|
|
138
|
+
|
|
139
|
+
export { ListBox$1 as default };
|
|
@@ -0,0 +1,62 @@
|
|
|
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 { usePrefix } from '../../internal/usePrefix.js';
|
|
12
|
+
|
|
13
|
+
var _excluded = ["children", "disabled", "tabIndex"];
|
|
14
|
+
/**
|
|
15
|
+
* `ListBoxField` is responsible for creating the containing node for valid
|
|
16
|
+
* elements inside of a field. It also provides a11y-related attributes like
|
|
17
|
+
* `role` to make sure a user can focus the given field.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
function ListBoxField(_ref) {
|
|
21
|
+
var children = _ref.children,
|
|
22
|
+
disabled = _ref.disabled,
|
|
23
|
+
tabIndex = _ref.tabIndex,
|
|
24
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
25
|
+
|
|
26
|
+
var prefix = usePrefix();
|
|
27
|
+
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
28
|
+
className: "".concat(prefix, "--list-box__field"),
|
|
29
|
+
tabIndex: !disabled && tabIndex || -1
|
|
30
|
+
}, rest), children);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
ListBoxField.propTypes = {
|
|
34
|
+
/**
|
|
35
|
+
* Typically set by `getToggleButtonProps`, this should specify whether the
|
|
36
|
+
* field has a popup.
|
|
37
|
+
*/
|
|
38
|
+
'aria-haspopup': PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Provide the contents of your ListBoxField
|
|
42
|
+
*/
|
|
43
|
+
children: PropTypes.node,
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Specify if the parent <ListBox> is disabled
|
|
47
|
+
*/
|
|
48
|
+
disabled: PropTypes.bool,
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The role for the component, should be set by `getToggleButtonProps` coming
|
|
52
|
+
* from Downshift
|
|
53
|
+
*/
|
|
54
|
+
role: PropTypes.string,
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Optional prop to specify the tabIndex of the <ListBox> trigger button
|
|
58
|
+
*/
|
|
59
|
+
tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export { ListBoxField as default };
|
|
@@ -0,0 +1,56 @@
|
|
|
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 { usePrefix } from '../../internal/usePrefix.js';
|
|
11
|
+
import PropTypes from 'prop-types';
|
|
12
|
+
import ListBoxMenuItem from './ListBoxMenuItem.js';
|
|
13
|
+
|
|
14
|
+
var _excluded = ["children", "id"];
|
|
15
|
+
/**
|
|
16
|
+
* `ListBoxMenu` is a simple container node that isolates the `list-box__menu`
|
|
17
|
+
* class into a single component. It is also being used to validate given
|
|
18
|
+
* `children` components.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
var ListBoxMenu = /*#__PURE__*/React__default.forwardRef(function ListBoxMenu(_ref, ref) {
|
|
22
|
+
var children = _ref.children,
|
|
23
|
+
id = _ref.id,
|
|
24
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
25
|
+
|
|
26
|
+
var prefix = usePrefix();
|
|
27
|
+
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
28
|
+
ref: ref,
|
|
29
|
+
id: id,
|
|
30
|
+
className: "".concat(prefix, "--list-box__menu"),
|
|
31
|
+
role: "listbox"
|
|
32
|
+
}, rest), children);
|
|
33
|
+
});
|
|
34
|
+
ListBoxMenu.displayName = 'ListBoxMenu';
|
|
35
|
+
ListBoxMenu.propTypes = {
|
|
36
|
+
/**
|
|
37
|
+
* Provide the contents of your ListBoxMenu
|
|
38
|
+
*/
|
|
39
|
+
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(ListBoxMenuItem),
|
|
40
|
+
/**
|
|
41
|
+
* allow single item using the workaround for functional components
|
|
42
|
+
* https://github.com/facebook/react/issues/2979#issuecomment-222379916
|
|
43
|
+
*/
|
|
44
|
+
PropTypes.shape({
|
|
45
|
+
type: PropTypes.oneOf([ListBoxMenuItem])
|
|
46
|
+
}), PropTypes.bool // used in Dropdown for closed state
|
|
47
|
+
]),
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Specify a custom `id`
|
|
51
|
+
*/
|
|
52
|
+
id: PropTypes.string.isRequired
|
|
53
|
+
};
|
|
54
|
+
var ListBoxMenu$1 = ListBoxMenu;
|
|
55
|
+
|
|
56
|
+
export { ListBoxMenu$1 as default };
|
|
@@ -0,0 +1,61 @@
|
|
|
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 { defineProperty as _defineProperty } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
+
import cx from 'classnames';
|
|
10
|
+
import React__default from 'react';
|
|
11
|
+
import PropTypes from 'prop-types';
|
|
12
|
+
import { ChevronDown } from '@carbon/icons-react';
|
|
13
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
14
|
+
|
|
15
|
+
var _defaultTranslations;
|
|
16
|
+
var translationIds = {
|
|
17
|
+
'close.menu': 'close.menu',
|
|
18
|
+
'open.menu': 'open.menu'
|
|
19
|
+
};
|
|
20
|
+
var defaultTranslations = (_defaultTranslations = {}, _defineProperty(_defaultTranslations, translationIds['close.menu'], 'Close menu'), _defineProperty(_defaultTranslations, translationIds['open.menu'], 'Open menu'), _defaultTranslations);
|
|
21
|
+
/**
|
|
22
|
+
* `ListBoxMenuIcon` is used to orient the icon up or down depending on the
|
|
23
|
+
* state of the menu for a given `ListBox`
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
var ListBoxMenuIcon = function ListBoxMenuIcon(_ref) {
|
|
27
|
+
var isOpen = _ref.isOpen,
|
|
28
|
+
t = _ref.translateWithId;
|
|
29
|
+
var prefix = usePrefix();
|
|
30
|
+
var className = cx("".concat(prefix, "--list-box__menu-icon"), _defineProperty({}, "".concat(prefix, "--list-box__menu-icon--open"), isOpen));
|
|
31
|
+
var description = isOpen ? t('close.menu') : t('open.menu');
|
|
32
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
33
|
+
className: className
|
|
34
|
+
}, /*#__PURE__*/React__default.createElement(ChevronDown, {
|
|
35
|
+
name: "chevron--down",
|
|
36
|
+
"aria-label": description
|
|
37
|
+
}, /*#__PURE__*/React__default.createElement("title", null, description)));
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
ListBoxMenuIcon.propTypes = {
|
|
41
|
+
/**
|
|
42
|
+
* Specify whether the menu is currently open, which will influence the
|
|
43
|
+
* direction of the menu icon
|
|
44
|
+
*/
|
|
45
|
+
isOpen: PropTypes.bool.isRequired,
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* i18n hook used to provide the appropriate description for the given menu
|
|
49
|
+
* icon. This function takes in an id defined in `translationIds` and should
|
|
50
|
+
* return a string message for that given message id.
|
|
51
|
+
*/
|
|
52
|
+
translateWithId: PropTypes.func.isRequired
|
|
53
|
+
};
|
|
54
|
+
ListBoxMenuIcon.defaultProps = {
|
|
55
|
+
translateWithId: function translateWithId(id) {
|
|
56
|
+
return defaultTranslations[id];
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
var ListBoxMenuIcon$1 = ListBoxMenuIcon;
|
|
60
|
+
|
|
61
|
+
export { ListBoxMenuIcon$1 as default, translationIds };
|
|
@@ -0,0 +1,87 @@
|
|
|
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, slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
+
import cx from 'classnames';
|
|
10
|
+
import React__default, { useRef, useState, useEffect } from 'react';
|
|
11
|
+
import PropTypes from 'prop-types';
|
|
12
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
13
|
+
|
|
14
|
+
var _excluded = ["children", "isActive", "isHighlighted", "title"];
|
|
15
|
+
|
|
16
|
+
function useIsTruncated(ref) {
|
|
17
|
+
var _useState = useState(false),
|
|
18
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
19
|
+
isTruncated = _useState2[0],
|
|
20
|
+
setIsTruncated = _useState2[1];
|
|
21
|
+
|
|
22
|
+
useEffect(function () {
|
|
23
|
+
var _ref$current = ref.current,
|
|
24
|
+
offsetWidth = _ref$current.offsetWidth,
|
|
25
|
+
scrollWidth = _ref$current.scrollWidth;
|
|
26
|
+
setIsTruncated(offsetWidth < scrollWidth);
|
|
27
|
+
}, [ref, setIsTruncated]);
|
|
28
|
+
return isTruncated;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* `ListBoxMenuItem` is a helper component for managing the container class
|
|
32
|
+
* name, alongside any classes for any corresponding states, for a generic list
|
|
33
|
+
* box menu item.
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
var ListBoxMenuItem = /*#__PURE__*/React__default.forwardRef(function ListBoxMenuItem(_ref, forwardedRef) {
|
|
38
|
+
var _cx;
|
|
39
|
+
|
|
40
|
+
var children = _ref.children,
|
|
41
|
+
isActive = _ref.isActive,
|
|
42
|
+
isHighlighted = _ref.isHighlighted,
|
|
43
|
+
title = _ref.title,
|
|
44
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
45
|
+
|
|
46
|
+
var prefix = usePrefix();
|
|
47
|
+
var ref = useRef(null);
|
|
48
|
+
var isTruncated = useIsTruncated((forwardedRef === null || forwardedRef === void 0 ? void 0 : forwardedRef.menuItemOptionRef) || ref);
|
|
49
|
+
var className = cx("".concat(prefix, "--list-box__menu-item"), (_cx = {}, _defineProperty(_cx, "".concat(prefix, "--list-box__menu-item--active"), isActive), _defineProperty(_cx, "".concat(prefix, "--list-box__menu-item--highlighted"), isHighlighted), _cx));
|
|
50
|
+
return /*#__PURE__*/React__default.createElement("div", _extends({}, rest, {
|
|
51
|
+
className: className,
|
|
52
|
+
title: isTruncated ? title : undefined
|
|
53
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
54
|
+
className: "".concat(prefix, "--list-box__menu-item__option"),
|
|
55
|
+
ref: (forwardedRef === null || forwardedRef === void 0 ? void 0 : forwardedRef.menuItemOptionRef) || ref
|
|
56
|
+
}, children));
|
|
57
|
+
});
|
|
58
|
+
ListBoxMenuItem.displayName = 'ListBoxMenuItem';
|
|
59
|
+
ListBoxMenuItem.propTypes = {
|
|
60
|
+
/**
|
|
61
|
+
* Specify any children nodes that should be rendered inside of the ListBox
|
|
62
|
+
* Menu Item
|
|
63
|
+
*/
|
|
64
|
+
children: PropTypes.node,
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Specify whether the current menu item is "active".
|
|
68
|
+
*/
|
|
69
|
+
isActive: PropTypes.bool.isRequired,
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Specify whether the current menu item is "highlighted".
|
|
73
|
+
*/
|
|
74
|
+
isHighlighted: PropTypes.bool.isRequired,
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Provide an optional tooltip for the ListBoxMenuItem
|
|
78
|
+
*/
|
|
79
|
+
title: PropTypes.string
|
|
80
|
+
};
|
|
81
|
+
ListBoxMenuItem.defaultProps = {
|
|
82
|
+
isActive: false,
|
|
83
|
+
isHighlighted: false
|
|
84
|
+
};
|
|
85
|
+
var ListBoxMenuItem$1 = ListBoxMenuItem;
|
|
86
|
+
|
|
87
|
+
export { ListBoxMenuItem$1 as default };
|
|
@@ -0,0 +1,14 @@
|
|
|
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 PropTypes from 'prop-types';
|
|
9
|
+
import * as FeatureFlags from '@carbon/feature-flags';
|
|
10
|
+
|
|
11
|
+
var ListBoxType = PropTypes.oneOf(['default', 'inline']);
|
|
12
|
+
var ListBoxSize = FeatureFlags.enabled('enable-v11-release') ? PropTypes.oneOf(['sm', 'md', 'lg']) : PropTypes.oneOf(['sm', 'md', 'lg', 'xl']);
|
|
13
|
+
|
|
14
|
+
export { ListBoxSize, ListBoxType };
|
|
@@ -0,0 +1,148 @@
|
|
|
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 { defineProperty as _defineProperty } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
+
import cx from 'classnames';
|
|
10
|
+
import React__default from 'react';
|
|
11
|
+
import PropTypes from 'prop-types';
|
|
12
|
+
import { Close } from '@carbon/icons-react';
|
|
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 _Close, _Close2, _defaultTranslations;
|
|
18
|
+
/**
|
|
19
|
+
* `ListBoxSelection` is used to provide controls for clearing a selection, in
|
|
20
|
+
* addition to conditionally rendering a badge if the control has more than one
|
|
21
|
+
* selection.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
var ListBoxSelection = function ListBoxSelection(_ref) {
|
|
25
|
+
var _cx;
|
|
26
|
+
|
|
27
|
+
var clearSelection = _ref.clearSelection,
|
|
28
|
+
selectionCount = _ref.selectionCount,
|
|
29
|
+
t = _ref.translateWithId,
|
|
30
|
+
disabled = _ref.disabled,
|
|
31
|
+
onClearSelection = _ref.onClearSelection;
|
|
32
|
+
var prefix = usePrefix();
|
|
33
|
+
var className = cx("".concat(prefix, "--list-box__selection"), (_cx = {}, _defineProperty(_cx, "".concat(prefix, "--tag--filter"), selectionCount), _defineProperty(_cx, "".concat(prefix, "--list-box__selection--multi"), selectionCount), _cx));
|
|
34
|
+
|
|
35
|
+
var handleOnClick = function handleOnClick(event) {
|
|
36
|
+
event.stopPropagation();
|
|
37
|
+
|
|
38
|
+
if (disabled) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
clearSelection(event);
|
|
43
|
+
|
|
44
|
+
if (onClearSelection) {
|
|
45
|
+
onClearSelection(event);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
50
|
+
event.stopPropagation();
|
|
51
|
+
|
|
52
|
+
if (disabled) {
|
|
53
|
+
return;
|
|
54
|
+
} // When a user hits ENTER, we'll clear the selection
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
if (match(event, Enter)) {
|
|
58
|
+
clearSelection(event);
|
|
59
|
+
|
|
60
|
+
if (onClearSelection) {
|
|
61
|
+
onClearSelection(event);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
var description = selectionCount ? t('clear.all') : t('clear.selection');
|
|
67
|
+
var tagClasses = cx("".concat(prefix, "--tag"), "".concat(prefix, "--tag--filter"), "".concat(prefix, "--tag--high-contrast"), _defineProperty({}, "".concat(prefix, "--tag--disabled"), disabled));
|
|
68
|
+
return selectionCount ? /*#__PURE__*/React__default.createElement("div", {
|
|
69
|
+
className: tagClasses
|
|
70
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
|
71
|
+
className: "".concat(prefix, "--tag__label"),
|
|
72
|
+
title: selectionCount
|
|
73
|
+
}, selectionCount), /*#__PURE__*/React__default.createElement("div", {
|
|
74
|
+
role: "button",
|
|
75
|
+
tabIndex: disabled ? -1 : 0,
|
|
76
|
+
className: "".concat(prefix, "--tag__close-icon"),
|
|
77
|
+
onClick: handleOnClick,
|
|
78
|
+
onKeyDown: handleOnKeyDown,
|
|
79
|
+
disabled: disabled,
|
|
80
|
+
"aria-label": t('clear.all'),
|
|
81
|
+
title: description
|
|
82
|
+
}, _Close || (_Close = /*#__PURE__*/React__default.createElement(Close, null)))) : /*#__PURE__*/React__default.createElement("div", {
|
|
83
|
+
role: "button",
|
|
84
|
+
className: className,
|
|
85
|
+
tabIndex: disabled ? -1 : 0,
|
|
86
|
+
onClick: handleOnClick,
|
|
87
|
+
onKeyDown: handleOnKeyDown,
|
|
88
|
+
"aria-label": description,
|
|
89
|
+
title: description
|
|
90
|
+
}, selectionCount, _Close2 || (_Close2 = /*#__PURE__*/React__default.createElement(Close, null)));
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
var translationIds = {
|
|
94
|
+
'clear.all': 'clear.all',
|
|
95
|
+
'clear.selection': 'clear.selection'
|
|
96
|
+
};
|
|
97
|
+
var defaultTranslations = (_defaultTranslations = {}, _defineProperty(_defaultTranslations, translationIds['clear.all'], 'Clear all selected items'), _defineProperty(_defaultTranslations, translationIds['clear.selection'], 'Clear selected item'), _defaultTranslations);
|
|
98
|
+
ListBoxSelection.propTypes = {
|
|
99
|
+
/**
|
|
100
|
+
* Specify a function to be invoked when a user interacts with the clear
|
|
101
|
+
* selection element.
|
|
102
|
+
*/
|
|
103
|
+
clearSelection: PropTypes.func.isRequired,
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Specify whether or not the clear selection element should be disabled
|
|
107
|
+
*/
|
|
108
|
+
disabled: PropTypes.bool,
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Specify an optional `onClearSelection` handler that is called when the underlying
|
|
112
|
+
* element is cleared
|
|
113
|
+
*/
|
|
114
|
+
onClearSelection: PropTypes.func,
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Specify an optional `onClick` handler that is called when the underlying
|
|
118
|
+
* clear selection element is clicked
|
|
119
|
+
*/
|
|
120
|
+
onClick: PropTypes.func,
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Specify an optional `onKeyDown` handler that is called when the underlying
|
|
124
|
+
* clear selection element fires a keydown event
|
|
125
|
+
*/
|
|
126
|
+
onKeyDown: PropTypes.func,
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Specify an optional `selectionCount` value that will be used to determine
|
|
130
|
+
* whether the selection should display a badge or a single clear icon.
|
|
131
|
+
*/
|
|
132
|
+
selectionCount: PropTypes.number,
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* i18n hook used to provide the appropriate description for the given menu
|
|
136
|
+
* icon. This function takes in an id defined in `translationIds` and should
|
|
137
|
+
* return a string message for that given message id.
|
|
138
|
+
*/
|
|
139
|
+
translateWithId: PropTypes.func.isRequired
|
|
140
|
+
};
|
|
141
|
+
ListBoxSelection.defaultProps = {
|
|
142
|
+
translateWithId: function translateWithId(id) {
|
|
143
|
+
return defaultTranslations[id];
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
var ListBoxSelection$1 = ListBoxSelection;
|
|
147
|
+
|
|
148
|
+
export { ListBoxSelection$1 as default, translationIds };
|
|
@@ -0,0 +1,20 @@
|
|
|
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 ListBox from './ListBox.js';
|
|
9
|
+
export { default } from './ListBox.js';
|
|
10
|
+
import ListBoxField from './ListBoxField.js';
|
|
11
|
+
import ListBoxMenu from './ListBoxMenu.js';
|
|
12
|
+
import ListBoxMenuIcon from './ListBoxMenuIcon.js';
|
|
13
|
+
import ListBoxMenuItem from './ListBoxMenuItem.js';
|
|
14
|
+
import ListBoxSelection from './ListBoxSelection.js';
|
|
15
|
+
|
|
16
|
+
ListBox.Field = ListBoxField;
|
|
17
|
+
ListBox.Menu = ListBoxMenu;
|
|
18
|
+
ListBox.MenuIcon = ListBoxMenuIcon;
|
|
19
|
+
ListBox.MenuItem = ListBoxMenuItem;
|
|
20
|
+
ListBox.Selection = ListBoxSelection;
|