@carbon/react 0.17.0 → 1.0.1
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 +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/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 +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/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,233 @@
|
|
|
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, 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, { useRef, useState, useMemo, useEffect } from 'react';
|
|
12
|
+
import Search from '../Search/index.js';
|
|
13
|
+
import setupGetInstanceId from './tools/instanceId.js';
|
|
14
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
15
|
+
|
|
16
|
+
var _excluded = ["className", "searchContainerClass", "onChange", "onClear", "translateWithId", "placeholder", "labelText", "expanded", "defaultExpanded", "defaultValue", "disabled", "onExpand", "persistent", "id", "onBlur", "onFocus"];
|
|
17
|
+
var getInstanceId = setupGetInstanceId();
|
|
18
|
+
var translationKeys = {
|
|
19
|
+
'carbon.table.toolbar.search.label': 'Filter table',
|
|
20
|
+
'carbon.table.toolbar.search.placeholder': 'Filter table'
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
var translateWithId = function translateWithId(id) {
|
|
24
|
+
return translationKeys[id];
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var TableToolbarSearch = function TableToolbarSearch(_ref) {
|
|
28
|
+
var _cx;
|
|
29
|
+
|
|
30
|
+
var className = _ref.className,
|
|
31
|
+
searchContainerClass = _ref.searchContainerClass,
|
|
32
|
+
onChangeProp = _ref.onChange,
|
|
33
|
+
onClear = _ref.onClear,
|
|
34
|
+
t = _ref.translateWithId,
|
|
35
|
+
placeholder = _ref.placeholder,
|
|
36
|
+
labelText = _ref.labelText,
|
|
37
|
+
expandedProp = _ref.expanded,
|
|
38
|
+
defaultExpanded = _ref.defaultExpanded,
|
|
39
|
+
defaultValue = _ref.defaultValue,
|
|
40
|
+
disabled = _ref.disabled,
|
|
41
|
+
onExpand = _ref.onExpand,
|
|
42
|
+
persistent = _ref.persistent,
|
|
43
|
+
id = _ref.id,
|
|
44
|
+
onBlur = _ref.onBlur,
|
|
45
|
+
onFocus = _ref.onFocus,
|
|
46
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
47
|
+
|
|
48
|
+
var _useRef = useRef(expandedProp !== undefined),
|
|
49
|
+
controlled = _useRef.current;
|
|
50
|
+
|
|
51
|
+
var _useState = useState(defaultExpanded || defaultValue),
|
|
52
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
53
|
+
expandedState = _useState2[0],
|
|
54
|
+
setExpandedState = _useState2[1];
|
|
55
|
+
|
|
56
|
+
var expanded = controlled ? expandedProp : expandedState;
|
|
57
|
+
|
|
58
|
+
var _useState3 = useState(defaultValue || ''),
|
|
59
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
60
|
+
value = _useState4[0],
|
|
61
|
+
setValue = _useState4[1];
|
|
62
|
+
|
|
63
|
+
var uniqueId = useMemo(getInstanceId, []);
|
|
64
|
+
|
|
65
|
+
var _useState5 = useState(null),
|
|
66
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
67
|
+
focusTarget = _useState6[0],
|
|
68
|
+
setFocusTarget = _useState6[1];
|
|
69
|
+
|
|
70
|
+
var prefix = usePrefix();
|
|
71
|
+
useEffect(function () {
|
|
72
|
+
if (focusTarget) {
|
|
73
|
+
focusTarget.current.querySelector('input').focus();
|
|
74
|
+
setFocusTarget(null);
|
|
75
|
+
}
|
|
76
|
+
}, [focusTarget]);
|
|
77
|
+
useEffect(function () {
|
|
78
|
+
if (defaultValue) {
|
|
79
|
+
onChangeProp('', defaultValue);
|
|
80
|
+
}
|
|
81
|
+
}, //eslint-disable-next-line react-hooks/exhaustive-deps
|
|
82
|
+
[]);
|
|
83
|
+
var searchClasses = cx(className, (_cx = {}, _defineProperty(_cx, searchContainerClass, searchContainerClass), _defineProperty(_cx, "".concat(prefix, "--toolbar-search-container-active"), expanded), _defineProperty(_cx, "".concat(prefix, "--toolbar-search-container-disabled"), disabled), _defineProperty(_cx, "".concat(prefix, "--toolbar-search-container-expandable"), !persistent), _defineProperty(_cx, "".concat(prefix, "--toolbar-search-container-persistent"), persistent), _cx));
|
|
84
|
+
|
|
85
|
+
var handleExpand = function handleExpand(event) {
|
|
86
|
+
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !expanded;
|
|
87
|
+
|
|
88
|
+
if (!disabled) {
|
|
89
|
+
if (!controlled && !persistent) {
|
|
90
|
+
setExpandedState(value);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (onExpand) {
|
|
94
|
+
onExpand(event, value);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
var onChange = function onChange(e) {
|
|
100
|
+
setValue(e.target.value);
|
|
101
|
+
|
|
102
|
+
if (onChangeProp) {
|
|
103
|
+
onChangeProp(e);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
var handleOnFocus = function handleOnFocus(event) {
|
|
108
|
+
return handleExpand(event, true);
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
var handleOnBlur = function handleOnBlur(event) {
|
|
112
|
+
return !value && handleExpand(event, false);
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
return /*#__PURE__*/React__default.createElement(Search, _extends({
|
|
116
|
+
disabled: disabled,
|
|
117
|
+
className: searchClasses,
|
|
118
|
+
value: value,
|
|
119
|
+
id: typeof id !== 'undefined' ? id : uniqueId.toString(),
|
|
120
|
+
labelText: labelText || t('carbon.table.toolbar.search.label'),
|
|
121
|
+
placeholder: placeholder || t('carbon.table.toolbar.search.placeholder'),
|
|
122
|
+
onChange: onChange,
|
|
123
|
+
onClear: onClear,
|
|
124
|
+
onFocus: onFocus ? function (event) {
|
|
125
|
+
return onFocus(event, handleExpand);
|
|
126
|
+
} : handleOnFocus,
|
|
127
|
+
onBlur: onBlur ? function (event) {
|
|
128
|
+
return onBlur(event, handleExpand);
|
|
129
|
+
} : handleOnBlur
|
|
130
|
+
}, rest));
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
TableToolbarSearch.propTypes = {
|
|
134
|
+
children: PropTypes.node,
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Provide an optional class name for the search container
|
|
138
|
+
*/
|
|
139
|
+
className: PropTypes.string,
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Specifies if the search should initially render in an expanded state
|
|
143
|
+
*/
|
|
144
|
+
defaultExpanded: PropTypes.bool,
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Provide an optional default value for the Search component
|
|
148
|
+
*/
|
|
149
|
+
defaultValue: PropTypes.string,
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Specifies if the search should be disabled
|
|
153
|
+
*/
|
|
154
|
+
disabled: PropTypes.bool,
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Specifies if the search should expand
|
|
158
|
+
*/
|
|
159
|
+
expanded: PropTypes.bool,
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Provide an optional id for the search container
|
|
163
|
+
*/
|
|
164
|
+
id: PropTypes.string,
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Provide an optional label text for the Search component icon
|
|
168
|
+
*/
|
|
169
|
+
labelText: PropTypes.string,
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Provide an optional function to be called when the search input loses focus, this will be
|
|
173
|
+
* passed the event as the first parameter and a function to handle the expanding of the search
|
|
174
|
+
* input as the second
|
|
175
|
+
*/
|
|
176
|
+
onBlur: PropTypes.func,
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Provide an optional hook that is called each time the input is updated
|
|
180
|
+
*/
|
|
181
|
+
onChange: PropTypes.func,
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Optional callback called when the search value is cleared.
|
|
185
|
+
*/
|
|
186
|
+
onClear: PropTypes.func,
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Provide an optional hook that is called each time the input is expanded
|
|
190
|
+
*/
|
|
191
|
+
onExpand: PropTypes.func,
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Provide an optional function to be called when the search input gains focus, this will be
|
|
195
|
+
* passed the event as the first parameter and a function to handle the expanding of the search
|
|
196
|
+
* input as the second.
|
|
197
|
+
*/
|
|
198
|
+
onFocus: PropTypes.func,
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Whether the search should be allowed to expand
|
|
202
|
+
*/
|
|
203
|
+
persistent: PropTypes.bool,
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Provide an optional placeholder text for the Search component
|
|
207
|
+
*/
|
|
208
|
+
placeholder: PropTypes.string,
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Provide an optional className for the overall container of the Search
|
|
212
|
+
*/
|
|
213
|
+
searchContainerClass: PropTypes.string,
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Optional prop to specify the tabIndex of the <Search> (in expanded state) or the container (in collapsed state)
|
|
217
|
+
*/
|
|
218
|
+
tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Provide custom text for the component for each translation id
|
|
222
|
+
*/
|
|
223
|
+
translateWithId: PropTypes.func.isRequired
|
|
224
|
+
};
|
|
225
|
+
TableToolbarSearch.defaultProps = {
|
|
226
|
+
tabIndex: '0',
|
|
227
|
+
translateWithId: translateWithId,
|
|
228
|
+
persistent: false,
|
|
229
|
+
onClear: function onClear() {}
|
|
230
|
+
};
|
|
231
|
+
var TableToolbarSearch$1 = TableToolbarSearch;
|
|
232
|
+
|
|
233
|
+
export { TableToolbarSearch$1 as default };
|
|
@@ -0,0 +1,72 @@
|
|
|
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 DataTable$1 from './DataTable.js';
|
|
9
|
+
import Table from './Table.js';
|
|
10
|
+
export { default as Table } from './Table.js';
|
|
11
|
+
import TableActionList from './TableActionList.js';
|
|
12
|
+
export { default as TableActionList } from './TableActionList.js';
|
|
13
|
+
import TableBatchAction from './TableBatchAction.js';
|
|
14
|
+
export { default as TableBatchAction } from './TableBatchAction.js';
|
|
15
|
+
import TableBatchActions from './TableBatchActions.js';
|
|
16
|
+
export { default as TableBatchActions } from './TableBatchActions.js';
|
|
17
|
+
import TableBody from './TableBody.js';
|
|
18
|
+
export { default as TableBody } from './TableBody.js';
|
|
19
|
+
import TableCell from './TableCell.js';
|
|
20
|
+
export { default as TableCell } from './TableCell.js';
|
|
21
|
+
import TableContainer from './TableContainer.js';
|
|
22
|
+
export { default as TableContainer } from './TableContainer.js';
|
|
23
|
+
import TableExpandHeader from './TableExpandHeader.js';
|
|
24
|
+
export { default as TableExpandHeader } from './TableExpandHeader.js';
|
|
25
|
+
import TableExpandRow from './TableExpandRow.js';
|
|
26
|
+
export { default as TableExpandRow } from './TableExpandRow.js';
|
|
27
|
+
import TableExpandedRow from './TableExpandedRow.js';
|
|
28
|
+
export { default as TableExpandedRow } from './TableExpandedRow.js';
|
|
29
|
+
import TableHead from './TableHead.js';
|
|
30
|
+
export { default as TableHead } from './TableHead.js';
|
|
31
|
+
import TableHeader from './TableHeader.js';
|
|
32
|
+
export { default as TableHeader } from './TableHeader.js';
|
|
33
|
+
import TableRow from './TableRow.js';
|
|
34
|
+
export { default as TableRow } from './TableRow.js';
|
|
35
|
+
import TableSelectAll from './TableSelectAll.js';
|
|
36
|
+
export { default as TableSelectAll } from './TableSelectAll.js';
|
|
37
|
+
import TableSelectRow from './TableSelectRow.js';
|
|
38
|
+
export { default as TableSelectRow } from './TableSelectRow.js';
|
|
39
|
+
import TableToolbar from './TableToolbar.js';
|
|
40
|
+
export { default as TableToolbar } from './TableToolbar.js';
|
|
41
|
+
import TableToolbarAction from './TableToolbarAction.js';
|
|
42
|
+
export { default as TableToolbarAction } from './TableToolbarAction.js';
|
|
43
|
+
import TableToolbarContent from './TableToolbarContent.js';
|
|
44
|
+
export { default as TableToolbarContent } from './TableToolbarContent.js';
|
|
45
|
+
import TableToolbarSearch from './TableToolbarSearch.js';
|
|
46
|
+
export { default as TableToolbarSearch } from './TableToolbarSearch.js';
|
|
47
|
+
import TableToolbarMenu from './TableToolbarMenu.js';
|
|
48
|
+
export { default as TableToolbarMenu } from './TableToolbarMenu.js';
|
|
49
|
+
|
|
50
|
+
DataTable$1.Table = Table;
|
|
51
|
+
DataTable$1.TableActionList = TableActionList;
|
|
52
|
+
DataTable$1.TableBatchAction = TableBatchAction;
|
|
53
|
+
DataTable$1.TableBatchActions = TableBatchActions;
|
|
54
|
+
DataTable$1.TableBody = TableBody;
|
|
55
|
+
DataTable$1.TableCell = TableCell;
|
|
56
|
+
DataTable$1.TableContainer = TableContainer;
|
|
57
|
+
DataTable$1.TableExpandHeader = TableExpandHeader;
|
|
58
|
+
DataTable$1.TableExpandRow = TableExpandRow;
|
|
59
|
+
DataTable$1.TableExpandedRow = TableExpandedRow;
|
|
60
|
+
DataTable$1.TableHead = TableHead;
|
|
61
|
+
DataTable$1.TableHeader = TableHeader;
|
|
62
|
+
DataTable$1.TableRow = TableRow;
|
|
63
|
+
DataTable$1.TableSelectAll = TableSelectAll;
|
|
64
|
+
DataTable$1.TableSelectRow = TableSelectRow;
|
|
65
|
+
DataTable$1.TableToolbar = TableToolbar;
|
|
66
|
+
DataTable$1.TableToolbarAction = TableToolbarAction;
|
|
67
|
+
DataTable$1.TableToolbarContent = TableToolbarContent;
|
|
68
|
+
DataTable$1.TableToolbarSearch = TableToolbarSearch;
|
|
69
|
+
DataTable$1.TableToolbarMenu = TableToolbarMenu;
|
|
70
|
+
var DataTable = DataTable$1;
|
|
71
|
+
|
|
72
|
+
export { DataTable as default };
|
|
@@ -0,0 +1,52 @@
|
|
|
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 { initialSortState, getSortedState } from './sorting.js';
|
|
9
|
+
import normalize from '../tools/normalize.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Helper to derive the next state from the given props and the
|
|
13
|
+
* prevState. Potential future-facing API hook for React v17.
|
|
14
|
+
*
|
|
15
|
+
* Currently, it's being used as a way to normalize the incoming data that we
|
|
16
|
+
* are receiving for rows
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
var getDerivedStateFromProps = function getDerivedStateFromProps(props, prevState) {
|
|
20
|
+
var _normalize = normalize(props.rows, props.headers, prevState),
|
|
21
|
+
rowIds = _normalize.rowIds,
|
|
22
|
+
rowsById = _normalize.rowsById,
|
|
23
|
+
cellsById = _normalize.cellsById;
|
|
24
|
+
|
|
25
|
+
var state = {
|
|
26
|
+
rowIds: rowIds,
|
|
27
|
+
rowsById: rowsById,
|
|
28
|
+
cellsById: cellsById,
|
|
29
|
+
sortDirection: prevState.sortDirection || initialSortState,
|
|
30
|
+
sortHeaderKey: prevState.sortHeaderKey || null,
|
|
31
|
+
// Copy over rowIds so the reference doesn't mutate the stored
|
|
32
|
+
// `initialRowOrder`
|
|
33
|
+
initialRowOrder: rowIds.slice(),
|
|
34
|
+
filterInputValue: prevState.filterInputValue || null,
|
|
35
|
+
// Optional state field to indicate whether a consumer should show a
|
|
36
|
+
// batch actions menu
|
|
37
|
+
shouldShowBatchActions: prevState.shouldShowBatchActions || false
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
if (prevState.sortDirection && prevState.sortHeaderKey) {
|
|
41
|
+
var _getSortedState = getSortedState(props, state, prevState.sortHeaderKey, prevState.sortDirection),
|
|
42
|
+
_rowIds = _getSortedState.rowIds;
|
|
43
|
+
|
|
44
|
+
state.rowIds = _rowIds;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return state;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var getDerivedStateFromProps$1 = getDerivedStateFromProps;
|
|
51
|
+
|
|
52
|
+
export { getDerivedStateFromProps$1 as default };
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
/**
|
|
9
|
+
* We currently support the following sorting states for DataTable headers,
|
|
10
|
+
* namely: `NONE` for no sorting being applied, and then `DESC` and `ASC` for
|
|
11
|
+
* the corresponding direction of the sorting order.
|
|
12
|
+
*/
|
|
13
|
+
var sortStates = {
|
|
14
|
+
NONE: 'NONE',
|
|
15
|
+
DESC: 'DESC',
|
|
16
|
+
ASC: 'ASC'
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { sortStates };
|
|
@@ -0,0 +1,93 @@
|
|
|
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 { sortStates } from './sortStates.js';
|
|
9
|
+
export { sortStates } from './sortStates.js';
|
|
10
|
+
import { sortRows } from '../tools/sorting.js';
|
|
11
|
+
|
|
12
|
+
// different initialSortState
|
|
13
|
+
|
|
14
|
+
var initialSortState = sortStates.NONE;
|
|
15
|
+
/**
|
|
16
|
+
* Utility used to get the next sort state given the following pieces of
|
|
17
|
+
* information:
|
|
18
|
+
*
|
|
19
|
+
* @param {string} prevHeader the value of the previous header
|
|
20
|
+
* @param {string} header the value of the currently selected header
|
|
21
|
+
* @param {string} prevState the previous sort state of the table
|
|
22
|
+
* @returns {string}
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
var getNextSortDirection = function getNextSortDirection(prevHeader, header, prevState) {
|
|
26
|
+
// If the previous header is equivalent to the current header, we know that we
|
|
27
|
+
// have to derive the next sort state from the previous sort state
|
|
28
|
+
if (prevHeader === header) {
|
|
29
|
+
// When transitioning, we know that the sequence of states is as follows:
|
|
30
|
+
// NONE -> ASC -> DESC -> NONE
|
|
31
|
+
if (prevState === 'NONE') {
|
|
32
|
+
return sortStates.ASC;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (prevState === 'ASC') {
|
|
36
|
+
return sortStates.DESC;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return sortStates.NONE;
|
|
40
|
+
} // Otherwise, we have selected a new header and need to start off by sorting
|
|
41
|
+
// in descending order by default
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
return sortStates.ASC;
|
|
45
|
+
};
|
|
46
|
+
var getNextSortState = function getNextSortState(props, state, _ref) {
|
|
47
|
+
var key = _ref.key;
|
|
48
|
+
var sortDirection = state.sortDirection,
|
|
49
|
+
sortHeaderKey = state.sortHeaderKey;
|
|
50
|
+
var nextSortDirection = getNextSortDirection(key, sortHeaderKey, sortDirection);
|
|
51
|
+
return getSortedState(props, state, key, nextSortDirection);
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Derive the set of sorted state fields from props and state for the given
|
|
55
|
+
* header key and sortDirection
|
|
56
|
+
*
|
|
57
|
+
* @param {object} props
|
|
58
|
+
* @param {string} props.locale The current locale
|
|
59
|
+
* @param {Function} props.sortRows Method to handle sorting a collection of
|
|
60
|
+
* rows
|
|
61
|
+
* @param {object} state
|
|
62
|
+
* @param {Array<string>} state.rowIds Array of row ids
|
|
63
|
+
* @param {object} state.cellsById Lookup object for cells by id
|
|
64
|
+
* @param {Array<string>} state.initialRowOrder Initial row order for the
|
|
65
|
+
* current set of rows
|
|
66
|
+
* @param {string} key The key for the given header we are serving the
|
|
67
|
+
* sorted state for
|
|
68
|
+
* @param {string} sortDirection The sortState that we want to order by
|
|
69
|
+
* @returns {object}
|
|
70
|
+
*/
|
|
71
|
+
|
|
72
|
+
var getSortedState = function getSortedState(props, state, key, sortDirection) {
|
|
73
|
+
var rowIds = state.rowIds,
|
|
74
|
+
cellsById = state.cellsById,
|
|
75
|
+
initialRowOrder = state.initialRowOrder;
|
|
76
|
+
var locale = props.locale,
|
|
77
|
+
sortRow = props.sortRow;
|
|
78
|
+
var nextRowIds = sortDirection !== sortStates.NONE ? sortRows({
|
|
79
|
+
rowIds: rowIds,
|
|
80
|
+
cellsById: cellsById,
|
|
81
|
+
sortDirection: sortDirection,
|
|
82
|
+
key: key,
|
|
83
|
+
locale: locale,
|
|
84
|
+
sortRow: sortRow
|
|
85
|
+
}) : initialRowOrder;
|
|
86
|
+
return {
|
|
87
|
+
sortHeaderKey: key,
|
|
88
|
+
sortDirection: sortDirection,
|
|
89
|
+
rowIds: nextRowIds
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export { getNextSortDirection, getNextSortState, getSortedState, initialSortState };
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
/**
|
|
9
|
+
* Generic helper used to consolidate all call sites for getting a cell id into
|
|
10
|
+
* one method. The strategy currently is that a "cellId" is just the combination
|
|
11
|
+
* of the row id and the header key used to access this field in a row.
|
|
12
|
+
*
|
|
13
|
+
* @param {string} rowId
|
|
14
|
+
* @param {string} header
|
|
15
|
+
* @returns {string}
|
|
16
|
+
*/
|
|
17
|
+
var getCellId = function getCellId(rowId, header) {
|
|
18
|
+
return "".concat(rowId, ":").concat(header);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { getCellId };
|
|
@@ -0,0 +1,43 @@
|
|
|
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 { objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Copyright IBM Corp. 2016, 2018
|
|
12
|
+
*
|
|
13
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
14
|
+
* LICENSE file in the root directory of this source tree.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Counterpart to `normalize` for a collection of rows. This method unravels the
|
|
19
|
+
* normalization step that we use to build the given parameters in order to
|
|
20
|
+
* return a natural interface to working with rows for a consumer.
|
|
21
|
+
*
|
|
22
|
+
* The default heuristic here is to map through all the row ids and return the
|
|
23
|
+
* value of the row for the given id, in addition to adding a `cells` key that
|
|
24
|
+
* contains the results of mapping over the rows cells and getting individual
|
|
25
|
+
* cell info.
|
|
26
|
+
*
|
|
27
|
+
* @param {Array<string>} rowIds array of row ids in the table
|
|
28
|
+
* @param {object} rowsById object containing lookups for rows by id
|
|
29
|
+
* @param {object} cellsById object containing lookups for cells by id
|
|
30
|
+
*/
|
|
31
|
+
var denormalize = function denormalize(rowIds, rowsById, cellsById) {
|
|
32
|
+
return rowIds.map(function (id) {
|
|
33
|
+
return _objectSpread2(_objectSpread2({}, rowsById[id]), {}, {
|
|
34
|
+
cells: rowsById[id].cells.map(function (cellId) {
|
|
35
|
+
return cellsById[cellId];
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
var denormalize$1 = denormalize;
|
|
42
|
+
|
|
43
|
+
export { denormalize$1 as default };
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
/**
|
|
9
|
+
* Default implementation of how we filter rows internally. The idea behind this
|
|
10
|
+
* implementation is to use the given list of row ids and headers to get the
|
|
11
|
+
* individual cell values for a row. Then, we go through each cell value and see
|
|
12
|
+
* if any of them includes the given inputValue.
|
|
13
|
+
*
|
|
14
|
+
* @param {object} config
|
|
15
|
+
* @param {Array<string>} config.rowIds array of all the row ids in the table
|
|
16
|
+
* @param {Array<object>} config.headers
|
|
17
|
+
* @param {object} config.cellsById object containing a map of cell id to cell
|
|
18
|
+
* @param {string} config.inputValue the current input value in the Table Search
|
|
19
|
+
* @param {Function} config.getCellId
|
|
20
|
+
* @returns {Array<string>} rowIds
|
|
21
|
+
*/
|
|
22
|
+
var defaultFilterRows = function defaultFilterRows(_ref) {
|
|
23
|
+
var rowIds = _ref.rowIds,
|
|
24
|
+
headers = _ref.headers,
|
|
25
|
+
cellsById = _ref.cellsById,
|
|
26
|
+
inputValue = _ref.inputValue,
|
|
27
|
+
getCellId = _ref.getCellId;
|
|
28
|
+
return rowIds.filter(function (rowId) {
|
|
29
|
+
return headers.some(function (_ref2) {
|
|
30
|
+
var key = _ref2.key;
|
|
31
|
+
var id = getCellId(rowId, key);
|
|
32
|
+
|
|
33
|
+
if (typeof cellsById[id].value === 'boolean') {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return ('' + cellsById[id].value).toLowerCase().includes(inputValue.toLowerCase());
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export { defaultFilterRows };
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
/**
|
|
9
|
+
* Generic utility to initialize a method that will return a unique instance id
|
|
10
|
+
* for a component.
|
|
11
|
+
*/
|
|
12
|
+
var setupGetInstanceId = function setupGetInstanceId() {
|
|
13
|
+
var instanceId = 0;
|
|
14
|
+
return function getInstanceId() {
|
|
15
|
+
return ++instanceId;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
var setupGetInstanceId$1 = setupGetInstanceId;
|
|
20
|
+
|
|
21
|
+
export { setupGetInstanceId$1 as default };
|
|
@@ -0,0 +1,78 @@
|
|
|
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 { getCellId } from './cells.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Normalize a collection of rows with the given headers.
|
|
12
|
+
*
|
|
13
|
+
* @param {Array<object>} rows
|
|
14
|
+
* @param {Array<object>} headers
|
|
15
|
+
* @returns {object}
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
var normalize = function normalize(rows, headers) {
|
|
19
|
+
var prevState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
20
|
+
var prevRowsByIds = prevState.rowsById;
|
|
21
|
+
var rowIds = new Array(rows.length);
|
|
22
|
+
var rowsById = {};
|
|
23
|
+
var cellsById = {};
|
|
24
|
+
rows.forEach(function (row, i) {
|
|
25
|
+
rowIds[i] = row.id; // Initialize the row info and state values, namely for selection and
|
|
26
|
+
// expansion
|
|
27
|
+
|
|
28
|
+
var id = row.id,
|
|
29
|
+
_row$isSelected = row.isSelected,
|
|
30
|
+
isSelected = _row$isSelected === void 0 ? false : _row$isSelected,
|
|
31
|
+
_row$isExpanded = row.isExpanded,
|
|
32
|
+
isExpanded = _row$isExpanded === void 0 ? false : _row$isExpanded,
|
|
33
|
+
_row$disabled = row.disabled,
|
|
34
|
+
disabled = _row$disabled === void 0 ? false : _row$disabled;
|
|
35
|
+
rowsById[id] = {
|
|
36
|
+
id: id,
|
|
37
|
+
isSelected: isSelected,
|
|
38
|
+
isExpanded: isExpanded,
|
|
39
|
+
disabled: disabled,
|
|
40
|
+
cells: new Array(headers.length)
|
|
41
|
+
}; // If we have a previous state, and the row existed in that previous state,
|
|
42
|
+
// then we'll set the state values of the row to the previous state values.
|
|
43
|
+
|
|
44
|
+
if (prevRowsByIds && prevRowsByIds[row.id] !== undefined) {
|
|
45
|
+
rowsById[row.id].isSelected = prevRowsByIds[row.id].isSelected;
|
|
46
|
+
rowsById[row.id].isExpanded = prevRowsByIds[row.id].isExpanded;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
headers.forEach(function (_ref, i) {
|
|
50
|
+
var key = _ref.key;
|
|
51
|
+
var id = getCellId(row.id, key); // Initialize the cell info and state values, namely for editing
|
|
52
|
+
|
|
53
|
+
cellsById[id] = {
|
|
54
|
+
id: id,
|
|
55
|
+
value: row[key],
|
|
56
|
+
isEditable: false,
|
|
57
|
+
isEditing: false,
|
|
58
|
+
isValid: true,
|
|
59
|
+
errors: null,
|
|
60
|
+
info: {
|
|
61
|
+
header: key
|
|
62
|
+
}
|
|
63
|
+
}; // TODO: When working on inline edits, we'll need to derive the state
|
|
64
|
+
// values similarly to rows above.
|
|
65
|
+
|
|
66
|
+
rowsById[row.id].cells[i] = id;
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
return {
|
|
70
|
+
rowIds: rowIds,
|
|
71
|
+
rowsById: rowsById,
|
|
72
|
+
cellsById: cellsById
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
var normalize$1 = normalize;
|
|
77
|
+
|
|
78
|
+
export { normalize$1 as default };
|