@bazza-ui/react 0.0.0 → 0.1.0-canary.2
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/dist/ListboxStore-BtcTXpzi.d.cts +351 -0
- package/dist/ListboxStore-DPqpLlAL.d.ts +351 -0
- package/dist/adapters/index.cjs +2 -0
- package/dist/adapters/index.cjs.map +1 -0
- package/dist/adapters/index.d.cts +363 -0
- package/dist/adapters/index.d.ts +363 -0
- package/dist/adapters/index.js +2 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/chunk-4C666HHU.js +2 -0
- package/dist/chunk-4C666HHU.js.map +1 -0
- package/dist/chunk-AVZ64JQ3.js +2 -0
- package/dist/chunk-AVZ64JQ3.js.map +1 -0
- package/dist/chunk-BGJJC6GX.cjs +2 -0
- package/dist/chunk-BGJJC6GX.cjs.map +1 -0
- package/dist/chunk-FWWOE2SW.cjs +2 -0
- package/dist/chunk-FWWOE2SW.cjs.map +1 -0
- package/dist/chunk-JSPKF52O.cjs +2 -0
- package/dist/chunk-JSPKF52O.cjs.map +1 -0
- package/dist/chunk-KWGD24VS.js +2 -0
- package/dist/chunk-KWGD24VS.js.map +1 -0
- package/dist/chunk-M4G6J7DP.cjs +2 -0
- package/dist/chunk-M4G6J7DP.cjs.map +1 -0
- package/dist/chunk-WKAPAKUL.js +2 -0
- package/dist/chunk-WKAPAKUL.js.map +1 -0
- package/dist/combobox/index.cjs +2 -0
- package/dist/combobox/index.cjs.map +1 -0
- package/dist/combobox/index.d.cts +1039 -0
- package/dist/combobox/index.d.ts +1039 -0
- package/dist/combobox/index.js +2 -0
- package/dist/combobox/index.js.map +1 -0
- package/dist/command-score-Dgo3ZS3Z.d.ts +36 -0
- package/dist/command-score-YjNr3ZWi.d.cts +36 -0
- package/dist/context-menu/index.cjs +2 -0
- package/dist/context-menu/index.cjs.map +1 -0
- package/dist/context-menu/index.d.cts +658 -0
- package/dist/context-menu/index.d.ts +658 -0
- package/dist/context-menu/index.js +2 -0
- package/dist/context-menu/index.js.map +1 -0
- package/dist/data-surface-B-eIGTBi.d.cts +678 -0
- package/dist/data-surface-D1OilMDu.d.ts +678 -0
- package/dist/dropdown-menu/index.cjs +2 -0
- package/dist/dropdown-menu/index.cjs.map +1 -0
- package/dist/dropdown-menu/index.d.cts +700 -0
- package/dist/dropdown-menu/index.d.ts +700 -0
- package/dist/dropdown-menu/index.js +2 -0
- package/dist/dropdown-menu/index.js.map +1 -0
- package/dist/events-BPr8sRGH.d.cts +166 -0
- package/dist/events-BPr8sRGH.d.ts +166 -0
- package/dist/input-BoIK003I.d.cts +41 -0
- package/dist/input-DF7D8YzW.d.ts +41 -0
- package/dist/internal/listbox/index.cjs +2 -0
- package/dist/internal/listbox/index.cjs.map +1 -0
- package/dist/internal/listbox/index.d.cts +269 -0
- package/dist/internal/listbox/index.d.ts +269 -0
- package/dist/internal/listbox/index.js +2 -0
- package/dist/internal/listbox/index.js.map +1 -0
- package/dist/internal/popup-menu/index.cjs +2 -0
- package/dist/internal/popup-menu/index.cjs.map +1 -0
- package/dist/internal/popup-menu/index.d.cts +846 -0
- package/dist/internal/popup-menu/index.d.ts +846 -0
- package/dist/internal/popup-menu/index.js +2 -0
- package/dist/internal/popup-menu/index.js.map +1 -0
- package/dist/item-equality-B6TbXlBT.d.cts +7 -0
- package/dist/item-equality-B6TbXlBT.d.ts +7 -0
- package/dist/loading-DphSt8MY.d.cts +27 -0
- package/dist/loading-TsgH6v92.d.ts +27 -0
- package/dist/select/index.cjs +2 -0
- package/dist/select/index.cjs.map +1 -0
- package/dist/select/index.d.cts +927 -0
- package/dist/select/index.d.ts +927 -0
- package/dist/select/index.js +2 -0
- package/dist/select/index.js.map +1 -0
- package/dist/separator-B4Ot84B0.d.ts +748 -0
- package/dist/separator-BmbUeeaT.d.cts +748 -0
- package/dist/types-9vS1uLIK.d.cts +1557 -0
- package/dist/types-lQCIvWW8.d.ts +1557 -0
- package/dist/use-listbox-item-BIi4eRPI.d.cts +182 -0
- package/dist/use-listbox-item-BIi4eRPI.d.ts +182 -0
- package/package.json +50 -12
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -2
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export { A as AimGuardRefs, b as ItemContext, I as ItemContextValue, U as UseListboxItemParams, c as UseListboxItemReturn, u as useItemContext, d as useListboxItem, a as useMaybeItemContext } from '../../use-listbox-item-BIi4eRPI.cjs';
|
|
3
|
+
import { H as HighlightChangeEventDetails } from '../../events-BPr8sRGH.cjs';
|
|
4
|
+
import { b as ListboxStore, V as VirtualItem } from '../../ListboxStore-BtcTXpzi.cjs';
|
|
5
|
+
export { L as Context, D as DOMRefs, F as FilterFn, H as HighlightSource, I as ItemRegistration, L as ListboxContext, a as ListboxState, S as SearchNormalizer, a as State } from '../../ListboxStore-BtcTXpzi.cjs';
|
|
6
|
+
export { b as SurfaceContext, S as SurfaceContextValue, c as commandScore, d as defaultFilter, u as useMaybeSurfaceContext, a as useSurfaceContext } from '../../command-score-YjNr3ZWi.cjs';
|
|
7
|
+
import '@base-ui/utils/store';
|
|
8
|
+
|
|
9
|
+
interface GroupContextValue {
|
|
10
|
+
groupId: string;
|
|
11
|
+
}
|
|
12
|
+
declare const GroupContext: React.Context<GroupContextValue | null>;
|
|
13
|
+
declare function useGroupContext(): GroupContextValue | null;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Virtualization configuration passed from Root/Submenu to Surface.
|
|
17
|
+
*/
|
|
18
|
+
interface VirtualizationConfig {
|
|
19
|
+
/** Whether virtualization mode is enabled */
|
|
20
|
+
virtualized: boolean;
|
|
21
|
+
/** Pre-registered items for virtualization */
|
|
22
|
+
items: VirtualItem[];
|
|
23
|
+
/**
|
|
24
|
+
* Callback when highlighted item changes (for scroll sync).
|
|
25
|
+
* The third parameter contains event details including the reason for the change.
|
|
26
|
+
*/
|
|
27
|
+
onHighlightChange?: (id: string | null, index: number, eventDetails: HighlightChangeEventDetails) => void;
|
|
28
|
+
}
|
|
29
|
+
interface ListboxContextValue {
|
|
30
|
+
/** The Listbox store instance */
|
|
31
|
+
store: ListboxStore;
|
|
32
|
+
/** Nesting depth: 0 = root menu, 1+ = submenu */
|
|
33
|
+
depth: number;
|
|
34
|
+
/** Close the entire menu tree (deepest submenu to root, sequentially) */
|
|
35
|
+
closeAll: () => void;
|
|
36
|
+
/** Register a surface (submenu) for closeAll tracking. Returns unregister function. */
|
|
37
|
+
registerSurface: (depth: number, setOpen: (open: boolean) => void) => () => void;
|
|
38
|
+
/** Virtualization configuration (if enabled) */
|
|
39
|
+
virtualization?: VirtualizationConfig;
|
|
40
|
+
}
|
|
41
|
+
declare const ListboxContext: React.Context<ListboxContextValue | null>;
|
|
42
|
+
declare function useListboxContext(): ListboxContextValue;
|
|
43
|
+
declare function useMaybeListboxContext(): ListboxContextValue | null;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Context value for row width measurement.
|
|
47
|
+
* Provided by List when `measureRowWidth` is enabled.
|
|
48
|
+
*/
|
|
49
|
+
interface RowWidthContextValue {
|
|
50
|
+
/**
|
|
51
|
+
* Queue a row element for width measurement.
|
|
52
|
+
* Call this when a row mounts or becomes visible.
|
|
53
|
+
*
|
|
54
|
+
* @param element - The DOM element to measure
|
|
55
|
+
* @param id - Unique identifier for this row (used to avoid re-measuring)
|
|
56
|
+
*/
|
|
57
|
+
queueMeasurement: (element: HTMLElement, id: string) => void;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Context for row width measurement.
|
|
61
|
+
* Items use this to self-register for measurement.
|
|
62
|
+
*/
|
|
63
|
+
declare const RowWidthContext: React.Context<RowWidthContextValue | null>;
|
|
64
|
+
/**
|
|
65
|
+
* Hook to get the row width context.
|
|
66
|
+
* Throws an error if used outside of a List with `measureRowWidth` enabled.
|
|
67
|
+
*/
|
|
68
|
+
declare function useRowWidthContext(): RowWidthContextValue;
|
|
69
|
+
/**
|
|
70
|
+
* Hook to optionally get the row width context.
|
|
71
|
+
* Returns null if not within a List with `measureRowWidth` enabled.
|
|
72
|
+
* This is the preferred hook for items that should work both with and without measurement.
|
|
73
|
+
*/
|
|
74
|
+
declare function useMaybeRowWidthContext(): RowWidthContextValue | null;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Focus owner interface for keyboard handling.
|
|
78
|
+
* Optional - only needed for popup menus with multiple surfaces.
|
|
79
|
+
*/
|
|
80
|
+
interface FocusOwnerInterface {
|
|
81
|
+
/** Check if a surface is the current owner */
|
|
82
|
+
useState: (selector: 'isOwner', surfaceId: string) => boolean;
|
|
83
|
+
/** Set the owner surface ID */
|
|
84
|
+
setOwnerId: (id: string | null) => void;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Submenu context interface for keyboard handling.
|
|
88
|
+
* Optional - only needed for popup menus with submenus.
|
|
89
|
+
*/
|
|
90
|
+
interface SubmenuInterface {
|
|
91
|
+
/** Close this submenu */
|
|
92
|
+
setOpen: (open: boolean) => void;
|
|
93
|
+
/** Parent surface ID for focus transfer */
|
|
94
|
+
parentSurfaceId: string;
|
|
95
|
+
/** Whether Escape closes the root menu or just this submenu */
|
|
96
|
+
closeRootOnEsc?: boolean;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Subpage context interface for keyboard handling.
|
|
100
|
+
* Optional - only needed for popup menus with in-popup subpage navigation.
|
|
101
|
+
*/
|
|
102
|
+
interface SubpageInterface {
|
|
103
|
+
/** Pop one page from the current stack. */
|
|
104
|
+
goBack: () => boolean;
|
|
105
|
+
/** Parent surface ID for focus transfer after back navigation. */
|
|
106
|
+
parentSurfaceId: string | null;
|
|
107
|
+
/** Whether Escape closes the root menu instead of navigating back. */
|
|
108
|
+
closeRootOnEsc?: boolean;
|
|
109
|
+
}
|
|
110
|
+
interface UseListboxKeyboardParams {
|
|
111
|
+
/** The Listbox store instance */
|
|
112
|
+
store: ListboxStore;
|
|
113
|
+
/** Unique identifier for this surface */
|
|
114
|
+
surfaceId: string;
|
|
115
|
+
/** Whether keyboard handling is enabled */
|
|
116
|
+
enabled: boolean;
|
|
117
|
+
/** User's onKeyDown handler to compose with */
|
|
118
|
+
onKeyDown?: React.KeyboardEventHandler;
|
|
119
|
+
/**
|
|
120
|
+
* Callback when an item is selected via keyboard (Enter or shortcut).
|
|
121
|
+
* Called with selection details. The consumer handles any
|
|
122
|
+
* post-selection behavior like closing menus.
|
|
123
|
+
*/
|
|
124
|
+
onSelect?: (details: {
|
|
125
|
+
itemId: string | null;
|
|
126
|
+
closeOnClick: boolean;
|
|
127
|
+
}) => void;
|
|
128
|
+
/**
|
|
129
|
+
* Callback to close the entire menu tree from the root.
|
|
130
|
+
* Used when Escape is pressed and closeRootOnEsc is true (default).
|
|
131
|
+
*/
|
|
132
|
+
closeAll: () => void;
|
|
133
|
+
/** The FocusOwner store for managing focus ownership (optional) */
|
|
134
|
+
focusOwner?: FocusOwnerInterface;
|
|
135
|
+
/** Menu depth (0 for root, >0 for submenus) - defaults to 0 */
|
|
136
|
+
depth?: number;
|
|
137
|
+
/** Submenu context for ArrowLeft navigation back to parent (optional) */
|
|
138
|
+
submenuContext?: SubmenuInterface | null;
|
|
139
|
+
/** Subpage context for ArrowLeft/Ctrl+H navigation back (optional) */
|
|
140
|
+
subpageContext?: SubpageInterface | null;
|
|
141
|
+
/**
|
|
142
|
+
* Whether to enable type-to-search behavior.
|
|
143
|
+
* When true, printable characters will activate the input and set pending search.
|
|
144
|
+
* Used by List when hideUntilActive is enabled and input is not yet active.
|
|
145
|
+
* @default false
|
|
146
|
+
*/
|
|
147
|
+
enableTypeToSearch?: boolean;
|
|
148
|
+
/**
|
|
149
|
+
* Whether to skip the focus owner check.
|
|
150
|
+
* When true, keyboard handling will work based on `enabled` prop alone,
|
|
151
|
+
* ignoring focus ownership. Useful for Combobox where the input is outside
|
|
152
|
+
* the Surface but should still handle keyboard navigation.
|
|
153
|
+
* @default false
|
|
154
|
+
*/
|
|
155
|
+
skipFocusOwnerCheck?: boolean;
|
|
156
|
+
}
|
|
157
|
+
interface UseListboxKeyboardReturn {
|
|
158
|
+
/** Keyboard event handler to attach to the element */
|
|
159
|
+
handleKeyDown: React.KeyboardEventHandler;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Centralized keyboard navigation hook for listbox-like components.
|
|
163
|
+
* Handles arrow navigation, vim bindings, submenu open/close, and selection.
|
|
164
|
+
*
|
|
165
|
+
* This hook can be used standalone (for simple listboxes like Select/Command)
|
|
166
|
+
* or with focus owner and submenu support (for popup menus with nested menus).
|
|
167
|
+
*/
|
|
168
|
+
declare function useListboxKeyboard(params: UseListboxKeyboardParams): UseListboxKeyboardReturn;
|
|
169
|
+
|
|
170
|
+
interface UseStickyRowWidthOptions {
|
|
171
|
+
/**
|
|
172
|
+
* Ref to the list container element.
|
|
173
|
+
* Used to measure row widths and as a fallback target for the CSS variable.
|
|
174
|
+
*/
|
|
175
|
+
listRef: React.RefObject<HTMLElement | null>;
|
|
176
|
+
/**
|
|
177
|
+
* Optional ref to the element where `--row-width` CSS variable should be applied.
|
|
178
|
+
* If not provided, uses the listRef element.
|
|
179
|
+
* Useful for applying the variable to a parent Popup element.
|
|
180
|
+
*/
|
|
181
|
+
targetRef?: React.RefObject<HTMLElement | null>;
|
|
182
|
+
/**
|
|
183
|
+
* Optional maximum width cap in pixels.
|
|
184
|
+
* The measured width will never exceed this value.
|
|
185
|
+
*/
|
|
186
|
+
maxWidth?: number;
|
|
187
|
+
/**
|
|
188
|
+
* Whether measurement is enabled.
|
|
189
|
+
* @default true
|
|
190
|
+
*/
|
|
191
|
+
enabled?: boolean;
|
|
192
|
+
}
|
|
193
|
+
interface UseStickyRowWidthReturn {
|
|
194
|
+
/**
|
|
195
|
+
* Queue a row element for measurement.
|
|
196
|
+
* The element's natural width will be measured and tracked.
|
|
197
|
+
* Call this when a row mounts or becomes visible.
|
|
198
|
+
*/
|
|
199
|
+
queueMeasurement: (element: HTMLElement, id: string) => void;
|
|
200
|
+
/**
|
|
201
|
+
* Reset all measurements.
|
|
202
|
+
* Call this when the menu closes to start fresh on next open.
|
|
203
|
+
*/
|
|
204
|
+
resetMeasurements: () => void;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Hook that measures row widths and maintains a sticky maximum width.
|
|
208
|
+
*
|
|
209
|
+
* This is useful for virtualized lists where the popup width should adapt
|
|
210
|
+
* to the content but never shrink as the user scrolls through items.
|
|
211
|
+
*
|
|
212
|
+
* The hook:
|
|
213
|
+
* 1. Measures each row's natural width (using `max-content`)
|
|
214
|
+
* 2. Tracks the maximum width seen across all rows
|
|
215
|
+
* 3. Applies `--row-width` CSS variable to the target element
|
|
216
|
+
* 4. Only grows the width, never shrinks (until reset)
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```tsx
|
|
220
|
+
* const { queueMeasurement, resetMeasurements } = useStickyRowWidth({
|
|
221
|
+
* listRef: myListRef,
|
|
222
|
+
* maxWidth: 500,
|
|
223
|
+
* })
|
|
224
|
+
*
|
|
225
|
+
* // Queue items for measurement
|
|
226
|
+
* useLayoutEffect(() => {
|
|
227
|
+
* if (itemRef.current) {
|
|
228
|
+
* queueMeasurement(itemRef.current, itemId)
|
|
229
|
+
* }
|
|
230
|
+
* }, [itemId])
|
|
231
|
+
*
|
|
232
|
+
* // Reset on menu close
|
|
233
|
+
* useEffect(() => {
|
|
234
|
+
* if (!isOpen) {
|
|
235
|
+
* resetMeasurements()
|
|
236
|
+
* }
|
|
237
|
+
* }, [isOpen])
|
|
238
|
+
* ```
|
|
239
|
+
*/
|
|
240
|
+
declare function useStickyRowWidth(options: UseStickyRowWidthOptions): UseStickyRowWidthReturn;
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Normalizes a value string for use in filtering and identification.
|
|
244
|
+
* Trims leading/trailing whitespace to match cmdk's behavior.
|
|
245
|
+
*
|
|
246
|
+
* @param value - The value to normalize
|
|
247
|
+
* @returns The trimmed value, or empty string if value is nullish
|
|
248
|
+
*/
|
|
249
|
+
declare function normalizeValue(value: string | undefined | null): string;
|
|
250
|
+
/**
|
|
251
|
+
* Converts a value string to a URL-safe slug for use in IDs.
|
|
252
|
+
* - Trims whitespace
|
|
253
|
+
* - Converts to lowercase
|
|
254
|
+
* - Replaces spaces with hyphens
|
|
255
|
+
* - Removes non-alphanumeric characters (except hyphens)
|
|
256
|
+
* - Collapses multiple hyphens into one
|
|
257
|
+
* - Removes leading/trailing hyphens
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* slugify("User Settings") // "user-settings"
|
|
261
|
+
* slugify(" Hello World! ") // "hello-world"
|
|
262
|
+
* slugify("Café & Co.") // "caf-co"
|
|
263
|
+
*
|
|
264
|
+
* @param value - The value to slugify
|
|
265
|
+
* @returns The slugified value, or empty string if value is nullish
|
|
266
|
+
*/
|
|
267
|
+
declare function slugify(value: string | undefined | null): string;
|
|
268
|
+
|
|
269
|
+
export { type FocusOwnerInterface, GroupContext, type GroupContextValue, ListboxContext as ListboxContextProvider, type ListboxContextValue, ListboxStore, RowWidthContext, type RowWidthContextValue, type SubmenuInterface, type SubpageInterface, type UseListboxKeyboardParams, type UseListboxKeyboardReturn, type UseStickyRowWidthOptions, type UseStickyRowWidthReturn, VirtualItem, type VirtualizationConfig, normalizeValue, slugify, useGroupContext, useListboxContext, useListboxKeyboard, useMaybeListboxContext, useMaybeRowWidthContext, useRowWidthContext, useStickyRowWidth };
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export { A as AimGuardRefs, b as ItemContext, I as ItemContextValue, U as UseListboxItemParams, c as UseListboxItemReturn, u as useItemContext, d as useListboxItem, a as useMaybeItemContext } from '../../use-listbox-item-BIi4eRPI.js';
|
|
3
|
+
import { H as HighlightChangeEventDetails } from '../../events-BPr8sRGH.js';
|
|
4
|
+
import { b as ListboxStore, V as VirtualItem } from '../../ListboxStore-DPqpLlAL.js';
|
|
5
|
+
export { L as Context, D as DOMRefs, F as FilterFn, H as HighlightSource, I as ItemRegistration, L as ListboxContext, a as ListboxState, S as SearchNormalizer, a as State } from '../../ListboxStore-DPqpLlAL.js';
|
|
6
|
+
export { b as SurfaceContext, S as SurfaceContextValue, c as commandScore, d as defaultFilter, u as useMaybeSurfaceContext, a as useSurfaceContext } from '../../command-score-Dgo3ZS3Z.js';
|
|
7
|
+
import '@base-ui/utils/store';
|
|
8
|
+
|
|
9
|
+
interface GroupContextValue {
|
|
10
|
+
groupId: string;
|
|
11
|
+
}
|
|
12
|
+
declare const GroupContext: React.Context<GroupContextValue | null>;
|
|
13
|
+
declare function useGroupContext(): GroupContextValue | null;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Virtualization configuration passed from Root/Submenu to Surface.
|
|
17
|
+
*/
|
|
18
|
+
interface VirtualizationConfig {
|
|
19
|
+
/** Whether virtualization mode is enabled */
|
|
20
|
+
virtualized: boolean;
|
|
21
|
+
/** Pre-registered items for virtualization */
|
|
22
|
+
items: VirtualItem[];
|
|
23
|
+
/**
|
|
24
|
+
* Callback when highlighted item changes (for scroll sync).
|
|
25
|
+
* The third parameter contains event details including the reason for the change.
|
|
26
|
+
*/
|
|
27
|
+
onHighlightChange?: (id: string | null, index: number, eventDetails: HighlightChangeEventDetails) => void;
|
|
28
|
+
}
|
|
29
|
+
interface ListboxContextValue {
|
|
30
|
+
/** The Listbox store instance */
|
|
31
|
+
store: ListboxStore;
|
|
32
|
+
/** Nesting depth: 0 = root menu, 1+ = submenu */
|
|
33
|
+
depth: number;
|
|
34
|
+
/** Close the entire menu tree (deepest submenu to root, sequentially) */
|
|
35
|
+
closeAll: () => void;
|
|
36
|
+
/** Register a surface (submenu) for closeAll tracking. Returns unregister function. */
|
|
37
|
+
registerSurface: (depth: number, setOpen: (open: boolean) => void) => () => void;
|
|
38
|
+
/** Virtualization configuration (if enabled) */
|
|
39
|
+
virtualization?: VirtualizationConfig;
|
|
40
|
+
}
|
|
41
|
+
declare const ListboxContext: React.Context<ListboxContextValue | null>;
|
|
42
|
+
declare function useListboxContext(): ListboxContextValue;
|
|
43
|
+
declare function useMaybeListboxContext(): ListboxContextValue | null;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Context value for row width measurement.
|
|
47
|
+
* Provided by List when `measureRowWidth` is enabled.
|
|
48
|
+
*/
|
|
49
|
+
interface RowWidthContextValue {
|
|
50
|
+
/**
|
|
51
|
+
* Queue a row element for width measurement.
|
|
52
|
+
* Call this when a row mounts or becomes visible.
|
|
53
|
+
*
|
|
54
|
+
* @param element - The DOM element to measure
|
|
55
|
+
* @param id - Unique identifier for this row (used to avoid re-measuring)
|
|
56
|
+
*/
|
|
57
|
+
queueMeasurement: (element: HTMLElement, id: string) => void;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Context for row width measurement.
|
|
61
|
+
* Items use this to self-register for measurement.
|
|
62
|
+
*/
|
|
63
|
+
declare const RowWidthContext: React.Context<RowWidthContextValue | null>;
|
|
64
|
+
/**
|
|
65
|
+
* Hook to get the row width context.
|
|
66
|
+
* Throws an error if used outside of a List with `measureRowWidth` enabled.
|
|
67
|
+
*/
|
|
68
|
+
declare function useRowWidthContext(): RowWidthContextValue;
|
|
69
|
+
/**
|
|
70
|
+
* Hook to optionally get the row width context.
|
|
71
|
+
* Returns null if not within a List with `measureRowWidth` enabled.
|
|
72
|
+
* This is the preferred hook for items that should work both with and without measurement.
|
|
73
|
+
*/
|
|
74
|
+
declare function useMaybeRowWidthContext(): RowWidthContextValue | null;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Focus owner interface for keyboard handling.
|
|
78
|
+
* Optional - only needed for popup menus with multiple surfaces.
|
|
79
|
+
*/
|
|
80
|
+
interface FocusOwnerInterface {
|
|
81
|
+
/** Check if a surface is the current owner */
|
|
82
|
+
useState: (selector: 'isOwner', surfaceId: string) => boolean;
|
|
83
|
+
/** Set the owner surface ID */
|
|
84
|
+
setOwnerId: (id: string | null) => void;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Submenu context interface for keyboard handling.
|
|
88
|
+
* Optional - only needed for popup menus with submenus.
|
|
89
|
+
*/
|
|
90
|
+
interface SubmenuInterface {
|
|
91
|
+
/** Close this submenu */
|
|
92
|
+
setOpen: (open: boolean) => void;
|
|
93
|
+
/** Parent surface ID for focus transfer */
|
|
94
|
+
parentSurfaceId: string;
|
|
95
|
+
/** Whether Escape closes the root menu or just this submenu */
|
|
96
|
+
closeRootOnEsc?: boolean;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Subpage context interface for keyboard handling.
|
|
100
|
+
* Optional - only needed for popup menus with in-popup subpage navigation.
|
|
101
|
+
*/
|
|
102
|
+
interface SubpageInterface {
|
|
103
|
+
/** Pop one page from the current stack. */
|
|
104
|
+
goBack: () => boolean;
|
|
105
|
+
/** Parent surface ID for focus transfer after back navigation. */
|
|
106
|
+
parentSurfaceId: string | null;
|
|
107
|
+
/** Whether Escape closes the root menu instead of navigating back. */
|
|
108
|
+
closeRootOnEsc?: boolean;
|
|
109
|
+
}
|
|
110
|
+
interface UseListboxKeyboardParams {
|
|
111
|
+
/** The Listbox store instance */
|
|
112
|
+
store: ListboxStore;
|
|
113
|
+
/** Unique identifier for this surface */
|
|
114
|
+
surfaceId: string;
|
|
115
|
+
/** Whether keyboard handling is enabled */
|
|
116
|
+
enabled: boolean;
|
|
117
|
+
/** User's onKeyDown handler to compose with */
|
|
118
|
+
onKeyDown?: React.KeyboardEventHandler;
|
|
119
|
+
/**
|
|
120
|
+
* Callback when an item is selected via keyboard (Enter or shortcut).
|
|
121
|
+
* Called with selection details. The consumer handles any
|
|
122
|
+
* post-selection behavior like closing menus.
|
|
123
|
+
*/
|
|
124
|
+
onSelect?: (details: {
|
|
125
|
+
itemId: string | null;
|
|
126
|
+
closeOnClick: boolean;
|
|
127
|
+
}) => void;
|
|
128
|
+
/**
|
|
129
|
+
* Callback to close the entire menu tree from the root.
|
|
130
|
+
* Used when Escape is pressed and closeRootOnEsc is true (default).
|
|
131
|
+
*/
|
|
132
|
+
closeAll: () => void;
|
|
133
|
+
/** The FocusOwner store for managing focus ownership (optional) */
|
|
134
|
+
focusOwner?: FocusOwnerInterface;
|
|
135
|
+
/** Menu depth (0 for root, >0 for submenus) - defaults to 0 */
|
|
136
|
+
depth?: number;
|
|
137
|
+
/** Submenu context for ArrowLeft navigation back to parent (optional) */
|
|
138
|
+
submenuContext?: SubmenuInterface | null;
|
|
139
|
+
/** Subpage context for ArrowLeft/Ctrl+H navigation back (optional) */
|
|
140
|
+
subpageContext?: SubpageInterface | null;
|
|
141
|
+
/**
|
|
142
|
+
* Whether to enable type-to-search behavior.
|
|
143
|
+
* When true, printable characters will activate the input and set pending search.
|
|
144
|
+
* Used by List when hideUntilActive is enabled and input is not yet active.
|
|
145
|
+
* @default false
|
|
146
|
+
*/
|
|
147
|
+
enableTypeToSearch?: boolean;
|
|
148
|
+
/**
|
|
149
|
+
* Whether to skip the focus owner check.
|
|
150
|
+
* When true, keyboard handling will work based on `enabled` prop alone,
|
|
151
|
+
* ignoring focus ownership. Useful for Combobox where the input is outside
|
|
152
|
+
* the Surface but should still handle keyboard navigation.
|
|
153
|
+
* @default false
|
|
154
|
+
*/
|
|
155
|
+
skipFocusOwnerCheck?: boolean;
|
|
156
|
+
}
|
|
157
|
+
interface UseListboxKeyboardReturn {
|
|
158
|
+
/** Keyboard event handler to attach to the element */
|
|
159
|
+
handleKeyDown: React.KeyboardEventHandler;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Centralized keyboard navigation hook for listbox-like components.
|
|
163
|
+
* Handles arrow navigation, vim bindings, submenu open/close, and selection.
|
|
164
|
+
*
|
|
165
|
+
* This hook can be used standalone (for simple listboxes like Select/Command)
|
|
166
|
+
* or with focus owner and submenu support (for popup menus with nested menus).
|
|
167
|
+
*/
|
|
168
|
+
declare function useListboxKeyboard(params: UseListboxKeyboardParams): UseListboxKeyboardReturn;
|
|
169
|
+
|
|
170
|
+
interface UseStickyRowWidthOptions {
|
|
171
|
+
/**
|
|
172
|
+
* Ref to the list container element.
|
|
173
|
+
* Used to measure row widths and as a fallback target for the CSS variable.
|
|
174
|
+
*/
|
|
175
|
+
listRef: React.RefObject<HTMLElement | null>;
|
|
176
|
+
/**
|
|
177
|
+
* Optional ref to the element where `--row-width` CSS variable should be applied.
|
|
178
|
+
* If not provided, uses the listRef element.
|
|
179
|
+
* Useful for applying the variable to a parent Popup element.
|
|
180
|
+
*/
|
|
181
|
+
targetRef?: React.RefObject<HTMLElement | null>;
|
|
182
|
+
/**
|
|
183
|
+
* Optional maximum width cap in pixels.
|
|
184
|
+
* The measured width will never exceed this value.
|
|
185
|
+
*/
|
|
186
|
+
maxWidth?: number;
|
|
187
|
+
/**
|
|
188
|
+
* Whether measurement is enabled.
|
|
189
|
+
* @default true
|
|
190
|
+
*/
|
|
191
|
+
enabled?: boolean;
|
|
192
|
+
}
|
|
193
|
+
interface UseStickyRowWidthReturn {
|
|
194
|
+
/**
|
|
195
|
+
* Queue a row element for measurement.
|
|
196
|
+
* The element's natural width will be measured and tracked.
|
|
197
|
+
* Call this when a row mounts or becomes visible.
|
|
198
|
+
*/
|
|
199
|
+
queueMeasurement: (element: HTMLElement, id: string) => void;
|
|
200
|
+
/**
|
|
201
|
+
* Reset all measurements.
|
|
202
|
+
* Call this when the menu closes to start fresh on next open.
|
|
203
|
+
*/
|
|
204
|
+
resetMeasurements: () => void;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Hook that measures row widths and maintains a sticky maximum width.
|
|
208
|
+
*
|
|
209
|
+
* This is useful for virtualized lists where the popup width should adapt
|
|
210
|
+
* to the content but never shrink as the user scrolls through items.
|
|
211
|
+
*
|
|
212
|
+
* The hook:
|
|
213
|
+
* 1. Measures each row's natural width (using `max-content`)
|
|
214
|
+
* 2. Tracks the maximum width seen across all rows
|
|
215
|
+
* 3. Applies `--row-width` CSS variable to the target element
|
|
216
|
+
* 4. Only grows the width, never shrinks (until reset)
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```tsx
|
|
220
|
+
* const { queueMeasurement, resetMeasurements } = useStickyRowWidth({
|
|
221
|
+
* listRef: myListRef,
|
|
222
|
+
* maxWidth: 500,
|
|
223
|
+
* })
|
|
224
|
+
*
|
|
225
|
+
* // Queue items for measurement
|
|
226
|
+
* useLayoutEffect(() => {
|
|
227
|
+
* if (itemRef.current) {
|
|
228
|
+
* queueMeasurement(itemRef.current, itemId)
|
|
229
|
+
* }
|
|
230
|
+
* }, [itemId])
|
|
231
|
+
*
|
|
232
|
+
* // Reset on menu close
|
|
233
|
+
* useEffect(() => {
|
|
234
|
+
* if (!isOpen) {
|
|
235
|
+
* resetMeasurements()
|
|
236
|
+
* }
|
|
237
|
+
* }, [isOpen])
|
|
238
|
+
* ```
|
|
239
|
+
*/
|
|
240
|
+
declare function useStickyRowWidth(options: UseStickyRowWidthOptions): UseStickyRowWidthReturn;
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Normalizes a value string for use in filtering and identification.
|
|
244
|
+
* Trims leading/trailing whitespace to match cmdk's behavior.
|
|
245
|
+
*
|
|
246
|
+
* @param value - The value to normalize
|
|
247
|
+
* @returns The trimmed value, or empty string if value is nullish
|
|
248
|
+
*/
|
|
249
|
+
declare function normalizeValue(value: string | undefined | null): string;
|
|
250
|
+
/**
|
|
251
|
+
* Converts a value string to a URL-safe slug for use in IDs.
|
|
252
|
+
* - Trims whitespace
|
|
253
|
+
* - Converts to lowercase
|
|
254
|
+
* - Replaces spaces with hyphens
|
|
255
|
+
* - Removes non-alphanumeric characters (except hyphens)
|
|
256
|
+
* - Collapses multiple hyphens into one
|
|
257
|
+
* - Removes leading/trailing hyphens
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* slugify("User Settings") // "user-settings"
|
|
261
|
+
* slugify(" Hello World! ") // "hello-world"
|
|
262
|
+
* slugify("Café & Co.") // "caf-co"
|
|
263
|
+
*
|
|
264
|
+
* @param value - The value to slugify
|
|
265
|
+
* @returns The slugified value, or empty string if value is nullish
|
|
266
|
+
*/
|
|
267
|
+
declare function slugify(value: string | undefined | null): string;
|
|
268
|
+
|
|
269
|
+
export { type FocusOwnerInterface, GroupContext, type GroupContextValue, ListboxContext as ListboxContextProvider, type ListboxContextValue, ListboxStore, RowWidthContext, type RowWidthContextValue, type SubmenuInterface, type SubpageInterface, type UseListboxKeyboardParams, type UseListboxKeyboardReturn, type UseStickyRowWidthOptions, type UseStickyRowWidthReturn, VirtualItem, type VirtualizationConfig, normalizeValue, slugify, useGroupContext, useListboxContext, useListboxKeyboard, useMaybeListboxContext, useMaybeRowWidthContext, useRowWidthContext, useStickyRowWidth };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{c as a,d as b,e as c,f as d,g as e,h as f,i as g,j as h,k as i,l as j,m as k,n as l,o as m,p as n,q as o,r as p,s as q,t as r,u as s,v as t,w as u,x as v}from"../../chunk-KWGD24VS.js";import"../../chunk-4C666HHU.js";export{a as GroupContext,c as ItemContext,f as ListboxContextProvider,v as ListboxStore,i as RowWidthContext,l as SurfaceContext,t as commandScore,u as defaultFilter,o as normalizeValue,p as slugify,b as useGroupContext,d as useItemContext,g as useListboxContext,q as useListboxItem,r as useListboxKeyboard,e as useMaybeItemContext,h as useMaybeListboxContext,k as useMaybeRowWidthContext,n as useMaybeSurfaceContext,j as useRowWidthContext,s as useStickyRowWidth,m as useSurfaceContext};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJSPKF52Ocjs = require('../../chunk-JSPKF52O.cjs');require('../../chunk-FWWOE2SW.cjs');require('../../chunk-M4G6J7DP.cjs');exports.AimGuardCtx = _chunkJSPKF52Ocjs.C; exports.AimGuardProvider = _chunkJSPKF52Ocjs.E; exports.AsyncMenuCoordinatorContext = _chunkJSPKF52Ocjs.ka; exports.AsyncMenuCoordinatorProvider = _chunkJSPKF52Ocjs.na; exports.CheckboxItemContext = _chunkJSPKF52Ocjs.Aa; exports.ComponentNameContext = _chunkJSPKF52Ocjs.a; exports.DataPopupContext = _chunkJSPKF52Ocjs.V; exports.DataSurfaceContext = _chunkJSPKF52Ocjs.U; exports.FocusOwnerContext = _chunkJSPKF52Ocjs.e; exports.FocusOwnerStore = _chunkJSPKF52Ocjs.F; exports.OpenChainContext = _chunkJSPKF52Ocjs.h; exports.OpenChainStore = _chunkJSPKF52Ocjs.G; exports.PopupMenuArrow = _chunkJSPKF52Ocjs.N; exports.PopupMenuArrowDataAttributes = _chunkJSPKF52Ocjs.M; exports.PopupMenuBackdrop = _chunkJSPKF52Ocjs.P; exports.PopupMenuBackdropDataAttributes = _chunkJSPKF52Ocjs.O; exports.PopupMenuCheckboxItem = _chunkJSPKF52Ocjs.Ca; exports.PopupMenuCheckboxItemDataAttributes = _chunkJSPKF52Ocjs.za; exports.PopupMenuCheckboxItemIndicator = _chunkJSPKF52Ocjs.Da; exports.PopupMenuContext = _chunkJSPKF52Ocjs.k; exports.PopupMenuDataInput = _chunkJSPKF52Ocjs.pa; exports.PopupMenuDataList = _chunkJSPKF52Ocjs.Kb; exports.PopupMenuDataSubpages = _chunkJSPKF52Ocjs.Lb; exports.PopupMenuDataSurface = _chunkJSPKF52Ocjs.Mb; exports.PopupMenuDebugContext = _chunkJSPKF52Ocjs.o; exports.PopupMenuEmpty = _chunkJSPKF52Ocjs.oa; exports.PopupMenuGroup = _chunkJSPKF52Ocjs.Qa; exports.PopupMenuGroupLabel = _chunkJSPKF52Ocjs.Ra; exports.PopupMenuIcon = _chunkJSPKF52Ocjs.ja; exports.PopupMenuIconDataAttributes = _chunkJSPKF52Ocjs.ga; exports.PopupMenuInput = _chunkJSPKF52Ocjs.pa; exports.PopupMenuItem = _chunkJSPKF52Ocjs.Fa; exports.PopupMenuItemDataAttributes = _chunkJSPKF52Ocjs.Ea; exports.PopupMenuList = _chunkJSPKF52Ocjs.sa; exports.PopupMenuListCssVars = _chunkJSPKF52Ocjs.qa; exports.PopupMenuListDataAttributes = _chunkJSPKF52Ocjs.ra; exports.PopupMenuLoading = _chunkJSPKF52Ocjs.ta; exports.PopupMenuPopup = _chunkJSPKF52Ocjs._; exports.PopupMenuPopupDataAttributes = _chunkJSPKF52Ocjs.Q; exports.PopupMenuPortal = _chunkJSPKF52Ocjs.$; exports.PopupMenuPositioner = _chunkJSPKF52Ocjs.ca; exports.PopupMenuPositionerCssVars = _chunkJSPKF52Ocjs.aa; exports.PopupMenuPositionerDataAttributes = _chunkJSPKF52Ocjs.ba; exports.PopupMenuProviders = _chunkJSPKF52Ocjs.da; exports.PopupMenuRadioGroup = _chunkJSPKF52Ocjs.Ja; exports.PopupMenuRadioGroupDataAttributes = _chunkJSPKF52Ocjs.Ga; exports.PopupMenuRadioGroupValue = _chunkJSPKF52Ocjs.Ka; exports.PopupMenuRadioItem = _chunkJSPKF52Ocjs.Oa; exports.PopupMenuRadioItemDataAttributes = _chunkJSPKF52Ocjs.La; exports.PopupMenuRadioItemIndicator = _chunkJSPKF52Ocjs.Pa; exports.PopupMenuScrollArrow = _chunkJSPKF52Ocjs.va; exports.PopupMenuScrollArrowDataAttributes = _chunkJSPKF52Ocjs.ua; exports.PopupMenuScrollDownArrow = _chunkJSPKF52Ocjs.xa; exports.PopupMenuScrollUpArrow = _chunkJSPKF52Ocjs.wa; exports.PopupMenuSeparator = _chunkJSPKF52Ocjs.Sa; exports.PopupMenuShortcut = _chunkJSPKF52Ocjs.Ua; exports.PopupMenuShortcutDataAttributes = _chunkJSPKF52Ocjs.Ta; exports.PopupMenuSubmenuRoot = _chunkJSPKF52Ocjs.Va; exports.PopupMenuSubmenuTrigger = _chunkJSPKF52Ocjs.Ya; exports.PopupMenuSubmenuTriggerDataAttributes = _chunkJSPKF52Ocjs.Wa; exports.PopupMenuSubmenuTriggerIndicator = _chunkJSPKF52Ocjs.Xa; exports.PopupMenuSubpage = _chunkJSPKF52Ocjs.Za; exports.PopupMenuSubpageBack = _chunkJSPKF52Ocjs.$a; exports.PopupMenuSubpageBackDataAttributes = _chunkJSPKF52Ocjs._a; exports.PopupMenuSubpageBackItem = _chunkJSPKF52Ocjs.bb; exports.PopupMenuSubpageBackItemDataAttributes = _chunkJSPKF52Ocjs.ab; exports.PopupMenuSubpageTrigger = _chunkJSPKF52Ocjs.db; exports.PopupMenuSubpageTriggerDataAttributes = _chunkJSPKF52Ocjs.cb; exports.PopupMenuSurface = _chunkJSPKF52Ocjs.ya; exports.PopupSurfaceIdContext = _chunkJSPKF52Ocjs.q; exports.ROOT_SUBPAGE_ID = _chunkJSPKF52Ocjs.y; exports.RadioGroupContext = _chunkJSPKF52Ocjs.Ha; exports.RadioItemContext = _chunkJSPKF52Ocjs.Ma; exports.SubmenuContext = _chunkJSPKF52Ocjs.s; exports.SubpageContext = _chunkJSPKF52Ocjs.v; exports.SubpageStackContext = _chunkJSPKF52Ocjs.z; exports.buildDisplayRowNodes = _chunkJSPKF52Ocjs.yb; exports.collectAsyncSubmenus = _chunkJSPKF52Ocjs.Eb; exports.deduplicateNodes = _chunkJSPKF52Ocjs.xb; exports.defaultGetQualifiedRowId = _chunkJSPKF52Ocjs.jb; exports.defineRadioGroup = _chunkJSPKF52Ocjs.eb; exports.filterNodes = _chunkJSPKF52Ocjs.Bb; exports.flattenNodes = _chunkJSPKF52Ocjs.tb; exports.getBrowseNodesFlatten = _chunkJSPKF52Ocjs.zb; exports.getBrowseNodesPreserve = _chunkJSPKF52Ocjs.Ab; exports.getFirstNavigableId = _chunkJSPKF52Ocjs.Db; exports.getNavigableIds = _chunkJSPKF52Ocjs.Cb; exports.getSlotAttribute = _chunkJSPKF52Ocjs.d; exports.getSmoothedHeading = _chunkJSPKF52Ocjs.I; exports.getSubpagePageId = _chunkJSPKF52Ocjs.kb; exports.isCheckboxItemDef = _chunkJSPKF52Ocjs.nb; exports.isDisplayGroupNode = _chunkJSPKF52Ocjs.fb; exports.isDisplayRadioGroupNode = _chunkJSPKF52Ocjs.gb; exports.isDisplayRowNode = _chunkJSPKF52Ocjs.ib; exports.isDisplaySeparatorNode = _chunkJSPKF52Ocjs.hb; exports.isGroupDef = _chunkJSPKF52Ocjs.qb; exports.isItemDef = _chunkJSPKF52Ocjs.lb; exports.isRadioGroupDef = _chunkJSPKF52Ocjs.rb; exports.isRadioItemDef = _chunkJSPKF52Ocjs.mb; exports.isSeparatorDef = _chunkJSPKF52Ocjs.sb; exports.isSubmenuDef = _chunkJSPKF52Ocjs.ob; exports.isSubpageDef = _chunkJSPKF52Ocjs.pb; exports.mergeAsyncNodesIntoTree = _chunkJSPKF52Ocjs.Gb; exports.mergeSubmenuNodes = _chunkJSPKF52Ocjs.Fb; exports.partitionByKind = _chunkJSPKF52Ocjs.wb; exports.resolveAnchorSide = _chunkJSPKF52Ocjs.H; exports.resolvePopupMenuSafeTriangleAreaDebugConfig = _chunkJSPKF52Ocjs.n; exports.scoreNodes = _chunkJSPKF52Ocjs.ub; exports.shouldIncludeInDeepSearch = _chunkJSPKF52Ocjs.Hb; exports.shouldIncludeSubmenuRowsInDeepSearch = _chunkJSPKF52Ocjs.Ib; exports.shouldLoadEagerly = _chunkJSPKF52Ocjs.Jb; exports.sortByScore = _chunkJSPKF52Ocjs.vb; exports.useAimGuard = _chunkJSPKF52Ocjs.D; exports.useAsyncMenuCoordinator = _chunkJSPKF52Ocjs.la; exports.useCheckboxItemContext = _chunkJSPKF52Ocjs.Ba; exports.useComponentName = _chunkJSPKF52Ocjs.b; exports.useDataPopupContext = _chunkJSPKF52Ocjs.Y; exports.useDataSurfaceContext = _chunkJSPKF52Ocjs.W; exports.useFocusOwner = _chunkJSPKF52Ocjs.f; exports.useMaybeAsyncMenuCoordinator = _chunkJSPKF52Ocjs.ma; exports.useMaybeComponentName = _chunkJSPKF52Ocjs.c; exports.useMaybeDataPopupContext = _chunkJSPKF52Ocjs.Z; exports.useMaybeDataSurfaceContext = _chunkJSPKF52Ocjs.X; exports.useMaybeFocusOwner = _chunkJSPKF52Ocjs.g; exports.useMaybeOpenChain = _chunkJSPKF52Ocjs.j; exports.useMaybePopupMenuContext = _chunkJSPKF52Ocjs.m; exports.useMaybeSubmenuContext = _chunkJSPKF52Ocjs.u; exports.useMaybeSubpageContext = _chunkJSPKF52Ocjs.x; exports.useMaybeSubpageStack = _chunkJSPKF52Ocjs.B; exports.useMouseTrail = _chunkJSPKF52Ocjs.K; exports.useOpenChain = _chunkJSPKF52Ocjs.i; exports.usePopupMenuContext = _chunkJSPKF52Ocjs.l; exports.usePopupMenuDebug = _chunkJSPKF52Ocjs.p; exports.usePopupMenuItem = _chunkJSPKF52Ocjs.ea; exports.usePopupMenuKeyboard = _chunkJSPKF52Ocjs.fa; exports.usePopupMenuRoot = _chunkJSPKF52Ocjs.L; exports.usePopupSurfaceId = _chunkJSPKF52Ocjs.r; exports.useRadioGroupContext = _chunkJSPKF52Ocjs.Ia; exports.useRadioItemContext = _chunkJSPKF52Ocjs.Na; exports.useSubmenuContext = _chunkJSPKF52Ocjs.t; exports.useSubpageContext = _chunkJSPKF52Ocjs.w; exports.useSubpageStack = _chunkJSPKF52Ocjs.A; exports.willHitSubmenu = _chunkJSPKF52Ocjs.J;
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/ui/ui/packages/react/dist/internal/popup-menu/index.cjs"],"names":[],"mappings":"AAAA,qIAAm+B,oCAAiC,oCAAiC,+1OAA+tH","file":"/home/runner/work/ui/ui/packages/react/dist/internal/popup-menu/index.cjs"}
|