@bazza-ui/react 0.0.0 → 0.1.0-canary.10

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.
Files changed (113) hide show
  1. package/dist/ListboxStore-BYBpGrOz.d.ts +453 -0
  2. package/dist/ListboxStore-nmorsoqX.d.cts +453 -0
  3. package/dist/chunk-4C666HHU.js +2 -0
  4. package/dist/chunk-4C666HHU.js.map +1 -0
  5. package/dist/chunk-5T5B5SPR.cjs +2 -0
  6. package/dist/chunk-5T5B5SPR.cjs.map +1 -0
  7. package/dist/chunk-A4Z5BY7H.js +2 -0
  8. package/dist/chunk-A4Z5BY7H.js.map +1 -0
  9. package/dist/chunk-BFOY762U.js +2 -0
  10. package/dist/chunk-BFOY762U.js.map +1 -0
  11. package/dist/chunk-IT372NHF.js +2 -0
  12. package/dist/chunk-IT372NHF.js.map +1 -0
  13. package/dist/chunk-JFEVUUPC.cjs +2 -0
  14. package/dist/chunk-JFEVUUPC.cjs.map +1 -0
  15. package/dist/chunk-KO3DXT3Y.js +2 -0
  16. package/dist/chunk-KO3DXT3Y.js.map +1 -0
  17. package/dist/chunk-LXXK4S4Q.js +2 -0
  18. package/dist/chunk-LXXK4S4Q.js.map +1 -0
  19. package/dist/chunk-M4G6J7DP.cjs +2 -0
  20. package/dist/chunk-M4G6J7DP.cjs.map +1 -0
  21. package/dist/chunk-SCDHQZFI.cjs +2 -0
  22. package/dist/chunk-SCDHQZFI.cjs.map +1 -0
  23. package/dist/chunk-W4ACKMIZ.cjs +2 -0
  24. package/dist/chunk-W4ACKMIZ.cjs.map +1 -0
  25. package/dist/chunk-XMZZ62VJ.cjs +2 -0
  26. package/dist/chunk-XMZZ62VJ.cjs.map +1 -0
  27. package/dist/combobox/index.cjs +2 -0
  28. package/dist/combobox/index.cjs.map +1 -0
  29. package/dist/combobox/index.d.cts +1066 -0
  30. package/dist/combobox/index.d.ts +1066 -0
  31. package/dist/combobox/index.js +2 -0
  32. package/dist/combobox/index.js.map +1 -0
  33. package/dist/command-menu/index.cjs +2 -0
  34. package/dist/command-menu/index.cjs.map +1 -0
  35. package/dist/command-menu/index.d.cts +154 -0
  36. package/dist/command-menu/index.d.ts +154 -0
  37. package/dist/command-menu/index.js +2 -0
  38. package/dist/command-menu/index.js.map +1 -0
  39. package/dist/command-score-CTJ9NV6n.d.cts +23 -0
  40. package/dist/command-score-CTJ9NV6n.d.ts +23 -0
  41. package/dist/context-menu/index.cjs +2 -0
  42. package/dist/context-menu/index.cjs.map +1 -0
  43. package/dist/context-menu/index.d.cts +672 -0
  44. package/dist/context-menu/index.d.ts +672 -0
  45. package/dist/context-menu/index.js +2 -0
  46. package/dist/context-menu/index.js.map +1 -0
  47. package/dist/dropdown-menu/index.cjs +2 -0
  48. package/dist/dropdown-menu/index.cjs.map +1 -0
  49. package/dist/dropdown-menu/index.d.cts +699 -0
  50. package/dist/dropdown-menu/index.d.ts +699 -0
  51. package/dist/dropdown-menu/index.js +2 -0
  52. package/dist/dropdown-menu/index.js.map +1 -0
  53. package/dist/events-DOGItflK.d.ts +1776 -0
  54. package/dist/events-DPsuhBln.d.cts +1776 -0
  55. package/dist/input-C95v6jB0.d.cts +46 -0
  56. package/dist/input-CYweYB_i.d.ts +46 -0
  57. package/dist/internal/listbox/index.cjs +2 -0
  58. package/dist/internal/listbox/index.cjs.map +1 -0
  59. package/dist/internal/listbox/index.d.cts +272 -0
  60. package/dist/internal/listbox/index.d.ts +272 -0
  61. package/dist/internal/listbox/index.js +2 -0
  62. package/dist/internal/listbox/index.js.map +1 -0
  63. package/dist/internal/popup-menu/index.cjs +2 -0
  64. package/dist/internal/popup-menu/index.cjs.map +1 -0
  65. package/dist/internal/popup-menu/index.d.cts +238 -0
  66. package/dist/internal/popup-menu/index.d.ts +238 -0
  67. package/dist/internal/popup-menu/index.js +2 -0
  68. package/dist/internal/popup-menu/index.js.map +1 -0
  69. package/dist/items-B6HeFO_8.d.cts +37 -0
  70. package/dist/items-B6HeFO_8.d.ts +37 -0
  71. package/dist/kbd/index.cjs +2 -0
  72. package/dist/kbd/index.cjs.map +1 -0
  73. package/dist/kbd/index.d.cts +61 -0
  74. package/dist/kbd/index.d.ts +61 -0
  75. package/dist/kbd/index.js +2 -0
  76. package/dist/kbd/index.js.map +1 -0
  77. package/dist/loaders/index.cjs +2 -0
  78. package/dist/loaders/index.cjs.map +1 -0
  79. package/dist/loaders/index.d.cts +363 -0
  80. package/dist/loaders/index.d.ts +363 -0
  81. package/dist/loaders/index.js +2 -0
  82. package/dist/loaders/index.js.map +1 -0
  83. package/dist/loading-C6WZGUc3.d.cts +29 -0
  84. package/dist/loading-CC4n55sR.d.ts +29 -0
  85. package/dist/resolve-BYm41YfG.d.ts +406 -0
  86. package/dist/resolve-Dk_fAKb2.d.cts +406 -0
  87. package/dist/scroll-arrow-B81wZTZ2.d.cts +544 -0
  88. package/dist/scroll-arrow-CNd0tgME.d.ts +544 -0
  89. package/dist/select/index.cjs +2 -0
  90. package/dist/select/index.cjs.map +1 -0
  91. package/dist/select/index.d.cts +985 -0
  92. package/dist/select/index.d.ts +985 -0
  93. package/dist/select/index.js +2 -0
  94. package/dist/select/index.js.map +1 -0
  95. package/dist/separator-BiySI623.d.cts +275 -0
  96. package/dist/separator-De8l8DKO.d.ts +275 -0
  97. package/dist/surface-context-ClmxshBW.d.ts +14 -0
  98. package/dist/surface-context-DF-L-30G.d.cts +14 -0
  99. package/dist/type-guards-BC2B6bVi.d.cts +350 -0
  100. package/dist/type-guards-ybcHBB3C.d.ts +350 -0
  101. package/dist/types-DT4FOOa2.d.cts +51 -0
  102. package/dist/types-DT4FOOa2.d.ts +51 -0
  103. package/dist/use-listbox-item-NzZuY34-.d.cts +212 -0
  104. package/dist/use-listbox-item-NzZuY34-.d.ts +212 -0
  105. package/dist/video-player/index.cjs +3 -0
  106. package/dist/video-player/index.cjs.map +1 -0
  107. package/dist/video-player/index.d.cts +1391 -0
  108. package/dist/video-player/index.d.ts +1391 -0
  109. package/dist/video-player/index.js +3 -0
  110. package/dist/video-player/index.js.map +1 -0
  111. package/package.json +66 -12
  112. package/dist/index.d.ts +0 -2
  113. package/dist/index.js +0 -2
@@ -0,0 +1,406 @@
1
+ import * as React from 'react';
2
+ import { C as ComponentProps } from './types-DT4FOOa2.js';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import { aT as RadioValueChangeEventDetails, M as AsyncLoaderConfig, R as AsyncLoaderResult, N as NodeDef, X as AsyncState, a0 as DataListChildrenState, a1 as DeepSearchConfig, ad as IncludeInDeepSearch, a3 as DisplayNode, r as PopupMenuNode, aJ as UnresolvedMenuNode, j as PopupMenuIdScope } from './events-DOGItflK.js';
5
+
6
+ interface PopupMenuCheckboxItemIndicatorState extends Record<string, unknown> {
7
+ /**
8
+ * Whether the parent checkbox item is currently checked.
9
+ */
10
+ checked: boolean;
11
+ /**
12
+ * Whether the parent checkbox item is currently highlighted.
13
+ */
14
+ highlighted: boolean;
15
+ /**
16
+ * Whether the parent checkbox item is disabled.
17
+ */
18
+ disabled: boolean;
19
+ /**
20
+ * Toggle the checked state without triggering closeOnClick.
21
+ * Useful when you want clicking directly on the indicator to toggle
22
+ * without closing the menu.
23
+ */
24
+ toggle: () => void;
25
+ }
26
+ interface PopupMenuCheckboxItemIndicatorProps extends ComponentProps<'span', PopupMenuCheckboxItemIndicator.State> {
27
+ /**
28
+ * Whether to keep the indicator mounted in the DOM when unchecked.
29
+ * Useful for animations.
30
+ * @default false
31
+ */
32
+ keepMounted?: boolean;
33
+ }
34
+ /**
35
+ * A visual indicator that shows when a CheckboxItem is checked.
36
+ * Must be used within a CheckboxItem component.
37
+ * Renders a `<span>` element with aria-hidden="true".
38
+ */
39
+ declare const PopupMenuCheckboxItemIndicator: React.ForwardRefExoticComponent<Omit<PopupMenuCheckboxItemIndicator.Props, "ref"> & React.RefAttributes<HTMLSpanElement>>;
40
+ declare namespace PopupMenuCheckboxItemIndicator {
41
+ type State = PopupMenuCheckboxItemIndicatorState;
42
+ interface Props extends PopupMenuCheckboxItemIndicatorProps {
43
+ }
44
+ }
45
+
46
+ interface PopupMenuRadioGroupValueProps {
47
+ /**
48
+ * The controlled selected value.
49
+ */
50
+ value: string | undefined;
51
+ /**
52
+ * Callback fired when the selected value changes.
53
+ * The second parameter contains event details including the reason for the change.
54
+ */
55
+ onValueChange?: (value: string, eventDetails: RadioValueChangeEventDetails) => void;
56
+ /**
57
+ * Whether all items in this group are disabled.
58
+ * @default false
59
+ */
60
+ disabled?: boolean;
61
+ /**
62
+ * Children to render within the radio group context.
63
+ */
64
+ children: React.ReactNode;
65
+ }
66
+ /**
67
+ * Headless provider for radio group state.
68
+ * Use this to wrap DataSurface when using RadioItems in deep search.
69
+ * Does not render any DOM element - only provides context.
70
+ *
71
+ * @example
72
+ * ```tsx
73
+ * const [theme, setTheme] = useState('light')
74
+ *
75
+ * <DropdownMenu.RadioGroupValue value={theme} onValueChange={setTheme}>
76
+ * <DropdownMenu.Surface content={content}>
77
+ * ...
78
+ * </DropdownMenu.Surface>
79
+ * </DropdownMenu.RadioGroupValue>
80
+ * ```
81
+ */
82
+ declare function PopupMenuRadioGroupValue(props: PopupMenuRadioGroupValueProps): react_jsx_runtime.JSX.Element;
83
+ declare namespace PopupMenuRadioGroupValue {
84
+ interface Props extends PopupMenuRadioGroupValueProps {
85
+ }
86
+ }
87
+
88
+ /**
89
+ * Declares its children as tabbable popup content: they join the surface's Tab
90
+ * cycle instead of Tab closing the menu. A zone with no tabbable children is
91
+ * treated as absent.
92
+ */
93
+ interface PopupMenuFocusZoneState extends Record<string, unknown> {
94
+ }
95
+ interface PopupMenuFocusZoneProps extends ComponentProps<'div', PopupMenuFocusZone.State> {
96
+ }
97
+ declare const PopupMenuFocusZone: React.ForwardRefExoticComponent<Omit<PopupMenuFocusZone.Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
98
+ declare namespace PopupMenuFocusZone {
99
+ type State = PopupMenuFocusZoneState;
100
+ interface Props extends PopupMenuFocusZoneProps {
101
+ }
102
+ }
103
+
104
+ /**
105
+ * Container for tabbable content at the bottom of a menu surface (action rows like Apply/Cancel). Registers as a focus zone: its tabbable children join the surface's Tab cycle.
106
+ */
107
+ interface PopupMenuFooterState extends Record<string, unknown> {
108
+ }
109
+ interface PopupMenuFooterProps extends ComponentProps<'div', PopupMenuFooter.State> {
110
+ }
111
+ declare const PopupMenuFooter: React.ForwardRefExoticComponent<Omit<PopupMenuFooter.Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
112
+ declare namespace PopupMenuFooter {
113
+ type State = PopupMenuFooterState;
114
+ interface Props extends PopupMenuFooterProps {
115
+ }
116
+ }
117
+
118
+ /**
119
+ * Container for tabbable content at the top of a menu surface (toolbars, filters). Registers as a focus zone: its tabbable children join the surface's Tab cycle.
120
+ */
121
+ interface PopupMenuHeaderState extends Record<string, unknown> {
122
+ }
123
+ interface PopupMenuHeaderProps extends ComponentProps<'div', PopupMenuHeader.State> {
124
+ }
125
+ declare const PopupMenuHeader: React.ForwardRefExoticComponent<Omit<PopupMenuHeader.Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
126
+ declare namespace PopupMenuHeader {
127
+ type State = PopupMenuHeaderState;
128
+ interface Props extends PopupMenuHeaderProps {
129
+ }
130
+ }
131
+
132
+ /**
133
+ * State for the Shortcut component, passed to children render function.
134
+ */
135
+ interface PopupMenuShortcutState extends Record<string, unknown> {
136
+ /**
137
+ * The keyboard shortcut value from the parent Item.
138
+ */
139
+ shortcut: string | undefined;
140
+ /**
141
+ * Whether the parent item is highlighted.
142
+ */
143
+ highlighted: boolean;
144
+ }
145
+ interface PopupMenuShortcutProps extends Omit<ComponentProps<'kbd', PopupMenuShortcut.State>, 'children'> {
146
+ /**
147
+ * Content to render inside the shortcut.
148
+ * Can be a render function that receives the shortcut value.
149
+ * If not provided, renders the shortcut value from the parent Item.
150
+ */
151
+ children?: React.ReactNode | ((state: PopupMenuShortcutState) => React.ReactNode);
152
+ }
153
+ /**
154
+ * Displays the keyboard shortcut for a menu item.
155
+ * Must be used within a PopupMenu.Item component.
156
+ * Renders a `<kbd>` element by default.
157
+ *
158
+ * @example
159
+ * ```tsx
160
+ * // Auto-renders the shortcut value
161
+ * <PopupMenu.Item shortcut="1">
162
+ * Icebox
163
+ * <PopupMenu.Shortcut />
164
+ * </PopupMenu.Item>
165
+ *
166
+ * // Custom rendering with children as function
167
+ * <PopupMenu.Item shortcut="1">
168
+ * Icebox
169
+ * <PopupMenu.Shortcut>
170
+ * {({ shortcut }) => <span className="key">{shortcut}</span>}
171
+ * </PopupMenu.Shortcut>
172
+ * </PopupMenu.Item>
173
+ * ```
174
+ */
175
+ declare const PopupMenuShortcut: React.ForwardRefExoticComponent<Omit<PopupMenuShortcut.Props, "ref"> & React.RefAttributes<HTMLElement>>;
176
+ declare namespace PopupMenuShortcut {
177
+ type State = PopupMenuShortcutState;
178
+ interface Props extends PopupMenuShortcutProps {
179
+ }
180
+ }
181
+
182
+ interface PopupMenuSubpageProps {
183
+ /** Unique page ID for stack navigation. */
184
+ pageId: string;
185
+ /**
186
+ * Whether pressing Escape in this page closes the entire menu tree.
187
+ * When false (default), Escape navigates back one page.
188
+ * @default false
189
+ */
190
+ closeRootOnEsc?: boolean;
191
+ children: React.ReactNode;
192
+ }
193
+ /**
194
+ * Groups all parts of a subpage.
195
+ * Creates an isolated menu surface that renders in the same popup and
196
+ * participates in push/pop page stack navigation.
197
+ * Doesn't render its own HTML element.
198
+ */
199
+ declare function PopupMenuSubpage(props: PopupMenuSubpageProps): react_jsx_runtime.JSX.Element;
200
+ declare namespace PopupMenuSubpage {
201
+ interface Props extends PopupMenuSubpageProps {
202
+ }
203
+ }
204
+
205
+ interface PopupMenuSubpageBackState extends Record<string, unknown> {
206
+ /** Whether navigating back is currently possible. */
207
+ canGoBack: boolean;
208
+ /** Whether the button is disabled. */
209
+ disabled: boolean;
210
+ }
211
+ interface PopupMenuSubpageBackProps extends ComponentProps<'button', PopupMenuSubpageBack.State> {
212
+ /** Whether this button is disabled. */
213
+ disabled?: boolean;
214
+ }
215
+ /**
216
+ * A button that navigates back one page in the current subpage stack.
217
+ * Useful for custom headers/toolbars outside of list rows.
218
+ * Renders a `<button>` element.
219
+ */
220
+ declare const PopupMenuSubpageBack: React.ForwardRefExoticComponent<Omit<PopupMenuSubpageBack.Props, "ref"> & React.RefAttributes<HTMLButtonElement>>;
221
+ declare namespace PopupMenuSubpageBack {
222
+ type State = PopupMenuSubpageBackState;
223
+ interface Props extends PopupMenuSubpageBackProps {
224
+ }
225
+ }
226
+
227
+ interface PopupMenuSubpageBackItemState extends Record<string, unknown> {
228
+ /** Whether this is a subpage back item (always true). */
229
+ subpageBackItem: boolean;
230
+ /** Whether the item is highlighted. */
231
+ highlighted: boolean;
232
+ /** Whether the item is disabled. */
233
+ disabled: boolean;
234
+ first: boolean;
235
+ last: boolean;
236
+ firstInGroup: boolean;
237
+ lastInGroup: boolean;
238
+ }
239
+ interface PopupMenuSubpageBackItemProps extends ComponentProps<'div', PopupMenuSubpageBackItem.State> {
240
+ /** Explicit unique identifier for this item in the store. */
241
+ id?: string;
242
+ /** Unique value for this item used for filtering. */
243
+ value?: string;
244
+ /** Additional keywords to match against when filtering. */
245
+ keywords?: string[];
246
+ /** Whether this item is disabled. */
247
+ disabled?: boolean;
248
+ /** Whether to force render this item regardless of filter results. */
249
+ forceMount?: boolean;
250
+ /** Callback when this item is selected. */
251
+ onSelect?: () => void;
252
+ /**
253
+ * Async callback when this item is selected.
254
+ *
255
+ * When provided, this takes precedence over `onSelect`.
256
+ * If provided, this callback is awaited before navigating back.
257
+ * Return `false` to prevent automatic navigation.
258
+ */
259
+ onSelectAsync?: (context: PopupMenuSubpageBackItem.OnSelectAsyncContext) => Promise<void | boolean>;
260
+ }
261
+ /**
262
+ * A list row that navigates back one page in the current subpage stack.
263
+ * Renders a `<div>` element with role="option".
264
+ */
265
+ declare const PopupMenuSubpageBackItem: React.ForwardRefExoticComponent<Omit<PopupMenuSubpageBackItem.Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
266
+ declare namespace PopupMenuSubpageBackItem {
267
+ type State = PopupMenuSubpageBackItemState;
268
+ interface OnSelectAsyncContext {
269
+ /** Navigate back one page manually. */
270
+ goBack: () => boolean;
271
+ /** Aborts when a pending async selection is canceled or unmounted. */
272
+ signal: AbortSignal;
273
+ }
274
+ interface Props extends PopupMenuSubpageBackItemProps {
275
+ }
276
+ }
277
+
278
+ /**
279
+ * State for a registered async loader.
280
+ */
281
+ interface AsyncMenuState {
282
+ /** Unique identifier for this async menu */
283
+ id: string;
284
+ /** The loader configuration */
285
+ config: AsyncLoaderConfig;
286
+ /** Current loader result */
287
+ result: AsyncLoaderResult<NodeDef[]>;
288
+ }
289
+ interface RootAsyncMenuState {
290
+ config: AsyncLoaderConfig;
291
+ result: AsyncLoaderResult<NodeDef[]>;
292
+ }
293
+ /**
294
+ * Context value for the async menu coordinator.
295
+ */
296
+ interface AsyncMenuCoordinatorValue {
297
+ /** Register a new async loader */
298
+ registerLoader: (state: AsyncMenuState) => void;
299
+ /** Unregister an async loader */
300
+ unregisterLoader: (id: string) => void;
301
+ /** Update loader result */
302
+ updateLoaderResult: (id: string, result: AsyncLoaderResult<NodeDef[]>) => void;
303
+ registerRootLoader: (state: RootAsyncMenuState) => void;
304
+ unregisterRootLoader: () => void;
305
+ updateRootLoaderResult: (result: AsyncLoaderResult<NodeDef[]>) => void;
306
+ /** Current search query from the store */
307
+ searchQuery: string;
308
+ /** All registered loaders */
309
+ loaders: Map<string, AsyncMenuState>;
310
+ /** The root surface's own `asyncContent` loader; `null` when none is registered. Never present in `loaders`. */
311
+ root: RootAsyncMenuState | null;
312
+ /** Any loader is currently in initial loading phase */
313
+ isAnyLoading: boolean;
314
+ /** Any loader is currently fetching (initial or background) */
315
+ isAnyFetching: boolean;
316
+ /** Any loader is currently in first-load phase */
317
+ isAnyInitialLoading: boolean;
318
+ /** Any loader is currently in background refetch phase */
319
+ isAnyRefetching: boolean;
320
+ /** All registered loaders are currently in background refetch phase */
321
+ isAllRefetching: boolean;
322
+ /** The root loader is currently in initial loading phase */
323
+ isRootLoading: boolean;
324
+ /** Static loaders are currently in initial loading phase */
325
+ isStaticLoading: boolean;
326
+ /** Static loaders are currently fetching */
327
+ isStaticFetching: boolean;
328
+ /** Static loaders in first-load phase */
329
+ isStaticInitialLoading: boolean;
330
+ /** Static loaders in background refetch phase */
331
+ isStaticRefetching: boolean;
332
+ /** Query loaders are currently in initial loading phase */
333
+ isQueryLoading: boolean;
334
+ /** Query loaders are currently fetching */
335
+ isQueryFetching: boolean;
336
+ /** Query loaders in first-load phase */
337
+ isQueryInitialLoading: boolean;
338
+ /** Query loaders in background refetch phase */
339
+ isQueryRefetching: boolean;
340
+ /** All loaders have resolved (not fetching) */
341
+ allResolved: boolean;
342
+ /** Every loader with a usable result: the root entry (if any) and one branch entry per Resolved ID. */
343
+ getAsyncNodes: () => Array<{
344
+ kind: 'root';
345
+ nodes: NodeDef[];
346
+ } | {
347
+ kind: 'branch';
348
+ id: string;
349
+ nodes: NodeDef[];
350
+ }>;
351
+ /** Loaders that errored */
352
+ erroredLoaders: Map<string, Error>;
353
+ rootError: Error | null;
354
+ /** Get the aggregate async state for DataList */
355
+ getAsyncState: () => AsyncState;
356
+ }
357
+ declare function useAsyncMenuCoordinator(): AsyncMenuCoordinatorValue | null;
358
+ declare function useMaybeAsyncMenuCoordinator(): AsyncMenuCoordinatorValue | null;
359
+
360
+ interface DataSurfaceContextValue {
361
+ /** The original node definitions */
362
+ content: NodeDef[];
363
+ /** Async content configuration for root-level async loading */
364
+ asyncContent?: AsyncLoaderConfig;
365
+ /** Deep search configuration */
366
+ deepSearchConfig: DeepSearchConfig;
367
+ /** Default submenu inclusion mode for deep search */
368
+ includeInDeepSearch: IncludeInDeepSearch;
369
+ /** List element ID for aria-activedescendant */
370
+ listId: string;
371
+ }
372
+ declare const DataSurfaceContext: React.Context<DataSurfaceContextValue | null>;
373
+ interface ResolvedNodesSlot {
374
+ nodes: readonly PopupMenuNode[];
375
+ graftVersion: number;
376
+ /** The `content` prop the slot was published for; consumers drop a slot whose content the root surface no longer supplies. */
377
+ content: NodeDef[];
378
+ }
379
+ interface DataPopupContextValue {
380
+ /** Latest DataSurface context registered within this popup. */
381
+ dataSurfaceContext: DataSurfaceContextValue | null;
382
+ /** Registers/clears DataSurface context for sibling consumers. */
383
+ setDataSurfaceContext: React.Dispatch<React.SetStateAction<DataSurfaceContextValue | null>>;
384
+ /**
385
+ * The resolved-nodes slot: the root list's current Menu Nodes plus the
386
+ * graft version that changes when loader results are grafted under a
387
+ * branch (which mutates `children` without changing the outer array).
388
+ * Null until the root list registers. Retained while a subpage is active
389
+ * and the root list is unmounted; the Menu Tree persists on the resolver.
390
+ */
391
+ resolvedNodes: ResolvedNodesSlot | null;
392
+ setResolvedNodes: React.Dispatch<React.SetStateAction<ResolvedNodesSlot | null>>;
393
+ }
394
+ declare const DataPopupContext: React.Context<DataPopupContextValue | null>;
395
+ declare function useDataSurfaceContext(): DataSurfaceContextValue;
396
+ declare function useMaybeDataSurfaceContext(): DataSurfaceContextValue | null;
397
+ declare const DataListContext: React.Context<DataListChildrenState | null>;
398
+ declare function useDataList(): DataListChildrenState;
399
+ declare function useMaybeDataList(): DataListChildrenState | null;
400
+ type RenderNodeFn = (displayNode: DisplayNode) => React.ReactNode;
401
+
402
+ declare function isPopupMenuNode(value: unknown): value is PopupMenuNode;
403
+ /** Default Resolved ID, using surface-scoped encoded paths unless menu scope is selected. */
404
+ declare function defaultGetResolvedId(node: UnresolvedMenuNode, idScope?: PopupMenuIdScope): string;
405
+
406
+ export { type PopupMenuSubpageProps as A, type AsyncMenuCoordinatorValue as B, type PopupMenuRadioGroupValueProps as C, type DataSurfaceContextValue as D, DataListContext as E, DataSurfaceContext as F, defaultGetResolvedId as G, isPopupMenuNode as H, useDataSurfaceContext as I, useMaybeDataSurfaceContext as J, DataPopupContext as K, PopupMenuCheckboxItemIndicator as P, type RenderNodeFn as R, PopupMenuFocusZone as a, PopupMenuFooter as b, PopupMenuHeader as c, PopupMenuRadioGroupValue as d, PopupMenuShortcut as e, PopupMenuSubpage as f, PopupMenuSubpageBack as g, PopupMenuSubpageBackItem as h, useDataList as i, useMaybeAsyncMenuCoordinator as j, useMaybeDataList as k, type PopupMenuCheckboxItemIndicatorProps as l, type PopupMenuCheckboxItemIndicatorState as m, type PopupMenuFocusZoneProps as n, type PopupMenuFocusZoneState as o, type PopupMenuFooterProps as p, type PopupMenuFooterState as q, type PopupMenuHeaderProps as r, type PopupMenuHeaderState as s, type PopupMenuShortcutProps as t, useAsyncMenuCoordinator as u, type PopupMenuShortcutState as v, type PopupMenuSubpageBackItemProps as w, type PopupMenuSubpageBackItemState as x, type PopupMenuSubpageBackProps as y, type PopupMenuSubpageBackState as z };