@carbon/react 0.16.2 → 1.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/es/_virtual/ResizeObserver.es.js +13 -0
- package/es/_virtual/_commonjsHelpers.js +29 -0
- package/es/_virtual/_rollupPluginBabelHelpers.js +354 -0
- package/es/{prefix.js → _virtual/index.js} +2 -2
- package/es/_virtual/rangePlugin.js +10 -0
- package/es/components/Accordion/Accordion.Skeleton.js +103 -0
- package/es/components/Accordion/Accordion.js +68 -0
- package/es/components/Accordion/AccordionItem.js +181 -0
- package/es/components/Accordion/index.js +9 -0
- package/es/components/AccordionItem/index.js +11 -0
- package/es/components/AspectRatio/AspectRatio.js +67 -0
- package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +45 -0
- package/es/components/Breadcrumb/Breadcrumb.js +58 -0
- package/es/components/Breadcrumb/BreadcrumbItem.js +94 -0
- package/es/components/Button/Button.Skeleton.js +71 -0
- package/es/components/Button/Button.js +351 -0
- package/es/components/ButtonSet/ButtonSet.js +48 -0
- package/es/components/Checkbox/Checkbox.Skeleton.js +36 -0
- package/es/components/Checkbox/Checkbox.js +136 -0
- package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +58 -0
- package/es/components/CodeSnippet/CodeSnippet.js +372 -0
- package/es/components/ComboBox/ComboBox.js +532 -0
- package/es/components/ComboBox/tools/filter.js +20 -0
- package/es/components/ComposedModal/ComposedModal.js +630 -0
- package/es/components/ComposedModal/index.js +19 -0
- package/es/components/ComposedModal/next/ComposedModal.js +223 -0
- package/es/components/ComposedModal/next/ModalFooter.js +213 -0
- package/es/components/ComposedModal/next/ModalHeader.js +127 -0
- package/es/components/ContentSwitcher/ContentSwitcher.js +185 -0
- package/es/components/ContextMenu/useContextMenu.js +57 -0
- package/es/components/Copy/Copy.js +124 -0
- package/es/components/CopyButton/CopyButton.js +67 -0
- package/es/components/DangerButton/DangerButton.js +20 -0
- package/es/components/DataTable/DataTable.js +638 -0
- package/es/components/DataTable/Table.js +90 -0
- package/es/components/DataTable/TableActionList.js +17 -0
- package/es/components/DataTable/TableBatchAction.js +45 -0
- package/es/components/DataTable/TableBatchActions.js +110 -0
- package/es/components/DataTable/TableBody.js +37 -0
- package/es/components/DataTable/TableCell.js +16 -0
- package/es/components/DataTable/TableContainer.js +66 -0
- package/es/components/DataTable/TableExpandHeader.js +86 -0
- package/es/components/DataTable/TableExpandRow.js +93 -0
- package/es/components/DataTable/TableExpandedRow.js +75 -0
- package/es/components/DataTable/TableHead.js +16 -0
- package/es/components/DataTable/TableHeader.js +187 -0
- package/es/components/DataTable/TableRow.js +41 -0
- package/es/components/DataTable/TableSelectAll.js +84 -0
- package/es/components/DataTable/TableSelectRow.js +97 -0
- package/es/components/DataTable/TableToolbar.js +48 -0
- package/es/components/DataTable/TableToolbarAction.js +31 -0
- package/es/components/DataTable/TableToolbarContent.js +17 -0
- package/es/components/DataTable/TableToolbarMenu.js +61 -0
- package/es/components/DataTable/TableToolbarSearch.js +242 -0
- package/es/components/DataTable/index.js +72 -0
- package/es/components/DataTable/state/getDerivedStateFromProps.js +52 -0
- package/es/components/DataTable/state/sortStates.js +19 -0
- package/es/components/DataTable/state/sorting.js +93 -0
- package/es/components/DataTable/tools/cells.js +21 -0
- package/es/components/DataTable/tools/denormalize.js +43 -0
- package/es/components/DataTable/tools/filter.js +42 -0
- package/es/components/DataTable/tools/instanceId.js +21 -0
- package/es/components/DataTable/tools/normalize.js +78 -0
- package/es/components/DataTable/tools/sorting.js +110 -0
- package/es/components/DataTableSkeleton/DataTableSkeleton.js +133 -0
- package/es/components/DatePicker/DatePicker.Skeleton.js +69 -0
- package/es/components/DatePicker/DatePicker.js +622 -0
- package/es/components/DatePicker/index.js +15 -0
- package/es/components/DatePicker/next/DatePicker.js +558 -0
- package/es/components/DatePicker/plugins/appendToPlugin.js +58 -0
- package/es/components/DatePicker/plugins/fixEventsPlugin.js +89 -0
- package/es/components/DatePicker/plugins/rangePlugin.js +51 -0
- package/es/components/DatePickerInput/DatePickerInput.js +271 -0
- package/es/components/DatePickerInput/index.js +15 -0
- package/es/components/DatePickerInput/next/DatePickerInput.js +269 -0
- package/es/components/Dropdown/Dropdown.Skeleton.js +55 -0
- package/es/components/Dropdown/Dropdown.js +327 -0
- package/es/components/ErrorBoundary/ErrorBoundary.js +96 -0
- package/es/components/ErrorBoundary/ErrorBoundaryContext.js +16 -0
- package/es/components/ExpandableSearch/ExpandableSearch.js +67 -0
- package/es/components/ExpandableSearch/index.js +9 -0
- package/es/components/FeatureFlags/index.js +169 -0
- package/es/components/FileUploader/FileUploader.Skeleton.js +43 -0
- package/es/components/FileUploader/FileUploader.js +284 -0
- package/es/components/FileUploader/FileUploaderButton.js +198 -0
- package/es/components/FileUploader/FileUploaderDropContainer.js +223 -0
- package/es/components/FileUploader/FileUploaderItem.js +130 -0
- package/es/components/FileUploader/Filename.js +82 -0
- package/es/components/FileUploader/index.js +14 -0
- package/es/components/FluidForm/FluidForm.js +46 -0
- package/es/components/FluidForm/FormContext.js +14 -0
- package/es/components/Form/Form.js +41 -0
- package/es/components/FormGroup/FormGroup.js +97 -0
- package/es/components/FormItem/FormItem.js +41 -0
- package/es/components/FormLabel/FormLabel.js +48 -0
- package/es/components/Grid/CSSGrid.js +139 -0
- package/es/components/Grid/Column.js +363 -0
- package/es/components/Grid/ColumnHang.js +51 -0
- package/es/components/Grid/FlexGrid.js +76 -0
- package/es/components/Grid/Grid.js +63 -0
- package/es/components/Grid/GridContext.js +60 -0
- package/es/components/Grid/Row.js +65 -0
- package/es/components/Heading/index.js +62 -0
- package/es/components/Icon/Icon.Skeleton.js +45 -0
- package/es/components/IconButton/index.js +89 -0
- package/es/components/InlineCheckbox/InlineCheckbox.js +122 -0
- package/es/components/InlineLoading/InlineLoading.js +118 -0
- package/es/components/Layer/LayerContext.js +12 -0
- package/es/components/Layer/index.js +62 -0
- package/es/components/Link/Link.js +95 -0
- package/es/components/ListBox/ListBox.js +129 -0
- package/es/components/ListBox/ListBoxField.js +62 -0
- package/es/components/ListBox/ListBoxMenu.js +56 -0
- package/es/components/ListBox/ListBoxMenuIcon.js +61 -0
- package/es/components/ListBox/ListBoxMenuItem.js +87 -0
- package/es/components/ListBox/ListBoxPropTypes.js +14 -0
- package/es/components/ListBox/ListBoxSelection.js +148 -0
- package/es/components/ListBox/index.js +20 -0
- package/es/components/ListBox/next/ListBoxSelection.js +155 -0
- package/es/components/ListBox/next/ListBoxTrigger.js +68 -0
- package/es/components/ListItem/ListItem.js +41 -0
- package/es/components/Loading/Loading.js +102 -0
- package/es/components/Menu/Menu.js +328 -0
- package/es/components/Menu/MenuDivider.js +19 -0
- package/es/components/Menu/MenuGroup.js +34 -0
- package/es/components/Menu/MenuItem.js +58 -0
- package/es/components/Menu/MenuOption.js +250 -0
- package/es/components/Menu/MenuRadioGroup.js +50 -0
- package/es/components/Menu/MenuRadioGroupOptions.js +64 -0
- package/es/components/Menu/MenuSelectableItem.js +57 -0
- package/es/components/Menu/_utils.js +177 -0
- package/es/components/Menu/index.js +25 -0
- package/es/components/Modal/Modal.js +343 -0
- package/es/components/Modal/index.js +15 -0
- package/es/components/Modal/next/Modal.js +277 -0
- package/es/components/ModalWrapper/ModalWrapper.js +164 -0
- package/es/components/MultiSelect/FilterableMultiSelect.js +576 -0
- package/es/components/MultiSelect/MultiSelect.js +468 -0
- package/es/components/MultiSelect/MultiSelectPropTypes.js +41 -0
- package/es/components/MultiSelect/index.js +23 -0
- package/es/components/MultiSelect/next/FilterableMultiSelect.js +532 -0
- package/es/components/MultiSelect/tools/itemToString.js +24 -0
- package/es/components/MultiSelect/tools/sorting.js +53 -0
- package/es/components/Notification/Notification.js +530 -0
- package/es/components/Notification/index.js +42 -0
- package/es/components/Notification/next/Notification.js +684 -0
- package/es/components/NumberInput/NumberInput.Skeleton.js +44 -0
- package/es/components/NumberInput/NumberInput.js +515 -0
- package/es/components/OrderedList/OrderedList.js +66 -0
- package/es/components/OverflowMenu/OverflowMenu.js +516 -0
- package/es/components/OverflowMenu/index.js +14 -0
- package/es/components/OverflowMenuItem/OverflowMenuItem.js +221 -0
- package/es/components/OverflowMenuItem/index.js +12 -0
- package/es/components/OverflowMenuV2/index.js +137 -0
- package/es/components/Pagination/Pagination.Skeleton.js +48 -0
- package/es/components/Pagination/Pagination.js +420 -0
- package/es/components/Pagination/experimental/PageSelector.js +81 -0
- package/es/components/Pagination/experimental/Pagination.js +281 -0
- package/es/components/Pagination/index.js +14 -0
- package/es/components/Pagination/next/Pagination.js +401 -0
- package/es/components/PaginationNav/PaginationNav.js +436 -0
- package/es/components/Popover/index.js +118 -0
- package/es/components/PrimaryButton/PrimaryButton.js +20 -0
- package/es/components/ProgressBar/ProgressBar.js +110 -0
- package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +50 -0
- package/es/components/ProgressIndicator/ProgressIndicator.js +323 -0
- package/es/components/ProgressIndicator/index.js +15 -0
- package/es/components/ProgressIndicator/next/ProgressIndicator.js +117 -0
- package/es/components/RadioButton/RadioButton.Skeleton.js +37 -0
- package/es/components/RadioButton/RadioButton.js +172 -0
- package/es/components/RadioButton/index.js +15 -0
- package/es/components/RadioButton/next/RadioButton.js +128 -0
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +190 -0
- package/es/components/RadioButtonGroup/index.js +15 -0
- package/es/components/RadioButtonGroup/next/RadioButtonGroup.js +141 -0
- package/es/components/RadioTile/RadioTile.js +147 -0
- package/es/components/Search/Search.Skeleton.js +50 -0
- package/es/components/Search/Search.js +289 -0
- package/es/components/Search/index.js +15 -0
- package/es/components/Search/next/Search.js +263 -0
- package/es/components/SearchFilterButton/SearchFilterButton.js +61 -0
- package/es/components/SearchLayoutButton/SearchLayoutButton.js +151 -0
- package/es/components/SecondaryButton/SecondaryButton.js +20 -0
- package/es/components/Select/Select.Skeleton.js +46 -0
- package/es/components/Select/Select.js +211 -0
- package/es/components/SelectItem/SelectItem.js +70 -0
- package/es/components/SelectItemGroup/SelectItemGroup.js +60 -0
- package/es/components/SkeletonIcon/SkeletonIcon.js +42 -0
- package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +37 -0
- package/es/components/SkeletonText/SkeletonText.js +114 -0
- package/es/components/Slider/Slider.Skeleton.js +56 -0
- package/es/components/Slider/Slider.js +649 -0
- package/es/components/Slider/index.js +14 -0
- package/es/components/Stack/Stack.js +102 -0
- package/es/components/Stack/index.js +26 -0
- package/es/components/StructuredList/StructuredList.Skeleton.js +82 -0
- package/es/components/StructuredList/StructuredList.js +307 -0
- package/es/components/StructuredList/index.js +43 -0
- package/es/components/StructuredList/next/StructuredList.js +330 -0
- package/es/components/Switch/Switch.js +124 -0
- package/es/components/Tab/Tab.js +191 -0
- package/es/components/Tab/index.js +15 -0
- package/es/components/TabContent/TabContent.js +77 -0
- package/es/components/Tabs/Tabs.Skeleton.js +53 -0
- package/es/components/Tabs/Tabs.js +618 -0
- package/es/components/Tabs/index.js +19 -0
- package/es/components/Tabs/next/Tabs.Skeleton.js +53 -0
- package/es/components/Tabs/next/Tabs.js +648 -0
- package/es/components/Tabs/next/usePressable.js +145 -0
- package/es/components/Tag/Tag.Skeleton.js +40 -0
- package/es/components/Tag/Tag.js +146 -0
- package/es/components/Text/Text.js +98 -0
- package/es/components/Text/TextDirectionContext.js +12 -0
- package/es/components/Text/createTextComponent.js +33 -0
- package/es/components/Text/index.js +13 -0
- package/es/components/TextArea/TextArea.Skeleton.js +44 -0
- package/es/components/TextArea/TextArea.js +220 -0
- package/es/components/TextInput/ControlledPasswordInput.js +234 -0
- package/es/components/TextInput/PasswordInput.js +286 -0
- package/es/components/TextInput/TextInput.Skeleton.js +44 -0
- package/es/components/TextInput/TextInput.js +239 -0
- package/es/components/TextInput/index.js +20 -0
- package/es/components/TextInput/util.js +33 -0
- package/es/components/Theme/index.js +103 -0
- package/es/components/Tile/Tile.js +767 -0
- package/es/components/Tile/index.js +19 -0
- package/es/components/Tile/next/Tile.js +647 -0
- package/es/components/TileGroup/TileGroup.js +164 -0
- package/es/components/TimePicker/TimePicker.js +256 -0
- package/es/components/TimePicker/index.js +15 -0
- package/es/components/TimePicker/next/TimePicker.js +218 -0
- package/es/components/TimePickerSelect/TimePickerSelect.js +82 -0
- package/es/components/TimePickerSelect/index.js +15 -0
- package/es/components/TimePickerSelect/next/TimePickerSelect.js +77 -0
- package/es/components/Toggle/Toggle.Skeleton.js +74 -0
- package/es/components/Toggle/Toggle.js +120 -0
- package/es/components/Toggle/index.js +19 -0
- package/es/components/Toggle/next/Toggle.js +158 -0
- package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +71 -0
- package/es/components/ToggleSmall/ToggleSmall.js +104 -0
- package/es/components/Toolbar/Toolbar.js +121 -0
- package/es/components/ToolbarSearch/ToolbarSearch.js +168 -0
- package/es/components/Tooltip/next/DefinitionTooltip.js +122 -0
- package/es/components/Tooltip/next/Tooltip.js +154 -0
- package/es/components/TooltipDefinition/TooltipDefinition.js +167 -0
- package/es/components/TooltipIcon/TooltipIcon.js +235 -0
- package/es/components/TreeView/TreeNode.js +325 -0
- package/es/components/TreeView/TreeView.js +252 -0
- package/es/components/TreeView/index.js +13 -0
- package/es/components/UIShell/Content.js +50 -0
- package/es/components/UIShell/Header.js +37 -0
- package/es/components/UIShell/HeaderContainer.js +44 -0
- package/es/components/UIShell/HeaderGlobalAction.js +87 -0
- package/es/components/UIShell/HeaderGlobalBar.js +20 -0
- package/es/components/UIShell/HeaderMenu.js +240 -0
- package/es/components/UIShell/HeaderMenuButton.js +69 -0
- package/es/components/UIShell/HeaderMenuItem.js +73 -0
- package/es/components/UIShell/HeaderName.js +62 -0
- package/es/components/UIShell/HeaderNavigation.js +100 -0
- package/es/components/UIShell/HeaderPanel.js +52 -0
- package/es/components/UIShell/HeaderSideNavItems.js +50 -0
- package/es/components/UIShell/Link.js +49 -0
- package/es/components/UIShell/SideNav.js +227 -0
- package/es/components/UIShell/SideNavDetails.js +46 -0
- package/es/components/UIShell/SideNavDivider.js +30 -0
- package/es/components/UIShell/SideNavFooter.js +78 -0
- package/es/components/UIShell/SideNavHeader.js +50 -0
- package/es/components/UIShell/SideNavIcon.js +49 -0
- package/es/components/UIShell/SideNavItem.js +47 -0
- package/es/components/UIShell/SideNavItems.js +56 -0
- package/es/components/UIShell/SideNavLink.js +74 -0
- package/es/components/UIShell/SideNavLinkText.js +41 -0
- package/es/components/UIShell/SideNavMenu.js +198 -0
- package/es/components/UIShell/SideNavMenuItem.js +57 -0
- package/es/components/UIShell/SideNavSwitcher.js +80 -0
- package/es/components/UIShell/SkipToContent.js +57 -0
- package/es/components/UIShell/Switcher.js +45 -0
- package/es/components/UIShell/SwitcherDivider.js +35 -0
- package/es/components/UIShell/SwitcherItem.js +62 -0
- package/es/components/UIShell/_utils.js +10 -0
- package/es/components/UIShell/index.js +17 -0
- package/es/components/UIShell/next/HeaderNavigation.js +52 -0
- package/es/components/UIShell/next/SideNavMenu.js +160 -0
- package/es/components/UnorderedList/UnorderedList.js +59 -0
- package/es/index.js +190 -2
- package/es/internal/ClickListener.js +101 -0
- package/es/internal/ComponentToggle.js +42 -0
- package/es/internal/FeatureFlags.js +52 -0
- package/es/internal/FloatingMenu.js +483 -0
- package/es/internal/OptimizedResize.js +65 -0
- package/es/internal/Selection.js +243 -0
- package/es/internal/createClassWrapper.js +31 -0
- package/es/internal/deprecateFieldOnObject.js +26 -0
- package/es/internal/environment.js +15 -0
- package/es/internal/focus/index.js +16 -0
- package/es/internal/keyboard/keys.js +65 -0
- package/es/internal/keyboard/match.js +82 -0
- package/es/internal/keyboard/navigation.js +61 -0
- package/es/internal/useControllableState.js +86 -0
- package/es/internal/useDelayedState.js +54 -0
- package/es/internal/useEffectOnce.js +31 -0
- package/es/internal/useId.js +59 -0
- package/es/internal/useIsomorphicEffect.js +13 -0
- package/es/internal/useMatchMedia.js +51 -0
- package/es/internal/useMergedRefs.js +31 -0
- package/es/internal/useNoInteractiveChildren.js +92 -0
- package/es/internal/useNormalizedInputProps.js +88 -0
- package/es/internal/usePrefix.js +15 -0
- package/es/internal/useSavedCallback.js +32 -0
- package/es/internal/warning.js +28 -0
- package/es/internal/wrapFocus.js +75 -0
- package/es/node_modules/flatpickr/dist/l10n/index.js +1423 -0
- package/es/node_modules/flatpickr/dist/plugins/rangePlugin.js +196 -0
- package/es/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +1112 -0
- package/es/node_modules/use-resize-observer/polyfilled.js +112 -0
- package/es/prop-types/AriaPropTypes.js +16 -0
- package/es/prop-types/deprecate.js +33 -0
- package/es/prop-types/isRequiredOneOf.js +47 -0
- package/es/prop-types/requiredIfGivenPropIsTruthy.js +29 -0
- package/es/prop-types/requiredIfValueExists.js +32 -0
- package/es/prop-types/types.js +10 -0
- package/es/tools/array.js +32 -0
- package/es/tools/createPropAdapter.js +63 -0
- package/es/tools/events.js +35 -0
- package/es/tools/mergeRefs.js +31 -0
- package/es/tools/setupGetInstanceId.js +19 -0
- package/es/tools/toggleClass.js +14 -0
- package/es/tools/uniqueId.js +15 -0
- package/es/tools/wrapComponent.js +42 -0
- package/icons/es/index.js +1 -1
- package/icons/lib/index.js +7 -1952
- package/lib/_virtual/ResizeObserver.es.js +17 -0
- package/lib/_virtual/_commonjsHelpers.js +35 -0
- package/lib/_virtual/_rollupPluginBabelHelpers.js +383 -0
- package/lib/{prefix.js → _virtual/index.js} +4 -2
- package/lib/_virtual/rangePlugin.js +14 -0
- package/lib/components/Accordion/Accordion.Skeleton.js +113 -0
- package/lib/components/Accordion/Accordion.js +97 -0
- package/lib/components/Accordion/AccordionItem.js +191 -0
- package/lib/components/Accordion/index.js +16 -0
- package/lib/components/AccordionItem/index.js +16 -0
- package/lib/components/AspectRatio/AspectRatio.js +77 -0
- package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +55 -0
- package/lib/components/Breadcrumb/Breadcrumb.js +68 -0
- package/lib/components/Breadcrumb/BreadcrumbItem.js +104 -0
- package/lib/components/Button/Button.Skeleton.js +100 -0
- package/lib/components/Button/Button.js +380 -0
- package/lib/components/ButtonSet/ButtonSet.js +58 -0
- package/lib/components/Checkbox/Checkbox.Skeleton.js +46 -0
- package/lib/components/Checkbox/Checkbox.js +146 -0
- package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +68 -0
- package/lib/components/CodeSnippet/CodeSnippet.js +383 -0
- package/lib/components/ComboBox/ComboBox.js +543 -0
- package/lib/components/ComboBox/tools/filter.js +24 -0
- package/lib/components/ComposedModal/ComposedModal.js +643 -0
- package/lib/components/ComposedModal/index.js +45 -0
- package/lib/components/ComposedModal/next/ComposedModal.js +234 -0
- package/lib/components/ComposedModal/next/ModalFooter.js +223 -0
- package/lib/components/ComposedModal/next/ModalHeader.js +137 -0
- package/lib/components/ContentSwitcher/ContentSwitcher.js +195 -0
- package/lib/components/ContextMenu/useContextMenu.js +61 -0
- package/lib/components/Copy/Copy.js +154 -0
- package/lib/components/CopyButton/CopyButton.js +77 -0
- package/lib/components/DangerButton/DangerButton.js +28 -0
- package/lib/components/DataTable/DataTable.js +667 -0
- package/lib/components/DataTable/Table.js +120 -0
- package/lib/components/DataTable/TableActionList.js +21 -0
- package/lib/components/DataTable/TableBatchAction.js +54 -0
- package/lib/components/DataTable/TableBatchActions.js +120 -0
- package/lib/components/DataTable/TableBody.js +46 -0
- package/lib/components/DataTable/TableCell.js +20 -0
- package/lib/components/DataTable/TableContainer.js +76 -0
- package/lib/components/DataTable/TableExpandHeader.js +96 -0
- package/lib/components/DataTable/TableExpandRow.js +103 -0
- package/lib/components/DataTable/TableExpandedRow.js +85 -0
- package/lib/components/DataTable/TableHead.js +20 -0
- package/lib/components/DataTable/TableHeader.js +197 -0
- package/lib/components/DataTable/TableRow.js +52 -0
- package/lib/components/DataTable/TableSelectAll.js +94 -0
- package/lib/components/DataTable/TableSelectRow.js +107 -0
- package/lib/components/DataTable/TableToolbar.js +77 -0
- package/lib/components/DataTable/TableToolbarAction.js +40 -0
- package/lib/components/DataTable/TableToolbarContent.js +21 -0
- package/lib/components/DataTable/TableToolbarMenu.js +71 -0
- package/lib/components/DataTable/TableToolbarSearch.js +252 -0
- package/lib/components/DataTable/index.js +76 -0
- package/lib/components/DataTable/state/getDerivedStateFromProps.js +56 -0
- package/lib/components/DataTable/state/sortStates.js +23 -0
- package/lib/components/DataTable/state/sorting.js +100 -0
- package/lib/components/DataTable/tools/cells.js +25 -0
- package/lib/components/DataTable/tools/denormalize.js +47 -0
- package/lib/components/DataTable/tools/filter.js +46 -0
- package/lib/components/DataTable/tools/instanceId.js +25 -0
- package/lib/components/DataTable/tools/normalize.js +82 -0
- package/lib/components/DataTable/tools/sorting.js +117 -0
- package/lib/components/DataTableSkeleton/DataTableSkeleton.js +143 -0
- package/lib/components/DatePicker/DatePicker.Skeleton.js +79 -0
- package/lib/components/DatePicker/DatePicker.js +633 -0
- package/lib/components/DatePicker/index.js +39 -0
- package/lib/components/DatePicker/next/DatePicker.js +569 -0
- package/lib/components/DatePicker/plugins/appendToPlugin.js +62 -0
- package/lib/components/DatePicker/plugins/fixEventsPlugin.js +93 -0
- package/lib/components/DatePicker/plugins/rangePlugin.js +55 -0
- package/lib/components/DatePickerInput/DatePickerInput.js +281 -0
- package/lib/components/DatePickerInput/index.js +39 -0
- package/lib/components/DatePickerInput/next/DatePickerInput.js +279 -0
- package/lib/components/Dropdown/Dropdown.Skeleton.js +65 -0
- package/lib/components/Dropdown/Dropdown.js +337 -0
- package/lib/components/ErrorBoundary/ErrorBoundary.js +105 -0
- package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +20 -0
- package/lib/components/ExpandableSearch/ExpandableSearch.js +76 -0
- package/lib/components/ExpandableSearch/index.js +16 -0
- package/lib/components/FeatureFlags/index.js +181 -0
- package/lib/components/FileUploader/FileUploader.Skeleton.js +53 -0
- package/lib/components/FileUploader/FileUploader.js +313 -0
- package/lib/components/FileUploader/FileUploaderButton.js +227 -0
- package/lib/components/FileUploader/FileUploaderDropContainer.js +233 -0
- package/lib/components/FileUploader/FileUploaderItem.js +159 -0
- package/lib/components/FileUploader/Filename.js +91 -0
- package/lib/components/FileUploader/index.js +38 -0
- package/lib/components/FluidForm/FluidForm.js +56 -0
- package/lib/components/FluidForm/FormContext.js +18 -0
- package/lib/components/Form/Form.js +51 -0
- package/lib/components/FormGroup/FormGroup.js +107 -0
- package/lib/components/FormItem/FormItem.js +51 -0
- package/lib/components/FormLabel/FormLabel.js +77 -0
- package/lib/components/Grid/CSSGrid.js +149 -0
- package/lib/components/Grid/Column.js +392 -0
- package/lib/components/Grid/ColumnHang.js +61 -0
- package/lib/components/Grid/FlexGrid.js +86 -0
- package/lib/components/Grid/Grid.js +72 -0
- package/lib/components/Grid/GridContext.js +88 -0
- package/lib/components/Grid/Row.js +75 -0
- package/lib/components/Heading/index.js +72 -0
- package/lib/components/Icon/Icon.Skeleton.js +55 -0
- package/lib/components/IconButton/index.js +98 -0
- package/lib/components/InlineCheckbox/InlineCheckbox.js +131 -0
- package/lib/components/InlineLoading/InlineLoading.js +128 -0
- package/lib/components/Layer/LayerContext.js +20 -0
- package/lib/components/Layer/index.js +72 -0
- package/lib/components/Link/Link.js +105 -0
- package/lib/components/ListBox/ListBox.js +139 -0
- package/lib/components/ListBox/ListBoxField.js +71 -0
- package/lib/components/ListBox/ListBoxMenu.js +65 -0
- package/lib/components/ListBox/ListBoxMenuIcon.js +72 -0
- package/lib/components/ListBox/ListBoxMenuItem.js +97 -0
- package/lib/components/ListBox/ListBoxPropTypes.js +42 -0
- package/lib/components/ListBox/ListBoxSelection.js +159 -0
- package/lib/components/ListBox/index.js +25 -0
- package/lib/components/ListBox/next/ListBoxSelection.js +166 -0
- package/lib/components/ListBox/next/ListBoxTrigger.js +79 -0
- package/lib/components/ListItem/ListItem.js +51 -0
- package/lib/components/Loading/Loading.js +112 -0
- package/lib/components/Menu/Menu.js +339 -0
- package/lib/components/Menu/MenuDivider.js +27 -0
- package/lib/components/Menu/MenuGroup.js +43 -0
- package/lib/components/Menu/MenuItem.js +67 -0
- package/lib/components/Menu/MenuOption.js +260 -0
- package/lib/components/Menu/MenuRadioGroup.js +59 -0
- package/lib/components/Menu/MenuRadioGroupOptions.js +73 -0
- package/lib/components/Menu/MenuSelectableItem.js +66 -0
- package/lib/components/Menu/_utils.js +191 -0
- package/lib/components/Menu/index.js +30 -0
- package/lib/components/Modal/Modal.js +353 -0
- package/lib/components/Modal/index.js +39 -0
- package/lib/components/Modal/next/Modal.js +287 -0
- package/lib/components/ModalWrapper/ModalWrapper.js +173 -0
- package/lib/components/MultiSelect/FilterableMultiSelect.js +588 -0
- package/lib/components/MultiSelect/MultiSelect.js +480 -0
- package/lib/components/MultiSelect/MultiSelectPropTypes.js +49 -0
- package/lib/components/MultiSelect/index.js +47 -0
- package/lib/components/MultiSelect/next/FilterableMultiSelect.js +544 -0
- package/lib/components/MultiSelect/tools/itemToString.js +32 -0
- package/lib/components/MultiSelect/tools/sorting.js +58 -0
- package/lib/components/Notification/Notification.js +544 -0
- package/lib/components/Notification/index.js +51 -0
- package/lib/components/Notification/next/Notification.js +698 -0
- package/lib/components/NumberInput/NumberInput.Skeleton.js +54 -0
- package/lib/components/NumberInput/NumberInput.js +546 -0
- package/lib/components/OrderedList/OrderedList.js +76 -0
- package/lib/components/OverflowMenu/OverflowMenu.js +547 -0
- package/lib/components/OverflowMenu/index.js +38 -0
- package/lib/components/OverflowMenuItem/OverflowMenuItem.js +250 -0
- package/lib/components/OverflowMenuItem/index.js +16 -0
- package/lib/components/OverflowMenuV2/index.js +147 -0
- package/lib/components/Pagination/Pagination.Skeleton.js +58 -0
- package/lib/components/Pagination/Pagination.js +430 -0
- package/lib/components/Pagination/experimental/PageSelector.js +91 -0
- package/lib/components/Pagination/experimental/Pagination.js +310 -0
- package/lib/components/Pagination/index.js +38 -0
- package/lib/components/Pagination/next/Pagination.js +411 -0
- package/lib/components/PaginationNav/PaginationNav.js +465 -0
- package/lib/components/Popover/index.js +129 -0
- package/lib/components/PrimaryButton/PrimaryButton.js +28 -0
- package/lib/components/ProgressBar/ProgressBar.js +120 -0
- package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +60 -0
- package/lib/components/ProgressIndicator/ProgressIndicator.js +334 -0
- package/lib/components/ProgressIndicator/index.js +39 -0
- package/lib/components/ProgressIndicator/next/ProgressIndicator.js +127 -0
- package/lib/components/RadioButton/RadioButton.Skeleton.js +47 -0
- package/lib/components/RadioButton/RadioButton.js +183 -0
- package/lib/components/RadioButton/index.js +39 -0
- package/lib/components/RadioButton/next/RadioButton.js +138 -0
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +200 -0
- package/lib/components/RadioButtonGroup/index.js +39 -0
- package/lib/components/RadioButtonGroup/next/RadioButtonGroup.js +151 -0
- package/lib/components/RadioTile/RadioTile.js +157 -0
- package/lib/components/Search/Search.Skeleton.js +60 -0
- package/lib/components/Search/Search.js +299 -0
- package/lib/components/Search/index.js +39 -0
- package/lib/components/Search/next/Search.js +273 -0
- package/lib/components/SearchFilterButton/SearchFilterButton.js +70 -0
- package/lib/components/SearchLayoutButton/SearchLayoutButton.js +160 -0
- package/lib/components/SecondaryButton/SecondaryButton.js +28 -0
- package/lib/components/Select/Select.Skeleton.js +56 -0
- package/lib/components/Select/Select.js +240 -0
- package/lib/components/SelectItem/SelectItem.js +80 -0
- package/lib/components/SelectItemGroup/SelectItemGroup.js +89 -0
- package/lib/components/SkeletonIcon/SkeletonIcon.js +52 -0
- package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +47 -0
- package/lib/components/SkeletonText/SkeletonText.js +124 -0
- package/lib/components/Slider/Slider.Skeleton.js +66 -0
- package/lib/components/Slider/Slider.js +679 -0
- package/lib/components/Slider/index.js +38 -0
- package/lib/components/Stack/Stack.js +112 -0
- package/lib/components/Stack/index.js +35 -0
- package/lib/components/StructuredList/StructuredList.Skeleton.js +92 -0
- package/lib/components/StructuredList/StructuredList.js +322 -0
- package/lib/components/StructuredList/index.js +52 -0
- package/lib/components/StructuredList/next/StructuredList.js +345 -0
- package/lib/components/Switch/Switch.js +134 -0
- package/lib/components/Tab/Tab.js +220 -0
- package/lib/components/Tab/index.js +39 -0
- package/lib/components/TabContent/TabContent.js +87 -0
- package/lib/components/Tabs/Tabs.Skeleton.js +63 -0
- package/lib/components/Tabs/Tabs.js +629 -0
- package/lib/components/Tabs/index.js +47 -0
- package/lib/components/Tabs/next/Tabs.Skeleton.js +63 -0
- package/lib/components/Tabs/next/Tabs.js +664 -0
- package/lib/components/Tabs/next/usePressable.js +149 -0
- package/lib/components/Tag/Tag.Skeleton.js +50 -0
- package/lib/components/Tag/Tag.js +156 -0
- package/lib/components/Text/Text.js +107 -0
- package/lib/components/Text/TextDirectionContext.js +16 -0
- package/lib/components/Text/createTextComponent.js +41 -0
- package/lib/components/Text/index.js +17 -0
- package/lib/components/TextArea/TextArea.Skeleton.js +54 -0
- package/lib/components/TextArea/TextArea.js +230 -0
- package/lib/components/TextInput/ControlledPasswordInput.js +244 -0
- package/lib/components/TextInput/PasswordInput.js +315 -0
- package/lib/components/TextInput/TextInput.Skeleton.js +54 -0
- package/lib/components/TextInput/TextInput.js +268 -0
- package/lib/components/TextInput/index.js +25 -0
- package/lib/components/TextInput/util.js +37 -0
- package/lib/components/Theme/index.js +116 -0
- package/lib/components/Tile/Tile.js +782 -0
- package/lib/components/Tile/index.js +48 -0
- package/lib/components/Tile/next/Tile.js +662 -0
- package/lib/components/TileGroup/TileGroup.js +173 -0
- package/lib/components/TimePicker/TimePicker.js +266 -0
- package/lib/components/TimePicker/index.js +39 -0
- package/lib/components/TimePicker/next/TimePicker.js +228 -0
- package/lib/components/TimePickerSelect/TimePickerSelect.js +92 -0
- package/lib/components/TimePickerSelect/index.js +39 -0
- package/lib/components/TimePickerSelect/next/TimePickerSelect.js +87 -0
- package/lib/components/Toggle/Toggle.Skeleton.js +84 -0
- package/lib/components/Toggle/Toggle.js +130 -0
- package/lib/components/Toggle/index.js +23 -0
- package/lib/components/Toggle/next/Toggle.js +169 -0
- package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +81 -0
- package/lib/components/ToggleSmall/ToggleSmall.js +114 -0
- package/lib/components/Toolbar/Toolbar.js +135 -0
- package/lib/components/ToolbarSearch/ToolbarSearch.js +178 -0
- package/lib/components/Tooltip/next/DefinitionTooltip.js +132 -0
- package/lib/components/Tooltip/next/Tooltip.js +164 -0
- package/lib/components/TooltipDefinition/TooltipDefinition.js +178 -0
- package/lib/components/TooltipIcon/TooltipIcon.js +245 -0
- package/lib/components/TreeView/TreeNode.js +335 -0
- package/lib/components/TreeView/TreeView.js +281 -0
- package/lib/components/TreeView/index.js +18 -0
- package/lib/components/UIShell/Content.js +60 -0
- package/lib/components/UIShell/Header.js +47 -0
- package/lib/components/UIShell/HeaderContainer.js +53 -0
- package/lib/components/UIShell/HeaderGlobalAction.js +97 -0
- package/lib/components/UIShell/HeaderGlobalBar.js +24 -0
- package/lib/components/UIShell/HeaderMenu.js +250 -0
- package/lib/components/UIShell/HeaderMenuButton.js +79 -0
- package/lib/components/UIShell/HeaderMenuItem.js +83 -0
- package/lib/components/UIShell/HeaderName.js +72 -0
- package/lib/components/UIShell/HeaderNavigation.js +110 -0
- package/lib/components/UIShell/HeaderPanel.js +62 -0
- package/lib/components/UIShell/HeaderSideNavItems.js +60 -0
- package/lib/components/UIShell/Link.js +59 -0
- package/lib/components/UIShell/SideNav.js +237 -0
- package/lib/components/UIShell/SideNavDetails.js +56 -0
- package/lib/components/UIShell/SideNavDivider.js +40 -0
- package/lib/components/UIShell/SideNavFooter.js +88 -0
- package/lib/components/UIShell/SideNavHeader.js +60 -0
- package/lib/components/UIShell/SideNavIcon.js +59 -0
- package/lib/components/UIShell/SideNavItem.js +57 -0
- package/lib/components/UIShell/SideNavItems.js +66 -0
- package/lib/components/UIShell/SideNavLink.js +84 -0
- package/lib/components/UIShell/SideNavLinkText.js +51 -0
- package/lib/components/UIShell/SideNavMenu.js +209 -0
- package/lib/components/UIShell/SideNavMenuItem.js +67 -0
- package/lib/components/UIShell/SideNavSwitcher.js +90 -0
- package/lib/components/UIShell/SkipToContent.js +67 -0
- package/lib/components/UIShell/Switcher.js +55 -0
- package/lib/components/UIShell/SwitcherDivider.js +45 -0
- package/lib/components/UIShell/SwitcherItem.js +72 -0
- package/lib/components/UIShell/_utils.js +14 -0
- package/lib/components/UIShell/index.js +42 -0
- package/lib/components/UIShell/next/HeaderNavigation.js +62 -0
- package/lib/components/UIShell/next/SideNavMenu.js +170 -0
- package/lib/components/UnorderedList/UnorderedList.js +69 -0
- package/lib/index.js +409 -858
- package/lib/internal/ClickListener.js +110 -0
- package/lib/internal/ComponentToggle.js +50 -0
- package/lib/internal/FeatureFlags.js +56 -0
- package/lib/internal/FloatingMenu.js +498 -0
- package/lib/internal/OptimizedResize.js +73 -0
- package/lib/internal/Selection.js +254 -0
- package/lib/internal/createClassWrapper.js +39 -0
- package/lib/internal/deprecateFieldOnObject.js +30 -0
- package/lib/internal/environment.js +19 -0
- package/lib/internal/focus/index.js +20 -0
- package/lib/internal/keyboard/keys.js +79 -0
- package/lib/internal/keyboard/match.js +87 -0
- package/lib/internal/keyboard/navigation.js +69 -0
- package/lib/internal/useControllableState.js +90 -0
- package/lib/internal/useDelayedState.js +58 -0
- package/lib/internal/useEffectOnce.js +35 -0
- package/lib/internal/useId.js +64 -0
- package/lib/internal/useIsomorphicEffect.js +17 -0
- package/lib/internal/useMatchMedia.js +55 -0
- package/lib/internal/useMergedRefs.js +35 -0
- package/lib/internal/useNoInteractiveChildren.js +97 -0
- package/lib/internal/useNormalizedInputProps.js +96 -0
- package/lib/internal/usePrefix.js +24 -0
- package/lib/internal/useSavedCallback.js +36 -0
- package/lib/internal/warning.js +32 -0
- package/lib/internal/wrapFocus.js +84 -0
- package/lib/node_modules/flatpickr/dist/l10n/index.js +1427 -0
- package/lib/node_modules/flatpickr/dist/plugins/rangePlugin.js +200 -0
- package/lib/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +1116 -0
- package/lib/node_modules/use-resize-observer/polyfilled.js +120 -0
- package/lib/prop-types/AriaPropTypes.js +24 -0
- package/lib/prop-types/deprecate.js +37 -0
- package/lib/prop-types/isRequiredOneOf.js +51 -0
- package/lib/prop-types/requiredIfGivenPropIsTruthy.js +33 -0
- package/lib/prop-types/requiredIfValueExists.js +36 -0
- package/lib/prop-types/types.js +14 -0
- package/lib/tools/array.js +36 -0
- package/lib/tools/createPropAdapter.js +67 -0
- package/lib/tools/events.js +39 -0
- package/lib/tools/mergeRefs.js +35 -0
- package/lib/tools/setupGetInstanceId.js +23 -0
- package/lib/tools/toggleClass.js +18 -0
- package/lib/tools/uniqueId.js +19 -0
- package/lib/tools/wrapComponent.js +52 -0
- package/package.json +50 -20
- package/scss/grid/_css-grid.scss +9 -0
- package/scss/grid/{_config.scss → _mixins.scss} +1 -1
- 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,49 @@
|
|
|
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 PropTypes from 'prop-types';
|
|
11
|
+
import React__default from 'react';
|
|
12
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
13
|
+
|
|
14
|
+
var SideNavIcon = function SideNavIcon(_ref) {
|
|
15
|
+
var _cx;
|
|
16
|
+
|
|
17
|
+
var children = _ref.children,
|
|
18
|
+
customClassName = _ref.className,
|
|
19
|
+
small = _ref.small;
|
|
20
|
+
var prefix = usePrefix();
|
|
21
|
+
var className = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--side-nav__icon"), true), _defineProperty(_cx, "".concat(prefix, "--side-nav__icon--small"), small), _defineProperty(_cx, customClassName, !!customClassName), _cx));
|
|
22
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
23
|
+
className: className
|
|
24
|
+
}, children);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
SideNavIcon.propTypes = {
|
|
28
|
+
/**
|
|
29
|
+
* Provide a single icon as the child to `SideNavIcon` to render in the
|
|
30
|
+
* container
|
|
31
|
+
*/
|
|
32
|
+
children: PropTypes.node.isRequired,
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Provide an optional class to be applied to the containing node
|
|
36
|
+
*/
|
|
37
|
+
className: PropTypes.string,
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Specify whether the icon should be placed in a smaller bounding box
|
|
41
|
+
*/
|
|
42
|
+
small: PropTypes.bool.isRequired
|
|
43
|
+
};
|
|
44
|
+
SideNavIcon.defaultProps = {
|
|
45
|
+
small: false
|
|
46
|
+
};
|
|
47
|
+
var SideNavIcon$1 = SideNavIcon;
|
|
48
|
+
|
|
49
|
+
export { SideNavIcon$1 as default };
|
|
@@ -0,0 +1,47 @@
|
|
|
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 PropTypes from 'prop-types';
|
|
11
|
+
import React__default from 'react';
|
|
12
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
13
|
+
|
|
14
|
+
var SideNavItem = function SideNavItem(_ref) {
|
|
15
|
+
var _cx;
|
|
16
|
+
|
|
17
|
+
var customClassName = _ref.className,
|
|
18
|
+
children = _ref.children,
|
|
19
|
+
_ref$large = _ref.large,
|
|
20
|
+
large = _ref$large === void 0 ? false : _ref$large;
|
|
21
|
+
var prefix = usePrefix();
|
|
22
|
+
var className = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--side-nav__item"), true), _defineProperty(_cx, "".concat(prefix, "--side-nav__item--large"), large), _defineProperty(_cx, customClassName, !!customClassName), _cx));
|
|
23
|
+
return /*#__PURE__*/React__default.createElement("li", {
|
|
24
|
+
className: className
|
|
25
|
+
}, children);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
SideNavItem.propTypes = {
|
|
29
|
+
/**
|
|
30
|
+
* Provide a single icon as the child to `SideNavIcon` to render in the
|
|
31
|
+
* container
|
|
32
|
+
*/
|
|
33
|
+
children: PropTypes.node.isRequired,
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Provide an optional class to be applied to the containing node
|
|
37
|
+
*/
|
|
38
|
+
className: PropTypes.string,
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Specify if this is a large variation of the SideNavItem
|
|
42
|
+
*/
|
|
43
|
+
large: PropTypes.bool
|
|
44
|
+
};
|
|
45
|
+
var SideNavItem$1 = SideNavItem;
|
|
46
|
+
|
|
47
|
+
export { SideNavItem$1 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 { objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
+
import cx from 'classnames';
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
|
+
import React__default from 'react';
|
|
12
|
+
import { CARBON_SIDENAV_ITEMS } from './_utils.js';
|
|
13
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
14
|
+
|
|
15
|
+
var SideNavItems = function SideNavItems(_ref) {
|
|
16
|
+
var customClassName = _ref.className,
|
|
17
|
+
children = _ref.children,
|
|
18
|
+
isSideNavExpanded = _ref.isSideNavExpanded;
|
|
19
|
+
var prefix = usePrefix();
|
|
20
|
+
var className = cx(["".concat(prefix, "--side-nav__items")], customClassName);
|
|
21
|
+
var childrenWithExpandedState = React__default.Children.map(children, function (child) {
|
|
22
|
+
if ( /*#__PURE__*/React__default.isValidElement(child)) {
|
|
23
|
+
var _child$type;
|
|
24
|
+
|
|
25
|
+
// avoid spreading `isSideNavExpanded` to non-Carbon UI Shell children
|
|
26
|
+
return /*#__PURE__*/React__default.cloneElement(child, _objectSpread2({}, CARBON_SIDENAV_ITEMS.includes((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) ? {
|
|
27
|
+
isSideNavExpanded: isSideNavExpanded
|
|
28
|
+
} : {}));
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return /*#__PURE__*/React__default.createElement("ul", {
|
|
32
|
+
className: className
|
|
33
|
+
}, childrenWithExpandedState);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
SideNavItems.propTypes = {
|
|
37
|
+
/**
|
|
38
|
+
* Provide a single icon as the child to `SideNavIcon` to render in the
|
|
39
|
+
* container
|
|
40
|
+
*/
|
|
41
|
+
children: PropTypes.node.isRequired,
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Provide an optional class to be applied to the containing node
|
|
45
|
+
*/
|
|
46
|
+
className: PropTypes.string,
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Property to indicate if the side nav container is open (or not). Use to
|
|
50
|
+
* keep local state and styling in step with the SideNav expansion state.
|
|
51
|
+
*/
|
|
52
|
+
isSideNavExpanded: PropTypes.bool
|
|
53
|
+
};
|
|
54
|
+
var SideNavItems$1 = SideNavItems;
|
|
55
|
+
|
|
56
|
+
export { SideNavItems$1 as default };
|
|
@@ -0,0 +1,74 @@
|
|
|
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, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
+
import cx from 'classnames';
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
|
+
import React__default from 'react';
|
|
12
|
+
import Link, { LinkPropTypes } from './Link.js';
|
|
13
|
+
import SideNavIcon from './SideNavIcon.js';
|
|
14
|
+
import SideNavItem from './SideNavItem.js';
|
|
15
|
+
import SideNavLinkText from './SideNavLinkText.js';
|
|
16
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
17
|
+
|
|
18
|
+
var _excluded = ["className", "children", "renderIcon", "isActive", "large"];
|
|
19
|
+
var SideNavLink = /*#__PURE__*/React__default.forwardRef(function SideNavLink(_ref, ref) {
|
|
20
|
+
var _cx;
|
|
21
|
+
|
|
22
|
+
var customClassName = _ref.className,
|
|
23
|
+
children = _ref.children,
|
|
24
|
+
IconElement = _ref.renderIcon,
|
|
25
|
+
isActive = _ref.isActive,
|
|
26
|
+
large = _ref.large,
|
|
27
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
28
|
+
|
|
29
|
+
var prefix = usePrefix();
|
|
30
|
+
var className = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--side-nav__link"), true), _defineProperty(_cx, "".concat(prefix, "--side-nav__link--current"), isActive), _defineProperty(_cx, customClassName, !!customClassName), _cx));
|
|
31
|
+
return /*#__PURE__*/React__default.createElement(SideNavItem, {
|
|
32
|
+
large: large
|
|
33
|
+
}, /*#__PURE__*/React__default.createElement(Link, _extends({}, rest, {
|
|
34
|
+
className: className,
|
|
35
|
+
ref: ref
|
|
36
|
+
}), IconElement && /*#__PURE__*/React__default.createElement(SideNavIcon, {
|
|
37
|
+
small: true
|
|
38
|
+
}, /*#__PURE__*/React__default.createElement(IconElement, null)), /*#__PURE__*/React__default.createElement(SideNavLinkText, null, children)));
|
|
39
|
+
});
|
|
40
|
+
SideNavLink.displayName = 'SideNavLink';
|
|
41
|
+
SideNavLink.propTypes = _objectSpread2(_objectSpread2({}, LinkPropTypes), {}, {
|
|
42
|
+
/**
|
|
43
|
+
* Specify the text content for the link
|
|
44
|
+
*/
|
|
45
|
+
children: PropTypes.node.isRequired,
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Provide an optional class to be applied to the containing node
|
|
49
|
+
*/
|
|
50
|
+
className: PropTypes.string,
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Property to indicate if the side nav container is open (or not). Use to
|
|
54
|
+
* keep local state and styling in step with the SideNav expansion state.
|
|
55
|
+
*/
|
|
56
|
+
isSideNavExpanded: PropTypes.bool,
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Specify if this is a large variation of the SideNavLink
|
|
60
|
+
*/
|
|
61
|
+
large: PropTypes.bool,
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Provide an icon to render in the side navigation link. Should be a React class.
|
|
65
|
+
*/
|
|
66
|
+
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
67
|
+
});
|
|
68
|
+
SideNavLink.defaultProps = {
|
|
69
|
+
element: 'a',
|
|
70
|
+
large: false
|
|
71
|
+
}; // eslint-disable-next-line react/display-name
|
|
72
|
+
var SideNavLink$1 = SideNavLink;
|
|
73
|
+
|
|
74
|
+
export { SideNavLink$1 as default };
|
|
@@ -0,0 +1,41 @@
|
|
|
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 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 = ["className", "children"];
|
|
15
|
+
|
|
16
|
+
var SideNavLinkText = function SideNavLinkText(_ref) {
|
|
17
|
+
var customClassName = _ref.className,
|
|
18
|
+
children = _ref.children,
|
|
19
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
20
|
+
|
|
21
|
+
var prefix = usePrefix();
|
|
22
|
+
var className = cx("".concat(prefix, "--side-nav__link-text"), customClassName);
|
|
23
|
+
return /*#__PURE__*/React__default.createElement("span", _extends({}, rest, {
|
|
24
|
+
className: className
|
|
25
|
+
}), children);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
SideNavLinkText.propTypes = {
|
|
29
|
+
/**
|
|
30
|
+
* Provide the content for the link text
|
|
31
|
+
*/
|
|
32
|
+
children: PropTypes.node.isRequired,
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Provide an optional class to be applied to the containing node
|
|
36
|
+
*/
|
|
37
|
+
className: PropTypes.string
|
|
38
|
+
};
|
|
39
|
+
var SideNavLinkText$1 = SideNavLinkText;
|
|
40
|
+
|
|
41
|
+
export { SideNavLinkText$1 as default };
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2021
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, defineProperty as _defineProperty, assertThisInitialized as _assertThisInitialized, createClass as _createClass, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
|
+
import { ChevronDown } from '@carbon/icons-react';
|
|
10
|
+
import cx from 'classnames';
|
|
11
|
+
import PropTypes from 'prop-types';
|
|
12
|
+
import React__default from 'react';
|
|
13
|
+
import SideNavIcon from './SideNavIcon.js';
|
|
14
|
+
import { PrefixContext } from '../../internal/usePrefix.js';
|
|
15
|
+
import { match } from '../../internal/keyboard/match.js';
|
|
16
|
+
import { Escape } from '../../internal/keyboard/keys.js';
|
|
17
|
+
|
|
18
|
+
var _ChevronDown;
|
|
19
|
+
var SideNavMenu = /*#__PURE__*/function (_React$Component) {
|
|
20
|
+
_inherits(SideNavMenu, _React$Component);
|
|
21
|
+
|
|
22
|
+
var _super = _createSuper(SideNavMenu);
|
|
23
|
+
|
|
24
|
+
function SideNavMenu(props) {
|
|
25
|
+
var _this;
|
|
26
|
+
|
|
27
|
+
_classCallCheck(this, SideNavMenu);
|
|
28
|
+
|
|
29
|
+
_this = _super.call(this, props);
|
|
30
|
+
|
|
31
|
+
_defineProperty(_assertThisInitialized(_this), "handleToggleExpand", function () {
|
|
32
|
+
_this.setState(function (state) {
|
|
33
|
+
return {
|
|
34
|
+
isExpanded: !state.isExpanded
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
_defineProperty(_assertThisInitialized(_this), "handleKeyDown", function (event) {
|
|
40
|
+
if (match(event, Escape)) {
|
|
41
|
+
_this.setState(function () {
|
|
42
|
+
return {
|
|
43
|
+
isExpanded: false
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
_this.state = {
|
|
50
|
+
isExpanded: props.defaultExpanded || false,
|
|
51
|
+
wasPreviouslyExpanded: props.defaultExpanded || false
|
|
52
|
+
};
|
|
53
|
+
return _this;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
_createClass(SideNavMenu, [{
|
|
57
|
+
key: "render",
|
|
58
|
+
value: function render() {
|
|
59
|
+
var _cx;
|
|
60
|
+
|
|
61
|
+
var prefix = this.context;
|
|
62
|
+
var _this$props = this.props,
|
|
63
|
+
buttonRef = _this$props.buttonRef,
|
|
64
|
+
customClassName = _this$props.className,
|
|
65
|
+
children = _this$props.children,
|
|
66
|
+
IconElement = _this$props.renderIcon,
|
|
67
|
+
isActive = _this$props.isActive,
|
|
68
|
+
title = _this$props.title,
|
|
69
|
+
large = _this$props.large;
|
|
70
|
+
var isExpanded = this.state.isExpanded;
|
|
71
|
+
var hasActiveChild;
|
|
72
|
+
|
|
73
|
+
if (children) {
|
|
74
|
+
// if we have children, either a single or multiple, find if it is active
|
|
75
|
+
hasActiveChild = Array.isArray(children) ? children.some(function (child) {
|
|
76
|
+
if (child.props && (child.props.isActive === true || child.props['aria-current'])) {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return false;
|
|
81
|
+
}) : children.props && (children.props.isActive === true || children.props['aria-current']);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
var className = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--side-nav__item"), true), _defineProperty(_cx, "".concat(prefix, "--side-nav__item--active"), isActive || hasActiveChild && !isExpanded), _defineProperty(_cx, "".concat(prefix, "--side-nav__item--icon"), IconElement), _defineProperty(_cx, "".concat(prefix, "--side-nav__item--large"), large), _defineProperty(_cx, customClassName, !!customClassName), _cx));
|
|
85
|
+
return (
|
|
86
|
+
/*#__PURE__*/
|
|
87
|
+
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
|
|
88
|
+
React__default.createElement("li", {
|
|
89
|
+
className: className,
|
|
90
|
+
onKeyDown: this.handleKeyDown
|
|
91
|
+
}, /*#__PURE__*/React__default.createElement("button", {
|
|
92
|
+
"aria-expanded": isExpanded,
|
|
93
|
+
className: "".concat(prefix, "--side-nav__submenu"),
|
|
94
|
+
onClick: this.handleToggleExpand,
|
|
95
|
+
ref: buttonRef,
|
|
96
|
+
type: "button"
|
|
97
|
+
}, IconElement && /*#__PURE__*/React__default.createElement(SideNavIcon, null, /*#__PURE__*/React__default.createElement(IconElement, null)), /*#__PURE__*/React__default.createElement("span", {
|
|
98
|
+
className: "".concat(prefix, "--side-nav__submenu-title")
|
|
99
|
+
}, title), /*#__PURE__*/React__default.createElement(SideNavIcon, {
|
|
100
|
+
className: "".concat(prefix, "--side-nav__submenu-chevron"),
|
|
101
|
+
small: true
|
|
102
|
+
}, _ChevronDown || (_ChevronDown = /*#__PURE__*/React__default.createElement(ChevronDown, {
|
|
103
|
+
size: 20
|
|
104
|
+
})))), /*#__PURE__*/React__default.createElement("ul", {
|
|
105
|
+
className: "".concat(prefix, "--side-nav__menu")
|
|
106
|
+
}, children))
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
}]);
|
|
110
|
+
|
|
111
|
+
return SideNavMenu;
|
|
112
|
+
}(React__default.Component);
|
|
113
|
+
|
|
114
|
+
_defineProperty(SideNavMenu, "contextType", PrefixContext);
|
|
115
|
+
|
|
116
|
+
_defineProperty(SideNavMenu, "propTypes", {
|
|
117
|
+
buttonRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
|
|
118
|
+
current: PropTypes.any
|
|
119
|
+
})]),
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Provide <SideNavMenuItem>'s inside of the `SideNavMenu`
|
|
123
|
+
*/
|
|
124
|
+
children: PropTypes.node,
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Provide an optional class to be applied to the containing node
|
|
128
|
+
*/
|
|
129
|
+
className: PropTypes.string,
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Specify whether the menu should default to expanded. By default, it will
|
|
133
|
+
* be closed.
|
|
134
|
+
*/
|
|
135
|
+
defaultExpanded: PropTypes.bool,
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Specify whether the `SideNavMenu` is "active". `SideNavMenu` should be
|
|
139
|
+
* considered active if one of its menu items are a link for the current
|
|
140
|
+
* page.
|
|
141
|
+
*/
|
|
142
|
+
isActive: PropTypes.bool,
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Property to indicate if the side nav container is open (or not). Use to
|
|
146
|
+
* keep local state and styling in step with the SideNav expansion state.
|
|
147
|
+
*/
|
|
148
|
+
isSideNavExpanded: PropTypes.bool,
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Specify if this is a large variation of the SideNavMenu
|
|
152
|
+
*/
|
|
153
|
+
large: PropTypes.bool,
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Pass in a custom icon to render next to the `SideNavMenu` title
|
|
157
|
+
*/
|
|
158
|
+
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Provide the text for the overall menu name
|
|
162
|
+
*/
|
|
163
|
+
title: PropTypes.string.isRequired
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
_defineProperty(SideNavMenu, "defaultProps", {
|
|
167
|
+
defaultExpanded: false,
|
|
168
|
+
isActive: false,
|
|
169
|
+
large: false
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
_defineProperty(SideNavMenu, "getDerivedStateFromProps", function (props, state) {
|
|
173
|
+
var derivedState = null;
|
|
174
|
+
|
|
175
|
+
if (props.isSideNavExpanded === false && state.isExpanded === true) {
|
|
176
|
+
derivedState = {
|
|
177
|
+
isExpanded: props.isSideNavExpanded,
|
|
178
|
+
wasPreviouslyExpanded: true
|
|
179
|
+
};
|
|
180
|
+
} else if (props.isSideNavExpanded === true && state.wasPreviouslyExpanded === true) {
|
|
181
|
+
derivedState = {
|
|
182
|
+
isExpanded: props.isSideNavExpanded,
|
|
183
|
+
wasPreviouslyExpanded: false
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
return derivedState;
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
var SideNavMenuForwardRef = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
191
|
+
return /*#__PURE__*/React__default.createElement(SideNavMenu, _extends({}, props, {
|
|
192
|
+
buttonRef: ref
|
|
193
|
+
}));
|
|
194
|
+
});
|
|
195
|
+
SideNavMenuForwardRef.displayName = 'SideNavMenu';
|
|
196
|
+
var SideNavMenuClassic = SideNavMenuForwardRef;
|
|
197
|
+
|
|
198
|
+
export { SideNavMenu, SideNavMenuClassic as default };
|
|
@@ -0,0 +1,57 @@
|
|
|
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 SideNavLinkText from './SideNavLinkText.js';
|
|
13
|
+
import Link from './Link.js';
|
|
14
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
15
|
+
|
|
16
|
+
var _excluded = ["children", "className", "isActive"];
|
|
17
|
+
var SideNavMenuItem = /*#__PURE__*/React__default.forwardRef(function SideNavMenuItem(props, ref) {
|
|
18
|
+
var _cx;
|
|
19
|
+
|
|
20
|
+
var prefix = usePrefix();
|
|
21
|
+
|
|
22
|
+
var children = props.children,
|
|
23
|
+
customClassName = props.className,
|
|
24
|
+
isActive = props.isActive,
|
|
25
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
26
|
+
|
|
27
|
+
var className = cx("".concat(prefix, "--side-nav__menu-item"), customClassName);
|
|
28
|
+
var linkClassName = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--side-nav__link"), true), _defineProperty(_cx, "".concat(prefix, "--side-nav__link--current"), isActive), _cx));
|
|
29
|
+
return /*#__PURE__*/React__default.createElement("li", {
|
|
30
|
+
className: className
|
|
31
|
+
}, /*#__PURE__*/React__default.createElement(Link, _extends({}, rest, {
|
|
32
|
+
className: linkClassName,
|
|
33
|
+
ref: ref
|
|
34
|
+
}), /*#__PURE__*/React__default.createElement(SideNavLinkText, null, children)));
|
|
35
|
+
});
|
|
36
|
+
SideNavMenuItem.displayName = 'SideNavMenuItem';
|
|
37
|
+
SideNavMenuItem.propTypes = {
|
|
38
|
+
/**
|
|
39
|
+
* Specify the children to be rendered inside of the `SideNavMenuItem`
|
|
40
|
+
*/
|
|
41
|
+
children: PropTypes.node,
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Provide an optional class to be applied to the containing node
|
|
45
|
+
*/
|
|
46
|
+
className: PropTypes.string,
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Optionally specify whether the link is "active". An active link is one that
|
|
50
|
+
* has an href that is the same as the current page. Can also pass in
|
|
51
|
+
* `aria-current="page"`, as well.
|
|
52
|
+
*/
|
|
53
|
+
isActive: PropTypes.bool
|
|
54
|
+
};
|
|
55
|
+
var SideNavMenuItem$1 = SideNavMenuItem;
|
|
56
|
+
|
|
57
|
+
export { SideNavMenuItem$1 as default };
|
|
@@ -0,0 +1,80 @@
|
|
|
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 { ChevronDown } from '@carbon/icons-react';
|
|
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 _ChevronDown;
|
|
15
|
+
var SideNavSwitcher = /*#__PURE__*/React__default.forwardRef(function SideNavSwitcher(props, ref) {
|
|
16
|
+
var prefix = usePrefix();
|
|
17
|
+
var customClassName = props.className,
|
|
18
|
+
labelText = props.labelText,
|
|
19
|
+
onChange = props.onChange,
|
|
20
|
+
options = props.options;
|
|
21
|
+
var className = cx("".concat(prefix, "--side-nav__switcher"), customClassName); // Note for usage around `onBlur`: https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-onchange.md
|
|
22
|
+
|
|
23
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
24
|
+
className: className
|
|
25
|
+
}, /*#__PURE__*/React__default.createElement("label", {
|
|
26
|
+
htmlFor: "side-nav-switcher",
|
|
27
|
+
className: "".concat(prefix, "--assistive-text")
|
|
28
|
+
}, labelText), /*#__PURE__*/React__default.createElement("select", {
|
|
29
|
+
id: "carbon-side-nav-switcher",
|
|
30
|
+
className: "".concat(prefix, "--side-nav__select"),
|
|
31
|
+
defaultValue: "",
|
|
32
|
+
onBlur: onChange,
|
|
33
|
+
onChange: onChange,
|
|
34
|
+
ref: ref
|
|
35
|
+
}, /*#__PURE__*/React__default.createElement("option", {
|
|
36
|
+
className: "".concat(prefix, "--side-nav__option"),
|
|
37
|
+
disabled: true,
|
|
38
|
+
hidden: true,
|
|
39
|
+
value: ""
|
|
40
|
+
}, labelText), options.map(function (option) {
|
|
41
|
+
return /*#__PURE__*/React__default.createElement("option", {
|
|
42
|
+
key: option,
|
|
43
|
+
className: "".concat(prefix, "--side-nav__option"),
|
|
44
|
+
value: option
|
|
45
|
+
}, option);
|
|
46
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
47
|
+
className: "".concat(prefix, "--side-nav__switcher-chevron")
|
|
48
|
+
}, _ChevronDown || (_ChevronDown = /*#__PURE__*/React__default.createElement(ChevronDown, {
|
|
49
|
+
size: 20
|
|
50
|
+
}))));
|
|
51
|
+
});
|
|
52
|
+
SideNavSwitcher.displayName = 'SideNavSwitcher';
|
|
53
|
+
SideNavSwitcher.propTypes = {
|
|
54
|
+
/**
|
|
55
|
+
* Provide an optional class to be applied to the containing node
|
|
56
|
+
*/
|
|
57
|
+
className: PropTypes.string,
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Provide the label for the switcher. This will be the first visible option
|
|
61
|
+
* when someone views this control
|
|
62
|
+
*/
|
|
63
|
+
labelText: PropTypes.string.isRequired,
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Provide a callback function that is called whenever the switcher value is
|
|
67
|
+
* updated
|
|
68
|
+
*/
|
|
69
|
+
onChange: PropTypes.func,
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Provide an array of options to be rendered in the switcher as an
|
|
73
|
+
* `<option>`. The text value will be what is displayed to the user and is set
|
|
74
|
+
* as the `value` prop for each `<option>`.
|
|
75
|
+
*/
|
|
76
|
+
options: PropTypes.arrayOf(PropTypes.string).isRequired
|
|
77
|
+
};
|
|
78
|
+
var SideNavSwitcher$1 = SideNavSwitcher;
|
|
79
|
+
|
|
80
|
+
export { SideNavSwitcher$1 as default };
|
|
@@ -0,0 +1,57 @@
|
|
|
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 cx from 'classnames';
|
|
10
|
+
import React__default from 'react';
|
|
11
|
+
import PropTypes from 'prop-types';
|
|
12
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
13
|
+
|
|
14
|
+
var _excluded = ["children", "className", "href", "tabIndex"];
|
|
15
|
+
|
|
16
|
+
var SkipToContent = function SkipToContent(_ref) {
|
|
17
|
+
var children = _ref.children,
|
|
18
|
+
customClassName = _ref.className,
|
|
19
|
+
href = _ref.href,
|
|
20
|
+
tabIndex = _ref.tabIndex,
|
|
21
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
22
|
+
|
|
23
|
+
var prefix = usePrefix();
|
|
24
|
+
var className = cx("".concat(prefix, "--skip-to-content"), customClassName);
|
|
25
|
+
return /*#__PURE__*/React__default.createElement("a", _extends({}, rest, {
|
|
26
|
+
className: className,
|
|
27
|
+
href: href,
|
|
28
|
+
tabIndex: tabIndex
|
|
29
|
+
}), children);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
SkipToContent.propTypes = {
|
|
33
|
+
/**
|
|
34
|
+
* Provide text to display in the SkipToContent `a` tag
|
|
35
|
+
*/
|
|
36
|
+
children: PropTypes.string.isRequired,
|
|
37
|
+
className: PropTypes.string,
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Provide the `href` to the id of the element on your package that is the
|
|
41
|
+
* main content.
|
|
42
|
+
*/
|
|
43
|
+
href: PropTypes.string.isRequired,
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Optionally override the default tabindex of 0
|
|
47
|
+
*/
|
|
48
|
+
tabIndex: PropTypes.string
|
|
49
|
+
};
|
|
50
|
+
SkipToContent.defaultProps = {
|
|
51
|
+
children: 'Skip to main content',
|
|
52
|
+
href: '#main-content',
|
|
53
|
+
tabIndex: '0'
|
|
54
|
+
};
|
|
55
|
+
var SkipToContent$1 = SkipToContent;
|
|
56
|
+
|
|
57
|
+
export { SkipToContent$1 as default };
|