@edgeandnode/eds-react 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -8
- package/dist/EDSContext.d.ts +4 -1
- package/dist/EDSContext.d.ts.map +1 -1
- package/dist/EDSContext.js +7 -0
- package/dist/EDSContext.js.map +1 -1
- package/dist/EDSProvider.d.ts +13 -6
- package/dist/EDSProvider.d.ts.map +1 -1
- package/dist/EDSProvider.js +60 -68
- package/dist/EDSProvider.js.map +1 -1
- package/dist/components/Address.d.ts +3 -3
- package/dist/components/Address.d.ts.map +1 -1
- package/dist/components/Address.js.map +1 -1
- package/dist/components/Avatar.d.ts +3 -3
- package/dist/components/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar.js +3 -2
- package/dist/components/Avatar.js.map +1 -1
- package/dist/components/Breadcrumbs.parts.d.ts +7 -6
- package/dist/components/Breadcrumbs.parts.d.ts.map +1 -1
- package/dist/components/Breadcrumbs.parts.js +15 -14
- package/dist/components/Breadcrumbs.parts.js.map +1 -1
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.js +3 -2
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Card.d.ts +8 -4
- package/dist/components/Card.d.ts.map +1 -1
- package/dist/components/Card.js +2 -1
- package/dist/components/Card.js.map +1 -1
- package/dist/components/Cluster.d.ts +3 -3
- package/dist/components/Cluster.d.ts.map +1 -1
- package/dist/components/Cluster.js.map +1 -1
- package/dist/components/CodeBlock.parts.d.ts.map +1 -1
- package/dist/components/CodeBlock.parts.js +16 -20
- package/dist/components/CodeBlock.parts.js.map +1 -1
- package/dist/components/CopyButton.d.ts.map +1 -1
- package/dist/components/CopyButton.js +3 -2
- package/dist/components/CopyButton.js.map +1 -1
- package/dist/components/Icon.d.ts.map +1 -1
- package/dist/components/Icon.js +3 -3
- package/dist/components/Icon.js.map +1 -1
- package/dist/components/Keyboard.js +1 -1
- package/dist/components/LocalTheme.d.ts +29 -0
- package/dist/components/LocalTheme.d.ts.map +1 -0
- package/dist/components/LocalTheme.js +28 -0
- package/dist/components/LocalTheme.js.map +1 -0
- package/dist/components/Menu.parts.d.ts +43 -9
- package/dist/components/Menu.parts.d.ts.map +1 -1
- package/dist/components/Menu.parts.js +121 -115
- package/dist/components/Menu.parts.js.map +1 -1
- package/dist/components/Modal.parts.d.ts +1 -1
- package/dist/components/Modal.parts.d.ts.map +1 -1
- package/dist/components/Modal.parts.js +22 -11
- package/dist/components/Modal.parts.js.map +1 -1
- package/dist/components/Pane.parts.d.ts +23 -22
- package/dist/components/Pane.parts.d.ts.map +1 -1
- package/dist/components/Pane.parts.js +3 -3
- package/dist/components/Pane.parts.js.map +1 -1
- package/dist/components/Prose.d.ts +1 -1
- package/dist/components/Prose.d.ts.map +1 -1
- package/dist/components/Prose.js +3 -3
- package/dist/components/Prose.js.map +1 -1
- package/dist/components/Prose.meta.d.ts +5 -0
- package/dist/components/Prose.meta.d.ts.map +1 -1
- package/dist/components/Prose.meta.js +10 -0
- package/dist/components/Prose.meta.js.map +1 -1
- package/dist/components/SegmentedControl.parts.d.ts.map +1 -1
- package/dist/components/SegmentedControl.parts.js +3 -2
- package/dist/components/SegmentedControl.parts.js.map +1 -1
- package/dist/components/Select.parts.d.ts +12 -7
- package/dist/components/Select.parts.d.ts.map +1 -1
- package/dist/components/Select.parts.js +28 -18
- package/dist/components/Select.parts.js.map +1 -1
- package/dist/components/TabSet.parts.d.ts.map +1 -1
- package/dist/components/TabSet.parts.js +3 -2
- package/dist/components/TabSet.parts.js.map +1 -1
- package/dist/components/Table.parts.d.ts.map +1 -1
- package/dist/components/Table.parts.js +3 -4
- package/dist/components/Table.parts.js.map +1 -1
- package/dist/components/ThemeSwitcher.d.ts +5 -5
- package/dist/components/ThemeSwitcher.d.ts.map +1 -1
- package/dist/components/ThemeSwitcher.js +6 -5
- package/dist/components/ThemeSwitcher.js.map +1 -1
- package/dist/components/Tooltip.parts.js +2 -2
- package/dist/components/Tooltip.parts.js.map +1 -1
- package/dist/components/base/Addon.d.ts.map +1 -1
- package/dist/components/base/Addon.js +2 -4
- package/dist/components/base/Addon.js.map +1 -1
- package/dist/components/base/ButtonOrLink.parts.d.ts.map +1 -1
- package/dist/components/base/ButtonOrLink.parts.js +2 -1
- package/dist/components/base/ButtonOrLink.parts.js.map +1 -1
- package/dist/components/base/MaybeButtonOrLink.d.ts +7 -5
- package/dist/components/base/MaybeButtonOrLink.d.ts.map +1 -1
- package/dist/components/base/MaybeButtonOrLink.js +7 -2
- package/dist/components/base/MaybeButtonOrLink.js.map +1 -1
- package/dist/components/base/Render.d.ts +25 -6
- package/dist/components/base/Render.d.ts.map +1 -1
- package/dist/components/base/Render.js +4 -3
- package/dist/components/base/Render.js.map +1 -1
- package/dist/components/base/index.d.ts +1 -1
- package/dist/components/base/index.d.ts.map +1 -1
- package/dist/components/base/index.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/hooks/useCSSProp.js +1 -1
- package/dist/hooks/useCSSProp.js.map +1 -1
- package/dist/hooks/useEDS.d.ts +24 -1
- package/dist/hooks/useEDS.d.ts.map +1 -1
- package/dist/hooks/useEDS.js +26 -2
- package/dist/hooks/useEDS.js.map +1 -1
- package/dist/hooks/useStyleObserver.d.ts.map +1 -1
- package/dist/hooks/useStyleObserver.js +2 -1
- package/dist/hooks/useStyleObserver.js.map +1 -1
- package/dist/icons/CalendarDynamicIcon.d.ts.map +1 -1
- package/dist/icons/CalendarDynamicIcon.js +3 -1
- package/dist/icons/CalendarDynamicIcon.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/theme-persistence.d.ts +18 -0
- package/dist/theme-persistence.d.ts.map +1 -0
- package/dist/theme-persistence.js +25 -0
- package/dist/theme-persistence.js.map +1 -0
- package/dist/utils/getReactNodeKey.d.ts.map +1 -1
- package/dist/utils/getReactNodeKey.js +31 -13
- package/dist/utils/getReactNodeKey.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/internal/getTooltipProps.d.ts +9 -0
- package/dist/utils/internal/getTooltipProps.d.ts.map +1 -0
- package/dist/utils/internal/getTooltipProps.js +18 -0
- package/dist/utils/internal/getTooltipProps.js.map +1 -0
- package/dist/utils/internal/index.d.ts +4 -0
- package/dist/utils/internal/index.d.ts.map +1 -0
- package/dist/utils/internal/index.js +4 -0
- package/dist/utils/internal/index.js.map +1 -0
- package/dist/utils/internal/resolveLazy.d.ts +29 -0
- package/dist/utils/internal/resolveLazy.d.ts.map +1 -0
- package/dist/utils/internal/resolveLazy.js +40 -0
- package/dist/utils/internal/resolveLazy.js.map +1 -0
- package/dist/utils/internal/styleScheduler.d.ts.map +1 -0
- package/dist/utils/internal/styleScheduler.js.map +1 -0
- package/dist/utils/isComponentType.d.ts +9 -0
- package/dist/utils/isComponentType.d.ts.map +1 -0
- package/dist/utils/isComponentType.js +22 -0
- package/dist/utils/isComponentType.js.map +1 -0
- package/dist/utils/isReactNode.d.ts +7 -0
- package/dist/utils/isReactNode.d.ts.map +1 -1
- package/dist/utils/isReactNode.js +11 -0
- package/dist/utils/isReactNode.js.map +1 -1
- package/dist/utils/reactNodeToString.d.ts +3 -0
- package/dist/utils/reactNodeToString.d.ts.map +1 -1
- package/dist/utils/reactNodeToString.js +6 -0
- package/dist/utils/reactNodeToString.js.map +1 -1
- package/dist/utils/styleObserver.js +1 -1
- package/dist/utils/trimReactNode.d.ts +3 -0
- package/dist/utils/trimReactNode.d.ts.map +1 -1
- package/dist/utils/trimReactNode.js +6 -0
- package/dist/utils/trimReactNode.js.map +1 -1
- package/package.json +24 -23
- package/scripts/update-skill.cjs +18 -5
- package/skill/SKILL.md +95 -57
- package/skill/references/tokens.md +2 -8
- package/src/EDSContext.ts +10 -1
- package/src/EDSProvider.tsx +111 -80
- package/src/components/Address.tsx +4 -3
- package/src/components/Avatar.tsx +10 -5
- package/src/components/Breadcrumbs.parts.tsx +35 -18
- package/src/components/Button.tsx +7 -2
- package/src/components/Card.tsx +14 -8
- package/src/components/Cluster.tsx +5 -3
- package/src/components/CodeBlock.parts.tsx +20 -24
- package/src/components/CopyButton.tsx +3 -2
- package/src/components/Icon.tsx +3 -9
- package/src/components/Keyboard.tsx +1 -1
- package/src/components/LocalTheme.tsx +47 -0
- package/src/components/Menu.parts.tsx +368 -245
- package/src/components/Modal.parts.tsx +28 -11
- package/src/components/Pane.parts.tsx +31 -26
- package/src/components/Prose.meta.ts +10 -0
- package/src/components/Prose.tsx +4 -3
- package/src/components/SegmentedControl.parts.tsx +3 -8
- package/src/components/Select.parts.tsx +43 -34
- package/src/components/TabSet.parts.tsx +3 -5
- package/src/components/Table.parts.tsx +3 -3
- package/src/components/ThemeSwitcher.tsx +13 -15
- package/src/components/Tooltip.parts.tsx +2 -2
- package/src/components/base/Addon.tsx +3 -4
- package/src/components/base/ButtonOrLink.parts.tsx +2 -1
- package/src/components/base/MaybeButtonOrLink.tsx +11 -6
- package/src/components/base/Render.tsx +28 -4
- package/src/components/base/index.ts +2 -0
- package/src/components/index.ts +8 -0
- package/src/hooks/useCSSProp.ts +1 -1
- package/src/hooks/useEDS.ts +26 -2
- package/src/hooks/useStyleObserver.ts +2 -1
- package/src/icons/CalendarDynamicIcon.tsx +1 -0
- package/src/index.ts +2 -1
- package/src/theme-persistence.ts +31 -0
- package/src/utils/getReactNodeKey.ts +30 -14
- package/src/utils/index.ts +1 -1
- package/src/utils/internal/getTooltipProps.ts +25 -0
- package/src/utils/internal/index.ts +3 -0
- package/src/utils/internal/resolveLazy.ts +44 -0
- package/src/utils/isComponentType.ts +27 -0
- package/src/utils/isReactNode.ts +11 -0
- package/src/utils/reactNodeToString.ts +7 -0
- package/src/utils/styleObserver.ts +1 -1
- package/src/utils/trimReactNode.tsx +7 -0
- package/dist/utils/styleScheduler.d.ts.map +0 -1
- package/dist/utils/styleScheduler.js.map +0 -1
- package/src/__snapshots__/compiled.css +0 -22499
- package/styles/tailwind.storybook.css +0 -19
- /package/dist/utils/{styleScheduler.d.ts → internal/styleScheduler.d.ts} +0 -0
- /package/dist/utils/{styleScheduler.js → internal/styleScheduler.js} +0 -0
- /package/src/utils/{styleScheduler.ts → internal/styleScheduler.ts} +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { mergeProps } from '@base-ui/react';
|
|
4
|
+
import { LocalThemeContext, THEME_CLASSES } from '../EDSContext.js';
|
|
5
|
+
import { Render } from './base/Render.js';
|
|
6
|
+
/**
|
|
7
|
+
* Renders its content in the given theme, whatever the page's theme is. Unlike switching between
|
|
8
|
+
* `Dark` and `Light`, changing `theme` doesn't remount the content. Components that need to know
|
|
9
|
+
* the theme in JavaScript can read it with `useEDS().activeTheme`.
|
|
10
|
+
*/
|
|
11
|
+
export function LocalTheme({ theme, ...props }) {
|
|
12
|
+
return (_jsx(LocalThemeContext.Provider, { value: theme, children: _jsx(Render, { ...mergeProps({ className: THEME_CLASSES[theme] }, props) }) }));
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Renders its content in the dark theme, whatever the page's theme is. Components that need to know
|
|
16
|
+
* the theme in JavaScript can read it with `useEDS().activeTheme`.
|
|
17
|
+
*/
|
|
18
|
+
export function Dark(props) {
|
|
19
|
+
return _jsx(LocalTheme, { theme: "dark", ...props });
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Renders its content in the light theme, whatever the page's theme is. Components that need to
|
|
23
|
+
* know the theme in JavaScript can read it with `useEDS().activeTheme`.
|
|
24
|
+
*/
|
|
25
|
+
export function Light(props) {
|
|
26
|
+
return _jsx(LocalTheme, { theme: "light", ...props });
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=LocalTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalTheme.js","sourceRoot":"","sources":["../../src/components/LocalTheme.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAG3C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAsB,MAAM,kBAAkB,CAAA;AACvF,OAAO,EAAE,MAAM,EAA+C,MAAM,kBAAmB,CAAA;AAavF;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAmB;IAC7D,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACtC,KAAC,MAAM,OAAK,UAAU,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAI,GAC3C,CAC9B,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,OAAO,KAAC,UAAU,IAAC,KAAK,EAAC,MAAM,KAAK,KAAK,GAAI,CAAA;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,OAAO,KAAC,UAAU,IAAC,KAAK,EAAC,OAAO,KAAK,KAAK,GAAI,CAAA;AAChD,CAAC"}
|
|
@@ -71,6 +71,36 @@ export declare namespace MenuProps {
|
|
|
71
71
|
* @default false
|
|
72
72
|
*/
|
|
73
73
|
highlightCheckedOnOpen?: boolean | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Adds `Menu.Search` to the header and filters items by their text (or `label`) as the user
|
|
76
|
+
* types. A custom `header` must include `Menu.Search`, which handles the keyboard navigation.
|
|
77
|
+
* Pass a function to customize matching, or `'manual'` to filter the items yourself (e.g.
|
|
78
|
+
* results from an API). Defaults to `true` if `searchValue` or `onSearchValueChange` is set.
|
|
79
|
+
*/
|
|
80
|
+
searchable?: boolean | ((item: {
|
|
81
|
+
label: string;
|
|
82
|
+
searchValue: string;
|
|
83
|
+
}) => boolean) | 'manual' | undefined;
|
|
84
|
+
/** The search query, to control it along with `onSearchValueChange`. */
|
|
85
|
+
searchValue?: string | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Called when the search query changes, including when it's reset after the menu closes (then
|
|
88
|
+
* `eventDetails.reason` is `'popup-close'`).
|
|
89
|
+
*/
|
|
90
|
+
onSearchValueChange?: ((searchValue: string, eventDetails: Menu.FilterProvider.ChangeEventDetails) => void) | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Shown in a searchable menu when no item matches. A string is rendered in a `Menu.Empty`, and
|
|
93
|
+
* `null` renders nothing.
|
|
94
|
+
*
|
|
95
|
+
* @default <Menu.Empty />
|
|
96
|
+
*/
|
|
97
|
+
empty?: ReactNode | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* Marks the items as loading (e.g. search results from an API). In a searchable menu, a
|
|
100
|
+
* `LoadingIcon` also shows in the search input, or in place of the empty state until a search
|
|
101
|
+
* finishes.
|
|
102
|
+
*/
|
|
103
|
+
loading?: boolean | undefined;
|
|
74
104
|
}
|
|
75
105
|
interface CommonProps extends HTMLProps, OwnProps, EDSComponentProps<typeof MenuMeta> {
|
|
76
106
|
}
|
|
@@ -80,7 +110,7 @@ export declare namespace MenuProps {
|
|
|
80
110
|
}
|
|
81
111
|
}
|
|
82
112
|
export type MenuProps<T extends OptionValue = OptionValue> = MenuProps.NonRadioProps | MenuProps.RadioProps<T>;
|
|
83
|
-
export declare function MenuRoot<T extends OptionValue>({ ref: passedRef, trigger, triggerMode, anchor: passedAnchor, side, gap, align, alignOffset, matchTriggerWidth, matchTriggerHeight, open: controlledOpen, defaultOpen, onOpenChange, header, footer, highlightCheckedOnOpen, label, type, value, defaultValue, onValueChange, children, ...props }: MenuProps<T>): import("react").JSX.Element;
|
|
113
|
+
export declare function MenuRoot<T extends OptionValue>({ ref: passedRef, trigger, triggerMode, anchor: passedAnchor, side, gap, align, alignOffset, matchTriggerWidth, matchTriggerHeight, open: controlledOpen, defaultOpen, onOpenChange, header: passedHeader, footer, highlightCheckedOnOpen, searchable: passedSearchable, searchValue, onSearchValueChange, empty, loading, label, type, value, defaultValue, onValueChange, children, ...props }: MenuProps<T>): import("react").JSX.Element;
|
|
84
114
|
export declare namespace MenuRoot {
|
|
85
115
|
var displayName: string;
|
|
86
116
|
}
|
|
@@ -101,6 +131,11 @@ export declare namespace MenuItemProps {
|
|
|
101
131
|
interface HTMLProps extends Omit<ComponentProps<'button'>, 'defaultChecked' | 'defaultValue' | 'onChange' | 'type' | 'value'> {
|
|
102
132
|
}
|
|
103
133
|
interface OwnProps {
|
|
134
|
+
/**
|
|
135
|
+
* Text that search and typeahead match against. Defaults to the item's rendered text, addons
|
|
136
|
+
* included.
|
|
137
|
+
*/
|
|
138
|
+
label?: string | undefined;
|
|
104
139
|
addonBefore?: AddonValue | undefined;
|
|
105
140
|
addonAfter?: AddonValue | undefined;
|
|
106
141
|
disabled?: boolean | undefined;
|
|
@@ -142,26 +177,25 @@ export declare namespace MenuItemProps {
|
|
|
142
177
|
}
|
|
143
178
|
}
|
|
144
179
|
export type MenuItemProps<T extends OptionValue = OptionValue> = MenuItemProps.PlainProps | MenuItemProps.CheckboxProps | MenuItemProps.RadioProps<T>;
|
|
145
|
-
export declare function MenuItem<T extends OptionValue>({ ref: passedRef, type: passedType, addonBefore: passedAddonBefore, addonAfter: passedAddonAfter, variant, loading, href, target, checked, defaultChecked, onCheckedChange, value: passedValue, disabled: passedDisabled, children, ...props }: MenuItemProps<T>): import("react").JSX.Element;
|
|
180
|
+
export declare function MenuItem<T extends OptionValue>({ ref: passedRef, type: passedType, label, addonBefore: passedAddonBefore, addonAfter: passedAddonAfter, variant, loading, href, target, checked, defaultChecked, onCheckedChange, value: passedValue, disabled: passedDisabled, children, ...props }: MenuItemProps<T>): import("react").JSX.Element;
|
|
146
181
|
export declare namespace MenuItem {
|
|
147
182
|
var displayName: string;
|
|
148
183
|
}
|
|
149
|
-
export interface MenuSearchProps extends Omit<ComponentProps<'input'>, 'children'> {
|
|
184
|
+
export interface MenuSearchProps extends Omit<ComponentProps<'input'>, 'children' | 'value' | 'defaultValue'> {
|
|
150
185
|
/** @default 'Search' */
|
|
151
186
|
placeholder?: string | undefined;
|
|
152
|
-
value?: string | undefined;
|
|
153
|
-
defaultValue?: string | undefined;
|
|
154
|
-
onValueChange?: ((value: string) => void) | undefined;
|
|
155
187
|
}
|
|
156
|
-
|
|
188
|
+
/** Search input for the `header` of a `searchable` menu, which filters its items. */
|
|
189
|
+
export declare function MenuSearch({ placeholder, ...props }: MenuSearchProps): import("react").JSX.Element;
|
|
157
190
|
export declare namespace MenuSearch {
|
|
158
191
|
var displayName: string;
|
|
159
192
|
}
|
|
160
193
|
export interface MenuEmptyProps extends ComponentProps<'div'> {
|
|
161
194
|
}
|
|
162
195
|
/**
|
|
163
|
-
* Renders the standard empty-state treatment for a `Menu
|
|
164
|
-
*
|
|
196
|
+
* Renders the standard empty-state treatment for a `Menu`, e.g. when it has no items. Searchable
|
|
197
|
+
* menus render it when no item matches (see `empty`). Its text wraps instead of widening the menu.
|
|
198
|
+
* Defaults to `"No results"`.
|
|
165
199
|
*/
|
|
166
200
|
export declare function MenuEmpty({ children, ...props }: MenuEmptyProps): import("react").JSX.Element;
|
|
167
201
|
export declare namespace MenuEmpty {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.parts.d.ts","sourceRoot":"","sources":["../../src/components/Menu.parts.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"Menu.parts.d.ts","sourceRoot":"","sources":["../../src/components/Menu.parts.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { useMergedRefs } from '@base-ui/utils/useMergedRefs';
|
|
|
8
8
|
import { twToPx } from '@edgeandnode/eds-css';
|
|
9
9
|
import { ArrowRightInteractiveIcon, ArrowUpRightInteractiveIcon, CaretRightIcon, CheckIcon, LoadingIcon, MagnifyingGlassIcon, XIcon, } from '@edgeandnode/eds-react/icons';
|
|
10
10
|
import { useAutoValue, useControlled, useCSSPropsPolyfill, useCSSState, useEDS, } from '../hooks/index.js';
|
|
11
|
-
import { cn, getCSSPropsAttributes,
|
|
11
|
+
import { cn, getCSSPropsAttributes, splitProps } from '../utils/index.js';
|
|
12
12
|
import { renderAddon } from './base/Addon.js';
|
|
13
13
|
import { ButtonOrLink } from './base/ButtonOrLink.js';
|
|
14
14
|
import { Portal } from './base/Portal.js';
|
|
@@ -17,8 +17,10 @@ import { Button } from './Button.js';
|
|
|
17
17
|
import { Checkbox } from './Checkbox.js';
|
|
18
18
|
import { MenuMeta } from './Menu.meta.js';
|
|
19
19
|
const MenuTriggerContext = createContext(false);
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
const MenuSearchableContext = createContext(false);
|
|
21
|
+
const MenuSearchLoadingContext = createContext(false);
|
|
22
|
+
export function MenuRoot({ ref: passedRef, trigger, triggerMode, anchor: passedAnchor, side, gap, align, alignOffset, matchTriggerWidth, matchTriggerHeight, open: controlledOpen, defaultOpen, onOpenChange, header: passedHeader, footer, highlightCheckedOnOpen, searchable: passedSearchable, searchValue, onSearchValueChange, empty, loading, label, type, value, defaultValue, onValueChange, children, ...props }) {
|
|
23
|
+
const { dirProps, localThemeClass } = useEDS();
|
|
22
24
|
const isSubmenu = useContext(MenuGroupContext) !== null;
|
|
23
25
|
const isContextMenu = triggerMode === 'right-click' && !isSubmenu;
|
|
24
26
|
const hasTrigger = trigger !== undefined;
|
|
@@ -80,33 +82,43 @@ export function MenuRoot({ ref: passedRef, trigger, triggerMode, anchor: passedA
|
|
|
80
82
|
capturePointerCoords,
|
|
81
83
|
});
|
|
82
84
|
useHighlightCheckedOnOpen(popupRef, open, highlightCheckedOnOpen);
|
|
85
|
+
const searchable = passedSearchable ?? (searchValue !== undefined || onSearchValueChange !== undefined);
|
|
86
|
+
const [onSearchValueChangeAfterClose, reportPendingSearchReset] = useSearchResetAfterClose(onSearchValueChange);
|
|
87
|
+
const header = passedHeader !== undefined ? passedHeader : searchable ? _jsx(MenuSearch, {}) : undefined;
|
|
83
88
|
return (_jsx("span", { "data-has-trigger": hasTrigger || undefined, className: cn(`root-contents [anchor-scope:all]
|
|
84
89
|
not-data-has-trigger:**:data-base-ui-focus-guard:hidden`,
|
|
85
90
|
// Very imperfect workaround for https://bugs.webkit.org/show_bug.cgi?id=301871
|
|
86
91
|
`safari:root-inline
|
|
87
|
-
i:safari:not-data-is-submenu:size-max`), children: _jsxs(MenuRoot, { actionsRef: actionsRef, open: open, onOpenChange: (newOpen) => {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
92
|
+
i:safari:not-data-is-submenu:size-max`), children: _jsx(MenuFilter, { searchable: searchable, searchValue: searchValue, onSearchValueChange: onSearchValueChangeAfterClose, children: _jsxs(MenuRoot, { actionsRef: actionsRef, open: open, onOpenChange: (newOpen) => {
|
|
93
|
+
if (newOpen)
|
|
94
|
+
reportPendingSearchReset();
|
|
95
|
+
// A menu with no trigger can still be opened/closed by the consumer, but it should not send events
|
|
96
|
+
if (hasTrigger)
|
|
97
|
+
setOpen(newOpen);
|
|
98
|
+
}, onOpenChangeComplete: (newOpen) => {
|
|
99
|
+
if (!newOpen)
|
|
100
|
+
reportPendingSearchReset();
|
|
101
|
+
}, ...(!isSubmenu && !isContextMenu && { modal: hasTrigger }), closeParentOnEsc: true, children: [_jsx(MenuTriggerContext.Provider, { value: true, children: renderedTriggerElement ?? (_jsx(MenuInlineFallback, { label: label, portalRef: portalRef, rootProps: props })) }), _jsx(Portal, { children: _jsx("span", { ref: cssPropsPolyfillRef, ...mergeProps({ className: cn('eds-menu invisible! block!', cssPropsClassName) }, cssPropsAttributes, cssPropsPolyfillAttributes, dirProps, props), hidden: undefined }) }), _jsx(Menu.Portal, { container: !hasTrigger
|
|
102
|
+
? portalRef
|
|
103
|
+
: /**
|
|
104
|
+
* Specifying `document.body` because while it is the default for top-level menus, a submenu
|
|
105
|
+
* defaults to using the same portal as its parent, which is not desirable when the parent is
|
|
106
|
+
* rendered inline (it can cause the submenu to appear behind other elements).
|
|
107
|
+
*/
|
|
108
|
+
typeof document !== 'undefined'
|
|
109
|
+
? document.body
|
|
110
|
+
: undefined,
|
|
111
|
+
// Inline menus are portalled in place, so they already inherit the local theme
|
|
112
|
+
className: hasTrigger ? localThemeClass : undefined, children: _jsx(Menu.Positioner, { ref: passedRef, anchor: anchor, side: cssProps.side === 'start'
|
|
113
|
+
? 'inline-start'
|
|
114
|
+
: cssProps.side === 'end'
|
|
115
|
+
? 'inline-end'
|
|
116
|
+
: cssProps.side, sideOffset: twToPx(cssProps.gap), align: cssProps.align, alignOffset: twToPx(cssProps.alignOffset), collisionPadding: 8, collisionAvoidance: {
|
|
117
|
+
side: 'flip',
|
|
118
|
+
align: 'flip',
|
|
119
|
+
fallbackAxisSide: cssProps.side === 'start' || cssProps.side === 'end' ? 'end' : 'none',
|
|
120
|
+
}, "data-has-trigger": hasTrigger || undefined, "data-match-trigger-width": cssProps.matchTriggerWidth || undefined, "data-match-trigger-height": cssProps.matchTriggerHeight || undefined, ...mergeProps({
|
|
121
|
+
className: cn(`
|
|
110
122
|
eds-menu root-flex
|
|
111
123
|
[--available-height-but-not-too-small:max(var(--available-height),--spacing(16))]
|
|
112
124
|
[anchor-name:--eds-menu]
|
|
@@ -125,15 +137,49 @@ export function MenuRoot({ ref: passedRef, trigger, triggerMode, anchor: passedA
|
|
|
125
137
|
u:i:data-[match-trigger-width=at-most]:max-w-[min(var(--anchor-width),var(--available-width))]
|
|
126
138
|
u:i:data-[match-trigger-width=true]:w-(--anchor-width)
|
|
127
139
|
`, cssPropsClassName),
|
|
128
|
-
|
|
140
|
+
}, cssPropsAttributes, cssPropsPolyfillAttributes, dirProps, props), render: (renderProps, state) => (_jsxs(_Fragment, { children: [_jsx("div", { ...renderProps, style: hasTrigger ? renderProps.style : undefined }), hasTrigger && state.open && state.anchorHidden && actionsRef.current ? (_jsx(LayoutEffect, { effect: actionsRef.current.close })) : null] })), children: _jsx(Menu.Popup, { ref: popupRef, "data-initial-open": initialOpen.current || undefined, className: "\n flex grow origin-(--transform-origin) flex-col overflow-clip rounded-inherit bg-muted outline-0 transition\n data-ending-style:scale-95\n data-ending-style:opacity-0\n data-starting-style:not-data-initial-open:scale-95\n data-starting-style:not-data-initial-open:opacity-0\n ", onKeyDown: handleMenuPopupKeyDown, children: _jsx(MenuPopupContent, { header: header, footer: footer, empty: empty, loading: loading, children: label !== undefined || type !== undefined ? (type === 'radio' ? (_jsx(MenuGroup, { label: label, type: type, value: value, defaultValue: defaultValue, onValueChange: onValueChange, children: children })) : (_jsx(MenuGroup, { label: label, type: type, children: children }))) : (children) }) }) }) })] }, `${hasTrigger}-${triggerMode}`) }) }));
|
|
129
141
|
}
|
|
130
142
|
MenuRoot.displayName = 'Menu';
|
|
143
|
+
/** Makes the menu filterable when it's `searchable` (see `MenuProps.OwnProps['searchable']`). */
|
|
144
|
+
function MenuFilter({ searchable, searchValue, onSearchValueChange, children, }) {
|
|
145
|
+
const filter = useMemo(() => searchable === 'manual'
|
|
146
|
+
? null
|
|
147
|
+
: typeof searchable === 'function'
|
|
148
|
+
? (label, query) => searchable({ label, searchValue: query })
|
|
149
|
+
: undefined, [searchable]);
|
|
150
|
+
return (_jsx(MenuSearchableContext.Provider, { value: Boolean(searchable), children: searchable ? (_jsx(Menu.FilterProvider, { filter: filter, autoHighlight: true, value: searchValue, onValueChange: onSearchValueChange, children: children })) : (children) }));
|
|
151
|
+
}
|
|
131
152
|
/**
|
|
132
|
-
*
|
|
133
|
-
*
|
|
153
|
+
* Holds back the search reset that Base UI reports as the menu starts closing until it has finished
|
|
154
|
+
* closing (or reopens), so items filtered outside of Base UI (e.g. with `searchable="manual"`)
|
|
155
|
+
* don't change while it animates out. Base UI keeps filtering its own items with the previous query
|
|
156
|
+
* until then too.
|
|
134
157
|
*/
|
|
135
|
-
function
|
|
136
|
-
|
|
158
|
+
function useSearchResetAfterClose(onSearchValueChange) {
|
|
159
|
+
const pendingResetRef = useRef(null);
|
|
160
|
+
const onSearchValueChangeAfterClose = onSearchValueChange &&
|
|
161
|
+
((searchValue, eventDetails) => {
|
|
162
|
+
if (eventDetails.reason === 'popup-close') {
|
|
163
|
+
pendingResetRef.current = () => onSearchValueChange(searchValue, eventDetails);
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
onSearchValueChange(searchValue, eventDetails);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
const reportPendingReset = () => {
|
|
170
|
+
pendingResetRef.current?.();
|
|
171
|
+
pendingResetRef.current = null;
|
|
172
|
+
};
|
|
173
|
+
return [onSearchValueChangeAfterClose, reportPendingReset];
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Popup chrome: minimum-width spacer, optional header, scrollable items area (with a searchable
|
|
177
|
+
* menu's empty state), optional footer, border overlay.
|
|
178
|
+
*/
|
|
179
|
+
function MenuPopupContent({ header, footer, empty, loading = false, children, }) {
|
|
180
|
+
const searchable = useContext(MenuSearchableContext);
|
|
181
|
+
const [emptyShowsLoading, setEmptyShowsLoading] = useState(false);
|
|
182
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "w-58" }), header ? (_jsx("div", { className: "nested/menu-header u:shrink-0 u:border-b u:border-muted u:p-4", children: _jsx(MenuSearchLoadingContext.Provider, { value: loading && !emptyShowsLoading, children: header }) })) : null, _jsx("div", { className: "grow scroll-p-8 scrollbar-thin overflow-x-clip overflow-y-auto gradient-mask-y", children: _jsxs("div", { className: "overflow-clip p-2", children: [searchable ? (_jsx(Menu.Empty, { children: _jsx(MenuEmptyContent, { empty: empty, loading: loading, onLoadingShownChange: setEmptyShowsLoading }) })) : null, _jsx(Menu.List, { "aria-busy": loading || undefined, className: "outline-0", children: _jsx(MenuGroupContext.Provider, { value: "root", children: children }) })] }) }), footer ? (_jsx("div", { className: "nested/menu-footer u:shrink-0 u:border-t u:border-muted u:p-4", children: footer })) : null, _jsx("div", { className: "pointer-events-none absolute inset-0 rounded-inherit border border-muted" })] }));
|
|
137
183
|
}
|
|
138
184
|
/**
|
|
139
185
|
* Resolves the anchor `Menu.Positioner` should point at, and returns a pointer-capture handler for
|
|
@@ -182,8 +228,8 @@ function MenuInlineFallback({ label, portalRef, rootProps, }) {
|
|
|
182
228
|
(label && typeof label === 'string' ? label : undefined) ||
|
|
183
229
|
'Menu', ...mergeProps({
|
|
184
230
|
className: cn(`
|
|
185
|
-
pointer-events-none absolute inset-[anchor(inside)] size-auto! [position-anchor:--eds-menu]
|
|
186
|
-
not-open:hidden
|
|
231
|
+
pointer-events-none! absolute! inset-[anchor(inside)]! z-auto! m-0! size-auto! [position-anchor:--eds-menu]!
|
|
232
|
+
not-open:hidden!
|
|
187
233
|
u:rounded-12
|
|
188
234
|
`),
|
|
189
235
|
}, rootProps) }), _jsx("div", { ref: portalRef, className: "contents *:contents" })] }));
|
|
@@ -230,9 +276,28 @@ function renderMenuTriggerElement({ trigger, triggerMode, triggerRef, isSubmenu,
|
|
|
230
276
|
return (_jsx(Menu.Trigger, { ref: triggerRef, openOnHover: triggerMode === 'hover', "data-open-on-hover": triggerMode === 'hover' || undefined, className: "\n u:inherit-position\n u:i:open:data-open-on-hover:state-hover\n u:iii:open:not-data-open-on-hover:state-active\n ", onPointerDown: capturePointerCoords, onPointerEnter: capturePointerCoords, render: renderTrigger }));
|
|
231
277
|
}
|
|
232
278
|
}
|
|
279
|
+
/**
|
|
280
|
+
* The content of a searchable menu's `Menu.Empty`, which Base UI only renders while no item
|
|
281
|
+
* matches. Until a search finishes, `empty` would be premature, so `loading` shows a `LoadingIcon`
|
|
282
|
+
* instead (rather than in the search input).
|
|
283
|
+
*/
|
|
284
|
+
function MenuEmptyContent({ empty, loading, onLoadingShownChange, }) {
|
|
285
|
+
const [searchFinished, setSearchFinished] = useState(!loading);
|
|
286
|
+
if (!loading && !searchFinished)
|
|
287
|
+
setSearchFinished(true);
|
|
288
|
+
useLayoutEffect(() => {
|
|
289
|
+
onLoadingShownChange(!searchFinished);
|
|
290
|
+
return () => onLoadingShownChange(false);
|
|
291
|
+
}, [searchFinished, onLoadingShownChange]);
|
|
292
|
+
if (!searchFinished) {
|
|
293
|
+
return (_jsx(MenuEmpty, { children: _jsx("span", { className: "flex h-lh items-center justify-center", children: _jsx(LoadingIcon, {}) }) }));
|
|
294
|
+
}
|
|
295
|
+
return empty === undefined || typeof empty === 'string' ? _jsx(MenuEmpty, { children: empty }) : empty;
|
|
296
|
+
}
|
|
233
297
|
/**
|
|
234
298
|
* Focus the `[data-checked]` item on open so Base UI's composite syncs its active index to it (Base
|
|
235
|
-
* UI has no `initialActiveIndex` API).
|
|
299
|
+
* UI has no `initialActiveIndex` API). In a searchable menu, typing then moves focus back to the
|
|
300
|
+
* search input.
|
|
236
301
|
*/
|
|
237
302
|
function useHighlightCheckedOnOpen(popupRef, open, enabled) {
|
|
238
303
|
useEffect(() => {
|
|
@@ -250,19 +315,12 @@ function useHighlightCheckedOnOpen(popupRef, open, enabled) {
|
|
|
250
315
|
highlightedItem === checkedItem) {
|
|
251
316
|
return;
|
|
252
317
|
}
|
|
253
|
-
const searchInput = popup.querySelector('input[type="search"]');
|
|
254
|
-
const searchWasFocused = searchInput !== null && document.activeElement === searchInput;
|
|
255
318
|
checkedItem.focus({ preventScroll: false });
|
|
256
|
-
if (searchWasFocused)
|
|
257
|
-
searchInput.focus({ preventScroll: true });
|
|
258
319
|
});
|
|
259
320
|
return () => cancelAnimationFrame(frameId);
|
|
260
321
|
}, [popupRef, open, enabled]);
|
|
261
322
|
}
|
|
262
|
-
/**
|
|
263
|
-
* Keydown handler for `Menu.Popup`. Handles Shift + Tab escaping the popup and inline-search-input
|
|
264
|
-
* / composite-item coordination.
|
|
265
|
-
*/
|
|
323
|
+
/** Keydown handler for `Menu.Popup`. Handles Shift + Tab escaping the popup. */
|
|
266
324
|
function handleMenuPopupKeyDown(event) {
|
|
267
325
|
/**
|
|
268
326
|
* Ensure Shift + Tab doesn't close the menu if there is a previous focusable element that is not
|
|
@@ -290,54 +348,6 @@ function handleMenuPopupKeyDown(event) {
|
|
|
290
348
|
if ((previousElement && !previousElementIsMenuItem) ||
|
|
291
349
|
(!activeElementIsMenuItem && previousElementIsMenuItem)) {
|
|
292
350
|
event.preventBaseUIHandler();
|
|
293
|
-
return;
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
// If there is a search input in the menu...
|
|
297
|
-
const searchInput = event.currentTarget.querySelector('input[type="search"]');
|
|
298
|
-
if (searchInput instanceof HTMLInputElement) {
|
|
299
|
-
// If the user typed some text, ensure it goes in the input instead of Base UI focusing the item that matches
|
|
300
|
-
if ((event.key.length === 1 && event.key !== ' ') ||
|
|
301
|
-
event.key === 'Backspace' ||
|
|
302
|
-
event.key === 'ArrowLeft' ||
|
|
303
|
-
event.key === 'ArrowRight') {
|
|
304
|
-
event.preventBaseUIHandler();
|
|
305
|
-
searchInput.focus();
|
|
306
|
-
}
|
|
307
|
-
else {
|
|
308
|
-
const searchInputIsFocused = document.activeElement === searchInput;
|
|
309
|
-
const menuItems = [...event.currentTarget.querySelectorAll('.eds-menu-item')];
|
|
310
|
-
const highlightedMenuItem = menuItems.find((item) => item.matches('[data-highlighted]'));
|
|
311
|
-
/**
|
|
312
|
-
* If the user pressed the down arrow while the search input is focused and there is a single
|
|
313
|
-
* menu item in the results, move the focus to it because it may already be highlighted, which
|
|
314
|
-
* would prevent Base UI from focusing it.
|
|
315
|
-
*/
|
|
316
|
-
if (event.key === 'ArrowDown' && searchInputIsFocused && menuItems.length === 1) {
|
|
317
|
-
event.preventBaseUIHandler();
|
|
318
|
-
menuItems[0].focus();
|
|
319
|
-
}
|
|
320
|
-
// Inversely, if the user pressed the up arrow and the focus is on the only menu item, move it back to the search input
|
|
321
|
-
else if (event.key === 'ArrowUp' &&
|
|
322
|
-
menuItems.length === 1 &&
|
|
323
|
-
document.activeElement === menuItems[0]) {
|
|
324
|
-
event.preventDefault();
|
|
325
|
-
searchInput.focus();
|
|
326
|
-
}
|
|
327
|
-
// If the user pressed Enter while the search input is focused and a menu item is highlighted, select it
|
|
328
|
-
else if (event.key === 'Enter' && searchInputIsFocused && highlightedMenuItem) {
|
|
329
|
-
highlightedMenuItem.focus();
|
|
330
|
-
window.setTimeout(() => {
|
|
331
|
-
highlightedMenuItem.dispatchEvent(new KeyboardEvent('keydown', {
|
|
332
|
-
key: 'Enter',
|
|
333
|
-
code: 'Enter',
|
|
334
|
-
keyCode: 13,
|
|
335
|
-
which: 13,
|
|
336
|
-
bubbles: true,
|
|
337
|
-
cancelable: true,
|
|
338
|
-
}));
|
|
339
|
-
}, 0);
|
|
340
|
-
}
|
|
341
351
|
}
|
|
342
352
|
}
|
|
343
353
|
}
|
|
@@ -353,10 +363,12 @@ export function MenuGroup({ label, type = 'plain', value, defaultValue, onValueC
|
|
|
353
363
|
if (isNested) {
|
|
354
364
|
throw new Error(`[Menu] Groups cannot be nested, make sure you're not using \`Menu.Group\` in a \`Menu\` with a \`label\` and/or \`type\` prop (implicit group)`);
|
|
355
365
|
}
|
|
356
|
-
return (_jsx(MenuGroupContext.Provider, { value: menuGroupContextValue, children: _jsxs(Menu.Group, { ...mergeProps({
|
|
366
|
+
return (_jsx(MenuGroupContext.Provider, { value: menuGroupContextValue, children: _jsxs(Menu.Group, { ...mergeProps({
|
|
367
|
+
className: cn('u:-m-2 u:border-muted u:p-2 u:has-[~:not([hidden]):not(:empty)]:mb-2 u:has-[~:not([hidden]):not(:empty)]:border-b'),
|
|
368
|
+
}, props), render: type === 'radio' ? (_jsx(Menu.RadioGroup, { value: value, defaultValue: defaultValue, onValueChange: onValueChange })) : (_jsx("div", {})), children: [label ? (_jsx(Menu.GroupLabel, { className: "truncate p-2 text-12 text-muted", children: label })) : null, children] }) }));
|
|
357
369
|
}
|
|
358
370
|
MenuGroup.displayName = 'Menu.Group';
|
|
359
|
-
export function MenuItem({ ref: passedRef, type: passedType, addonBefore: passedAddonBefore, addonAfter: passedAddonAfter, variant, loading, href, target, checked, defaultChecked, onCheckedChange, value: passedValue, disabled: passedDisabled, children, ...props }) {
|
|
371
|
+
export function MenuItem({ ref: passedRef, type: passedType, label, addonBefore: passedAddonBefore, addonAfter: passedAddonAfter, variant, loading, href, target, checked, defaultChecked, onCheckedChange, value: passedValue, disabled: passedDisabled, children, ...props }) {
|
|
360
372
|
const elementRef = useRef(null);
|
|
361
373
|
const elementPassedRef = useMergedRefs(elementRef, passedRef);
|
|
362
374
|
const autoValue = useAutoValue(children);
|
|
@@ -425,18 +437,18 @@ export function MenuItem({ ref: passedRef, type: passedType, addonBefore: passed
|
|
|
425
437
|
...props,
|
|
426
438
|
};
|
|
427
439
|
if (type === 'submenu-trigger') {
|
|
428
|
-
return _jsx(Menu.SubmenuTrigger, { nativeButton: true, disabled: disabled, render: renderItem(baseProps) });
|
|
440
|
+
return (_jsx(Menu.SubmenuTrigger, { nativeButton: true, label: label, disabled: disabled, render: renderItem(baseProps) }));
|
|
429
441
|
}
|
|
430
442
|
if (type === 'checkbox') {
|
|
431
|
-
return (_jsx(CheckboxItem, { ...baseProps, nativeButton: true, checked: checked, defaultChecked: defaultChecked, onCheckedChange: onCheckedChange, disabled: disabled, render: renderItem }));
|
|
443
|
+
return (_jsx(CheckboxItem, { ...baseProps, nativeButton: true, label: label, checked: checked, defaultChecked: defaultChecked, onCheckedChange: onCheckedChange, disabled: disabled, render: renderItem }));
|
|
432
444
|
}
|
|
433
445
|
if (type === 'radio') {
|
|
434
|
-
return (_jsx(Menu.RadioItem, { ...baseProps, nativeButton: true, closeOnClick: true, value: passedValue !== undefined ? passedValue : autoValue, disabled: disabled, render: renderItem }));
|
|
446
|
+
return (_jsx(Menu.RadioItem, { ...baseProps, nativeButton: true, closeOnClick: true, label: label, value: passedValue !== undefined ? passedValue : autoValue, disabled: disabled, render: renderItem }));
|
|
435
447
|
}
|
|
436
448
|
if (href !== undefined) {
|
|
437
|
-
return (_jsx(Menu.LinkItem, { ...baseProps, closeOnClick: true, href: href, target: target, render: renderItem, children: children }));
|
|
449
|
+
return (_jsx(Menu.LinkItem, { ...baseProps, closeOnClick: true, label: label, href: href, target: target, render: renderItem, children: children }));
|
|
438
450
|
}
|
|
439
|
-
return _jsx(Menu.Item, { ...baseProps, nativeButton: true, disabled: disabled, render: renderItem });
|
|
451
|
+
return (_jsx(Menu.Item, { ...baseProps, nativeButton: true, label: label, disabled: disabled, render: renderItem }));
|
|
440
452
|
}
|
|
441
453
|
MenuItem.displayName = 'Menu.Item';
|
|
442
454
|
function MenuItemAddon({ children, ...props }) {
|
|
@@ -444,30 +456,24 @@ function MenuItemAddon({ children, ...props }) {
|
|
|
444
456
|
className: cn('eds-addon root-flex items-center justify-center u:h-(--eds-addon-size) u:min-w-(--eds-addon-size) u:shrink-0 u:addon-medium'),
|
|
445
457
|
}, props), children: children }));
|
|
446
458
|
}
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
459
|
+
/** Search input for the `header` of a `searchable` menu, which filters its items. */
|
|
460
|
+
export function MenuSearch({ placeholder = 'Search', ...props }) {
|
|
461
|
+
if (!useContext(MenuSearchableContext)) {
|
|
462
|
+
throw new Error('[Menu] `Menu.Search` must be used in a `searchable` menu');
|
|
463
|
+
}
|
|
464
|
+
const loading = useContext(MenuSearchLoadingContext);
|
|
452
465
|
const { rootProps, nestedProps } = splitProps(props);
|
|
453
|
-
return (_jsxs("div", { ...mergeProps({ className: cn('root-flex items-center u:-m-4 u:text-14 u:text-default') }, rootProps), children: [_jsx(MagnifyingGlassIcon, { alt: "", className: "absolute inset-y-0 inset-s-3.5 my-auto size-3.5" }), _jsx("
|
|
454
|
-
className: cn('peer -mb-px h-10 w-0 grow ps-8.5 outline-0'),
|
|
455
|
-
onChange: (event) => setValue(event.target.value),
|
|
456
|
-
}, nestedProps) }), _jsx("div", { className: "me-1.5 flex size-7 shrink-0 items-center justify-center peer-placeholder-shown:hidden", children: _jsx(Button, { variant: "naked", size: "xsmall", tabIndex: -1, onClick: () => {
|
|
457
|
-
const input = inputRef.current;
|
|
458
|
-
if (!input)
|
|
459
|
-
return;
|
|
460
|
-
setInputValue(input, '');
|
|
461
|
-
input.focus();
|
|
462
|
-
}, className: "h-full", children: _jsx(XIcon, { alt: "Clear" }) }) })] }));
|
|
466
|
+
return (_jsxs("div", { ...mergeProps({ className: cn('root-flex items-center u:-m-4 u:text-14 u:text-default') }, rootProps), children: [loading ? (_jsx(LoadingIcon, { className: "absolute inset-y-0 inset-s-3.5 my-auto size-3.5" })) : (_jsx(MagnifyingGlassIcon, { alt: "", className: "absolute inset-y-0 inset-s-3.5 my-auto size-3.5" })), _jsx(Menu.Input, { placeholder: placeholder, "aria-label": placeholder, ...mergeProps({ className: cn('peer -mb-px h-10 w-0 grow ps-8.5 outline-0') }, nestedProps) }), _jsx("div", { className: "me-1.5 flex size-7 shrink-0 items-center justify-center peer-placeholder-shown:hidden", children: _jsx(Menu.Clear, { "aria-hidden": false, render: _jsx(Button, { variant: "naked", size: "xsmall", className: "h-full" }), children: _jsx(XIcon, { alt: "Clear" }) }) })] }));
|
|
463
467
|
}
|
|
464
468
|
MenuSearch.displayName = 'Menu.Search';
|
|
465
469
|
/**
|
|
466
|
-
* Renders the standard empty-state treatment for a `Menu
|
|
467
|
-
*
|
|
470
|
+
* Renders the standard empty-state treatment for a `Menu`, e.g. when it has no items. Searchable
|
|
471
|
+
* menus render it when no item matches (see `empty`). Its text wraps instead of widening the menu.
|
|
472
|
+
* Defaults to `"No results"`.
|
|
468
473
|
*/
|
|
469
474
|
export function MenuEmpty({ children = 'No results', ...props }) {
|
|
470
|
-
|
|
475
|
+
// `contain-inline-size` keeps the text from widening a menu that sizes to fit its content
|
|
476
|
+
return (_jsx("div", { ...mergeProps({ className: cn('p-2 contain-inline-size u:text-16 u:text-muted') }, props), children: children }));
|
|
471
477
|
}
|
|
472
478
|
MenuEmpty.displayName = 'Menu.Empty';
|
|
473
479
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.parts.js","sourceRoot":"","sources":["../../src/components/Menu.parts.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.parts.js","sourceRoot":"","sources":["../../src/components/Menu.parts.tsx"],"names":[],"mappings":"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"}
|