@redsift/design-system 11.6.0-muiv5-alpha.2 → 11.6.0-muiv5-alpha.4
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/components/alert/Alert.js +8 -8
- package/components/alert/Alert.js.map +1 -1
- package/components/app-bar/AppBar.js +11 -11
- package/components/app-bar/AppBar.js.map +1 -1
- package/components/app-container/AppContainer.js +16 -16
- package/components/app-container/AppContainer.js.map +1 -1
- package/components/app-container/context.js +2 -2
- package/components/app-container/context.js.map +1 -1
- package/components/app-content/AppContent.js +2 -2
- package/components/app-content/AppContent.js.map +1 -1
- package/components/app-side-panel/AppSidePanel.js +8 -8
- package/components/app-side-panel/AppSidePanel.js.map +1 -1
- package/components/app-side-panel/useAppSidePanel.js +2 -2
- package/components/app-side-panel/useAppSidePanel.js.map +1 -1
- package/components/badge/Badge.js +2 -2
- package/components/badge/Badge.js.map +1 -1
- package/components/breadcrumb-item/BreadcrumbItem.js +2 -2
- package/components/breadcrumb-item/BreadcrumbItem.js.map +1 -1
- package/components/breadcrumbs/Breadcrumbs.js +7 -7
- package/components/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/components/button/Button.js +7 -7
- package/components/button/Button.js.map +1 -1
- package/components/button-group/ButtonGroup.js +4 -4
- package/components/button-group/ButtonGroup.js.map +1 -1
- package/components/button-link/ButtonLink.js +6 -6
- package/components/button-link/ButtonLink.js.map +1 -1
- package/components/card/Card.js +7 -7
- package/components/card/Card.js.map +1 -1
- package/components/card-actions/CardActions.js +2 -2
- package/components/card-actions/CardActions.js.map +1 -1
- package/components/card-body/CardBody.js +2 -2
- package/components/card-body/CardBody.js.map +1 -1
- package/components/card-header/CardHeader.js +7 -7
- package/components/card-header/CardHeader.js.map +1 -1
- package/components/checkbox/Checkbox.js +7 -7
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/checkbox-group/CheckboxGroup.js +7 -7
- package/components/checkbox-group/CheckboxGroup.js.map +1 -1
- package/components/checkbox-group/context.js +2 -2
- package/components/checkbox-group/context.js.map +1 -1
- package/components/conditional-wrapper/ConditionalWrapper.js +2 -2
- package/components/conditional-wrapper/ConditionalWrapper.js.map +1 -1
- package/components/detailed-card/DetailedCard.js +20 -20
- package/components/detailed-card/DetailedCard.js.map +1 -1
- package/components/detailed-card/types.d.ts +10 -1
- package/components/detailed-card-collapsible-section-items/DetailedCardCollapsibleSectionItems.js +3 -3
- package/components/detailed-card-collapsible-section-items/DetailedCardCollapsibleSectionItems.js.map +1 -1
- package/components/detailed-card-header/DetailedCardHeader.js +4 -4
- package/components/detailed-card-header/DetailedCardHeader.js.map +1 -1
- package/components/detailed-card-section/DetailedCardSection.js +10 -10
- package/components/detailed-card-section/DetailedCardSection.js.map +1 -1
- package/components/detailed-card-section-item/DetailedCardSectionItem.js +12 -12
- package/components/detailed-card-section-item/DetailedCardSectionItem.js.map +1 -1
- package/components/flexbox/Flexbox.js +3 -3
- package/components/flexbox/Flexbox.js.map +1 -1
- package/components/focus-within-group/FocusWithinGroup.js +2 -2
- package/components/focus-within-group/FocusWithinGroup.js.map +1 -1
- package/components/focus-within-group/context.js +2 -2
- package/components/focus-within-group/context.js.map +1 -1
- package/components/grid/Grid.js +3 -3
- package/components/grid/Grid.js.map +1 -1
- package/components/grid-item/GridItem.js +2 -2
- package/components/grid-item/GridItem.js.map +1 -1
- package/components/heading/Heading.js +2 -2
- package/components/heading/Heading.js.map +1 -1
- package/components/icon/Icon.js +5 -5
- package/components/icon/Icon.js.map +1 -1
- package/components/icon-button/IconButton.js +6 -6
- package/components/icon-button/IconButton.js.map +1 -1
- package/components/icon-button-link/IconButtonLink.js +5 -5
- package/components/icon-button-link/IconButtonLink.js.map +1 -1
- package/components/item/Item.js +19 -19
- package/components/item/Item.js.map +1 -1
- package/components/link/Link.js +5 -5
- package/components/link/Link.js.map +1 -1
- package/components/link-button/LinkButton.js +5 -5
- package/components/link-button/LinkButton.js.map +1 -1
- package/components/listbox/ActiveDescendantListbox.d.ts +1 -1
- package/components/listbox/ActiveDescendantListbox.js +3 -3
- package/components/listbox/ActiveDescendantListbox.js.map +1 -1
- package/components/listbox/Listbox.js +8 -8
- package/components/listbox/Listbox.js.map +1 -1
- package/components/listbox/RovingTabindexListbox.d.ts +1 -1
- package/components/listbox/RovingTabindexListbox.js +3 -3
- package/components/listbox/RovingTabindexListbox.js.map +1 -1
- package/components/listbox/context.js +2 -2
- package/components/listbox/context.js.map +1 -1
- package/components/number/Number.js +2 -2
- package/components/number/Number.js.map +1 -1
- package/components/number-field/NumberField.js +16 -16
- package/components/number-field/NumberField.js.map +1 -1
- package/components/pill/Pill.js +10 -10
- package/components/pill/Pill.js.map +1 -1
- package/components/progress-bar/ProgressBar.js +2 -2
- package/components/progress-bar/ProgressBar.js.map +1 -1
- package/components/radio/Radio.js +6 -6
- package/components/radio/Radio.js.map +1 -1
- package/components/radio-group/RadioGroup.js +7 -7
- package/components/radio-group/RadioGroup.js.map +1 -1
- package/components/radio-group/context.js +2 -2
- package/components/radio-group/context.js.map +1 -1
- package/components/shield/Shield.js +5 -5
- package/components/shield/Shield.js.map +1 -1
- package/components/side-navigation-menu/SideNavigationMenu.js +16 -16
- package/components/side-navigation-menu/SideNavigationMenu.js.map +1 -1
- package/components/side-navigation-menu/context.js +2 -2
- package/components/side-navigation-menu/context.js.map +1 -1
- package/components/side-navigation-menu-bar/SideNavigationMenuBar.js +7 -7
- package/components/side-navigation-menu-bar/SideNavigationMenuBar.js.map +1 -1
- package/components/side-navigation-menu-bar/context.js +2 -2
- package/components/side-navigation-menu-bar/context.js.map +1 -1
- package/components/side-navigation-menu-bar/useSideNavigationMenuBar.js +4 -4
- package/components/side-navigation-menu-bar/useSideNavigationMenuBar.js.map +1 -1
- package/components/side-navigation-menu-item/SideNavigationMenuItem.js +9 -9
- package/components/side-navigation-menu-item/SideNavigationMenuItem.js.map +1 -1
- package/components/skeleton/Skeleton.js +4 -4
- package/components/skeleton/Skeleton.js.map +1 -1
- package/components/skeleton-circle/SkeletonCircle.js +4 -4
- package/components/skeleton-circle/SkeletonCircle.js.map +1 -1
- package/components/skeleton-text/SkeletonText.js +4 -4
- package/components/skeleton-text/SkeletonText.js.map +1 -1
- package/components/spinner/Spinner.js +2 -2
- package/components/spinner/Spinner.js.map +1 -1
- package/components/switch/Switch.js +9 -9
- package/components/switch/Switch.js.map +1 -1
- package/components/switch-group/SwitchGroup.js +7 -7
- package/components/switch-group/SwitchGroup.js.map +1 -1
- package/components/switch-group/context.js +2 -2
- package/components/switch-group/context.js.map +1 -1
- package/components/text/Text.js +2 -2
- package/components/text/Text.js.map +1 -1
- package/components/text-area/TextArea.js +11 -11
- package/components/text-area/TextArea.js.map +1 -1
- package/components/text-field/TextField.js +13 -13
- package/components/text-field/TextField.js.map +1 -1
- package/components/theme/context.js +2 -2
- package/components/theme/context.js.map +1 -1
- package/package.json +6 -2
- package/react-aria/react-aria/focus/useFocusable.js +2 -2
- package/react-aria/react-aria/focus/useFocusable.js.map +1 -1
- package/react-aria/react-aria/i18n/context.js +4 -4
- package/react-aria/react-aria/i18n/context.js.map +1 -1
- package/react-aria/react-aria/interactions/context.js +2 -2
- package/react-aria/react-aria/interactions/context.js.map +1 -1
- package/react-aria/react-aria/ssr/SSRProvider.js +13 -13
- package/react-aria/react-aria/ssr/SSRProvider.js.map +1 -1
- package/react-aria/react-aria/utils/mergeProps.js +2 -2
- package/react-aria/react-aria/utils/mergeProps.js.map +1 -1
- package/react-aria/react-aria/utils/useLayoutEffect.js +2 -2
- package/react-aria/react-aria/utils/useLayoutEffect.js.map +1 -1
- package/utils/filterComponents.js +2 -2
- package/utils/filterComponents.js.map +1 -1
- package/utils/isComponent.js +2 -2
- package/utils/isComponent.js.map +1 -1
- package/utils/useId.js +4 -4
- package/utils/useId.js.map +1 -1
- package/_virtual/jsx-runtime.js +0 -4
- package/_virtual/jsx-runtime.js.map +0 -1
- package/_virtual/react-jsx-runtime.development.js +0 -4
- package/_virtual/react-jsx-runtime.development.js.map +0 -1
- package/_virtual/react-jsx-runtime.production.min.js +0 -4
- package/_virtual/react-jsx-runtime.production.min.js.map +0 -1
- package/packages/popovers/src/components/tooltip/Tooltip.js +0 -62
- package/packages/popovers/src/components/tooltip/Tooltip.js.map +0 -1
- package/packages/popovers/src/components/tooltip/context.js +0 -6
- package/packages/popovers/src/components/tooltip/context.js.map +0 -1
- package/packages/popovers/src/components/tooltip/types.js +0 -28
- package/packages/popovers/src/components/tooltip/types.js.map +0 -1
- package/packages/popovers/src/components/tooltip/useTooltip.js +0 -78
- package/packages/popovers/src/components/tooltip/useTooltip.js.map +0 -1
- package/packages/popovers/src/components/tooltip/useTooltipContext.js +0 -13
- package/packages/popovers/src/components/tooltip/useTooltipContext.js.map +0 -1
- package/packages/popovers/src/components/tooltip-content/TooltipContent.js +0 -80
- package/packages/popovers/src/components/tooltip-content/TooltipContent.js.map +0 -1
- package/packages/popovers/src/components/tooltip-content/styles.js +0 -128
- package/packages/popovers/src/components/tooltip-content/styles.js.map +0 -1
- package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js +0 -47
- package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import
|
|
2
|
+
import React, { forwardRef } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { ShieldVariant } from './types.js';
|
|
5
5
|
import { StyledShield } from './styles.js';
|
|
@@ -99,7 +99,7 @@ const Shield = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
99
99
|
color,
|
|
100
100
|
icon
|
|
101
101
|
} = getVariant(variant);
|
|
102
|
-
return /*#__PURE__*/
|
|
102
|
+
return /*#__PURE__*/React.createElement(StyledShield, _extends({}, forwardedProps, {
|
|
103
103
|
"aria-hidden": ariaLabel ? ariaHidden ? ariaHidden : undefined : true,
|
|
104
104
|
"aria-label": ariaLabel,
|
|
105
105
|
className: classNames(Shield.className, className),
|
|
@@ -109,7 +109,7 @@ const Shield = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
109
109
|
$isReversed: isReversed,
|
|
110
110
|
$theme: theme,
|
|
111
111
|
$variant: variant
|
|
112
|
-
}), /*#__PURE__*/
|
|
112
|
+
}), /*#__PURE__*/React.createElement("svg", _extends({
|
|
113
113
|
"aria-hidden": ariaLabel ? ariaHidden ? ariaHidden : undefined : true,
|
|
114
114
|
"aria-label": ariaLabel,
|
|
115
115
|
focusable: "false",
|
|
@@ -121,10 +121,10 @@ const Shield = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
121
121
|
viewBox: "0 0 20 24",
|
|
122
122
|
width: "20",
|
|
123
123
|
height: "24"
|
|
124
|
-
}, svgProps), /*#__PURE__*/
|
|
124
|
+
}, svgProps), /*#__PURE__*/React.createElement("path", {
|
|
125
125
|
d: isOutlined ? 'M1,10.9V5l9-3.9L19,5v5.9c0,5.5-3.9,10.7-9,12.1C4.9,21.6,1,16.4,1,10.9z' : 'M10,0L0,4.4v6.5C0,17,4.3,22.6,10,24c5.7-1.4,10-7,10-13.1V4.4L10,0z',
|
|
126
126
|
className: "shield"
|
|
127
|
-
}), /*#__PURE__*/
|
|
127
|
+
}), /*#__PURE__*/React.createElement("path", {
|
|
128
128
|
d: icon,
|
|
129
129
|
className: "icon"
|
|
130
130
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shield.js","sources":["../../../src/components/shield/Shield.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { NotificationsColorPalette, Comp } from '../../types';\n\nimport { ShieldProps, ShieldVariant } from './types';\nimport { StyledShield } from './styles';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Shield';\nconst CLASSNAME = 'redsift-shield';\n\nconst getVariant = (variant: ShieldVariant) => {\n switch (variant) {\n case ShieldVariant.email:\n return {\n color: NotificationsColorPalette.info,\n icon: 'M14.7,6.3H5.3c-0.6,0-1.2,0.5-1.2,1.2l0,7c0,0.6,0.5,1.2,1.2,1.2h9.3c0.6,0,1.2-0.5,1.2-1.2v-7 C15.8,6.9,15.3,6.3,14.7,6.3z M14.7,14.5H5.3V8.7l4.7,2.9l4.7-2.9V14.5z M10,10.4L5.3,7.5h9.3L10,10.4z',\n };\n case ShieldVariant.fail:\n return {\n color: NotificationsColorPalette.error,\n icon: 'M9,15V5h2v10H9z M9,19v-2h2v2H9z',\n };\n case ShieldVariant.failLocked:\n return {\n color: NotificationsColorPalette.error,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.failUnlocked:\n return {\n color: NotificationsColorPalette.error,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n case ShieldVariant.ignored:\n return {\n color: NotificationsColorPalette['no-data'],\n icon: 'M10,6.2c-3.2,0-5.8,2.6-5.8,5.8c0,3.2,2.6,5.8,5.8,5.8s5.8-2.6,5.8-5.8C15.8,8.8,13.2,6.2,10,6.2z M5.3,12 c0-2.6,2.1-4.7,4.7-4.7c1.1,0,2.1,0.4,2.9,1l-6.5,6.5C5.7,14.1,5.3,13.1,5.3,12z M10,16.7c-1.1,0-2.1-0.4-2.9-1l6.5-6.5 c0.6,0.8,1,1.8,1,2.9C14.7,14.6,12.6,16.7,10,16.7z',\n };\n case ShieldVariant.noData:\n return {\n color: NotificationsColorPalette['no-data'],\n icon: 'M16,13H4v-2h12V13z',\n };\n case ShieldVariant.question:\n return {\n color: NotificationsColorPalette.question,\n icon: 'M9,17h2v-2H9V17z M10,5C7.8,5,6,6.8,6,9h2c0-1.1,0.9-2,2-2s2,0.9,2,2c0,2-3,1.8-3,5h2c0-2.2,3-2.5,3-5 C14,6.8,12.2,5,10,5z',\n };\n case ShieldVariant.success:\n return {\n color: NotificationsColorPalette.success,\n icon: 'M8,16.6l8.5-8.5l-1.4-1.4L8,13.7l-2.8-2.8l-1.4,1.4L8,16.6z',\n };\n case ShieldVariant.successLocked:\n return {\n color: NotificationsColorPalette.success,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.successUnlocked:\n return {\n color: NotificationsColorPalette.success,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n case ShieldVariant.warning:\n return {\n color: NotificationsColorPalette.warning,\n icon: 'M10,5c0.7,0,1.4,0.4,1.7,1l4,7c0.4,0.6,0.4,1.4,0,2c-0.4,0.6-1,1-1.7,1H6c-0.7,0-1.4-0.4-1.7-1 c-0.4-0.6-0.4-1.4,0-2l4-7C8.6,5.4,9.3,5,10,5z M10,7l-4,7h8L10,7z',\n };\n case ShieldVariant.warningLocked:\n return {\n color: NotificationsColorPalette.warning,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.warningUnlocked:\n return {\n color: NotificationsColorPalette.warning,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n }\n};\n\n/**\n * The Shield component.\n */\nexport const Shield: Comp<ShieldProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n className,\n svgProps,\n isOutlined,\n isReversed,\n theme: propsTheme,\n variant = ShieldVariant.success,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const { color, icon } = getVariant(variant!);\n\n return (\n <StyledShield\n {...forwardedProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Shield.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $color={color}\n $isOutlined={isOutlined}\n $isReversed={isReversed}\n $theme={theme}\n $variant={variant}\n >\n <svg\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n style={{ verticalAlign: '-0.125em' }}\n viewBox=\"0 0 20 24\"\n width=\"20\"\n height=\"24\"\n {...svgProps}\n >\n <path\n d={\n isOutlined\n ? 'M1,10.9V5l9-3.9L19,5v5.9c0,5.5-3.9,10.7-9,12.1C4.9,21.6,1,16.4,1,10.9z'\n : 'M10,0L0,4.4v6.5C0,17,4.3,22.6,10,24c5.7-1.4,10-7,10-13.1V4.4L10,0z'\n }\n className=\"shield\"\n />\n <path d={icon} className=\"icon\" />\n </svg>\n </StyledShield>\n );\n});\nShield.className = CLASSNAME;\nShield.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getVariant","variant","ShieldVariant","email","color","NotificationsColorPalette","info","icon","fail","error","failLocked","failUnlocked","ignored","noData","question","success","successLocked","successUnlocked","warning","warningLocked","warningUnlocked","Shield","forwardRef","props","ref","ariaHidden","ariaLabel","className","svgProps","isOutlined","isReversed","theme","propsTheme","forwardedProps","_objectWithoutProperties","_excluded","useTheme","React","createElement","StyledShield","_extends","undefined","classNames","$color","$isOutlined","$isReversed","$theme","$variant","focusable","preserveAspectRatio","role","style","verticalAlign","viewBox","width","height","d","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Shield.js","sources":["../../../src/components/shield/Shield.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { NotificationsColorPalette, Comp } from '../../types';\n\nimport { ShieldProps, ShieldVariant } from './types';\nimport { StyledShield } from './styles';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Shield';\nconst CLASSNAME = 'redsift-shield';\n\nconst getVariant = (variant: ShieldVariant) => {\n switch (variant) {\n case ShieldVariant.email:\n return {\n color: NotificationsColorPalette.info,\n icon: 'M14.7,6.3H5.3c-0.6,0-1.2,0.5-1.2,1.2l0,7c0,0.6,0.5,1.2,1.2,1.2h9.3c0.6,0,1.2-0.5,1.2-1.2v-7 C15.8,6.9,15.3,6.3,14.7,6.3z M14.7,14.5H5.3V8.7l4.7,2.9l4.7-2.9V14.5z M10,10.4L5.3,7.5h9.3L10,10.4z',\n };\n case ShieldVariant.fail:\n return {\n color: NotificationsColorPalette.error,\n icon: 'M9,15V5h2v10H9z M9,19v-2h2v2H9z',\n };\n case ShieldVariant.failLocked:\n return {\n color: NotificationsColorPalette.error,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.failUnlocked:\n return {\n color: NotificationsColorPalette.error,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n case ShieldVariant.ignored:\n return {\n color: NotificationsColorPalette['no-data'],\n icon: 'M10,6.2c-3.2,0-5.8,2.6-5.8,5.8c0,3.2,2.6,5.8,5.8,5.8s5.8-2.6,5.8-5.8C15.8,8.8,13.2,6.2,10,6.2z M5.3,12 c0-2.6,2.1-4.7,4.7-4.7c1.1,0,2.1,0.4,2.9,1l-6.5,6.5C5.7,14.1,5.3,13.1,5.3,12z M10,16.7c-1.1,0-2.1-0.4-2.9-1l6.5-6.5 c0.6,0.8,1,1.8,1,2.9C14.7,14.6,12.6,16.7,10,16.7z',\n };\n case ShieldVariant.noData:\n return {\n color: NotificationsColorPalette['no-data'],\n icon: 'M16,13H4v-2h12V13z',\n };\n case ShieldVariant.question:\n return {\n color: NotificationsColorPalette.question,\n icon: 'M9,17h2v-2H9V17z M10,5C7.8,5,6,6.8,6,9h2c0-1.1,0.9-2,2-2s2,0.9,2,2c0,2-3,1.8-3,5h2c0-2.2,3-2.5,3-5 C14,6.8,12.2,5,10,5z',\n };\n case ShieldVariant.success:\n return {\n color: NotificationsColorPalette.success,\n icon: 'M8,16.6l8.5-8.5l-1.4-1.4L8,13.7l-2.8-2.8l-1.4,1.4L8,16.6z',\n };\n case ShieldVariant.successLocked:\n return {\n color: NotificationsColorPalette.success,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.successUnlocked:\n return {\n color: NotificationsColorPalette.success,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n case ShieldVariant.warning:\n return {\n color: NotificationsColorPalette.warning,\n icon: 'M10,5c0.7,0,1.4,0.4,1.7,1l4,7c0.4,0.6,0.4,1.4,0,2c-0.4,0.6-1,1-1.7,1H6c-0.7,0-1.4-0.4-1.7-1 c-0.4-0.6-0.4-1.4,0-2l4-7C8.6,5.4,9.3,5,10,5z M10,7l-4,7h8L10,7z',\n };\n case ShieldVariant.warningLocked:\n return {\n color: NotificationsColorPalette.warning,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.warningUnlocked:\n return {\n color: NotificationsColorPalette.warning,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n }\n};\n\n/**\n * The Shield component.\n */\nexport const Shield: Comp<ShieldProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n className,\n svgProps,\n isOutlined,\n isReversed,\n theme: propsTheme,\n variant = ShieldVariant.success,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const { color, icon } = getVariant(variant!);\n\n return (\n <StyledShield\n {...forwardedProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Shield.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $color={color}\n $isOutlined={isOutlined}\n $isReversed={isReversed}\n $theme={theme}\n $variant={variant}\n >\n <svg\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n style={{ verticalAlign: '-0.125em' }}\n viewBox=\"0 0 20 24\"\n width=\"20\"\n height=\"24\"\n {...svgProps}\n >\n <path\n d={\n isOutlined\n ? 'M1,10.9V5l9-3.9L19,5v5.9c0,5.5-3.9,10.7-9,12.1C4.9,21.6,1,16.4,1,10.9z'\n : 'M10,0L0,4.4v6.5C0,17,4.3,22.6,10,24c5.7-1.4,10-7,10-13.1V4.4L10,0z'\n }\n className=\"shield\"\n />\n <path d={icon} className=\"icon\" />\n </svg>\n </StyledShield>\n );\n});\nShield.className = CLASSNAME;\nShield.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getVariant","variant","ShieldVariant","email","color","NotificationsColorPalette","info","icon","fail","error","failLocked","failUnlocked","ignored","noData","question","success","successLocked","successUnlocked","warning","warningLocked","warningUnlocked","Shield","forwardRef","props","ref","ariaHidden","ariaLabel","className","svgProps","isOutlined","isReversed","theme","propsTheme","forwardedProps","_objectWithoutProperties","_excluded","useTheme","React","createElement","StyledShield","_extends","undefined","classNames","$color","$isOutlined","$isReversed","$theme","$variant","focusable","preserveAspectRatio","role","style","verticalAlign","viewBox","width","height","d","displayName"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import
|
|
2
|
+
import React, { forwardRef, useRef, useContext, useState, useEffect, useReducer, useCallback, useMemo } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { mdiChevronDown } from '@redsift/icons';
|
|
5
5
|
import { StyledSideNavigationMenu } from './styles.js';
|
|
@@ -75,10 +75,10 @@ const SideNavigationMenu = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
75
75
|
if (child.props.isCurrent) {
|
|
76
76
|
currentPosition.current = index;
|
|
77
77
|
}
|
|
78
|
-
return /*#__PURE__*/
|
|
78
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
79
79
|
key: (_child$key = child.key) !== null && _child$key !== void 0 ? _child$key : index,
|
|
80
80
|
role: "none"
|
|
81
|
-
}, /*#__PURE__*/
|
|
81
|
+
}, /*#__PURE__*/React.cloneElement(child, {
|
|
82
82
|
isDisabled: child.props.isDisabled || isDisabled || undefined,
|
|
83
83
|
isSecondLevel: true,
|
|
84
84
|
key: (_child$key2 = child.key) !== null && _child$key2 !== void 0 ? _child$key2 : index
|
|
@@ -300,11 +300,11 @@ const SideNavigationMenu = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
300
300
|
}
|
|
301
301
|
};
|
|
302
302
|
const sideNavigationVariant = sideNavigationMenuBarContext === null || sideNavigationMenuBarContext === void 0 ? void 0 : sideNavigationMenuBarContext.sideNavigationMenuBarVariant;
|
|
303
|
-
return /*#__PURE__*/
|
|
303
|
+
return /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
304
304
|
value: {
|
|
305
305
|
theme
|
|
306
306
|
}
|
|
307
|
-
}, /*#__PURE__*/
|
|
307
|
+
}, /*#__PURE__*/React.createElement(StyledSideNavigationMenu, _extends({}, forwardedProps, {
|
|
308
308
|
$isDisabled: isDisabled,
|
|
309
309
|
$isExpanded: isExpanded,
|
|
310
310
|
$numberOfChildren: renderedMenuItems.length,
|
|
@@ -314,23 +314,23 @@ const SideNavigationMenu = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
314
314
|
id: id,
|
|
315
315
|
ref: ref,
|
|
316
316
|
tabIndex: undefined
|
|
317
|
-
}), /*#__PURE__*/
|
|
317
|
+
}), /*#__PURE__*/React.createElement(SideNavigationMenuContext.Provider, {
|
|
318
318
|
value: value
|
|
319
|
-
}, /*#__PURE__*/
|
|
319
|
+
}, /*#__PURE__*/React.createElement(Flexbox, {
|
|
320
320
|
flexDirection: "row",
|
|
321
321
|
gap: "0px"
|
|
322
|
-
}, /*#__PURE__*/
|
|
322
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
323
323
|
className: `${SideNavigationMenu.className}__current-indicator-container`
|
|
324
|
-
}, currentPosition.current !== -1 ? /*#__PURE__*/
|
|
324
|
+
}, currentPosition.current !== -1 ? /*#__PURE__*/React.createElement(StyledSideNavigationMenuItemIndicator, {
|
|
325
325
|
$theme: theme,
|
|
326
326
|
style: {
|
|
327
327
|
position: 'relative',
|
|
328
328
|
top: isExpanded ? `${32 + currentPosition.current * 32}px` : 0,
|
|
329
329
|
transition: 'top 300ms ease-out'
|
|
330
330
|
}
|
|
331
|
-
}) : null), /*#__PURE__*/
|
|
331
|
+
}) : null), /*#__PURE__*/React.createElement("div", {
|
|
332
332
|
className: `${SideNavigationMenu.className}__menu-container`
|
|
333
|
-
}, /*#__PURE__*/
|
|
333
|
+
}, /*#__PURE__*/React.createElement("button", _extends({}, buttonProps, {
|
|
334
334
|
"aria-disabled": isDisabled,
|
|
335
335
|
"aria-expanded": isExpanded ? 'true' : 'false',
|
|
336
336
|
"aria-haspopup": "true",
|
|
@@ -338,22 +338,22 @@ const SideNavigationMenu = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
338
338
|
role: "menuitem",
|
|
339
339
|
tabIndex: tabIndex !== undefined ? tabIndex : isFirstChild ? 0 : -1,
|
|
340
340
|
type: "button"
|
|
341
|
-
}, buttonEventHandler), /*#__PURE__*/
|
|
341
|
+
}, buttonEventHandler), /*#__PURE__*/React.createElement(Icon, _extends({
|
|
342
342
|
color: `var(--redsift-side-navigation-color-menu-item-text-${isDisabled ? 'disabled' : 'resting'})`
|
|
343
343
|
}, iconProps, {
|
|
344
344
|
icon: icon,
|
|
345
345
|
ref: iconRef,
|
|
346
346
|
className: classNames(iconProps === null || iconProps === void 0 ? void 0 : iconProps.className, 'first'),
|
|
347
347
|
size: IconSize.medium
|
|
348
|
-
})), /*#__PURE__*/
|
|
348
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
349
349
|
className: "content"
|
|
350
|
-
}, ariaLabel), hasBadge && (!isExpanded || keepBadgeVisible) ? /*#__PURE__*/
|
|
350
|
+
}, ariaLabel), hasBadge && (!isExpanded || keepBadgeVisible) ? /*#__PURE__*/React.createElement(Badge, _extends({
|
|
351
351
|
color: "error"
|
|
352
|
-
}, badgeProps)) : null, /*#__PURE__*/
|
|
352
|
+
}, badgeProps)) : null, /*#__PURE__*/React.createElement(Icon, {
|
|
353
353
|
icon: mdiChevronDown,
|
|
354
354
|
className: `${SideNavigationMenu.className}__expand-icon`,
|
|
355
355
|
size: IconSize.medium
|
|
356
|
-
})), /*#__PURE__*/
|
|
356
|
+
})), /*#__PURE__*/React.createElement("ul", _extends({}, menuProps, {
|
|
357
357
|
"aria-label": ariaLabel,
|
|
358
358
|
"aria-orientation": "vertical",
|
|
359
359
|
ref: menuRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavigationMenu.js","sources":["../../../src/components/side-navigation-menu/SideNavigationMenu.tsx"],"sourcesContent":["import React, {\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n MutableRefObject,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { mdiChevronDown } from '@redsift/icons';\nimport { Comp } from '../../types';\nimport { SideNavigationMenuItem } from '../side-navigation-menu-item';\nimport { Icon, IconSize } from '../icon';\nimport { Badge } from '../badge';\nimport { StyledSideNavigationMenu } from './styles';\nimport { SideNavigationMenuContextProps, SideNavigationMenuProps, SideNavigationMenuReducerActionType } from './types';\nimport { SideNavigationMenuContext } from './context';\nimport { SideNavigationMenuReducer } from './reducer';\nimport { SideNavigationMenuBarContext } from '../side-navigation-menu-bar/context';\nimport { warnIfNoAccessibleLabelFound } from '../../utils/warnIfNoAccessibleLabelFound';\nimport { filterComponents } from '../../utils/filterComponents';\nimport { Flexbox } from '../flexbox';\nimport { StyledSideNavigationMenuItemIndicator } from '../side-navigation-menu-item/styles';\nimport { AppContainerContext } from '../app-container';\nimport { AppSidePanelVariant } from '../app-side-panel';\nimport { ThemeProvider, useTheme } from '../theme';\nimport { useId } from '../../utils';\n\nconst COMPONENT_NAME = 'SideNavigationMenu';\nconst CLASSNAME = 'redsift-side-navigation-menu';\n\n/**\n * The SideNavigationMenu component.\n */\nexport const SideNavigationMenu: Comp<SideNavigationMenuProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n 'aria-label': ariaLabel,\n buttonProps = {},\n buttonRef = useRef<HTMLButtonElement>() as MutableRefObject<HTMLButtonElement>,\n children,\n className,\n badgeProps,\n hasBadge,\n icon,\n iconProps,\n iconRef = useRef<HTMLElement>(),\n id: propsId,\n isDisabled,\n isExpanded: propsIsExpanded,\n keepBadgeVisible,\n menuProps = {},\n menuRef = useRef<HTMLUListElement>(),\n tabIndex,\n theme: propsTheme,\n ...forwardedProps\n } = props;\n const [_id] = useId();\n const id = propsId ?? _id;\n\n warnIfNoAccessibleLabelFound(props, undefined, 'SideNavigationMenu');\n\n const appContainerState = useContext(AppContainerContext);\n const sideNavigationMenuBarContext = useContext(SideNavigationMenuBarContext);\n const theme = useTheme(propsTheme);\n const [isFirstChild, setIsFirstChild] = useState(false);\n const currentPosition = useRef(-1);\n const { menuItems: menubarItems } = sideNavigationMenuBarContext || {};\n\n useEffect(() => {\n currentPosition.current = -1;\n });\n\n /**\n * Create an array containing only valid children which can only be SideNavigationMenuItem.\n * This prevent the navigation menubar to have more than two levels.\n */\n const childArray = filterComponents(SideNavigationMenuItem)(children);\n const renderedMenuItems = childArray.map((child, index) => {\n if (child.props.isCurrent) {\n currentPosition.current = index;\n }\n return (\n <li key={child.key ?? index} role=\"none\">\n {React.cloneElement(child, {\n isDisabled: child.props.isDisabled || isDisabled || undefined,\n isSecondLevel: true,\n key: child.key ?? index,\n })}\n </li>\n );\n });\n\n const menuItems = useRef<Set<HTMLAnchorElement | HTMLButtonElement>>(new Set()).current;\n const [state, dispatch] = useReducer(SideNavigationMenuReducer, {\n currentIndex: null!,\n isExpanded: Boolean(propsIsExpanded),\n previousIndex: null!,\n });\n const { isExpanded, currentIndex, previousIndex } = state;\n\n const first = useCallback(() => dispatch({ type: SideNavigationMenuReducerActionType.Move, index: 0 }), []);\n\n const last = useCallback(\n () =>\n dispatch({\n type: SideNavigationMenuReducerActionType.Move,\n index: menuItems.size - 1,\n }),\n [menuItems.size]\n );\n\n const move = useCallback((index: number) => dispatch({ type: SideNavigationMenuReducerActionType.Move, index }), []);\n\n const open = useCallback(() => {\n sideNavigationMenuBarContext?.setCurrentOpenMenuId?.(id);\n dispatch({ type: SideNavigationMenuReducerActionType.Expand });\n appContainerState?.expandSidePanel();\n }, []);\n\n const close = useCallback(\n (focusButton?: boolean) => {\n if (isExpanded) {\n if (focusButton) {\n buttonRef.current.focus();\n }\n\n dispatch({ type: SideNavigationMenuReducerActionType.Collapse });\n }\n },\n [isExpanded]\n );\n\n useEffect(() => {\n if (sideNavigationMenuBarContext?.currentOpenMenuId && sideNavigationMenuBarContext.currentOpenMenuId !== id) {\n close();\n }\n }, [sideNavigationMenuBarContext?.currentOpenMenuId]);\n\n const previous = () => {\n const index = currentIndex === 0 ? menuItems.size - 1 : currentIndex - 1;\n move(index);\n };\n\n const next = () => {\n const index = currentIndex === menuItems.size - 1 ? 0 : currentIndex + 1;\n move(index);\n };\n\n const match = (e: React.KeyboardEvent<HTMLUListElement>) => {\n const items = Array.from(menuItems);\n\n // Reorder the array, starting with the currentNode\n const reorderedItems = [...items.slice(currentIndex), ...items.slice(0, currentIndex)];\n\n // Find all nodes that begin with the pressed letter\n const matches = reorderedItems.filter((menuItem) => {\n const { textContent } = menuItem;\n // istanbul ignore next\n const firstLetter = textContent?.toLowerCase().charAt(0);\n return e.key === firstLetter;\n });\n\n // Exit early if there are no matches\n if (!matches.length) {\n return;\n }\n\n // If the focused item is a match, focus the next match.\n // Otherwise, focus the first match\n const currentNode = items[currentIndex];\n const nextMatch = matches.includes(currentNode) ? matches[1] : matches[0];\n const index = items.findIndex((item) => {\n return item === nextMatch;\n });\n\n move(index);\n };\n\n useEffect(() => {\n if (appContainerState && appContainerState?.sidePanelVariant === AppSidePanelVariant.shrinked && isExpanded) {\n close();\n }\n }, [appContainerState?.sidePanelVariant]);\n\n const value = useMemo<SideNavigationMenuContextProps>(() => ({ menuItems }), [menuItems]);\n\n useEffect(() => {\n const items = Array.from(menuItems);\n\n if (currentIndex !== previousIndex) {\n const currentNode = items[currentIndex] as HTMLElement;\n currentNode?.focus();\n }\n }, [menuItems, currentIndex, previousIndex]);\n\n useEffect(() => {\n if (!sideNavigationMenuBarContext) {\n setIsFirstChild(true);\n return;\n }\n\n const menuItemNode = (buttonRef as MutableRefObject<HTMLButtonElement>).current;\n\n if (menuItemNode) {\n menubarItems.add(menuItemNode);\n }\n\n return () => {\n menubarItems.delete(menuItemNode);\n };\n }, [menubarItems]);\n\n const keyDownOnButton = (e: KeyboardEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n return;\n }\n const currentNode = e.target as HTMLUListElement;\n\n switch (e.code) {\n case 'Enter':\n case 'Space':\n e.stopPropagation();\n currentNode.click();\n first();\n break;\n case 'ArrowRight':\n e.stopPropagation();\n first();\n break;\n case 'ArrowLeft':\n last();\n break;\n default:\n break;\n }\n };\n\n const buttonEventHandler = {\n onClick: (event: MouseEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n return;\n }\n\n buttonProps.onClick?.(event);\n event.stopPropagation();\n if (isExpanded) {\n close();\n } else {\n open();\n }\n },\n onKeyDown: (event: KeyboardEvent<HTMLButtonElement>) => {\n buttonProps.onKeyDown?.(event);\n keyDownOnButton(event);\n },\n };\n\n const keyDownOnMenuItemList = (e: KeyboardEvent<HTMLUListElement>) => {\n const currentNode = e.target as HTMLUListElement;\n\n switch (e.code) {\n case 'ArrowUp':\n e.stopPropagation();\n e.preventDefault();\n previous();\n break;\n case 'ArrowDown':\n e.stopPropagation();\n e.preventDefault();\n next();\n break;\n case 'ArrowLeft':\n e.preventDefault();\n e.stopPropagation();\n close(true);\n break;\n case 'ArrowRight':\n e.preventDefault();\n close(!sideNavigationMenuBarContext);\n break;\n case 'Home':\n e.stopPropagation();\n e.preventDefault();\n first();\n break;\n case 'End':\n e.stopPropagation();\n e.preventDefault();\n last();\n break;\n case 'Enter':\n case 'Space':\n e.preventDefault();\n currentNode.click();\n break;\n case 'Escape':\n e.stopPropagation();\n e.preventDefault();\n close(true);\n break;\n default:\n e.stopPropagation();\n match(e);\n break;\n }\n };\n\n const menuItemListEventHandler = {\n onKeyDown: (event: KeyboardEvent<HTMLUListElement>) => {\n menuProps.onKeyDown?.(event);\n keyDownOnMenuItemList(event);\n },\n onClick: (event: MouseEvent<HTMLUListElement>) => {\n if (isDisabled) {\n return;\n }\n menuProps.onClick?.(event);\n },\n };\n\n const sideNavigationVariant = sideNavigationMenuBarContext?.sideNavigationMenuBarVariant;\n\n return (\n <ThemeProvider value={{ theme }}>\n <StyledSideNavigationMenu\n {...forwardedProps}\n $isDisabled={isDisabled}\n $isExpanded={isExpanded}\n $numberOfChildren={renderedMenuItems.length}\n $theme={theme}\n $variant={sideNavigationVariant}\n className={classNames(SideNavigationMenu.className, className)}\n id={id}\n ref={ref as MutableRefObject<HTMLDivElement>}\n tabIndex={undefined}\n >\n <SideNavigationMenuContext.Provider value={value}>\n <Flexbox flexDirection=\"row\" gap=\"0px\">\n <div className={`${SideNavigationMenu.className}__current-indicator-container`}>\n {currentPosition.current !== -1 ? (\n <StyledSideNavigationMenuItemIndicator\n $theme={theme}\n style={{\n position: 'relative',\n top: isExpanded ? `${32 + currentPosition.current * 32}px` : 0,\n transition: 'top 300ms ease-out',\n }}\n />\n ) : null}\n </div>\n <div className={`${SideNavigationMenu.className}__menu-container`}>\n <button\n {...buttonProps}\n aria-disabled={isDisabled}\n aria-expanded={isExpanded ? 'true' : 'false'}\n aria-haspopup=\"true\"\n ref={buttonRef as MutableRefObject<HTMLButtonElement>}\n role=\"menuitem\"\n tabIndex={tabIndex !== undefined ? tabIndex : isFirstChild ? 0 : -1}\n type=\"button\"\n {...buttonEventHandler}\n >\n <Icon\n color={`var(--redsift-side-navigation-color-menu-item-text-${isDisabled ? 'disabled' : 'resting'})`}\n {...iconProps}\n icon={icon!}\n ref={iconRef as MutableRefObject<HTMLElement>}\n className={classNames(iconProps?.className, 'first')}\n size={IconSize.medium}\n />\n <span className=\"content\">{ariaLabel}</span>\n {hasBadge && (!isExpanded || keepBadgeVisible) ? <Badge color=\"error\" {...badgeProps} /> : null}\n <Icon\n icon={mdiChevronDown}\n className={`${SideNavigationMenu.className}__expand-icon`}\n size={IconSize.medium}\n />\n </button>\n <ul\n {...menuProps}\n aria-label={ariaLabel}\n aria-orientation=\"vertical\"\n ref={menuRef as MutableRefObject<HTMLUListElement>}\n role=\"menu\"\n {...menuItemListEventHandler}\n >\n {renderedMenuItems}\n </ul>\n </div>\n </Flexbox>\n </SideNavigationMenuContext.Provider>\n </StyledSideNavigationMenu>\n </ThemeProvider>\n );\n});\nSideNavigationMenu.className = CLASSNAME;\nSideNavigationMenu.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","SideNavigationMenu","forwardRef","props","ref","ariaLabel","buttonProps","buttonRef","useRef","children","className","badgeProps","hasBadge","icon","iconProps","iconRef","id","propsId","isDisabled","isExpanded","propsIsExpanded","keepBadgeVisible","menuProps","menuRef","tabIndex","theme","propsTheme","forwardedProps","_objectWithoutProperties","_excluded","_id","useId","warnIfNoAccessibleLabelFound","undefined","appContainerState","useContext","AppContainerContext","sideNavigationMenuBarContext","SideNavigationMenuBarContext","useTheme","isFirstChild","setIsFirstChild","useState","currentPosition","menuItems","menubarItems","useEffect","current","childArray","filterComponents","SideNavigationMenuItem","renderedMenuItems","map","child","index","_child$key","_child$key2","isCurrent","React","createElement","key","role","cloneElement","isSecondLevel","Set","state","dispatch","useReducer","SideNavigationMenuReducer","currentIndex","Boolean","previousIndex","first","useCallback","type","SideNavigationMenuReducerActionType","Move","last","size","move","open","_sideNavigationMenuBa","setCurrentOpenMenuId","call","Expand","expandSidePanel","close","focusButton","focus","Collapse","currentOpenMenuId","previous","next","match","e","items","Array","from","reorderedItems","slice","matches","filter","menuItem","textContent","firstLetter","toLowerCase","charAt","length","currentNode","nextMatch","includes","findIndex","item","sidePanelVariant","AppSidePanelVariant","shrinked","value","useMemo","menuItemNode","add","delete","keyDownOnButton","target","code","stopPropagation","click","buttonEventHandler","onClick","event","_buttonProps$onClick","onKeyDown","_buttonProps$onKeyDow","keyDownOnMenuItemList","preventDefault","menuItemListEventHandler","_menuProps$onKeyDown","_menuProps$onClick","sideNavigationVariant","sideNavigationMenuBarVariant","ThemeProvider","StyledSideNavigationMenu","_extends","$isDisabled","$isExpanded","$numberOfChildren","$theme","$variant","classNames","SideNavigationMenuContext","Provider","Flexbox","flexDirection","gap","StyledSideNavigationMenuItemIndicator","style","position","top","transition","Icon","color","IconSize","medium","Badge","mdiChevronDown","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SideNavigationMenu.js","sources":["../../../src/components/side-navigation-menu/SideNavigationMenu.tsx"],"sourcesContent":["import React, {\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n MutableRefObject,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { mdiChevronDown } from '@redsift/icons';\nimport { Comp } from '../../types';\nimport { SideNavigationMenuItem } from '../side-navigation-menu-item';\nimport { Icon, IconSize } from '../icon';\nimport { Badge } from '../badge';\nimport { StyledSideNavigationMenu } from './styles';\nimport { SideNavigationMenuContextProps, SideNavigationMenuProps, SideNavigationMenuReducerActionType } from './types';\nimport { SideNavigationMenuContext } from './context';\nimport { SideNavigationMenuReducer } from './reducer';\nimport { SideNavigationMenuBarContext } from '../side-navigation-menu-bar/context';\nimport { warnIfNoAccessibleLabelFound } from '../../utils/warnIfNoAccessibleLabelFound';\nimport { filterComponents } from '../../utils/filterComponents';\nimport { Flexbox } from '../flexbox';\nimport { StyledSideNavigationMenuItemIndicator } from '../side-navigation-menu-item/styles';\nimport { AppContainerContext } from '../app-container';\nimport { AppSidePanelVariant } from '../app-side-panel';\nimport { ThemeProvider, useTheme } from '../theme';\nimport { useId } from '../../utils';\n\nconst COMPONENT_NAME = 'SideNavigationMenu';\nconst CLASSNAME = 'redsift-side-navigation-menu';\n\n/**\n * The SideNavigationMenu component.\n */\nexport const SideNavigationMenu: Comp<SideNavigationMenuProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n 'aria-label': ariaLabel,\n buttonProps = {},\n buttonRef = useRef<HTMLButtonElement>() as MutableRefObject<HTMLButtonElement>,\n children,\n className,\n badgeProps,\n hasBadge,\n icon,\n iconProps,\n iconRef = useRef<HTMLElement>(),\n id: propsId,\n isDisabled,\n isExpanded: propsIsExpanded,\n keepBadgeVisible,\n menuProps = {},\n menuRef = useRef<HTMLUListElement>(),\n tabIndex,\n theme: propsTheme,\n ...forwardedProps\n } = props;\n const [_id] = useId();\n const id = propsId ?? _id;\n\n warnIfNoAccessibleLabelFound(props, undefined, 'SideNavigationMenu');\n\n const appContainerState = useContext(AppContainerContext);\n const sideNavigationMenuBarContext = useContext(SideNavigationMenuBarContext);\n const theme = useTheme(propsTheme);\n const [isFirstChild, setIsFirstChild] = useState(false);\n const currentPosition = useRef(-1);\n const { menuItems: menubarItems } = sideNavigationMenuBarContext || {};\n\n useEffect(() => {\n currentPosition.current = -1;\n });\n\n /**\n * Create an array containing only valid children which can only be SideNavigationMenuItem.\n * This prevent the navigation menubar to have more than two levels.\n */\n const childArray = filterComponents(SideNavigationMenuItem)(children);\n const renderedMenuItems = childArray.map((child, index) => {\n if (child.props.isCurrent) {\n currentPosition.current = index;\n }\n return (\n <li key={child.key ?? index} role=\"none\">\n {React.cloneElement(child, {\n isDisabled: child.props.isDisabled || isDisabled || undefined,\n isSecondLevel: true,\n key: child.key ?? index,\n })}\n </li>\n );\n });\n\n const menuItems = useRef<Set<HTMLAnchorElement | HTMLButtonElement>>(new Set()).current;\n const [state, dispatch] = useReducer(SideNavigationMenuReducer, {\n currentIndex: null!,\n isExpanded: Boolean(propsIsExpanded),\n previousIndex: null!,\n });\n const { isExpanded, currentIndex, previousIndex } = state;\n\n const first = useCallback(() => dispatch({ type: SideNavigationMenuReducerActionType.Move, index: 0 }), []);\n\n const last = useCallback(\n () =>\n dispatch({\n type: SideNavigationMenuReducerActionType.Move,\n index: menuItems.size - 1,\n }),\n [menuItems.size]\n );\n\n const move = useCallback((index: number) => dispatch({ type: SideNavigationMenuReducerActionType.Move, index }), []);\n\n const open = useCallback(() => {\n sideNavigationMenuBarContext?.setCurrentOpenMenuId?.(id);\n dispatch({ type: SideNavigationMenuReducerActionType.Expand });\n appContainerState?.expandSidePanel();\n }, []);\n\n const close = useCallback(\n (focusButton?: boolean) => {\n if (isExpanded) {\n if (focusButton) {\n buttonRef.current.focus();\n }\n\n dispatch({ type: SideNavigationMenuReducerActionType.Collapse });\n }\n },\n [isExpanded]\n );\n\n useEffect(() => {\n if (sideNavigationMenuBarContext?.currentOpenMenuId && sideNavigationMenuBarContext.currentOpenMenuId !== id) {\n close();\n }\n }, [sideNavigationMenuBarContext?.currentOpenMenuId]);\n\n const previous = () => {\n const index = currentIndex === 0 ? menuItems.size - 1 : currentIndex - 1;\n move(index);\n };\n\n const next = () => {\n const index = currentIndex === menuItems.size - 1 ? 0 : currentIndex + 1;\n move(index);\n };\n\n const match = (e: React.KeyboardEvent<HTMLUListElement>) => {\n const items = Array.from(menuItems);\n\n // Reorder the array, starting with the currentNode\n const reorderedItems = [...items.slice(currentIndex), ...items.slice(0, currentIndex)];\n\n // Find all nodes that begin with the pressed letter\n const matches = reorderedItems.filter((menuItem) => {\n const { textContent } = menuItem;\n // istanbul ignore next\n const firstLetter = textContent?.toLowerCase().charAt(0);\n return e.key === firstLetter;\n });\n\n // Exit early if there are no matches\n if (!matches.length) {\n return;\n }\n\n // If the focused item is a match, focus the next match.\n // Otherwise, focus the first match\n const currentNode = items[currentIndex];\n const nextMatch = matches.includes(currentNode) ? matches[1] : matches[0];\n const index = items.findIndex((item) => {\n return item === nextMatch;\n });\n\n move(index);\n };\n\n useEffect(() => {\n if (appContainerState && appContainerState?.sidePanelVariant === AppSidePanelVariant.shrinked && isExpanded) {\n close();\n }\n }, [appContainerState?.sidePanelVariant]);\n\n const value = useMemo<SideNavigationMenuContextProps>(() => ({ menuItems }), [menuItems]);\n\n useEffect(() => {\n const items = Array.from(menuItems);\n\n if (currentIndex !== previousIndex) {\n const currentNode = items[currentIndex] as HTMLElement;\n currentNode?.focus();\n }\n }, [menuItems, currentIndex, previousIndex]);\n\n useEffect(() => {\n if (!sideNavigationMenuBarContext) {\n setIsFirstChild(true);\n return;\n }\n\n const menuItemNode = (buttonRef as MutableRefObject<HTMLButtonElement>).current;\n\n if (menuItemNode) {\n menubarItems.add(menuItemNode);\n }\n\n return () => {\n menubarItems.delete(menuItemNode);\n };\n }, [menubarItems]);\n\n const keyDownOnButton = (e: KeyboardEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n return;\n }\n const currentNode = e.target as HTMLUListElement;\n\n switch (e.code) {\n case 'Enter':\n case 'Space':\n e.stopPropagation();\n currentNode.click();\n first();\n break;\n case 'ArrowRight':\n e.stopPropagation();\n first();\n break;\n case 'ArrowLeft':\n last();\n break;\n default:\n break;\n }\n };\n\n const buttonEventHandler = {\n onClick: (event: MouseEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n return;\n }\n\n buttonProps.onClick?.(event);\n event.stopPropagation();\n if (isExpanded) {\n close();\n } else {\n open();\n }\n },\n onKeyDown: (event: KeyboardEvent<HTMLButtonElement>) => {\n buttonProps.onKeyDown?.(event);\n keyDownOnButton(event);\n },\n };\n\n const keyDownOnMenuItemList = (e: KeyboardEvent<HTMLUListElement>) => {\n const currentNode = e.target as HTMLUListElement;\n\n switch (e.code) {\n case 'ArrowUp':\n e.stopPropagation();\n e.preventDefault();\n previous();\n break;\n case 'ArrowDown':\n e.stopPropagation();\n e.preventDefault();\n next();\n break;\n case 'ArrowLeft':\n e.preventDefault();\n e.stopPropagation();\n close(true);\n break;\n case 'ArrowRight':\n e.preventDefault();\n close(!sideNavigationMenuBarContext);\n break;\n case 'Home':\n e.stopPropagation();\n e.preventDefault();\n first();\n break;\n case 'End':\n e.stopPropagation();\n e.preventDefault();\n last();\n break;\n case 'Enter':\n case 'Space':\n e.preventDefault();\n currentNode.click();\n break;\n case 'Escape':\n e.stopPropagation();\n e.preventDefault();\n close(true);\n break;\n default:\n e.stopPropagation();\n match(e);\n break;\n }\n };\n\n const menuItemListEventHandler = {\n onKeyDown: (event: KeyboardEvent<HTMLUListElement>) => {\n menuProps.onKeyDown?.(event);\n keyDownOnMenuItemList(event);\n },\n onClick: (event: MouseEvent<HTMLUListElement>) => {\n if (isDisabled) {\n return;\n }\n menuProps.onClick?.(event);\n },\n };\n\n const sideNavigationVariant = sideNavigationMenuBarContext?.sideNavigationMenuBarVariant;\n\n return (\n <ThemeProvider value={{ theme }}>\n <StyledSideNavigationMenu\n {...forwardedProps}\n $isDisabled={isDisabled}\n $isExpanded={isExpanded}\n $numberOfChildren={renderedMenuItems.length}\n $theme={theme}\n $variant={sideNavigationVariant}\n className={classNames(SideNavigationMenu.className, className)}\n id={id}\n ref={ref as MutableRefObject<HTMLDivElement>}\n tabIndex={undefined}\n >\n <SideNavigationMenuContext.Provider value={value}>\n <Flexbox flexDirection=\"row\" gap=\"0px\">\n <div className={`${SideNavigationMenu.className}__current-indicator-container`}>\n {currentPosition.current !== -1 ? (\n <StyledSideNavigationMenuItemIndicator\n $theme={theme}\n style={{\n position: 'relative',\n top: isExpanded ? `${32 + currentPosition.current * 32}px` : 0,\n transition: 'top 300ms ease-out',\n }}\n />\n ) : null}\n </div>\n <div className={`${SideNavigationMenu.className}__menu-container`}>\n <button\n {...buttonProps}\n aria-disabled={isDisabled}\n aria-expanded={isExpanded ? 'true' : 'false'}\n aria-haspopup=\"true\"\n ref={buttonRef as MutableRefObject<HTMLButtonElement>}\n role=\"menuitem\"\n tabIndex={tabIndex !== undefined ? tabIndex : isFirstChild ? 0 : -1}\n type=\"button\"\n {...buttonEventHandler}\n >\n <Icon\n color={`var(--redsift-side-navigation-color-menu-item-text-${isDisabled ? 'disabled' : 'resting'})`}\n {...iconProps}\n icon={icon!}\n ref={iconRef as MutableRefObject<HTMLElement>}\n className={classNames(iconProps?.className, 'first')}\n size={IconSize.medium}\n />\n <span className=\"content\">{ariaLabel}</span>\n {hasBadge && (!isExpanded || keepBadgeVisible) ? <Badge color=\"error\" {...badgeProps} /> : null}\n <Icon\n icon={mdiChevronDown}\n className={`${SideNavigationMenu.className}__expand-icon`}\n size={IconSize.medium}\n />\n </button>\n <ul\n {...menuProps}\n aria-label={ariaLabel}\n aria-orientation=\"vertical\"\n ref={menuRef as MutableRefObject<HTMLUListElement>}\n role=\"menu\"\n {...menuItemListEventHandler}\n >\n {renderedMenuItems}\n </ul>\n </div>\n </Flexbox>\n </SideNavigationMenuContext.Provider>\n </StyledSideNavigationMenu>\n </ThemeProvider>\n );\n});\nSideNavigationMenu.className = CLASSNAME;\nSideNavigationMenu.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","SideNavigationMenu","forwardRef","props","ref","ariaLabel","buttonProps","buttonRef","useRef","children","className","badgeProps","hasBadge","icon","iconProps","iconRef","id","propsId","isDisabled","isExpanded","propsIsExpanded","keepBadgeVisible","menuProps","menuRef","tabIndex","theme","propsTheme","forwardedProps","_objectWithoutProperties","_excluded","_id","useId","warnIfNoAccessibleLabelFound","undefined","appContainerState","useContext","AppContainerContext","sideNavigationMenuBarContext","SideNavigationMenuBarContext","useTheme","isFirstChild","setIsFirstChild","useState","currentPosition","menuItems","menubarItems","useEffect","current","childArray","filterComponents","SideNavigationMenuItem","renderedMenuItems","map","child","index","_child$key","_child$key2","isCurrent","React","createElement","key","role","cloneElement","isSecondLevel","Set","state","dispatch","useReducer","SideNavigationMenuReducer","currentIndex","Boolean","previousIndex","first","useCallback","type","SideNavigationMenuReducerActionType","Move","last","size","move","open","_sideNavigationMenuBa","setCurrentOpenMenuId","call","Expand","expandSidePanel","close","focusButton","focus","Collapse","currentOpenMenuId","previous","next","match","e","items","Array","from","reorderedItems","slice","matches","filter","menuItem","textContent","firstLetter","toLowerCase","charAt","length","currentNode","nextMatch","includes","findIndex","item","sidePanelVariant","AppSidePanelVariant","shrinked","value","useMemo","menuItemNode","add","delete","keyDownOnButton","target","code","stopPropagation","click","buttonEventHandler","onClick","event","_buttonProps$onClick","onKeyDown","_buttonProps$onKeyDow","keyDownOnMenuItemList","preventDefault","menuItemListEventHandler","_menuProps$onKeyDown","_menuProps$onClick","sideNavigationVariant","sideNavigationMenuBarVariant","ThemeProvider","StyledSideNavigationMenu","_extends","$isDisabled","$isExpanded","$numberOfChildren","$theme","$variant","classNames","SideNavigationMenuContext","Provider","Flexbox","flexDirection","gap","StyledSideNavigationMenuItemIndicator","style","position","top","transition","Icon","color","IconSize","medium","Badge","mdiChevronDown","displayName"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
|
|
3
|
-
const SideNavigationMenuContext = /*#__PURE__*/
|
|
3
|
+
const SideNavigationMenuContext = /*#__PURE__*/React.createContext(null);
|
|
4
4
|
|
|
5
5
|
export { SideNavigationMenuContext };
|
|
6
6
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../src/components/side-navigation-menu/context.ts"],"sourcesContent":["import React from 'react';\nimport { SideNavigationMenuContextProps } from './types';\n\nexport const SideNavigationMenuContext =\n React.createContext<SideNavigationMenuContextProps>(null!);\n"],"names":["SideNavigationMenuContext","React","createContext"],"mappings":";;AAGO,MAAMA,yBAAyB,gBACpCC,
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../src/components/side-navigation-menu/context.ts"],"sourcesContent":["import React from 'react';\nimport { SideNavigationMenuContextProps } from './types';\n\nexport const SideNavigationMenuContext =\n React.createContext<SideNavigationMenuContextProps>(null!);\n"],"names":["SideNavigationMenuContext","React","createContext"],"mappings":";;AAGO,MAAMA,yBAAyB,gBACpCC,KAAK,CAACC,aAAa,CAAiC,IAAK;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import
|
|
2
|
+
import React, { forwardRef, useRef, useContext, useState, useEffect, useMemo } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { warnIfNoAccessibleLabelFound } from '../../utils/warnIfNoAccessibleLabelFound.js';
|
|
5
5
|
import { StyledSideNavigationMenuBar } from './styles.js';
|
|
@@ -70,10 +70,10 @@ const SideNavigationMenuBar = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
70
70
|
const childArray = filterComponents([SideNavigationMenu, SideNavigationMenuItem])(children);
|
|
71
71
|
const navItems = childArray.map((child, index) => {
|
|
72
72
|
var _child$key, _child$key2;
|
|
73
|
-
return /*#__PURE__*/
|
|
73
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
74
74
|
key: (_child$key = child.key) !== null && _child$key !== void 0 ? _child$key : index,
|
|
75
75
|
role: "none"
|
|
76
|
-
}, /*#__PURE__*/
|
|
76
|
+
}, /*#__PURE__*/React.cloneElement(child, {
|
|
77
77
|
isDisabled: child.props.isDisabled || isDisabled || undefined,
|
|
78
78
|
key: (_child$key2 = child.key) !== null && _child$key2 !== void 0 ? _child$key2 : index,
|
|
79
79
|
tabIndex: index === 0 ? 0 : -1
|
|
@@ -186,11 +186,11 @@ const SideNavigationMenuBar = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
186
186
|
currentNode === null || currentNode === void 0 ? void 0 : currentNode.focus();
|
|
187
187
|
}
|
|
188
188
|
}, [currentIndex, previousIndex, menuItems]);
|
|
189
|
-
return /*#__PURE__*/
|
|
189
|
+
return /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
190
190
|
value: {
|
|
191
191
|
theme
|
|
192
192
|
}
|
|
193
|
-
}, /*#__PURE__*/
|
|
193
|
+
}, /*#__PURE__*/React.createElement(StyledSideNavigationMenuBar, _extends({}, forwardedProps, {
|
|
194
194
|
$isDisabled: isDisabled,
|
|
195
195
|
$marginTop: top,
|
|
196
196
|
$theme: theme,
|
|
@@ -199,9 +199,9 @@ const SideNavigationMenuBar = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
199
199
|
"aria-labelledby": ariaLabelledby,
|
|
200
200
|
className: classNames(SideNavigationMenuBar.className, className),
|
|
201
201
|
ref: navRef
|
|
202
|
-
}), /*#__PURE__*/
|
|
202
|
+
}), /*#__PURE__*/React.createElement(SideNavigationMenuBarContext.Provider, {
|
|
203
203
|
value: value
|
|
204
|
-
}, /*#__PURE__*/
|
|
204
|
+
}, /*#__PURE__*/React.createElement("ul", _extends({}, menubarProps, {
|
|
205
205
|
"aria-label": ariaLabel,
|
|
206
206
|
"aria-labelledby": ariaLabelledby,
|
|
207
207
|
"aria-orientation": "vertical",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavigationMenuBar.js","sources":["../../../src/components/side-navigation-menu-bar/SideNavigationMenuBar.tsx"],"sourcesContent":["import React, {\n forwardRef,\n KeyboardEvent,\n MutableRefObject,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '../../types';\nimport { SideNavigationMenu } from '../side-navigation-menu';\nimport { SideNavigationMenuItem } from '../side-navigation-menu-item';\nimport { warnIfNoAccessibleLabelFound } from '../../utils/warnIfNoAccessibleLabelFound';\nimport { StyledSideNavigationMenuBar } from './styles';\nimport { SideNavigationMenuBarProps, SideNavigationMenuBarContextProps, SideNavigationMenuBarVariant } from './types';\nimport { SideNavigationMenuBarContext } from './context';\nimport { useBoundingClientRect } from '../../hooks/useBoundingRect';\nimport { filterComponents } from '../../utils/filterComponents';\nimport { AppContainerContext } from '../app-container';\nimport { ThemeProvider, useTheme } from '../theme';\nimport { AppSidePanelVariant } from '../app-side-panel';\n\nconst COMPONENT_NAME = 'SideNavigationMenuBar';\nconst CLASSNAME = 'redsift-side-navigation-menu-bar';\n\n/**\n * Hook to store the previous index for further use\n */\nconst usePrevious = (value: number) => {\n const ref = useRef(0);\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n\n/**\n * The SideNavigationMenuBar component.\n */\nexport const SideNavigationMenuBar: Comp<SideNavigationMenuBarProps, HTMLElement> = forwardRef((props, ref) => {\n const navRef = (ref || useRef<HTMLElement>()) as MutableRefObject<HTMLElement>;\n\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n canHaveMultipleMenuOpenAtOnce,\n children,\n className,\n isDisabled,\n menubarProps = {},\n menubarRef = useRef<HTMLUListElement>(),\n theme: propsTheme,\n variant: propsVariant = SideNavigationMenuBarVariant.standard,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props, undefined, 'SideNavigationMenuBar');\n const appContainerState = useContext(AppContainerContext);\n const theme = useTheme(propsTheme);\n const { top } = useBoundingClientRect(navRef, [children]);\n const [variant, setVariant] = useState<SideNavigationMenuBarVariant>(\n appContainerState\n ? appContainerState.sidePanelVariant === AppSidePanelVariant.hidden\n ? SideNavigationMenuBarVariant.shrinked\n : appContainerState.sidePanelVariant\n : propsVariant!\n );\n const [currentOpenMenuId, setCurrentOpenMenuId] = useState<string | undefined>();\n\n useEffect(() => {\n setVariant(propsVariant!);\n }, [propsVariant]);\n\n useEffect(() => {\n if (appContainerState && appContainerState.sidePanelVariant && appContainerState.sidePanelVariant !== variant) {\n setVariant(\n appContainerState.sidePanelVariant === AppSidePanelVariant.hidden\n ? SideNavigationMenuBarVariant.shrinked\n : appContainerState.sidePanelVariant\n );\n }\n }, [appContainerState?.sidePanelVariant]);\n\n /**\n * Create an array containing only valid children being either SideNavigationMenu or SideNavigationMenuItem.\n */\n const childArray = filterComponents([SideNavigationMenu, SideNavigationMenuItem])(children);\n const navItems = childArray.map((child, index) => {\n return (\n <li key={child.key ?? index} role=\"none\">\n {React.cloneElement(child, {\n isDisabled: child.props.isDisabled || isDisabled || undefined,\n key: child.key ?? index,\n tabIndex: index === 0 ? 0 : -1,\n })}\n </li>\n );\n });\n\n const menuItems = useRef<Set<HTMLAnchorElement | HTMLButtonElement>>(new Set()).current;\n const [currentIndex, setCurrentIndex] = useState(0);\n const previousIndex = usePrevious(currentIndex);\n\n const first = () => setCurrentIndex(0);\n\n const last = () => setCurrentIndex(menuItems.size - 1);\n\n const next = () => {\n const index = currentIndex === menuItems.size - 1 ? 0 : currentIndex + 1;\n setCurrentIndex(index);\n };\n\n const previous = () => {\n const index = currentIndex === 0 ? menuItems.size - 1 : currentIndex - 1;\n setCurrentIndex(index);\n };\n\n const match = (event: React.KeyboardEvent<HTMLUListElement>) => {\n const items = Array.from(menuItems);\n\n // Reorder the array, starting with the currentNode\n const reorderedItems = [...items.slice(currentIndex), ...items.slice(0, currentIndex)];\n\n // Find all nodes that begin with the pressed letter\n const matches = reorderedItems.filter((menuItem) => {\n const { textContent } = menuItem;\n // istanbul ignore next\n const firstLetter = textContent?.toLowerCase().charAt(0);\n return event.key === firstLetter;\n });\n\n // Exit early if there are no matches\n if (!matches.length) {\n return;\n }\n\n // If the focused item is a match, focus the next match.\n // Otherwise, focus the first match\n const currentNode = items[currentIndex];\n const nextMatch = matches.includes(currentNode) ? matches[1] : matches[0];\n const index = items.findIndex((item) => {\n return item === nextMatch;\n });\n\n setCurrentIndex(index);\n };\n\n const keyDown = (e: KeyboardEvent<HTMLUListElement>) => {\n menubarProps.onKeyDown?.(e);\n e.stopPropagation();\n\n const currentNode = e.target as HTMLUListElement;\n // istanbul ignore next\n const parentMenu = currentNode?.parentNode?.parentNode as HTMLElement;\n const isFromSubmenu = parentMenu.getAttribute('role') === 'menu';\n\n switch (e.code) {\n case 'ArrowUp':\n e.preventDefault();\n previous();\n break;\n case 'ArrowDown':\n e.preventDefault();\n next();\n break;\n case 'ArrowRight':\n e.preventDefault();\n if (isFromSubmenu) {\n next();\n }\n break;\n case 'End':\n e.preventDefault();\n last();\n break;\n case 'Home':\n e.preventDefault();\n first();\n break;\n case 'Enter':\n case 'Space':\n e.preventDefault();\n currentNode.click();\n break;\n default:\n match(e);\n break;\n }\n };\n\n const value = useMemo<SideNavigationMenuBarContextProps>(\n () => ({\n menuItems,\n sideNavigationMenuBarVariant: variant,\n setSideNavigationMenuBarVariant: setVariant,\n currentOpenMenuId,\n setCurrentOpenMenuId: (value: React.SetStateAction<string | undefined>) => {\n if (!canHaveMultipleMenuOpenAtOnce) {\n setCurrentOpenMenuId(value);\n }\n },\n }),\n [menuItems, variant, setVariant, currentOpenMenuId, setCurrentOpenMenuId]\n );\n\n useEffect(() => {\n if (currentIndex !== previousIndex) {\n const items = Array.from(menuItems);\n const currentNode = items[currentIndex] as HTMLElement;\n const previousNode = items[previousIndex] as HTMLElement;\n\n // istanbul ignore next\n previousNode?.setAttribute('tabindex', '-1');\n currentNode?.setAttribute('tabindex', '0');\n currentNode?.focus();\n }\n }, [currentIndex, previousIndex, menuItems]);\n\n return (\n <ThemeProvider value={{ theme }}>\n <StyledSideNavigationMenuBar\n {...forwardedProps}\n $isDisabled={isDisabled}\n $marginTop={top}\n $theme={theme}\n $variant={variant}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={classNames(SideNavigationMenuBar.className, className)}\n ref={navRef as MutableRefObject<HTMLElement>}\n >\n <SideNavigationMenuBarContext.Provider value={value}>\n <ul\n {...menubarProps}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-orientation=\"vertical\"\n onKeyDown={keyDown}\n ref={menubarRef as MutableRefObject<HTMLUListElement>}\n role=\"menubar\"\n >\n {navItems}\n </ul>\n </SideNavigationMenuBarContext.Provider>\n </StyledSideNavigationMenuBar>\n </ThemeProvider>\n );\n});\nSideNavigationMenuBar.className = CLASSNAME;\nSideNavigationMenuBar.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","usePrevious","value","ref","useRef","useEffect","current","SideNavigationMenuBar","forwardRef","props","navRef","ariaLabel","ariaLabelledby","canHaveMultipleMenuOpenAtOnce","children","className","isDisabled","menubarProps","menubarRef","theme","propsTheme","variant","propsVariant","SideNavigationMenuBarVariant","standard","forwardedProps","_objectWithoutProperties","_excluded","warnIfNoAccessibleLabelFound","undefined","appContainerState","useContext","AppContainerContext","useTheme","top","useBoundingClientRect","setVariant","useState","sidePanelVariant","AppSidePanelVariant","hidden","shrinked","currentOpenMenuId","setCurrentOpenMenuId","childArray","filterComponents","SideNavigationMenu","SideNavigationMenuItem","navItems","map","child","index","_child$key","_child$key2","React","createElement","key","role","cloneElement","tabIndex","menuItems","Set","currentIndex","setCurrentIndex","previousIndex","first","last","size","next","previous","match","event","items","Array","from","reorderedItems","slice","matches","filter","menuItem","textContent","firstLetter","toLowerCase","charAt","length","currentNode","nextMatch","includes","findIndex","item","keyDown","e","_menubarProps$onKeyDo","_currentNode$parentNo","onKeyDown","call","stopPropagation","target","parentMenu","parentNode","isFromSubmenu","getAttribute","code","preventDefault","click","useMemo","sideNavigationMenuBarVariant","setSideNavigationMenuBarVariant","previousNode","setAttribute","focus","ThemeProvider","StyledSideNavigationMenuBar","_extends","$isDisabled","$marginTop","$theme","$variant","classNames","SideNavigationMenuBarContext","Provider","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SideNavigationMenuBar.js","sources":["../../../src/components/side-navigation-menu-bar/SideNavigationMenuBar.tsx"],"sourcesContent":["import React, {\n forwardRef,\n KeyboardEvent,\n MutableRefObject,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '../../types';\nimport { SideNavigationMenu } from '../side-navigation-menu';\nimport { SideNavigationMenuItem } from '../side-navigation-menu-item';\nimport { warnIfNoAccessibleLabelFound } from '../../utils/warnIfNoAccessibleLabelFound';\nimport { StyledSideNavigationMenuBar } from './styles';\nimport { SideNavigationMenuBarProps, SideNavigationMenuBarContextProps, SideNavigationMenuBarVariant } from './types';\nimport { SideNavigationMenuBarContext } from './context';\nimport { useBoundingClientRect } from '../../hooks/useBoundingRect';\nimport { filterComponents } from '../../utils/filterComponents';\nimport { AppContainerContext } from '../app-container';\nimport { ThemeProvider, useTheme } from '../theme';\nimport { AppSidePanelVariant } from '../app-side-panel';\n\nconst COMPONENT_NAME = 'SideNavigationMenuBar';\nconst CLASSNAME = 'redsift-side-navigation-menu-bar';\n\n/**\n * Hook to store the previous index for further use\n */\nconst usePrevious = (value: number) => {\n const ref = useRef(0);\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n\n/**\n * The SideNavigationMenuBar component.\n */\nexport const SideNavigationMenuBar: Comp<SideNavigationMenuBarProps, HTMLElement> = forwardRef((props, ref) => {\n const navRef = (ref || useRef<HTMLElement>()) as MutableRefObject<HTMLElement>;\n\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n canHaveMultipleMenuOpenAtOnce,\n children,\n className,\n isDisabled,\n menubarProps = {},\n menubarRef = useRef<HTMLUListElement>(),\n theme: propsTheme,\n variant: propsVariant = SideNavigationMenuBarVariant.standard,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props, undefined, 'SideNavigationMenuBar');\n const appContainerState = useContext(AppContainerContext);\n const theme = useTheme(propsTheme);\n const { top } = useBoundingClientRect(navRef, [children]);\n const [variant, setVariant] = useState<SideNavigationMenuBarVariant>(\n appContainerState\n ? appContainerState.sidePanelVariant === AppSidePanelVariant.hidden\n ? SideNavigationMenuBarVariant.shrinked\n : appContainerState.sidePanelVariant\n : propsVariant!\n );\n const [currentOpenMenuId, setCurrentOpenMenuId] = useState<string | undefined>();\n\n useEffect(() => {\n setVariant(propsVariant!);\n }, [propsVariant]);\n\n useEffect(() => {\n if (appContainerState && appContainerState.sidePanelVariant && appContainerState.sidePanelVariant !== variant) {\n setVariant(\n appContainerState.sidePanelVariant === AppSidePanelVariant.hidden\n ? SideNavigationMenuBarVariant.shrinked\n : appContainerState.sidePanelVariant\n );\n }\n }, [appContainerState?.sidePanelVariant]);\n\n /**\n * Create an array containing only valid children being either SideNavigationMenu or SideNavigationMenuItem.\n */\n const childArray = filterComponents([SideNavigationMenu, SideNavigationMenuItem])(children);\n const navItems = childArray.map((child, index) => {\n return (\n <li key={child.key ?? index} role=\"none\">\n {React.cloneElement(child, {\n isDisabled: child.props.isDisabled || isDisabled || undefined,\n key: child.key ?? index,\n tabIndex: index === 0 ? 0 : -1,\n })}\n </li>\n );\n });\n\n const menuItems = useRef<Set<HTMLAnchorElement | HTMLButtonElement>>(new Set()).current;\n const [currentIndex, setCurrentIndex] = useState(0);\n const previousIndex = usePrevious(currentIndex);\n\n const first = () => setCurrentIndex(0);\n\n const last = () => setCurrentIndex(menuItems.size - 1);\n\n const next = () => {\n const index = currentIndex === menuItems.size - 1 ? 0 : currentIndex + 1;\n setCurrentIndex(index);\n };\n\n const previous = () => {\n const index = currentIndex === 0 ? menuItems.size - 1 : currentIndex - 1;\n setCurrentIndex(index);\n };\n\n const match = (event: React.KeyboardEvent<HTMLUListElement>) => {\n const items = Array.from(menuItems);\n\n // Reorder the array, starting with the currentNode\n const reorderedItems = [...items.slice(currentIndex), ...items.slice(0, currentIndex)];\n\n // Find all nodes that begin with the pressed letter\n const matches = reorderedItems.filter((menuItem) => {\n const { textContent } = menuItem;\n // istanbul ignore next\n const firstLetter = textContent?.toLowerCase().charAt(0);\n return event.key === firstLetter;\n });\n\n // Exit early if there are no matches\n if (!matches.length) {\n return;\n }\n\n // If the focused item is a match, focus the next match.\n // Otherwise, focus the first match\n const currentNode = items[currentIndex];\n const nextMatch = matches.includes(currentNode) ? matches[1] : matches[0];\n const index = items.findIndex((item) => {\n return item === nextMatch;\n });\n\n setCurrentIndex(index);\n };\n\n const keyDown = (e: KeyboardEvent<HTMLUListElement>) => {\n menubarProps.onKeyDown?.(e);\n e.stopPropagation();\n\n const currentNode = e.target as HTMLUListElement;\n // istanbul ignore next\n const parentMenu = currentNode?.parentNode?.parentNode as HTMLElement;\n const isFromSubmenu = parentMenu.getAttribute('role') === 'menu';\n\n switch (e.code) {\n case 'ArrowUp':\n e.preventDefault();\n previous();\n break;\n case 'ArrowDown':\n e.preventDefault();\n next();\n break;\n case 'ArrowRight':\n e.preventDefault();\n if (isFromSubmenu) {\n next();\n }\n break;\n case 'End':\n e.preventDefault();\n last();\n break;\n case 'Home':\n e.preventDefault();\n first();\n break;\n case 'Enter':\n case 'Space':\n e.preventDefault();\n currentNode.click();\n break;\n default:\n match(e);\n break;\n }\n };\n\n const value = useMemo<SideNavigationMenuBarContextProps>(\n () => ({\n menuItems,\n sideNavigationMenuBarVariant: variant,\n setSideNavigationMenuBarVariant: setVariant,\n currentOpenMenuId,\n setCurrentOpenMenuId: (value: React.SetStateAction<string | undefined>) => {\n if (!canHaveMultipleMenuOpenAtOnce) {\n setCurrentOpenMenuId(value);\n }\n },\n }),\n [menuItems, variant, setVariant, currentOpenMenuId, setCurrentOpenMenuId]\n );\n\n useEffect(() => {\n if (currentIndex !== previousIndex) {\n const items = Array.from(menuItems);\n const currentNode = items[currentIndex] as HTMLElement;\n const previousNode = items[previousIndex] as HTMLElement;\n\n // istanbul ignore next\n previousNode?.setAttribute('tabindex', '-1');\n currentNode?.setAttribute('tabindex', '0');\n currentNode?.focus();\n }\n }, [currentIndex, previousIndex, menuItems]);\n\n return (\n <ThemeProvider value={{ theme }}>\n <StyledSideNavigationMenuBar\n {...forwardedProps}\n $isDisabled={isDisabled}\n $marginTop={top}\n $theme={theme}\n $variant={variant}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={classNames(SideNavigationMenuBar.className, className)}\n ref={navRef as MutableRefObject<HTMLElement>}\n >\n <SideNavigationMenuBarContext.Provider value={value}>\n <ul\n {...menubarProps}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-orientation=\"vertical\"\n onKeyDown={keyDown}\n ref={menubarRef as MutableRefObject<HTMLUListElement>}\n role=\"menubar\"\n >\n {navItems}\n </ul>\n </SideNavigationMenuBarContext.Provider>\n </StyledSideNavigationMenuBar>\n </ThemeProvider>\n );\n});\nSideNavigationMenuBar.className = CLASSNAME;\nSideNavigationMenuBar.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","usePrevious","value","ref","useRef","useEffect","current","SideNavigationMenuBar","forwardRef","props","navRef","ariaLabel","ariaLabelledby","canHaveMultipleMenuOpenAtOnce","children","className","isDisabled","menubarProps","menubarRef","theme","propsTheme","variant","propsVariant","SideNavigationMenuBarVariant","standard","forwardedProps","_objectWithoutProperties","_excluded","warnIfNoAccessibleLabelFound","undefined","appContainerState","useContext","AppContainerContext","useTheme","top","useBoundingClientRect","setVariant","useState","sidePanelVariant","AppSidePanelVariant","hidden","shrinked","currentOpenMenuId","setCurrentOpenMenuId","childArray","filterComponents","SideNavigationMenu","SideNavigationMenuItem","navItems","map","child","index","_child$key","_child$key2","React","createElement","key","role","cloneElement","tabIndex","menuItems","Set","currentIndex","setCurrentIndex","previousIndex","first","last","size","next","previous","match","event","items","Array","from","reorderedItems","slice","matches","filter","menuItem","textContent","firstLetter","toLowerCase","charAt","length","currentNode","nextMatch","includes","findIndex","item","keyDown","e","_menubarProps$onKeyDo","_currentNode$parentNo","onKeyDown","call","stopPropagation","target","parentMenu","parentNode","isFromSubmenu","getAttribute","code","preventDefault","click","useMemo","sideNavigationMenuBarVariant","setSideNavigationMenuBarVariant","previousNode","setAttribute","focus","ThemeProvider","StyledSideNavigationMenuBar","_extends","$isDisabled","$marginTop","$theme","$variant","classNames","SideNavigationMenuBarContext","Provider","displayName"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
|
|
3
|
-
const SideNavigationMenuBarContext = /*#__PURE__*/
|
|
3
|
+
const SideNavigationMenuBarContext = /*#__PURE__*/React.createContext(null);
|
|
4
4
|
|
|
5
5
|
export { SideNavigationMenuBarContext };
|
|
6
6
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../src/components/side-navigation-menu-bar/context.ts"],"sourcesContent":["import React from 'react';\nimport { SideNavigationMenuBarContextProps } from './types';\n\nexport const SideNavigationMenuBarContext =\n React.createContext<SideNavigationMenuBarContextProps>(null!);\n"],"names":["SideNavigationMenuBarContext","React","createContext"],"mappings":";;AAGO,MAAMA,4BAA4B,gBACvCC,
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../src/components/side-navigation-menu-bar/context.ts"],"sourcesContent":["import React from 'react';\nimport { SideNavigationMenuBarContextProps } from './types';\n\nexport const SideNavigationMenuBarContext =\n React.createContext<SideNavigationMenuBarContextProps>(null!);\n"],"names":["SideNavigationMenuBarContext","React","createContext"],"mappings":";;AAGO,MAAMA,4BAA4B,gBACvCC,KAAK,CAACC,aAAa,CAAoC,IAAK;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import
|
|
2
|
+
import React from 'react';
|
|
3
3
|
import { SideNavigationMenuItem } from '../side-navigation-menu-item/SideNavigationMenuItem.js';
|
|
4
4
|
import { SideNavigationMenu } from '../side-navigation-menu/SideNavigationMenu.js';
|
|
5
5
|
|
|
@@ -23,7 +23,7 @@ const useSideNavigationMenuBar = _ref => {
|
|
|
23
23
|
ref
|
|
24
24
|
} = item,
|
|
25
25
|
rest = _objectWithoutProperties(item, _excluded);
|
|
26
|
-
menuBarChildren.push( /*#__PURE__*/
|
|
26
|
+
menuBarChildren.push( /*#__PURE__*/React.createElement(SideNavigationMenuItem, _extends({
|
|
27
27
|
key: title,
|
|
28
28
|
isCurrent: isActive ? isActive(href) : undefined
|
|
29
29
|
}, rest, {
|
|
@@ -37,7 +37,7 @@ const useSideNavigationMenuBar = _ref => {
|
|
|
37
37
|
ref
|
|
38
38
|
} = item,
|
|
39
39
|
rest = _objectWithoutProperties(item, _excluded2);
|
|
40
|
-
menuBarChildren.push( /*#__PURE__*/
|
|
40
|
+
menuBarChildren.push( /*#__PURE__*/React.createElement(SideNavigationMenu, _extends({
|
|
41
41
|
key: title,
|
|
42
42
|
"aria-label": title,
|
|
43
43
|
isExpanded: isActive ? children.filter(child => isActive(child.href)).length > 0 : undefined,
|
|
@@ -51,7 +51,7 @@ const useSideNavigationMenuBar = _ref => {
|
|
|
51
51
|
ref
|
|
52
52
|
} = child,
|
|
53
53
|
rest = _objectWithoutProperties(child, _excluded3);
|
|
54
|
-
return /*#__PURE__*/
|
|
54
|
+
return /*#__PURE__*/React.createElement(SideNavigationMenuItem, _extends({
|
|
55
55
|
key: title,
|
|
56
56
|
href: href,
|
|
57
57
|
isCurrent: isActive ? isActive(href) : undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSideNavigationMenuBar.js","sources":["../../../src/components/side-navigation-menu-bar/useSideNavigationMenuBar.tsx"],"sourcesContent":["import React, { MutableRefObject } from 'react';\nimport { SideNavigationMenu } from '../side-navigation-menu';\nimport { SideNavigationMenuItem } from '../side-navigation-menu-item';\nimport {\n MenuBarItems,\n MenuItem,\n Menu,\n SideNavigationMenuBarProps,\n} from './types';\n\nconst isMenu = (item: MenuItem | Menu): item is Menu => {\n return (item as Menu).children !== undefined;\n};\n\nexport interface UseSideNavigationMenuBarProps {\n items: MenuBarItems;\n isActive?: (href: string) => boolean;\n}\n\nexport const useSideNavigationMenuBar = ({\n items,\n isActive,\n}: UseSideNavigationMenuBarProps): Omit<SideNavigationMenuBarProps, 'ref'> => {\n const menuBarChildren: SideNavigationMenuBarProps['children'][] = [];\n\n items.map((item) => {\n if (!isMenu(item)) {\n const { title, href, ref, ...rest } = item;\n menuBarChildren.push(\n <SideNavigationMenuItem\n key={title}\n isCurrent={isActive ? isActive(href!) : undefined}\n {...rest}\n href={href}\n ref={ref as MutableRefObject<HTMLAnchorElement>}\n >\n {title}\n </SideNavigationMenuItem>\n );\n } else {\n const { title, children, ref, ...rest } = item;\n menuBarChildren.push(\n <SideNavigationMenu\n key={title}\n aria-label={title}\n isExpanded={\n isActive\n ? children.filter((child) => isActive(child.href!)).length > 0\n : undefined\n }\n hasBadge={children.filter((child) => child.badge).length > 0}\n {...rest}\n ref={ref as MutableRefObject<HTMLDivElement>}\n >\n {children.map((child) => {\n const { title, href, ref, ...rest } = child;\n return (\n <SideNavigationMenuItem\n key={title}\n href={href}\n isCurrent={isActive ? isActive(href!) : undefined}\n {...rest}\n ref={ref as MutableRefObject<HTMLAnchorElement>}\n >\n {title}\n </SideNavigationMenuItem>\n );\n })}\n </SideNavigationMenu>\n );\n }\n });\n\n return {\n children: menuBarChildren,\n };\n};\n"],"names":["isMenu","item","children","undefined","useSideNavigationMenuBar","_ref","items","isActive","menuBarChildren","map","title","href","ref","rest","_objectWithoutProperties","_excluded","push","React","createElement","SideNavigationMenuItem","_extends","key","isCurrent","_excluded2","SideNavigationMenu","isExpanded","filter","child","length","hasBadge","badge","_excluded3"],"mappings":";;;;;;;;AAUA,MAAMA,MAAM,GAAIC,IAAqB,IAAmB;AACtD,EAAA,OAAQA,IAAI,CAAUC,QAAQ,KAAKC,SAAS,CAAA;AAC9C,CAAC,CAAA;AAOYC,MAAAA,wBAAwB,GAAGC,IAAA,IAGsC;EAAA,IAHrC;IACvCC,KAAK;AACLC,IAAAA,QAAAA;AAC6B,GAAC,GAAAF,IAAA,CAAA;EAC9B,MAAMG,eAAyD,GAAG,EAAE,CAAA;AAEpEF,EAAAA,KAAK,CAACG,GAAG,CAAER,IAAI,IAAK;AAClB,IAAA,IAAI,CAACD,MAAM,CAACC,IAAI,CAAC,EAAE;MACjB,MAAM;UAAES,KAAK;UAAEC,IAAI;AAAEC,UAAAA,GAAAA;AAAa,SAAC,GAAGX,IAAI;AAAbY,QAAAA,IAAI,GAAAC,wBAAA,CAAKb,IAAI,EAAAc,SAAA,CAAA,CAAA;MAC1CP,eAAe,CAACQ,IAAI,eAClBC,
|
|
1
|
+
{"version":3,"file":"useSideNavigationMenuBar.js","sources":["../../../src/components/side-navigation-menu-bar/useSideNavigationMenuBar.tsx"],"sourcesContent":["import React, { MutableRefObject } from 'react';\nimport { SideNavigationMenu } from '../side-navigation-menu';\nimport { SideNavigationMenuItem } from '../side-navigation-menu-item';\nimport {\n MenuBarItems,\n MenuItem,\n Menu,\n SideNavigationMenuBarProps,\n} from './types';\n\nconst isMenu = (item: MenuItem | Menu): item is Menu => {\n return (item as Menu).children !== undefined;\n};\n\nexport interface UseSideNavigationMenuBarProps {\n items: MenuBarItems;\n isActive?: (href: string) => boolean;\n}\n\nexport const useSideNavigationMenuBar = ({\n items,\n isActive,\n}: UseSideNavigationMenuBarProps): Omit<SideNavigationMenuBarProps, 'ref'> => {\n const menuBarChildren: SideNavigationMenuBarProps['children'][] = [];\n\n items.map((item) => {\n if (!isMenu(item)) {\n const { title, href, ref, ...rest } = item;\n menuBarChildren.push(\n <SideNavigationMenuItem\n key={title}\n isCurrent={isActive ? isActive(href!) : undefined}\n {...rest}\n href={href}\n ref={ref as MutableRefObject<HTMLAnchorElement>}\n >\n {title}\n </SideNavigationMenuItem>\n );\n } else {\n const { title, children, ref, ...rest } = item;\n menuBarChildren.push(\n <SideNavigationMenu\n key={title}\n aria-label={title}\n isExpanded={\n isActive\n ? children.filter((child) => isActive(child.href!)).length > 0\n : undefined\n }\n hasBadge={children.filter((child) => child.badge).length > 0}\n {...rest}\n ref={ref as MutableRefObject<HTMLDivElement>}\n >\n {children.map((child) => {\n const { title, href, ref, ...rest } = child;\n return (\n <SideNavigationMenuItem\n key={title}\n href={href}\n isCurrent={isActive ? isActive(href!) : undefined}\n {...rest}\n ref={ref as MutableRefObject<HTMLAnchorElement>}\n >\n {title}\n </SideNavigationMenuItem>\n );\n })}\n </SideNavigationMenu>\n );\n }\n });\n\n return {\n children: menuBarChildren,\n };\n};\n"],"names":["isMenu","item","children","undefined","useSideNavigationMenuBar","_ref","items","isActive","menuBarChildren","map","title","href","ref","rest","_objectWithoutProperties","_excluded","push","React","createElement","SideNavigationMenuItem","_extends","key","isCurrent","_excluded2","SideNavigationMenu","isExpanded","filter","child","length","hasBadge","badge","_excluded3"],"mappings":";;;;;;;;AAUA,MAAMA,MAAM,GAAIC,IAAqB,IAAmB;AACtD,EAAA,OAAQA,IAAI,CAAUC,QAAQ,KAAKC,SAAS,CAAA;AAC9C,CAAC,CAAA;AAOYC,MAAAA,wBAAwB,GAAGC,IAAA,IAGsC;EAAA,IAHrC;IACvCC,KAAK;AACLC,IAAAA,QAAAA;AAC6B,GAAC,GAAAF,IAAA,CAAA;EAC9B,MAAMG,eAAyD,GAAG,EAAE,CAAA;AAEpEF,EAAAA,KAAK,CAACG,GAAG,CAAER,IAAI,IAAK;AAClB,IAAA,IAAI,CAACD,MAAM,CAACC,IAAI,CAAC,EAAE;MACjB,MAAM;UAAES,KAAK;UAAEC,IAAI;AAAEC,UAAAA,GAAAA;AAAa,SAAC,GAAGX,IAAI;AAAbY,QAAAA,IAAI,GAAAC,wBAAA,CAAKb,IAAI,EAAAc,SAAA,CAAA,CAAA;MAC1CP,eAAe,CAACQ,IAAI,eAClBC,KAAA,CAAAC,aAAA,CAACC,sBAAsB,EAAAC,QAAA,CAAA;AACrBC,QAAAA,GAAG,EAAEX,KAAM;AACXY,QAAAA,SAAS,EAAEf,QAAQ,GAAGA,QAAQ,CAACI,IAAK,CAAC,GAAGR,SAAAA;AAAU,OAAA,EAC9CU,IAAI,EAAA;AACRF,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,GAAG,EAAEA,GAAAA;OAEJF,CAAAA,EAAAA,KACqB,CAC1B,CAAC,CAAA;AACH,KAAC,MAAM;MACL,MAAM;UAAEA,KAAK;UAAER,QAAQ;AAAEU,UAAAA,GAAAA;AAAa,SAAC,GAAGX,IAAI;AAAbY,QAAAA,IAAI,GAAAC,wBAAA,CAAKb,IAAI,EAAAsB,UAAA,CAAA,CAAA;MAC9Cf,eAAe,CAACQ,IAAI,eAClBC,KAAA,CAAAC,aAAA,CAACM,kBAAkB,EAAAJ,QAAA,CAAA;AACjBC,QAAAA,GAAG,EAAEX,KAAM;AACX,QAAA,YAAA,EAAYA,KAAM;QAClBe,UAAU,EACRlB,QAAQ,GACJL,QAAQ,CAACwB,MAAM,CAAEC,KAAK,IAAKpB,QAAQ,CAACoB,KAAK,CAAChB,IAAK,CAAC,CAAC,CAACiB,MAAM,GAAG,CAAC,GAC5DzB,SACL;AACD0B,QAAAA,QAAQ,EAAE3B,QAAQ,CAACwB,MAAM,CAAEC,KAAK,IAAKA,KAAK,CAACG,KAAK,CAAC,CAACF,MAAM,GAAG,CAAA;AAAE,OAAA,EACzDf,IAAI,EAAA;AACRD,QAAAA,GAAG,EAAEA,GAAAA;AAAwC,OAAA,CAAA,EAE5CV,QAAQ,CAACO,GAAG,CAAEkB,KAAK,IAAK;QACvB,MAAM;YAAEjB,KAAK;YAAEC,IAAI;AAAEC,YAAAA,GAAAA;AAAa,WAAC,GAAGe,KAAK;AAAdd,UAAAA,IAAI,GAAAC,wBAAA,CAAKa,KAAK,EAAAI,UAAA,CAAA,CAAA;AAC3C,QAAA,oBACEd,KAAA,CAAAC,aAAA,CAACC,sBAAsB,EAAAC,QAAA,CAAA;AACrBC,UAAAA,GAAG,EAAEX,KAAM;AACXC,UAAAA,IAAI,EAAEA,IAAK;AACXW,UAAAA,SAAS,EAAEf,QAAQ,GAAGA,QAAQ,CAACI,IAAK,CAAC,GAAGR,SAAAA;AAAU,SAAA,EAC9CU,IAAI,EAAA;AACRD,UAAAA,GAAG,EAAEA,GAAAA;AAA2C,SAAA,CAAA,EAE/CF,KACqB,CAAC,CAAA;OAE5B,CACiB,CACtB,CAAC,CAAA;AACH,KAAA;AACF,GAAC,CAAC,CAAA;EAEF,OAAO;AACLR,IAAAA,QAAQ,EAAEM,eAAAA;GACX,CAAA;AACH;;;;"}
|