@yahoo/uds 3.5.0-beta.1 → 3.5.0-beta.3

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 (77) hide show
  1. package/cli/bin/uds-darwin-arm64-baseline +0 -0
  2. package/cli/bin/uds-linux-arm64 +0 -0
  3. package/cli/bin/uds-linux-x64-baseline +0 -0
  4. package/dist/Input-DUqLl6jE.d.cts +42 -0
  5. package/dist/Input-Ur-Ht_GL.d.ts +42 -0
  6. package/dist/Menu-DR13-K-l.d.cts +662 -0
  7. package/dist/Menu-OM1LtJ1C.d.ts +662 -0
  8. package/dist/{VStack-CmraVolm.d.ts → VStack-cakCiiUo.d.cts} +2 -40
  9. package/dist/{VStack-dT3EJCu4.d.cts → VStack-vuPYMALn.d.ts} +2 -40
  10. package/dist/analytics/server.cjs +1 -1
  11. package/dist/analytics/server.js +1 -1
  12. package/dist/chunk-4NOF6FBP.cjs +3 -0
  13. package/dist/chunk-4VV7ZPAB.js +1 -0
  14. package/dist/chunk-6A3VCKKL.cjs +1 -0
  15. package/dist/chunk-EDYPTXZP.js +2 -0
  16. package/dist/chunk-N6WXVEVH.cjs +2 -0
  17. package/dist/chunk-R37JGXS5.js +3 -0
  18. package/dist/chunk-T52MLTTM.js +3 -0
  19. package/dist/client/Menu.cjs +2 -0
  20. package/dist/client/Menu.d.cts +10 -0
  21. package/dist/client/Menu.d.ts +10 -0
  22. package/dist/client/Menu.js +2 -0
  23. package/dist/client/index.cjs +1 -2
  24. package/dist/client/index.d.cts +12 -664
  25. package/dist/client/index.d.ts +12 -664
  26. package/dist/client/index.js +2 -3
  27. package/dist/experimental/client/index.js +1 -2
  28. package/dist/experimental/index.cjs +1 -1
  29. package/dist/experimental/index.js +1 -2
  30. package/dist/flags.cjs +2 -1
  31. package/dist/flags.js +2 -2
  32. package/dist/{index-BOfq14yW.d.ts → index-39whUqBE.d.ts} +1 -1
  33. package/dist/{index-D1poGuo1.d.cts → index-CFlpXsuC.d.cts} +1 -1
  34. package/dist/index.cjs +1 -1
  35. package/dist/index.d.cts +6 -5
  36. package/dist/index.d.ts +6 -5
  37. package/dist/index.js +1 -1
  38. package/dist/metafile-cjs.json +1 -1
  39. package/dist/metafile-esm.json +1 -1
  40. package/dist/motionFeatures-6LIGGXPL.cjs +1 -1
  41. package/dist/motionFeatures-SJISLQ4M.js +1 -1
  42. package/dist/tailwind/plugin.cjs +1 -1
  43. package/dist/tailwind/plugin.d.cts +1 -1
  44. package/dist/tailwind/plugin.d.ts +1 -1
  45. package/dist/tailwind/plugin.js +2 -2
  46. package/dist/tailwind/purger.cjs +1 -1
  47. package/dist/tailwind/purger.js +1 -1
  48. package/dist/tailwind/tsMorph.cjs +1 -1
  49. package/dist/tailwind/tsMorph.js +1 -1
  50. package/dist/tailwind/utils.cjs +1 -1
  51. package/dist/tailwind/utils.d.cts +1 -1
  52. package/dist/tailwind/utils.d.ts +1 -1
  53. package/dist/tailwind/utils.js +1 -1
  54. package/dist/tokens/automation/configs.cjs +1 -1
  55. package/dist/tokens/automation/configs.d.cts +2 -2
  56. package/dist/tokens/automation/configs.d.ts +2 -2
  57. package/dist/tokens/automation/configs.js +1 -1
  58. package/dist/tokens/automation/properties.cjs +1 -1
  59. package/dist/tokens/automation/properties.d.cts +2 -2
  60. package/dist/tokens/automation/properties.d.ts +2 -2
  61. package/dist/tokens/automation/properties.js +1 -1
  62. package/dist/tokens/index.cjs +1 -1
  63. package/dist/tokens/index.d.cts +4 -4
  64. package/dist/tokens/index.d.ts +4 -4
  65. package/dist/tokens/index.js +1 -1
  66. package/dist/tokens/parseTokens.cjs +1 -1
  67. package/dist/tokens/parseTokens.d.cts +1 -1
  68. package/dist/tokens/parseTokens.d.ts +1 -1
  69. package/dist/tokens/parseTokens.js +1 -1
  70. package/dist/{types-B_jakWRK.d.cts → types-TxDF_k0q.d.cts} +1 -1
  71. package/dist/{types-B_jakWRK.d.ts → types-TxDF_k0q.d.ts} +1 -1
  72. package/package.json +11 -1
  73. package/cli/FullWidthClassToProp.mock.tsx +0 -17
  74. package/dist/chunk-IQ4HRDIM.cjs +0 -3
  75. package/dist/chunk-KSHOOD3K.js +0 -3
  76. package/dist/styles/toast.d.cts +0 -2
  77. package/dist/styles/toast.d.ts +0 -2
@@ -0,0 +1,662 @@
1
+ import * as react from 'react';
2
+ import { AriaRole, HTMLAttributes, PropsWithChildren } from 'react';
3
+ import { MenuProps, MenuItemProps as MenuItemProps$1, MenuItemCheckboxProps as MenuItemCheckboxProps$1, MenuProviderProps as MenuProviderProps$1, MenuButtonProps, useMenuContext, useMenuStore } from '@ariakit/react/menu';
4
+ import { ch as SpacingAlias, cR as UniversalPressableProps, cQ as UniversalMenuItemProps } from './types-TxDF_k0q.cjs';
5
+ import { d as VStackProps, c as DividerProps, a as BoxProps } from './VStack-cakCiiUo.cjs';
6
+ import * as react_jsx_runtime from 'react/jsx-runtime';
7
+ import { useStoreState } from '@ariakit/react';
8
+
9
+ interface MenuContentProps extends Omit<VStackProps, 'asChild'> {
10
+ gutter?: SpacingAlias;
11
+ /** UDS handles nested border radius for the first and last item for you to prevent clipping and visual jank.
12
+ * If you need to disable this, set this prop to true.
13
+ *
14
+ * @link https://github.com/yahoo-uds/uds/blob/main/packages/uds/src/hooks/useNestedBorderRadius.ts
15
+ **/
16
+ disableAutoBorderRadius?: boolean;
17
+ /**
18
+ * `portalRef` is similar to `ref` but is scoped to the portal node. It's
19
+ * useful when you need to be informed when the portal element is appended to
20
+ * the DOM or removed from the DOM.
21
+ *
22
+ * Live examples:
23
+ * - [Form with Select](https://ariakit.org/examples/form-select)
24
+ * @example
25
+ * ```jsx
26
+ * const [portalElement, setPortalElement] = useState(null);
27
+ *
28
+ * <Portal portalRef={setPortalElement} />
29
+ * ```
30
+ */
31
+ portalRef?: MenuProps['portalRef'];
32
+ /**
33
+ * Determines whether the element should be rendered as a React Portal.
34
+ *
35
+ * Live examples:
36
+ * - [Combobox with integrated
37
+ * filter](https://ariakit.org/examples/combobox-filtering-integrated)
38
+ * - [Dialog with Menu](https://ariakit.org/examples/dialog-menu)
39
+ * - [Hovercard with keyboard
40
+ * support](https://ariakit.org/examples/hovercard-disclosure)
41
+ * - [Menubar](https://ariakit.org/components/menubar)
42
+ * - [Standalone Popover](https://ariakit.org/examples/popover-standalone)
43
+ * - [Animated Select](https://ariakit.org/examples/select-animated)
44
+ * @default true
45
+ */
46
+ portal?: boolean;
47
+ /**
48
+ * An HTML element or a memoized callback function that returns an HTML
49
+ * element to be used as the portal element. By default, the portal element
50
+ * will be a `div` element appended to the `document.body`.
51
+ *
52
+ * Live examples:
53
+ * - [Navigation Menubar](https://ariakit.org/examples/menubar-navigation)
54
+ * @example
55
+ * ```jsx
56
+ * const [portal, setPortal] = useState(null);
57
+ *
58
+ * <Portal portalElement={portal} />
59
+ * <div ref={setPortal} />
60
+ * ```
61
+ * @example
62
+ * ```jsx
63
+ * const getPortalElement = useCallback(() => {
64
+ * const div = document.createElement("div");
65
+ * const portalRoot = document.getElementById("portal-root");
66
+ * portalRoot.appendChild(div);
67
+ * return div;
68
+ * }, []);
69
+ *
70
+ * <Portal portalElement={getPortalElement} />
71
+ * ```
72
+ */
73
+ portalElement?: MenuProps['portalElement'];
74
+ /**
75
+ * Determines whether the popover should hide when the mouse leaves the
76
+ * popover or the anchor element and there's no _hover intent_, meaning, the
77
+ * mouse isn't moving toward the popover.
78
+ *
79
+ * This can be either a boolean or a callback receiving the mouse move event
80
+ * that initiated the behavior. The callback should return a boolean.
81
+ *
82
+ * **Note**: This behavior won't be triggered when the popover or any of its
83
+ * descendants are in focus.
84
+ * @default true
85
+ */
86
+ hideOnHoverOutside?: MenuProps['hideOnHoverOutside'];
87
+ /**
88
+ * Determines if the dialog will hide when the user presses the Escape key.
89
+ *
90
+ * This prop can be either a boolean or a function that accepts an event as an
91
+ * argument and returns a boolean. The event object represents the keydown
92
+ * event that initiated the hide action, which could be either a native
93
+ * keyboard event or a React synthetic event.
94
+ *
95
+ * **Note**: When placing Ariakit dialogs inside third-party dialogs, using
96
+ * `event.stopPropagation()` within this function will stop the event from
97
+ * reaching the third-party dialog, closing only the Ariakit dialog.
98
+ * @default true
99
+ */
100
+ hideOnEscape?: MenuProps['hideOnEscape'];
101
+ /**
102
+ * Determines if the dialog should hide when the user clicks or focuses on an
103
+ * element outside the dialog.
104
+ *
105
+ * This prop can be either a boolean or a function that takes an event as an
106
+ * argument and returns a boolean. The event object represents the event that
107
+ * triggered the action, which could be a native event or a React synthetic
108
+ * event of various types.
109
+ *
110
+ * Live examples:
111
+ * - [Selection Popover](https://ariakit.org/examples/popover-selection)
112
+ * @default true
113
+ */
114
+ hideOnInteractOutside?: MenuProps['hideOnInteractOutside'];
115
+ /**
116
+ * Determines if the pointer events outside of the popover and its anchor
117
+ * element should be disabled during _hover intent_, that is, when the mouse
118
+ * is moving toward the popover.
119
+ *
120
+ * This is required as these external events may trigger focus on other
121
+ * elements and close the popover while the user is attempting to hover over
122
+ * it.
123
+ *
124
+ * This can be either a boolean or a callback receiving the mouse event
125
+ * happening during hover intent. The callback should return a boolean.
126
+ * @default true
127
+ */
128
+ disablePointerEventsOnApproach?: MenuProps['disablePointerEventsOnApproach'];
129
+ /**
130
+ * Object returned by the [`useMenuStore`](https://ariakit.org/reference/use-menu-store) hook.
131
+ * If not provided, the closest [`Menu.Content`](https://uds.build/docs/components/menu#menu-content) or
132
+ * [`Menu.Provider`](https://uds.build/docs/components/menu#menu-provider) context will be used.
133
+ */
134
+ store?: MenuProps['store'];
135
+ /**
136
+ * Whether the popover should have the same width as the anchor element. This
137
+ * will be exposed to CSS as
138
+ * [`--popover-anchor-width`](https://ariakit.org/guide/styling#--popover-anchor-width).
139
+ * @default false
140
+ */
141
+ sameWidth?: MenuProps['sameWidth'];
142
+ /**
143
+ * @see https://ariakit.org/reference/focusable
144
+ * @default true
145
+ */
146
+ focusable?: MenuProps['focusable'];
147
+ /**
148
+ * This is an event handler prop triggered when the dialog's `close` event is
149
+ * dispatched. The `close` event is similar to the native dialog
150
+ * [`close`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/close_event)
151
+ * event. The only difference is that this event can be canceled with
152
+ * `event.preventDefault()`, which will prevent the dialog from hiding.
153
+ *
154
+ * It's important to note that this event only fires when the dialog store's
155
+ * [`open`](https://ariakit.org/reference/use-dialog-store#open) state is set
156
+ * to `false`. If the controlled
157
+ * [`open`](https://ariakit.org/reference/dialog#open) prop value changes, or
158
+ * if the dialog's visibility is altered in any other way (such as unmounting
159
+ * the dialog without adjusting the open state), this event won't be
160
+ * triggered.
161
+ *
162
+ * Live examples:
163
+ * - [Dialog with scrollable
164
+ * backdrop](https://ariakit.org/examples/dialog-backdrop-scrollable)
165
+ * - [Dialog with details &
166
+ * summary](https://ariakit.org/examples/dialog-details)
167
+ * - [Warning on Dialog
168
+ * hide](https://ariakit.org/examples/dialog-hide-warning)
169
+ * - [Dialog with Menu](https://ariakit.org/examples/dialog-menu)
170
+ */
171
+ onClose?: MenuProps['onClose'];
172
+ }
173
+ /**
174
+ * **📦 A Menu Content component**
175
+ *
176
+ * @componentType Client component
177
+ *
178
+ * @description
179
+ * A content component for the menu, which is used to provide the menu context to the menu items.
180
+ *
181
+ * @see The {@link https://uds.build/docs/components/menu-content Menu.Content Docs} for more info
182
+ *
183
+ * @example
184
+ * ```tsx
185
+ * 'use client'; // Next.js client component
186
+ *
187
+ * import { Menu, Button } from "@yahoo/uds";
188
+ * import { Calendar, Clipboard } from "@yahoo/uds-icons";
189
+ *
190
+ * export function MenuProviderExample() {
191
+ * return (
192
+ * <Menu.Provider>
193
+ * <Menu.Trigger asChild>
194
+ * <Button>Menu Options</Button>
195
+ * </Menu.Trigger>
196
+ * <Menu.Content>
197
+ * <Menu.Item startIcon={Calendar}>Calendar</Menu.Item>
198
+ * <Menu.Item startIcon={Clipboard} endIcon={DiagonalRightUp}>
199
+ * Clipboard
200
+ * </Menu.Item>
201
+ * <Menu.Item active>Active Item</Menu.Item>
202
+ * </Menu.Content>
203
+ * </Menu.Provider>
204
+ * )
205
+ * }
206
+ * ```
207
+ *
208
+ * @usage
209
+ * Using Menu.Content is required to use Menu.Item and Menu.ItemCheckbox. It acts as the actual menu container.
210
+ *
211
+ * @related [Menu](https://uds.build/docs/components/menu), [Menu.ItemCheckbox](https://uds.build/docs/components/menu-item-checkbox)
212
+ **/
213
+ declare const MenuContent: react.ForwardRefExoticComponent<MenuContentProps & react.RefAttributes<HTMLDivElement>>;
214
+
215
+ interface MenuDividerProps extends Omit<DividerProps, 'variant'> {
216
+ /**
217
+ * The role of the divider.
218
+ * @default 'separator'
219
+ */
220
+ role?: AriaRole;
221
+ }
222
+ /**
223
+ * **〰️ A Menu Divider component**
224
+ *
225
+ * @componentType Client component
226
+ *
227
+ * @description
228
+ * A divider component for the menu.
229
+ *
230
+ * @see The {@link https://uds.build/docs/components/menu-divider Menu.Divider Docs} for more info
231
+ *
232
+ * @example
233
+ * ```tsx
234
+ * 'use client'; // Next.js client component
235
+ *
236
+ * import { Menu, Button } from "@yahoo/uds";
237
+ *
238
+ * export function DividerExample() {
239
+ * return (
240
+ * <Menu>
241
+ * <Menu.Trigger asChild>
242
+ * <Button>Menu Options</Button>
243
+ * </Menu.Trigger>
244
+ * <Menu.Content>
245
+ * <Menu.Item>Calendar</Menu.Item>
246
+ * <Menu.Divider>Other actions</Menu.Divider>
247
+ * <Menu.Item>Clipboard</Menu.Item>
248
+ * <Menu.Item active>Active Item</Menu.Item>
249
+ * </Menu.Content>
250
+ * </Menu>
251
+ * )
252
+ * }
253
+ * ```
254
+ *
255
+ * @usage
256
+ * Use MenuDivider to separate groups of menu items.
257
+ *
258
+ * @related [Menu](https://uds.build/docs/components/menu), [Menu.Item](https://uds.build/docs/components/menu-item), [Divider](https://uds.build/docs/components/divider)
259
+ **/
260
+ declare const MenuDivider: react.ForwardRefExoticComponent<MenuDividerProps & react.RefAttributes<HTMLDivElement>>;
261
+
262
+ type HtmlButtonProps$1 = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'color' | 'name'>;
263
+ interface PressableProps extends UniversalPressableProps, HtmlButtonProps$1 {
264
+ }
265
+ /**
266
+ * **🖲️ A primitive component for creating button interactions with accessibility support**
267
+ *
268
+ * @componentType Client component
269
+ *
270
+ * @description
271
+ * The Pressable component is a primitive component that can be used
272
+ * to create button interactions with accessibility support. It can be used
273
+ * to trigger an action, such as submitting a form, navigating to a new page,
274
+ * or adding interactivity to a section or card.
275
+ *
276
+ * @example
277
+ * ```tsx
278
+ * import { Pressable } from '@yahoo/uds';
279
+ *
280
+ * <Pressable
281
+ * backgroundColor="secondary"
282
+ * borderWidth="thin"
283
+ * borderColor="primary"
284
+ * borderRadius="lg"
285
+ * onPress={() => console.log('Pressed!')}
286
+ * >
287
+ * <Text variant="body1" color="primary" spacingHorizontal="7" spacingVertical="5">Click me...</Text>
288
+ * </Pressable>
289
+ * ```
290
+ *
291
+ * @usage
292
+ * - If you need to add interactivity to a section or card.
293
+ * - If you need a highly customized version of [Button](./button)
294
+ *
295
+ * @see The {@link https://uds.build/docs/components/pressable Pressable Docs} for more info
296
+ *
297
+ * @related [Button](https://uds.build/docs/components/button), [IconButton](https://uds.build/docs/components/icon-button)
298
+ *
299
+ */
300
+ declare const Pressable: react.ForwardRefExoticComponent<PressableProps & react.RefAttributes<HTMLButtonElement>>;
301
+
302
+ interface MenuItemProps extends PressableProps, Omit<UniversalMenuItemProps, 'name'> {
303
+ /**
304
+ * Object returned by the [`useMenuStore`](https://ariakit.org/reference/use-menu-store) hook.
305
+ * If not provided, the closest [`Menu.Content`](https://uds.build/docs/components/menu#menu-content) or
306
+ * [`Menu.Provider`](https://uds.build/docs/components/menu#menu-provider) context will be used.
307
+ */
308
+ store?: MenuItemProps$1['store'];
309
+ /**
310
+ * Determines if the menu should hide when this item is clicked.
311
+ *
312
+ * **Note**: This behavior isn't triggered if this menu item is rendered as a
313
+ * link and modifier keys are used to either open the link in a new tab or
314
+ * download it.
315
+ *
316
+ * @default true
317
+ */
318
+ hideOnClick?: MenuItemProps$1['hideOnClick'];
319
+ /**
320
+ * The role of the menu item.
321
+ *
322
+ * @default 'menuitem'
323
+ */
324
+ role?: AriaRole;
325
+ /** Internal overrides for downstream components. */
326
+ layerClassNames?: {
327
+ root?: string;
328
+ startIcon?: string;
329
+ endIcon?: string;
330
+ };
331
+ }
332
+ /**
333
+ * **📋 A Menu Item component for navigation and actions**
334
+ *
335
+ * @componentType Client component
336
+ *
337
+ * @description
338
+ * A standard menu item that can be used for navigation, actions, or displaying options in a menu.
339
+ * Menu items can be styled with active states, icons, and can trigger callbacks when clicked.
340
+ * They support both visual and functional customization.
341
+ *
342
+ * @see The {@link https://uds.build/docs/components/menu-item Menu.Item Docs} for more info
343
+ *
344
+ * @example
345
+ * ```tsx
346
+ * 'use client'; // Next.js client component
347
+ *
348
+ * import { Menu, Button } from "@yahoo/uds";
349
+ * import { Calendar, Clipboard } from "@yahoo/uds-icons";
350
+ *
351
+ * export function MenuItemExample() {
352
+ * return (
353
+ * <Menu.Provider>
354
+ * <Menu.Trigger asChild>
355
+ * <Button>Menu Options</Button>
356
+ * </Menu.Trigger>
357
+ * <Menu.Content>
358
+ * <Menu.Item startIcon={Calendar}>Calendar</Menu.Item>
359
+ * <Menu.Item startIcon={Clipboard} endIcon={DiagonalRightUp}>
360
+ * Clipboard
361
+ * </Menu.Item>
362
+ * <Menu.Item active>Active Item</Menu.Item>
363
+ * </Menu.Content>
364
+ * </Menu>
365
+ * )
366
+ * }
367
+ * ```
368
+ *
369
+ * @usage
370
+ * Use MenuItem for standard menu options that trigger actions or navigate to other parts of the application.
371
+ * The active prop can be used to highlight the currently selected item.
372
+ *
373
+ * @related [Menu](https://uds.build/docs/components/menu), [Menu.ItemCheckbox](https://uds.build/docs/components/menu-item-checkbox)
374
+ **/
375
+ declare const MenuItem: react.ForwardRefExoticComponent<MenuItemProps & react.RefAttributes<HTMLButtonElement>>;
376
+
377
+ type HtmlButtonProps = HTMLAttributes<HTMLButtonElement>;
378
+ interface MenuItemCheckboxProps extends PressableProps, HtmlButtonProps, UniversalMenuItemProps {
379
+ /**
380
+ * The name of the field in the
381
+ * [`values`](https://ariakit.org/reference/menu-provider#values) state.
382
+ *
383
+ * Live examples at [MenuItemCheckbox](https://ariakit.org/examples/menu-item-checkbox)
384
+ */
385
+ name: string;
386
+ /**
387
+ * The controlled checked state of the element. It will set the menu
388
+ * [`values`](https://ariakit.org/reference/menu-provider#values) state if
389
+ * provided.
390
+ */
391
+ checked?: boolean;
392
+ /**
393
+ * The default checked state of the element. It will set the default value in
394
+ * the menu [`values`](https://ariakit.org/reference/menu-provider#values)
395
+ * state if provided.
396
+ */
397
+ defaultChecked?: boolean;
398
+ /**
399
+ * Object returned by the [`useMenuStore`](https://ariakit.org/reference/use-menu-store) hook.
400
+ * If not provided, the closest [`Menu.Content`](https://uds.build/docs/components/menu#menu-content) or
401
+ * [`Menu.Provider`](https://uds.build/docs/components/menu#menu-provider) context will be used.
402
+ */
403
+ store?: MenuItemCheckboxProps$1['store'];
404
+ /**
405
+ * Determines if the menu should hide when this item is clicked.
406
+ *
407
+ * **Note**: This behavior isn't triggered if this menu item is rendered as a
408
+ * link and modifier keys are used to either open the link in a new tab or
409
+ * download it.
410
+ *
411
+ * @default undefined
412
+ */
413
+ hideOnClick?: MenuItemCheckboxProps$1['hideOnClick'];
414
+ }
415
+ /**
416
+ * **✅ A Menu Item Checkbox component**
417
+ *
418
+ * @componentType Client component
419
+ *
420
+ * @description
421
+ * A checkable menu item that toggles between selected and unselected states. Menu item checkboxes
422
+ * allow users to select multiple options from a menu, displaying a checkmark when active. They maintain
423
+ * their state even when the menu is closed and reopened.
424
+ *
425
+ * @see The {@link https://uds.build/docs/components/menu-item-checkbox Menu.ItemCheckbox Docs} for more info
426
+ *
427
+ * @example
428
+ * ```tsx
429
+ * 'use client'; // Next.js client component
430
+ *
431
+ * import { Menu, Button } from "@yahoo/uds";
432
+ *
433
+ * export function MenuItemCheckboxExample() {
434
+ * return (
435
+ * <Menu.Provider>
436
+ * <Menu.Trigger asChild>
437
+ * <Button>Filter Options</Button>
438
+ * </Menu.Trigger>
439
+ * <Menu.Content>
440
+ * <Menu.ItemCheckbox name="showArchived" defaultChecked={false}>
441
+ * Show Archived
442
+ * </Menu.ItemCheckbox>
443
+ * <Menu.ItemCheckbox name="includeComments" defaultChecked={true}>
444
+ * Include Comments
445
+ * </Menu.ItemCheckbox>
446
+ * </Menu.Content>
447
+ * </Menu.Provider>
448
+ * )
449
+ * }
450
+ * ```
451
+ *
452
+ * @usage
453
+ * Use MenuItemCheckbox when you need to provide users with multiple selectable options within a menu.
454
+ * Unlike radio options, checkboxes allow for multiple simultaneous selections.
455
+ *
456
+ * @related [Menu](https://uds.build/docs/components/menu), [Menu.Item](https://uds.build/docs/components/menu-item)
457
+ **/
458
+ declare const MenuItemCheckbox: react.ForwardRefExoticComponent<Omit<MenuItemCheckboxProps, "active" | "as" | "hideEndIcon" | "rootProps"> & react.RefAttributes<HTMLButtonElement>>;
459
+
460
+ /** Valid vertical placement values for the menu */
461
+ type VerticalPlacement = 'top' | 'bottom';
462
+ /** Valid horizontal placement values for the menu */
463
+ type HorizontalPlacement = 'start' | 'end';
464
+ /** Combined placement values for menu positioning */
465
+ type MenuPlacement = VerticalPlacement | HorizontalPlacement | `${VerticalPlacement}-${HorizontalPlacement}` | `${HorizontalPlacement}-${VerticalPlacement}`;
466
+ type MenuProviderProps = PropsWithChildren<{
467
+ /**
468
+ * A callback that gets called when the
469
+ * [`values`](https://ariakit.org/reference/menu-provider#values) state
470
+ * changes.
471
+ *
472
+ * Live examples:
473
+ * - [`MenuItemCheckbox`](https://uds.build/docs/components/menu-item-checkbox).
474
+ */
475
+ setValues?: (values: Record<string, boolean>) => void | MenuProviderProps$1['setValues'];
476
+ /**
477
+ * A map of names and values that will be used by the
478
+ * [`MenuItemCheckbox`](https://uds.build/docs/components/menu-item-checkbox).
479
+ *
480
+ * Live examples:
481
+ * - [MenuItemCheckbox](https://uds.build/docs/components/menu-item-checkbox)
482
+ */
483
+ values?: MenuProviderProps$1['values'];
484
+ /**
485
+ * The placement of the Menu.Content.
486
+ *
487
+ * @default 'bottom'
488
+ */
489
+ placement?: MenuPlacement;
490
+ /**
491
+ * Object returned by the [`useMenuStore`](https://ariakit.org/reference/use-menu-store) hook.
492
+ * If not provided, the closest [`Menu.Content`](https://uds.build/docs/components/menu#menu-content) or
493
+ * [`Menu.Provider`](https://uds.build/docs/components/menu#menu-provider) context will be used.
494
+ */
495
+ store?: MenuProviderProps$1['store'];
496
+ /**
497
+ * Whether the menu should be rendered in RTL direction.
498
+ *
499
+ * This only affects the some component behavior behavior. You still need to set
500
+ * `dir="rtl"` on HTML/CSS.
501
+ * @default false
502
+ */
503
+ rtl?: MenuProviderProps$1['rtl'];
504
+ /**
505
+ * Whether the content is visible.
506
+ * @default false
507
+ */
508
+ open?: MenuProviderProps$1['open'];
509
+ /**
510
+ * A callback that gets called when the
511
+ * [`open`](https://ariakit.org/reference/disclosure-provider#open) state
512
+ * changes.
513
+ * @example
514
+ * const [open, setOpen] = useState(false);
515
+ * const disclosure = useDisclosureStore({ open, setOpen });
516
+ */
517
+ setOpen?: MenuProviderProps$1['setOpen'];
518
+ /**
519
+ * Whether the content should be visible by default.
520
+ * @default false
521
+ */
522
+ defaultOpen?: MenuProviderProps$1['defaultOpen'];
523
+ /**
524
+ * Determines how the focus behaves when the user reaches the end of the
525
+ * composite widget.
526
+ *
527
+ * Live examples:
528
+ * - [Command Menu](https://uds.build/docs/components/menu)
529
+ * @default false
530
+ */
531
+ focusLoop?: MenuProviderProps$1['focusLoop'];
532
+ /**
533
+ * If enabled, moving to the next item from the last one in a row or column
534
+ * will focus on the first item in the next row or column and vice-versa.
535
+ * `true` wraps between rows and columns, `horizontal` wraps only between rows, and `vertical` wraps only between columns.
536
+ *
537
+ * @default false
538
+ */
539
+ focusWrap?: MenuProviderProps$1['focusWrap'];
540
+ }>;
541
+ /**
542
+ * **🏗️ A Menu Provider component**
543
+ *
544
+ * @componentType Server component
545
+ *
546
+ * @description
547
+ * A provider component for the menu, which is used to provide the menu context to the menu items.
548
+ *
549
+ * @see The {@link https://uds.build/docs/components/menu-provider Menu.Provider Docs} for more info
550
+ *
551
+ * @example
552
+ * ```tsx
553
+ * 'use client'; // Next.js client component
554
+ *
555
+ * import { Menu, Button } from "@yahoo/uds";
556
+ * import { Calendar, Clipboard } from "@yahoo/uds-icons";
557
+ *
558
+ * export function MenuProviderExample() {
559
+ * return (
560
+ * <Menu.Provider>
561
+ * <Menu.Trigger asChild>
562
+ * <Button>Menu Options</Button>
563
+ * </Menu.Trigger>
564
+ * <Menu.Content>
565
+ * <Menu.Item startIcon={Calendar}>Calendar</Menu.Item>
566
+ * <Menu.Item startIcon={Clipboard} endIcon={DiagonalRightUp}>
567
+ * Clipboard
568
+ * </Menu.Item>
569
+ * <Menu.Item active>Active Item</Menu.Item>
570
+ * </Menu.Content>
571
+ * </Menu.Provider>
572
+ * )
573
+ * }
574
+ * ```
575
+ *
576
+ * @usage
577
+ * Use MenuItem for standard menu options that trigger actions or navigate to other parts of the application.
578
+ * The active prop can be used to highlight the currently selected item.
579
+ *
580
+ * @related [Menu](https://uds.build/docs/components/menu), [Menu.ItemCheckbox](https://uds.build/docs/components/menu-item-checkbox)
581
+ **/
582
+ declare const MenuProvider: ({ placement, rtl: explicitRtl, ...props }: MenuProviderProps) => react_jsx_runtime.JSX.Element;
583
+
584
+ interface MenuTriggerProps extends PressableProps {
585
+ /**
586
+ * When asChild is set to true, the component's child will be cloned and passed
587
+ * the props and behavior required to make it functional.
588
+ */
589
+ asChild?: BoxProps['asChild'];
590
+ /**
591
+ * Object returned by the [`useMenuStore`](https://ariakit.org/reference/use-menu-store) hook.
592
+ * If not provided, the closest [`Menu.Content`](https://uds.build/docs/components/menu#menu-content) or
593
+ * [`Menu.Provider`](https://uds.build/docs/components/menu#menu-provider) context will be used.
594
+ */
595
+ store?: MenuButtonProps['store'];
596
+ /**
597
+ * Determines if [Focusable](https://ariakit.org/components/focusable)
598
+ * features should be active on non-native focusable elements.
599
+ *
600
+ * **Note**: This prop only turns off the additional features provided by the
601
+ * [`Focusable`](https://ariakit.org/reference/focusable) component.
602
+ * Non-native focusable elements will lose their focusability entirely.
603
+ * However, native focusable elements will retain their inherent focusability,
604
+ * but without added features such as improved
605
+ * [`autoFocus`](https://ariakit.org/reference/focusable#autofocus),
606
+ * [`accessibleWhenDisabled`](https://ariakit.org/reference/focusable#accessiblewhendisabled),
607
+ * [`onFocusVisible`](https://ariakit.org/reference/focusable#onfocusvisible),
608
+ * etc.
609
+ * @default true
610
+ */
611
+ focusable?: MenuButtonProps['focusable'];
612
+ }
613
+ /**
614
+ * **⚡ A Menu Trigger component**
615
+ *
616
+ * @componentType Server component
617
+ *
618
+ * @description
619
+ * A trigger component for the menu, which is used to toggle the menus open state.
620
+ *
621
+ * @see The {@link https://uds.build/docs/components/menu-trigger Menu.Trigger Docs} for more info
622
+ *
623
+ * @example
624
+ * ```tsx
625
+ * 'use client'; // Next.js client component
626
+ *
627
+ * import { Menu, Button } from "@yahoo/uds";
628
+ * import { Calendar, Clipboard } from "@yahoo/uds-icons";
629
+ *
630
+ * export function MenuProviderExample() {
631
+ * return (
632
+ * <Menu.Provider>
633
+ * <Menu.Trigger asChild>
634
+ * <Button>Menu Options</Button>
635
+ * </Menu.Trigger>
636
+ * <Menu.Content>
637
+ * <Menu.Item startIcon={Calendar}>Calendar</Menu.Item>
638
+ * <Menu.Item startIcon={Clipboard} endIcon={DiagonalRightUp}>
639
+ * Clipboard
640
+ * </Menu.Item>
641
+ * <Menu.Item active>Active Item</Menu.Item>
642
+ * </Menu.Content>
643
+ * </Menu.Provider>
644
+ * )
645
+ * }
646
+ * ```
647
+ *
648
+ * @usage
649
+ * Use MenuTrigger to toggle the open state of a menu.
650
+ *
651
+ * @related [Menu](https://uds.build/docs/components/menu), [Menu.ItemCheckbox](https://uds.build/docs/components/menu-item-checkbox)
652
+ **/
653
+ declare const MenuTrigger: react.ForwardRefExoticComponent<MenuTriggerProps & react.RefAttributes<HTMLButtonElement>>;
654
+
655
+ declare const Menu_index_useMenuContext: typeof useMenuContext;
656
+ declare const Menu_index_useMenuStore: typeof useMenuStore;
657
+ declare const Menu_index_useStoreState: typeof useStoreState;
658
+ declare namespace Menu_index {
659
+ export { MenuContent as Content, MenuDivider as Divider, MenuItem as Item, MenuItemCheckbox as ItemCheckbox, MenuProvider as Provider, MenuTrigger as Trigger, Menu_index_useMenuContext as useMenuContext, Menu_index_useMenuStore as useMenuStore, Menu_index_useStoreState as useStoreState };
660
+ }
661
+
662
+ export { Menu_index as M, Pressable as P, type MenuContentProps as a, type MenuDividerProps as b, type MenuItemCheckboxProps as c, type MenuItemProps as d, type MenuPlacement as e, type MenuProviderProps as f, type MenuTriggerProps as g, type PressableProps as h };