@salt-ds/lab 1.0.0-alpha.42 → 1.0.0-alpha.44
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/css/salt-lab.css +15 -105
- package/dist-cjs/calendar/Calendar.js +7 -0
- package/dist-cjs/calendar/Calendar.js.map +1 -1
- package/dist-cjs/calendar/internal/CalendarCarousel.js +1 -1
- package/dist-cjs/calendar/internal/CalendarCarousel.js.map +1 -1
- package/dist-cjs/calendar/internal/CalendarDay.css.js +1 -1
- package/dist-cjs/calendar/internal/CalendarMonth.js.map +1 -1
- package/dist-cjs/calendar/internal/CalendarNavigation.css.js +1 -1
- package/dist-cjs/calendar/internal/useFocusManagement.js +3 -0
- package/dist-cjs/calendar/internal/useFocusManagement.js.map +1 -1
- package/dist-cjs/calendar/useCalendar.js +29 -1
- package/dist-cjs/calendar/useCalendar.js.map +1 -1
- package/dist-cjs/calendar/useSelection.js +1 -0
- package/dist-cjs/calendar/useSelection.js.map +1 -1
- package/dist-cjs/contact-details/ContactPrimaryInfo.js.map +1 -1
- package/dist-cjs/contact-details/ContactSecondaryInfo.js.map +1 -1
- package/dist-cjs/contact-details/ContactTertiaryInfo.js.map +1 -1
- package/dist-cjs/index.js +1 -10
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js.map +1 -1
- package/dist-es/calendar/Calendar.js +7 -0
- package/dist-es/calendar/Calendar.js.map +1 -1
- package/dist-es/calendar/internal/CalendarCarousel.js +1 -1
- package/dist-es/calendar/internal/CalendarCarousel.js.map +1 -1
- package/dist-es/calendar/internal/CalendarDay.css.js +1 -1
- package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
- package/dist-es/calendar/internal/CalendarNavigation.css.js +1 -1
- package/dist-es/calendar/internal/useFocusManagement.js +3 -0
- package/dist-es/calendar/internal/useFocusManagement.js.map +1 -1
- package/dist-es/calendar/useCalendar.js +31 -3
- package/dist-es/calendar/useCalendar.js.map +1 -1
- package/dist-es/calendar/useSelection.js +1 -1
- package/dist-es/calendar/useSelection.js.map +1 -1
- package/dist-es/contact-details/ContactPrimaryInfo.js.map +1 -1
- package/dist-es/contact-details/ContactSecondaryInfo.js.map +1 -1
- package/dist-es/contact-details/ContactTertiaryInfo.js.map +1 -1
- package/dist-es/index.js +1 -6
- package/dist-es/index.js.map +1 -1
- package/dist-es/stepped-tracker/StepLabel/StepLabel.js.map +1 -1
- package/dist-types/breadcrumbs/internal/BreadcrumbsCollapsed.d.ts +1 -1
- package/dist-types/breadcrumbs/internal/BreadcrumbsSeparator.d.ts +1 -1
- package/dist-types/button-bar/internal/DescendantContext.d.ts +1 -1
- package/dist-types/calendar/internal/CalendarMonth.d.ts +0 -1
- package/dist-types/calendar/useSelection.d.ts +2 -0
- package/dist-types/combo-box-deprecated/internal/MultiSelectComboBox.d.ts +1 -1
- package/dist-types/combo-box-deprecated/internal/useComboBox.d.ts +60 -54
- package/dist-types/combo-box-deprecated/internal/useMultiSelectComboBox.d.ts +182 -165
- package/dist-types/common-hooks/collectionProvider.d.ts +1 -1
- package/dist-types/contact-details/ContactPrimaryInfo.d.ts +1 -1
- package/dist-types/contact-details/ContactSecondaryInfo.d.ts +1 -1
- package/dist-types/contact-details/ContactTertiaryInfo.d.ts +1 -1
- package/dist-types/contact-details/MailLinkComponent.d.ts +1 -1
- package/dist-types/contact-details/types.d.ts +1 -1
- package/dist-types/form-field-legacy/FormActivationIndicator.d.ts +1 -1
- package/dist-types/form-field-legacy/FormHelperText.d.ts +1 -1
- package/dist-types/form-field-legacy/FormLabel.d.ts +1 -1
- package/dist-types/form-field-legacy/NecessityIndicator.d.ts +1 -1
- package/dist-types/form-field-legacy/StatusIndicator.d.ts +1 -1
- package/dist-types/index.d.ts +0 -1
- package/dist-types/list-deprecated/internal/DescendantContext.d.ts +1 -1
- package/dist-types/list-deprecated/internal/Highlighter.d.ts +1 -1
- package/dist-types/query-input/internal/CategoryList.d.ts +1 -1
- package/dist-types/query-input/internal/SearchList.d.ts +1 -1
- package/dist-types/query-input/internal/ValueList.d.ts +1 -1
- package/dist-types/query-input/internal/ValueSelector.d.ts +1 -1
- package/dist-types/responsive/overflowUtils.d.ts +1 -1
- package/dist-types/slider/internal/SliderMarkLabels.d.ts +1 -1
- package/dist-types/slider/internal/SliderRail.d.ts +1 -1
- package/dist-types/slider/internal/SliderRailMarks.d.ts +1 -1
- package/dist-types/slider/internal/SliderSelection.d.ts +1 -1
- package/dist-types/stepped-tracker/StepLabel/StepLabel.d.ts +4 -3
- package/dist-types/stepped-tracker/SteppedTrackerContext.d.ts +2 -2
- package/dist-types/stepped-tracker/TrackerConnector/TrackerConnector.d.ts +1 -1
- package/dist-types/stepper-input/useStepperInput.d.ts +60 -55
- package/dist-types/tabs/TabActivationIndicator.d.ts +1 -1
- package/dist-types/toolbar/Tooltray.d.ts +1 -1
- package/dist-types/tree/TreeNode.d.ts +1 -1
- package/package.json +3 -3
- package/dist-cjs/menu/Menu.js +0 -24
- package/dist-cjs/menu/Menu.js.map +0 -1
- package/dist-cjs/menu/MenuBase.js +0 -129
- package/dist-cjs/menu/MenuBase.js.map +0 -1
- package/dist-cjs/menu/MenuContext.js +0 -26
- package/dist-cjs/menu/MenuContext.js.map +0 -1
- package/dist-cjs/menu/MenuGroup.css.js +0 -6
- package/dist-cjs/menu/MenuGroup.css.js.map +0 -1
- package/dist-cjs/menu/MenuGroup.js +0 -44
- package/dist-cjs/menu/MenuGroup.js.map +0 -1
- package/dist-cjs/menu/MenuItem.css.js +0 -6
- package/dist-cjs/menu/MenuItem.css.js.map +0 -1
- package/dist-cjs/menu/MenuItem.js +0 -92
- package/dist-cjs/menu/MenuItem.js.map +0 -1
- package/dist-cjs/menu/MenuPanel.css.js +0 -6
- package/dist-cjs/menu/MenuPanel.css.js.map +0 -1
- package/dist-cjs/menu/MenuPanel.js +0 -61
- package/dist-cjs/menu/MenuPanel.js.map +0 -1
- package/dist-cjs/menu/MenuPanelBase.js +0 -29
- package/dist-cjs/menu/MenuPanelBase.js.map +0 -1
- package/dist-cjs/menu/MenuPanelContext.js +0 -22
- package/dist-cjs/menu/MenuPanelContext.js.map +0 -1
- package/dist-cjs/menu/MenuTrigger.js +0 -43
- package/dist-cjs/menu/MenuTrigger.js.map +0 -1
- package/dist-cjs/menu/MenuTriggerContext.js +0 -18
- package/dist-cjs/menu/MenuTriggerContext.js.map +0 -1
- package/dist-es/menu/Menu.js +0 -20
- package/dist-es/menu/Menu.js.map +0 -1
- package/dist-es/menu/MenuBase.js +0 -125
- package/dist-es/menu/MenuBase.js.map +0 -1
- package/dist-es/menu/MenuContext.js +0 -21
- package/dist-es/menu/MenuContext.js.map +0 -1
- package/dist-es/menu/MenuGroup.css.js +0 -4
- package/dist-es/menu/MenuGroup.css.js.map +0 -1
- package/dist-es/menu/MenuGroup.js +0 -40
- package/dist-es/menu/MenuGroup.js.map +0 -1
- package/dist-es/menu/MenuItem.css.js +0 -4
- package/dist-es/menu/MenuItem.css.js.map +0 -1
- package/dist-es/menu/MenuItem.js +0 -88
- package/dist-es/menu/MenuItem.js.map +0 -1
- package/dist-es/menu/MenuPanel.css.js +0 -4
- package/dist-es/menu/MenuPanel.css.js.map +0 -1
- package/dist-es/menu/MenuPanel.js +0 -57
- package/dist-es/menu/MenuPanel.js.map +0 -1
- package/dist-es/menu/MenuPanelBase.js +0 -25
- package/dist-es/menu/MenuPanelBase.js.map +0 -1
- package/dist-es/menu/MenuPanelContext.js +0 -17
- package/dist-es/menu/MenuPanelContext.js.map +0 -1
- package/dist-es/menu/MenuTrigger.js +0 -39
- package/dist-es/menu/MenuTrigger.js.map +0 -1
- package/dist-es/menu/MenuTriggerContext.js +0 -13
- package/dist-es/menu/MenuTriggerContext.js.map +0 -1
- package/dist-types/menu/Menu.d.ts +0 -4
- package/dist-types/menu/MenuBase.d.ts +0 -27
- package/dist-types/menu/MenuContext.d.ts +0 -16
- package/dist-types/menu/MenuGroup.d.ts +0 -12
- package/dist-types/menu/MenuItem.d.ts +0 -8
- package/dist-types/menu/MenuPanel.d.ts +0 -8
- package/dist-types/menu/MenuPanelBase.d.ts +0 -4
- package/dist-types/menu/MenuPanelContext.d.ts +0 -5
- package/dist-types/menu/MenuTrigger.d.ts +0 -8
- package/dist-types/menu/MenuTriggerContext.d.ts +0 -6
- package/dist-types/menu/index.d.ts +0 -5
package/dist-es/menu/MenuItem.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
import { clsx } from 'clsx';
|
|
4
|
-
import { makePrefixer, useForkRef } from '@salt-ds/core';
|
|
5
|
-
import { useWindow } from '@salt-ds/window';
|
|
6
|
-
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
7
|
-
import { ChevronRightIcon } from '@salt-ds/icons';
|
|
8
|
-
import { useListItem, useFloatingTree } from '@floating-ui/react';
|
|
9
|
-
import css_248z from './MenuItem.css.js';
|
|
10
|
-
import { useIsMenuTrigger } from './MenuTriggerContext.js';
|
|
11
|
-
import { useMenuPanelContext } from './MenuPanelContext.js';
|
|
12
|
-
|
|
13
|
-
const withBaseName = makePrefixer("saltMenuItem");
|
|
14
|
-
const MenuItem = forwardRef(
|
|
15
|
-
function MenuItem2(props, ref) {
|
|
16
|
-
const {
|
|
17
|
-
children,
|
|
18
|
-
className,
|
|
19
|
-
disabled,
|
|
20
|
-
onClick,
|
|
21
|
-
onFocus,
|
|
22
|
-
onKeyDown,
|
|
23
|
-
...rest
|
|
24
|
-
} = props;
|
|
25
|
-
const { triggersSubmenu, blurActive } = useIsMenuTrigger();
|
|
26
|
-
const { activeIndex, getItemProps, setFocusInside } = useMenuPanelContext();
|
|
27
|
-
const item = useListItem();
|
|
28
|
-
const tree = useFloatingTree();
|
|
29
|
-
const active = item.index === activeIndex;
|
|
30
|
-
const targetWindow = useWindow();
|
|
31
|
-
useComponentCssInjection({
|
|
32
|
-
testId: "salt-menu-item",
|
|
33
|
-
css: css_248z,
|
|
34
|
-
window: targetWindow
|
|
35
|
-
});
|
|
36
|
-
const handleRef = useForkRef(ref, item.ref);
|
|
37
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
38
|
-
className: clsx(
|
|
39
|
-
withBaseName(),
|
|
40
|
-
{
|
|
41
|
-
[withBaseName("blurActive")]: blurActive
|
|
42
|
-
},
|
|
43
|
-
className
|
|
44
|
-
),
|
|
45
|
-
role: "menuitem",
|
|
46
|
-
"aria-disabled": disabled || void 0,
|
|
47
|
-
...getItemProps({
|
|
48
|
-
tabIndex: disabled ? void 0 : active ? 0 : -1,
|
|
49
|
-
onKeyDown(event) {
|
|
50
|
-
const element = event.currentTarget;
|
|
51
|
-
onKeyDown == null ? void 0 : onKeyDown(event);
|
|
52
|
-
if ((event.key == " " || event.key == "Enter") && !triggersSubmenu && !disabled) {
|
|
53
|
-
event.preventDefault();
|
|
54
|
-
const { view, ...eventInit } = event;
|
|
55
|
-
queueMicrotask(() => {
|
|
56
|
-
element.dispatchEvent(
|
|
57
|
-
new window.MouseEvent("click", eventInit)
|
|
58
|
-
);
|
|
59
|
-
});
|
|
60
|
-
tree == null ? void 0 : tree.events.emit("click");
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
onClick(event) {
|
|
64
|
-
onClick == null ? void 0 : onClick(event);
|
|
65
|
-
if (!triggersSubmenu && !disabled) {
|
|
66
|
-
tree == null ? void 0 : tree.events.emit("click");
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
onFocus(event) {
|
|
70
|
-
onFocus == null ? void 0 : onFocus(event);
|
|
71
|
-
setFocusInside(true);
|
|
72
|
-
},
|
|
73
|
-
...rest
|
|
74
|
-
}),
|
|
75
|
-
ref: handleRef,
|
|
76
|
-
children: [
|
|
77
|
-
children,
|
|
78
|
-
triggersSubmenu && /* @__PURE__ */ jsx(ChevronRightIcon, {
|
|
79
|
-
className: withBaseName("expandIcon"),
|
|
80
|
-
"aria-hidden": true
|
|
81
|
-
})
|
|
82
|
-
]
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
);
|
|
86
|
-
|
|
87
|
-
export { MenuItem };
|
|
88
|
-
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.js","sources":["../src/menu/MenuItem.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n FocusEvent,\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer, useForkRef } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { ChevronRightIcon } from \"@salt-ds/icons\";\nimport { useFloatingTree, useListItem } from \"@floating-ui/react\";\n\nimport menuItemCss from \"./MenuItem.css\";\nimport { useIsMenuTrigger } from \"./MenuTriggerContext\";\nimport { useMenuPanelContext } from \"./MenuPanelContext\";\n\nexport interface MenuItemProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * If `true`, the item will be disabled.\n */\n disabled?: boolean;\n}\n\nconst withBaseName = makePrefixer(\"saltMenuItem\");\n\nexport const MenuItem = forwardRef<HTMLDivElement, MenuItemProps>(\n function MenuItem(props, ref) {\n const {\n children,\n className,\n disabled,\n onClick,\n onFocus,\n onKeyDown,\n ...rest\n } = props;\n\n const { triggersSubmenu, blurActive } = useIsMenuTrigger();\n const { activeIndex, getItemProps, setFocusInside } = useMenuPanelContext();\n const item = useListItem();\n const tree = useFloatingTree();\n const active = item.index === activeIndex;\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-menu-item\",\n css: menuItemCss,\n window: targetWindow,\n });\n const handleRef = useForkRef<HTMLDivElement>(ref, item.ref);\n return (\n <div\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"blurActive\")]: blurActive,\n },\n className\n )}\n role=\"menuitem\"\n aria-disabled={disabled || undefined}\n {...getItemProps({\n tabIndex: disabled ? undefined : active ? 0 : -1,\n onKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n const element = event.currentTarget;\n onKeyDown?.(event);\n if (\n (event.key == \" \" || event.key == \"Enter\") &&\n !triggersSubmenu &&\n !disabled\n ) {\n event.preventDefault();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars -- view is unused.\n const { view, ...eventInit } = event;\n queueMicrotask(() => {\n element.dispatchEvent(\n new window.MouseEvent(\"click\", eventInit)\n );\n });\n tree?.events.emit(\"click\");\n }\n },\n onClick(event: MouseEvent<HTMLDivElement>) {\n onClick?.(event);\n if (!triggersSubmenu && !disabled) {\n tree?.events.emit(\"click\");\n }\n },\n onFocus(event: FocusEvent<HTMLDivElement>) {\n onFocus?.(event);\n setFocusInside(true);\n },\n ...rest,\n })}\n ref={handleRef}\n >\n {children}\n {triggersSubmenu && (\n <ChevronRightIcon\n className={withBaseName(\"expandIcon\")}\n aria-hidden\n />\n )}\n </div>\n );\n }\n);\n"],"names":["MenuItem","menuItemCss"],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var css_248z = ".saltMenuPanel {\n background: var(--salt-container-primary-background);\n border: var(--salt-size-border) var(--salt-selectable-borderStyle-selected) var(--salt-selectable-borderColor-selected);\n overflow: hidden;\n overflow-y: auto;\n min-width: 10em;\n position: relative;\n z-index: var(--salt-zIndex-popout);\n box-shadow: var(--salt-overlayable-shadow-popout);\n box-sizing: border-box;\n}\n\n.saltMenuPanel-container {\n display: flex;\n flex-direction: column;\n gap: var(--salt-size-border);\n max-height: inherit;\n min-height: inherit;\n}\n\n.saltMenuPanel:focus-visible {\n outline: none;\n}\n";
|
|
2
|
-
|
|
3
|
-
export { css_248z as default };
|
|
4
|
-
//# sourceMappingURL=MenuPanel.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPanel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
import { makePrefixer, useFloatingComponent, useForkRef } from '@salt-ds/core';
|
|
4
|
-
import { clsx } from 'clsx';
|
|
5
|
-
import { useMenuContext } from './MenuContext.js';
|
|
6
|
-
import { MenuPanelBase } from './MenuPanelBase.js';
|
|
7
|
-
import { FloatingList } from '@floating-ui/react';
|
|
8
|
-
import { MenuPanelContext } from './MenuPanelContext.js';
|
|
9
|
-
|
|
10
|
-
const withBaseName = makePrefixer("saltMenuPanel");
|
|
11
|
-
const MenuPanel = forwardRef(
|
|
12
|
-
function MenuPanel2(props, ref) {
|
|
13
|
-
const { children, className, ...rest } = props;
|
|
14
|
-
const { Component: FloatingComponent } = useFloatingComponent();
|
|
15
|
-
const {
|
|
16
|
-
getItemProps,
|
|
17
|
-
openState,
|
|
18
|
-
getFloatingProps,
|
|
19
|
-
refs,
|
|
20
|
-
getPanelPosition,
|
|
21
|
-
context,
|
|
22
|
-
elementsRef,
|
|
23
|
-
activeIndex,
|
|
24
|
-
setFocusInside,
|
|
25
|
-
isNested
|
|
26
|
-
} = useMenuContext();
|
|
27
|
-
const handleRef = useForkRef(ref, refs == null ? void 0 : refs.setFloating);
|
|
28
|
-
return /* @__PURE__ */ jsx(MenuPanelContext.Provider, {
|
|
29
|
-
value: { activeIndex, getItemProps, setFocusInside },
|
|
30
|
-
children: /* @__PURE__ */ jsx(FloatingList, {
|
|
31
|
-
elementsRef,
|
|
32
|
-
children: /* @__PURE__ */ jsx(FloatingComponent, {
|
|
33
|
-
open: openState,
|
|
34
|
-
role: "menu",
|
|
35
|
-
...getFloatingProps(),
|
|
36
|
-
...getPanelPosition(),
|
|
37
|
-
className: clsx(withBaseName(), className),
|
|
38
|
-
focusManagerProps: context ? {
|
|
39
|
-
context,
|
|
40
|
-
initialFocus: isNested ? -1 : 0,
|
|
41
|
-
returnFocus: !isNested,
|
|
42
|
-
modal: false
|
|
43
|
-
} : void 0,
|
|
44
|
-
tabIndex: -1,
|
|
45
|
-
ref: handleRef,
|
|
46
|
-
...rest,
|
|
47
|
-
children: /* @__PURE__ */ jsx(MenuPanelBase, {
|
|
48
|
-
children
|
|
49
|
-
})
|
|
50
|
-
})
|
|
51
|
-
})
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
);
|
|
55
|
-
|
|
56
|
-
export { MenuPanel };
|
|
57
|
-
//# sourceMappingURL=MenuPanel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPanel.js","sources":["../src/menu/MenuPanel.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, ReactNode } from \"react\";\nimport { makePrefixer, useFloatingComponent, useForkRef } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { useMenuContext } from \"./MenuContext\";\nimport { MenuPanelBase } from \"./MenuPanelBase\";\nimport { FloatingList } from \"@floating-ui/react\";\nimport { MenuPanelContext } from \"./MenuPanelContext\";\n\nexport interface MenuPanelProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * The content of the menu panel.\n */\n children?: ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltMenuPanel\");\n\nexport const MenuPanel = forwardRef<HTMLDivElement, MenuPanelProps>(\n function MenuPanel(props, ref) {\n const { children, className, ...rest } = props;\n const { Component: FloatingComponent } = useFloatingComponent();\n\n const {\n getItemProps,\n openState,\n getFloatingProps,\n refs,\n getPanelPosition,\n context,\n elementsRef,\n activeIndex,\n setFocusInside,\n isNested,\n } = useMenuContext();\n\n const handleRef = useForkRef<HTMLDivElement>(ref, refs?.setFloating);\n\n return (\n <MenuPanelContext.Provider\n value={{ activeIndex, getItemProps, setFocusInside }}\n >\n <FloatingList elementsRef={elementsRef}>\n <FloatingComponent\n open={openState}\n role=\"menu\"\n {...getFloatingProps()}\n {...getPanelPosition()}\n className={clsx(withBaseName(), className)}\n focusManagerProps={\n context\n ? {\n context,\n initialFocus: isNested ? -1 : 0,\n returnFocus: !isNested,\n modal: false,\n }\n : undefined\n }\n tabIndex={-1}\n ref={handleRef}\n {...rest}\n >\n <MenuPanelBase>{children}</MenuPanelBase>\n </FloatingComponent>\n </FloatingList>\n </MenuPanelContext.Provider>\n );\n }\n);\n"],"names":["MenuPanel"],"mappings":";;;;;;;;;AAeA,MAAM,YAAA,GAAe,aAAa,eAAe,CAAA,CAAA;AAE1C,MAAM,SAAY,GAAA,UAAA;AAAA,EACvB,SAASA,UAAU,CAAA,KAAA,EAAO,GAAK,EAAA;AAC7B,IAAA,MAAM,EAAE,QAAA,EAAU,SAAc,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AACzC,IAAA,MAAM,EAAE,SAAA,EAAW,iBAAkB,EAAA,GAAI,oBAAqB,EAAA,CAAA;AAE9D,IAAM,MAAA;AAAA,MACJ,YAAA;AAAA,MACA,SAAA;AAAA,MACA,gBAAA;AAAA,MACA,IAAA;AAAA,MACA,gBAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAA;AAAA,MACA,QAAA;AAAA,QACE,cAAe,EAAA,CAAA;AAEnB,IAAA,MAAM,SAAY,GAAA,UAAA,CAA2B,GAAK,EAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,WAAW,CAAA,CAAA;AAEnE,IACE,uBAAA,GAAA,CAAC,iBAAiB,QAAjB,EAAA;AAAA,MACC,KAAO,EAAA,EAAE,WAAa,EAAA,YAAA,EAAc,cAAe,EAAA;AAAA,MAEnD,QAAC,kBAAA,GAAA,CAAA,YAAA,EAAA;AAAA,QAAa,WAAA;AAAA,QACZ,QAAC,kBAAA,GAAA,CAAA,iBAAA,EAAA;AAAA,UACC,IAAM,EAAA,SAAA;AAAA,UACN,IAAK,EAAA,MAAA;AAAA,UACJ,GAAG,gBAAiB,EAAA;AAAA,UACpB,GAAG,gBAAiB,EAAA;AAAA,UACrB,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,UACzC,mBACE,OACI,GAAA;AAAA,YACE,OAAA;AAAA,YACA,YAAA,EAAc,WAAW,CAAK,CAAA,GAAA,CAAA;AAAA,YAC9B,aAAa,CAAC,QAAA;AAAA,YACd,KAAO,EAAA,KAAA;AAAA,WAET,GAAA,KAAA,CAAA;AAAA,UAEN,QAAU,EAAA,CAAA,CAAA;AAAA,UACV,GAAK,EAAA,SAAA;AAAA,UACJ,GAAG,IAAA;AAAA,UAEJ,QAAC,kBAAA,GAAA,CAAA,aAAA,EAAA;AAAA,YAAe,QAAA;AAAA,WAAS,CAAA;AAAA,SAC3B,CAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
import { useWindow } from '@salt-ds/window';
|
|
4
|
-
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
5
|
-
import css_248z from './MenuPanel.css.js';
|
|
6
|
-
|
|
7
|
-
const MenuPanelBase = forwardRef(
|
|
8
|
-
function MenuPanelBase2(props, ref) {
|
|
9
|
-
const { children, ...rest } = props;
|
|
10
|
-
const targetWindow = useWindow();
|
|
11
|
-
useComponentCssInjection({
|
|
12
|
-
testId: "salt-menu-panel",
|
|
13
|
-
css: css_248z,
|
|
14
|
-
window: targetWindow
|
|
15
|
-
});
|
|
16
|
-
return /* @__PURE__ */ jsx("div", {
|
|
17
|
-
ref,
|
|
18
|
-
...rest,
|
|
19
|
-
children
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
export { MenuPanelBase };
|
|
25
|
-
//# sourceMappingURL=MenuPanelBase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPanelBase.js","sources":["../src/menu/MenuPanelBase.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport menuPanelCss from \"./MenuPanel.css\";\n\nexport interface MenuPanelBaseProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nexport const MenuPanelBase = forwardRef<HTMLDivElement, MenuPanelBaseProps>(\n function MenuPanelBase(props, ref) {\n const { children, ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-menu-panel\",\n css: menuPanelCss,\n window: targetWindow,\n });\n\n return (\n <div ref={ref} {...rest}>\n {children}\n </div>\n );\n }\n);\n"],"names":["MenuPanelBase","menuPanelCss"],"mappings":";;;;;;AAOO,MAAM,aAAgB,GAAA,UAAA;AAAA,EAC3B,SAASA,cAAc,CAAA,KAAA,EAAO,GAAK,EAAA;AACjC,IAAM,MAAA,EAAE,QAAa,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AAE9B,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,iBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MAAI,GAAA;AAAA,MAAW,GAAG,IAAA;AAAA,MAChB,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { createContext } from '@salt-ds/core';
|
|
2
|
-
import { useContext } from 'react';
|
|
3
|
-
|
|
4
|
-
const MenuPanelContext = createContext(
|
|
5
|
-
"MenuPanelContext",
|
|
6
|
-
{
|
|
7
|
-
activeIndex: null,
|
|
8
|
-
getItemProps: () => ({}),
|
|
9
|
-
setFocusInside: () => void 0
|
|
10
|
-
}
|
|
11
|
-
);
|
|
12
|
-
function useMenuPanelContext() {
|
|
13
|
-
return useContext(MenuPanelContext);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export { MenuPanelContext, useMenuPanelContext };
|
|
17
|
-
//# sourceMappingURL=MenuPanelContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPanelContext.js","sources":["../src/menu/MenuPanelContext.ts"],"sourcesContent":["import { createContext } from \"@salt-ds/core\";\nimport { useContext } from \"react\";\nimport { MenuContextValue } from \"./MenuContext\";\n\nexport interface MenuPanelContextValue\n extends Pick<\n MenuContextValue,\n \"getItemProps\" | \"activeIndex\" | \"setFocusInside\"\n > {}\n\nexport const MenuPanelContext = createContext<MenuPanelContextValue>(\n \"MenuPanelContext\",\n {\n activeIndex: null,\n getItemProps: () => ({}),\n setFocusInside: () => undefined,\n }\n);\n\nexport function useMenuPanelContext() {\n return useContext(MenuPanelContext);\n}\n"],"names":[],"mappings":";;;AAUO,MAAM,gBAAmB,GAAA,aAAA;AAAA,EAC9B,kBAAA;AAAA,EACA;AAAA,IACE,WAAa,EAAA,IAAA;AAAA,IACb,YAAA,EAAc,OAAO,EAAC,CAAA;AAAA,IACtB,gBAAgB,MAAM,KAAA,CAAA;AAAA,GACxB;AACF,EAAA;AAEO,SAAS,mBAAsB,GAAA;AACpC,EAAA,OAAO,WAAW,gBAAgB,CAAA,CAAA;AACpC;;;;"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import { isValidElement, cloneElement } from 'react';
|
|
3
|
-
import { useForkRef, mergeProps } from '@salt-ds/core';
|
|
4
|
-
import { useMenuContext } from './MenuContext.js';
|
|
5
|
-
import { MenuTriggerContext } from './MenuTriggerContext.js';
|
|
6
|
-
import { useMenuPanelContext } from './MenuPanelContext.js';
|
|
7
|
-
|
|
8
|
-
function MenuTrigger(props) {
|
|
9
|
-
const { children } = props;
|
|
10
|
-
const { getReferenceProps, refs, setFocusInside, focusInside, openState } = useMenuContext();
|
|
11
|
-
const { setFocusInside: setFocusInsideParent } = useMenuPanelContext();
|
|
12
|
-
const handleRef = useForkRef(
|
|
13
|
-
isValidElement(children) ? children.ref : null,
|
|
14
|
-
refs == null ? void 0 : refs.setReference
|
|
15
|
-
);
|
|
16
|
-
if (!children || !isValidElement(children)) {
|
|
17
|
-
return /* @__PURE__ */ jsx(Fragment, {
|
|
18
|
-
children
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
return /* @__PURE__ */ jsx(MenuTriggerContext.Provider, {
|
|
22
|
-
value: { triggersSubmenu: true, blurActive: focusInside && openState },
|
|
23
|
-
children: cloneElement(children, {
|
|
24
|
-
...mergeProps(
|
|
25
|
-
getReferenceProps({
|
|
26
|
-
onFocus() {
|
|
27
|
-
setFocusInsideParent(true);
|
|
28
|
-
setFocusInside(false);
|
|
29
|
-
}
|
|
30
|
-
}),
|
|
31
|
-
children.props
|
|
32
|
-
),
|
|
33
|
-
ref: handleRef
|
|
34
|
-
})
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export { MenuTrigger };
|
|
39
|
-
//# sourceMappingURL=MenuTrigger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MenuTrigger.js","sources":["../src/menu/MenuTrigger.tsx"],"sourcesContent":["import { cloneElement, isValidElement, ReactNode } from \"react\";\nimport { mergeProps, useForkRef } from \"@salt-ds/core\";\nimport { useMenuContext } from \"./MenuContext\";\nimport { MenuTriggerContext } from \"./MenuTriggerContext\";\nimport { useMenuPanelContext } from \"./MenuPanelContext\";\n\nexport interface MenuTriggerProps {\n /**\n * The trigger element for the menu. This should be a single child element and accept a ref.\n */\n children?: ReactNode;\n}\n\nexport function MenuTrigger(props: MenuTriggerProps) {\n const { children } = props;\n\n const { getReferenceProps, refs, setFocusInside, focusInside, openState } =\n useMenuContext();\n const { setFocusInside: setFocusInsideParent } = useMenuPanelContext();\n\n const handleRef = useForkRef(\n // @ts-expect-error error TS2339 missing property ref\n isValidElement(children) ? children.ref : null,\n refs?.setReference\n );\n\n if (!children || !isValidElement(children)) {\n // Should we log or throw error?\n return <>{children}</>;\n }\n\n return (\n <MenuTriggerContext.Provider\n value={{ triggersSubmenu: true, blurActive: focusInside && openState }}\n >\n {cloneElement(children, {\n ...mergeProps(\n getReferenceProps({\n onFocus() {\n setFocusInsideParent(true);\n setFocusInside(false);\n },\n }),\n children.props\n ),\n ref: handleRef,\n })}\n </MenuTriggerContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAaO,SAAS,YAAY,KAAyB,EAAA;AACnD,EAAM,MAAA,EAAE,UAAa,GAAA,KAAA,CAAA;AAErB,EAAA,MAAM,EAAE,iBAAmB,EAAA,IAAA,EAAM,gBAAgB,WAAa,EAAA,SAAA,KAC5D,cAAe,EAAA,CAAA;AACjB,EAAA,MAAM,EAAE,cAAA,EAAgB,oBAAqB,EAAA,GAAI,mBAAoB,EAAA,CAAA;AAErE,EAAA,MAAM,SAAY,GAAA,UAAA;AAAA,IAEhB,cAAe,CAAA,QAAQ,CAAI,GAAA,QAAA,CAAS,GAAM,GAAA,IAAA;AAAA,IAC1C,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,YAAA;AAAA,GACR,CAAA;AAEA,EAAA,IAAI,CAAC,QAAA,IAAY,CAAC,cAAA,CAAe,QAAQ,CAAG,EAAA;AAE1C,IAAO,uBAAA,GAAA,CAAA,QAAA,EAAA;AAAA,MAAG,QAAA;AAAA,KAAS,CAAA,CAAA;AAAA,GACrB;AAEA,EACE,uBAAA,GAAA,CAAC,mBAAmB,QAAnB,EAAA;AAAA,IACC,OAAO,EAAE,eAAA,EAAiB,IAAM,EAAA,UAAA,EAAY,eAAe,SAAU,EAAA;AAAA,IAEpE,uBAAa,QAAU,EAAA;AAAA,MACtB,GAAG,UAAA;AAAA,QACD,iBAAkB,CAAA;AAAA,UAChB,OAAU,GAAA;AACR,YAAA,oBAAA,CAAqB,IAAI,CAAA,CAAA;AACzB,YAAA,cAAA,CAAe,KAAK,CAAA,CAAA;AAAA,WACtB;AAAA,SACD,CAAA;AAAA,QACD,QAAS,CAAA,KAAA;AAAA,OACX;AAAA,MACA,GAAK,EAAA,SAAA;AAAA,KACN,CAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { createContext } from '@salt-ds/core';
|
|
2
|
-
import { useContext } from 'react';
|
|
3
|
-
|
|
4
|
-
const MenuTriggerContext = createContext(
|
|
5
|
-
"MenuTriggerContext",
|
|
6
|
-
{ triggersSubmenu: false, blurActive: false }
|
|
7
|
-
);
|
|
8
|
-
function useIsMenuTrigger() {
|
|
9
|
-
return useContext(MenuTriggerContext);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export { MenuTriggerContext, useIsMenuTrigger };
|
|
13
|
-
//# sourceMappingURL=MenuTriggerContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MenuTriggerContext.js","sources":["../src/menu/MenuTriggerContext.ts"],"sourcesContent":["import { createContext } from \"@salt-ds/core\";\nimport { useContext } from \"react\";\n\nexport interface MenuTriggerContextValue {\n triggersSubmenu: boolean;\n blurActive: boolean;\n}\n\nexport const MenuTriggerContext = createContext<MenuTriggerContextValue>(\n \"MenuTriggerContext\",\n { triggersSubmenu: false, blurActive: false }\n);\n\nexport function useIsMenuTrigger() {\n return useContext(MenuTriggerContext);\n}\n"],"names":[],"mappings":";;;AAQO,MAAM,kBAAqB,GAAA,aAAA;AAAA,EAChC,oBAAA;AAAA,EACA,EAAE,eAAA,EAAiB,KAAO,EAAA,UAAA,EAAY,KAAM,EAAA;AAC9C,EAAA;AAEO,SAAS,gBAAmB,GAAA;AACjC,EAAA,OAAO,WAAW,kBAAkB,CAAA,CAAA;AACtC;;;;"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
import { UseFloatingUIProps } from "@salt-ds/core";
|
|
3
|
-
import { ReferenceType } from "@floating-ui/react";
|
|
4
|
-
export interface MenuBaseProps {
|
|
5
|
-
children?: ReactNode;
|
|
6
|
-
/**
|
|
7
|
-
* Display or hide the component.
|
|
8
|
-
*/
|
|
9
|
-
open?: boolean;
|
|
10
|
-
/**
|
|
11
|
-
* If true, the menu will be open by default.
|
|
12
|
-
*/
|
|
13
|
-
defaultOpen?: boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Callback function triggered when open state changes.
|
|
16
|
-
*/
|
|
17
|
-
onOpenChange?: (newOpen: boolean) => void;
|
|
18
|
-
/**
|
|
19
|
-
* Set the placement of the Menu component relative to the trigger element. Defaults to `bottom-start` if it's the root menu or `right-start` if it's nested.
|
|
20
|
-
*/
|
|
21
|
-
placement?: UseFloatingUIProps["placement"];
|
|
22
|
-
/**
|
|
23
|
-
* Function that returns a [virtual element](https://floating-ui.com/docs/virtual-elements). If this is provided, it will override MenuTrigger.
|
|
24
|
-
*/
|
|
25
|
-
getVirtualElement?: () => ReferenceType | null;
|
|
26
|
-
}
|
|
27
|
-
export declare function MenuBase(props: MenuBaseProps): JSX.Element;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { UseFloatingUIReturn } from "@salt-ds/core";
|
|
2
|
-
import { Dispatch, MutableRefObject, SetStateAction } from "react";
|
|
3
|
-
import { useInteractions } from "@floating-ui/react";
|
|
4
|
-
declare type UseInteractionsReturn = ReturnType<typeof useInteractions>;
|
|
5
|
-
export interface MenuContextValue extends Pick<UseInteractionsReturn, "getItemProps" | "getReferenceProps" | "getFloatingProps">, Partial<Pick<UseFloatingUIReturn, "context" | "refs">> {
|
|
6
|
-
openState: boolean;
|
|
7
|
-
activeIndex: number | null;
|
|
8
|
-
getPanelPosition: () => Record<string, unknown>;
|
|
9
|
-
elementsRef: MutableRefObject<(HTMLDivElement | null)[]>;
|
|
10
|
-
focusInside: boolean;
|
|
11
|
-
setFocusInside: Dispatch<SetStateAction<boolean>>;
|
|
12
|
-
isNested: boolean;
|
|
13
|
-
}
|
|
14
|
-
export declare const MenuContext: import("react").Context<MenuContextValue>;
|
|
15
|
-
export declare function useMenuContext(): MenuContextValue;
|
|
16
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
2
|
-
export interface MenuGroupProps extends ComponentPropsWithoutRef<"div"> {
|
|
3
|
-
/**
|
|
4
|
-
* The label of the menu group.
|
|
5
|
-
*/
|
|
6
|
-
label?: string;
|
|
7
|
-
/**
|
|
8
|
-
* Menus to be rendered inside the menu group.
|
|
9
|
-
*/
|
|
10
|
-
children?: ReactNode;
|
|
11
|
-
}
|
|
12
|
-
export declare const MenuGroup: import("react").ForwardRefExoticComponent<MenuGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ComponentPropsWithoutRef } from "react";
|
|
2
|
-
export interface MenuItemProps extends ComponentPropsWithoutRef<"div"> {
|
|
3
|
-
/**
|
|
4
|
-
* If `true`, the item will be disabled.
|
|
5
|
-
*/
|
|
6
|
-
disabled?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare const MenuItem: import("react").ForwardRefExoticComponent<MenuItemProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
2
|
-
export interface MenuPanelProps extends ComponentPropsWithoutRef<"div"> {
|
|
3
|
-
/**
|
|
4
|
-
* The content of the menu panel.
|
|
5
|
-
*/
|
|
6
|
-
children?: ReactNode;
|
|
7
|
-
}
|
|
8
|
-
export declare const MenuPanel: import("react").ForwardRefExoticComponent<MenuPanelProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ComponentPropsWithoutRef } from "react";
|
|
2
|
-
export interface MenuPanelBaseProps extends ComponentPropsWithoutRef<"div"> {
|
|
3
|
-
}
|
|
4
|
-
export declare const MenuPanelBase: import("react").ForwardRefExoticComponent<MenuPanelBaseProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { MenuContextValue } from "./MenuContext";
|
|
2
|
-
export interface MenuPanelContextValue extends Pick<MenuContextValue, "getItemProps" | "activeIndex" | "setFocusInside"> {
|
|
3
|
-
}
|
|
4
|
-
export declare const MenuPanelContext: import("react").Context<MenuPanelContextValue>;
|
|
5
|
-
export declare function useMenuPanelContext(): MenuPanelContextValue;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
export interface MenuTriggerProps {
|
|
3
|
-
/**
|
|
4
|
-
* The trigger element for the menu. This should be a single child element and accept a ref.
|
|
5
|
-
*/
|
|
6
|
-
children?: ReactNode;
|
|
7
|
-
}
|
|
8
|
-
export declare function MenuTrigger(props: MenuTriggerProps): JSX.Element;
|