@yamada-ui/menu 1.3.15-next-20241005220055 → 1.3.15-next-20241008193728

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 (69) hide show
  1. package/dist/{chunk-SI3WI4AI.mjs → chunk-2A6VOJ6F.mjs} +8 -8
  2. package/dist/chunk-2A6VOJ6F.mjs.map +1 -0
  3. package/dist/{chunk-ZUOFHOX6.mjs → chunk-EJHOFPF4.mjs} +11 -11
  4. package/dist/chunk-EJHOFPF4.mjs.map +1 -0
  5. package/dist/{chunk-ZV73JKM5.mjs → chunk-ELQD4RMJ.mjs} +4 -4
  6. package/dist/{chunk-ZV73JKM5.mjs.map → chunk-ELQD4RMJ.mjs.map} +1 -1
  7. package/dist/{chunk-NNSVX2GX.mjs → chunk-I2KIZ6OI.mjs} +28 -28
  8. package/dist/{chunk-NNSVX2GX.mjs.map → chunk-I2KIZ6OI.mjs.map} +1 -1
  9. package/dist/{chunk-O5D4LR5P.mjs → chunk-I473RINV.mjs} +8 -8
  10. package/dist/{chunk-O5D4LR5P.mjs.map → chunk-I473RINV.mjs.map} +1 -1
  11. package/dist/{chunk-OFCEMPQW.mjs → chunk-KZAACFSL.mjs} +3 -3
  12. package/dist/{chunk-OFCEMPQW.mjs.map → chunk-KZAACFSL.mjs.map} +1 -1
  13. package/dist/{chunk-M4PPRRRC.mjs → chunk-M4GWQFUC.mjs} +14 -14
  14. package/dist/chunk-M4GWQFUC.mjs.map +1 -0
  15. package/dist/{chunk-HVOHR2NQ.mjs → chunk-O7MHNHWF.mjs} +4 -4
  16. package/dist/{chunk-HVOHR2NQ.mjs.map → chunk-O7MHNHWF.mjs.map} +1 -1
  17. package/dist/{chunk-WQ626PSA.mjs → chunk-T4SSYCLG.mjs} +9 -8
  18. package/dist/chunk-T4SSYCLG.mjs.map +1 -0
  19. package/dist/{chunk-T7CXLEBW.mjs → chunk-W36CPKTN.mjs} +34 -34
  20. package/dist/chunk-W36CPKTN.mjs.map +1 -0
  21. package/dist/context-menu-trigger.js +14 -13
  22. package/dist/context-menu-trigger.js.map +1 -1
  23. package/dist/context-menu-trigger.mjs +2 -2
  24. package/dist/context-menu.js +33 -33
  25. package/dist/context-menu.js.map +1 -1
  26. package/dist/context-menu.mjs +3 -3
  27. package/dist/index.d.mts +6 -6
  28. package/dist/index.d.ts +6 -6
  29. package/dist/index.js +275 -272
  30. package/dist/index.js.map +1 -1
  31. package/dist/index.mjs +10 -10
  32. package/dist/menu-button.d.mts +2 -2
  33. package/dist/menu-button.d.ts +2 -2
  34. package/dist/menu-button.js +49 -49
  35. package/dist/menu-button.js.map +1 -1
  36. package/dist/menu-button.mjs +3 -3
  37. package/dist/menu-context.d.mts +116 -116
  38. package/dist/menu-context.d.ts +116 -116
  39. package/dist/menu-context.js +8 -8
  40. package/dist/menu-context.js.map +1 -1
  41. package/dist/menu-context.mjs +1 -1
  42. package/dist/menu-divider.js +8 -8
  43. package/dist/menu-divider.js.map +1 -1
  44. package/dist/menu-divider.mjs +2 -2
  45. package/dist/menu-group.js +9 -9
  46. package/dist/menu-group.js.map +1 -1
  47. package/dist/menu-group.mjs +2 -2
  48. package/dist/menu-item.d.mts +21 -21
  49. package/dist/menu-item.d.ts +21 -21
  50. package/dist/menu-item.js +39 -39
  51. package/dist/menu-item.js.map +1 -1
  52. package/dist/menu-item.mjs +2 -2
  53. package/dist/menu-list.js +14 -14
  54. package/dist/menu-list.js.map +1 -1
  55. package/dist/menu-list.mjs +2 -2
  56. package/dist/menu-option-group.d.mts +8 -8
  57. package/dist/menu-option-group.d.ts +8 -8
  58. package/dist/menu-option-group.js +45 -45
  59. package/dist/menu-option-group.js.map +1 -1
  60. package/dist/menu-option-group.mjs +4 -4
  61. package/dist/menu.js +33 -33
  62. package/dist/menu.js.map +1 -1
  63. package/dist/menu.mjs +2 -2
  64. package/package.json +11 -11
  65. package/dist/chunk-M4PPRRRC.mjs.map +0 -1
  66. package/dist/chunk-SI3WI4AI.mjs.map +0 -1
  67. package/dist/chunk-T7CXLEBW.mjs.map +0 -1
  68. package/dist/chunk-WQ626PSA.mjs.map +0 -1
  69. package/dist/chunk-ZUOFHOX6.mjs.map +0 -1
package/dist/index.js CHANGED
@@ -37,6 +37,9 @@ __export(src_exports, {
37
37
  });
38
38
  module.exports = __toCommonJS(src_exports);
39
39
 
40
+ // src/context-menu.tsx
41
+ var import_core2 = require("@yamada-ui/core");
42
+
40
43
  // src/menu.tsx
41
44
  var import_core = require("@yamada-ui/core");
42
45
  var import_popover = require("@yamada-ui/popover");
@@ -49,25 +52,25 @@ var import_use_descendant = require("@yamada-ui/use-descendant");
49
52
  var import_utils = require("@yamada-ui/utils");
50
53
  var {
51
54
  DescendantsContextProvider,
52
- useDescendantsContext: useMenuDescendantsContext,
55
+ useDescendant: useMenuDescendant,
53
56
  useDescendants,
54
- useDescendant: useMenuDescendant
57
+ useDescendantsContext: useMenuDescendantsContext
55
58
  } = (0, import_use_descendant.createDescendant)();
56
59
  var [MenuProvider, useMenu] = (0, import_utils.createContext)({
57
60
  name: "MenuContext",
58
61
  errorMessage: `useMenu returned is 'undefined'. Seems you forgot to wrap the components in "<Menu />"`
59
62
  });
60
63
  var [ContextMenuProvider, useContextMenu] = (0, import_utils.createContext)({
61
- strict: false,
62
- name: "ContextMenuContext"
64
+ name: "ContextMenuContext",
65
+ strict: false
63
66
  });
64
67
  var [UpstreamMenuProvider, useUpstreamMenu] = (0, import_utils.createContext)({
65
- strict: false,
66
- name: "UpstreamMenuContext"
68
+ name: "UpstreamMenuContext",
69
+ strict: false
67
70
  });
68
71
  var [UpstreamMenuItemProvider, useUpstreamMenuItem] = (0, import_utils.createContext)({
69
- strict: false,
70
- name: "UpstreamMenuItemContext"
72
+ name: "UpstreamMenuItemContext",
73
+ strict: false
71
74
  });
72
75
 
73
76
  // src/menu.tsx
@@ -80,18 +83,18 @@ var Menu = (props) => {
80
83
  styles: contextMenuStyles
81
84
  });
82
85
  let {
83
- initialFocusRef,
84
- closeOnSelect = true,
85
86
  closeOnBlur,
86
- placement,
87
+ closeOnSelect = true,
87
88
  duration = 0.2,
89
+ initialFocusRef,
88
90
  offset,
89
- onOpen: onOpenProp,
91
+ placement,
90
92
  onClose: onCloseProp,
93
+ onOpen: onOpenProp,
91
94
  ...rest
92
95
  } = (0, import_core.omitThemeProps)(mergedProps);
93
- const { relatedRef, onUpstreamClose, onDownstreamCloseMapRef } = (_b = useUpstreamMenu()) != null ? _b : {};
94
- const { setDownstreamOpen, hasDownstreamRef } = (_c = useUpstreamMenuItem()) != null ? _c : {};
96
+ const { relatedRef, onDownstreamCloseMapRef, onUpstreamClose } = (_b = useUpstreamMenu()) != null ? _b : {};
97
+ const { hasDownstreamRef, setDownstreamOpen } = (_c = useUpstreamMenuItem()) != null ? _c : {};
95
98
  const isNested = !!relatedRef;
96
99
  if (isNested) {
97
100
  placement != null ? placement : placement = "right-start";
@@ -141,10 +144,10 @@ var Menu = (props) => {
141
144
  }
142
145
  }, [onCloseProp]);
143
146
  const id = (0, import_react.useId)();
144
- const { isOpen, onOpen, onClose } = (0, import_use_disclosure.useDisclosure)({
147
+ const { isOpen, onClose, onOpen } = (0, import_use_disclosure.useDisclosure)({
145
148
  ...props,
146
- onOpen: onOpenInternal,
147
- onClose: onCloseInternal
149
+ onClose: onCloseInternal,
150
+ onOpen: onOpenInternal
148
151
  });
149
152
  (0, import_react.useEffect)(() => {
150
153
  const onCloseMap = onDownstreamCloseMapRef == null ? void 0 : onDownstreamCloseMapRef.current;
@@ -181,19 +184,19 @@ var Menu = (props) => {
181
184
  MenuProvider,
182
185
  {
183
186
  value: {
184
- isOpen,
185
- onOpen,
186
- onClose,
187
- onUpstreamClose,
188
- onFocusFirstItem,
189
- onFocusLastItem,
190
187
  closeOnSelect,
191
188
  focusedIndex,
192
- setFocusedIndex,
189
+ isNested,
190
+ isOpen,
193
191
  menuRef,
194
192
  requestAnimationFrameId,
195
- isNested,
196
- styles
193
+ setFocusedIndex,
194
+ styles,
195
+ onClose,
196
+ onFocusFirstItem,
197
+ onFocusLastItem,
198
+ onOpen,
199
+ onUpstreamClose
197
200
  },
198
201
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
199
202
  import_popover.Popover,
@@ -201,16 +204,16 @@ var Menu = (props) => {
201
204
  ...{
202
205
  trigger: isNested ? "hover" : "click",
203
206
  ...rest,
204
- isOpen,
205
- onOpen,
206
- onClose,
207
- placement,
208
- offset,
207
+ closeOnBlur,
208
+ closeOnButton: false,
209
209
  duration,
210
210
  initialFocusRef,
211
+ isOpen,
212
+ offset,
213
+ placement,
211
214
  relatedRef,
212
- closeOnButton: false,
213
- closeOnBlur
215
+ onClose,
216
+ onOpen
214
217
  }
215
218
  }
216
219
  )
@@ -220,66 +223,112 @@ var Menu = (props) => {
220
223
  ) });
221
224
  };
222
225
 
223
- // src/menu-button.tsx
226
+ // src/context-menu.tsx
227
+ var import_jsx_runtime2 = require("react/jsx-runtime");
228
+ var ContextMenu = (props) => {
229
+ const [styles, mergedProps] = (0, import_core2.useComponentMultiStyle)("ContextMenu", props);
230
+ const { ...rest } = (0, import_core2.omitThemeProps)(mergedProps);
231
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ContextMenuProvider, { value: { styles }, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Menu, { trigger: "contextmenu", ...rest }) });
232
+ };
233
+
234
+ // src/context-menu-trigger.tsx
224
235
  var import_core3 = require("@yamada-ui/core");
225
- var import_icon = require("@yamada-ui/icon");
226
236
  var import_popover2 = require("@yamada-ui/popover");
227
- var import_utils4 = require("@yamada-ui/utils");
228
- var import_react3 = require("react");
237
+ var import_utils3 = require("@yamada-ui/utils");
238
+ var import_react2 = require("react");
239
+ var import_jsx_runtime3 = require("react/jsx-runtime");
240
+ var ContextMenuTrigger = (0, import_core3.forwardRef)(
241
+ ({ className, children, ...rest }, ref) => {
242
+ var _a;
243
+ const { styles } = (_a = useContextMenu()) != null ? _a : {};
244
+ const [position, setPosition] = (0, import_react2.useState)({ left: 0, top: 0 });
245
+ const css = { ...styles == null ? void 0 : styles.container };
246
+ const onContextMenu = (ev) => {
247
+ setPosition({ left: ev.pageX, top: ev.pageY });
248
+ };
249
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
250
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_popover2.PopoverAnchor, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
251
+ import_core3.ui.div,
252
+ {
253
+ className: "ui-context-menu__anchor",
254
+ style: { position: "absolute", ...position }
255
+ }
256
+ ) }),
257
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_popover2.PopoverTrigger, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
258
+ import_core3.ui.div,
259
+ {
260
+ ref,
261
+ className: (0, import_utils3.cx)("ui-context-menu", className),
262
+ __css: css,
263
+ ...rest,
264
+ onContextMenu: (0, import_utils3.handlerAll)(rest.onContextMenu, onContextMenu),
265
+ children
266
+ }
267
+ ) })
268
+ ] });
269
+ }
270
+ );
271
+
272
+ // src/menu-button.tsx
273
+ var import_core5 = require("@yamada-ui/core");
274
+ var import_icon = require("@yamada-ui/icon");
275
+ var import_popover3 = require("@yamada-ui/popover");
276
+ var import_utils5 = require("@yamada-ui/utils");
277
+ var import_react4 = require("react");
229
278
 
230
279
  // src/menu-item.tsx
231
- var import_core2 = require("@yamada-ui/core");
280
+ var import_core4 = require("@yamada-ui/core");
232
281
  var import_use_clickable = require("@yamada-ui/use-clickable");
233
- var import_utils3 = require("@yamada-ui/utils");
234
- var import_react2 = require("react");
235
- var import_jsx_runtime2 = require("react/jsx-runtime");
282
+ var import_utils4 = require("@yamada-ui/utils");
283
+ var import_react3 = require("react");
284
+ var import_jsx_runtime4 = require("react/jsx-runtime");
236
285
  var isTargetMenuItem = (target) => {
237
286
  var _a;
238
- return (0, import_utils3.isHTMLElement)(target) && !!((_a = target == null ? void 0 : target.getAttribute("role")) == null ? void 0 : _a.startsWith("menuitem"));
287
+ return (0, import_utils4.isHTMLElement)(target) && !!((_a = target.getAttribute("role")) == null ? void 0 : _a.startsWith("menuitem"));
239
288
  };
240
- var MenuItem = (0, import_core2.forwardRef)(
289
+ var MenuItem = (0, import_core4.forwardRef)(
241
290
  ({
242
291
  className,
243
- isDisabled,
244
- isFocusable,
292
+ children,
245
293
  closeOnSelect: customCloseOnSelect,
246
- icon,
247
294
  command,
248
- children,
295
+ icon,
296
+ isDisabled,
297
+ isFocusable,
249
298
  ...props
250
299
  }, ref) => {
251
300
  var _a;
252
301
  const {
302
+ closeOnSelect: generalCloseOnSelect,
253
303
  focusedIndex,
254
- setFocusedIndex,
304
+ isNested,
255
305
  isOpen,
256
- onClose,
257
- onUpstreamClose,
258
- closeOnSelect: generalCloseOnSelect,
259
306
  menuRef,
260
307
  requestAnimationFrameId,
261
- isNested,
262
- styles
308
+ setFocusedIndex,
309
+ styles,
310
+ onClose,
311
+ onUpstreamClose
263
312
  } = useMenu();
264
313
  const { onUpstreamRestoreFocus } = (_a = useUpstreamMenuItem()) != null ? _a : {};
265
314
  const trulyDisabled = isDisabled && !isFocusable;
266
- const itemRef = (0, import_react2.useRef)(null);
267
- const hasDownstreamRef = (0, import_react2.useRef)(false);
268
- const onKeyDownRef = (0, import_react2.useRef)(
315
+ const itemRef = (0, import_react3.useRef)(null);
316
+ const hasDownstreamRef = (0, import_react3.useRef)(false);
317
+ const onKeyDownRef = (0, import_react3.useRef)(
269
318
  () => void 0
270
319
  );
271
320
  const { index, register } = useMenuDescendant({ disabled: trulyDisabled });
272
- const [isDownstreamOpen, setDownstreamOpen] = (0, import_react2.useState)(false);
321
+ const [isDownstreamOpen, setDownstreamOpen] = (0, import_react3.useState)(false);
273
322
  const isFocused = index === focusedIndex;
274
- const onMouseOver = (0, import_react2.useCallback)(() => {
323
+ const onMouseOver = (0, import_react3.useCallback)(() => {
275
324
  if (isDisabled) return;
276
325
  setFocusedIndex(index);
277
326
  }, [index, isDisabled, setFocusedIndex]);
278
- const onMouseLeave = (0, import_react2.useCallback)(() => {
327
+ const onMouseLeave = (0, import_react3.useCallback)(() => {
279
328
  if (isDisabled) return;
280
329
  setFocusedIndex(-1);
281
330
  }, [setFocusedIndex, isDisabled]);
282
- const onClick = (0, import_react2.useCallback)(
331
+ const onClick = (0, import_react3.useCallback)(
283
332
  (ev) => {
284
333
  if (!isTargetMenuItem(ev.currentTarget)) return;
285
334
  const hasDownstream = hasDownstreamRef.current;
@@ -290,18 +339,18 @@ var MenuItem = (0, import_core2.forwardRef)(
290
339
  },
291
340
  [customCloseOnSelect, generalCloseOnSelect, onClose, onUpstreamClose]
292
341
  );
293
- const onFocus = (0, import_react2.useCallback)(() => {
342
+ const onFocus = (0, import_react3.useCallback)(() => {
294
343
  setFocusedIndex(index);
295
344
  }, [setFocusedIndex, index]);
296
- const onRestoreFocus = (0, import_react2.useCallback)(() => {
345
+ const onRestoreFocus = (0, import_react3.useCallback)(() => {
297
346
  var _a2;
298
347
  (_a2 = itemRef.current) == null ? void 0 : _a2.focus();
299
348
  setFocusedIndex(index);
300
349
  }, [setFocusedIndex, index]);
301
- const onKeyDown = (0, import_react2.useCallback)(
350
+ const onKeyDown = (0, import_react3.useCallback)(
302
351
  (ev) => {
303
352
  const actions = {
304
- ArrowLeft: isNested ? (0, import_utils3.funcAll)(onUpstreamRestoreFocus, onClose) : void 0
353
+ ArrowLeft: isNested ? (0, import_utils4.funcAll)(onUpstreamRestoreFocus, onClose) : void 0
305
354
  };
306
355
  const action = actions[ev.key];
307
356
  if (!action) return;
@@ -314,16 +363,16 @@ var MenuItem = (0, import_core2.forwardRef)(
314
363
  const rest = (0, import_use_clickable.useClickable)({
315
364
  focusOnClick: false,
316
365
  ...props,
317
- onClick: (0, import_utils3.handlerAll)(props.onClick, onClick),
318
- onFocus: (0, import_utils3.handlerAll)(props.onFocus, onFocus),
319
- onMouseOver: (0, import_utils3.handlerAll)(props.onMouseOver, onMouseOver),
320
- onMouseLeave: (0, import_utils3.handlerAll)(props.onMouseLeave, onMouseLeave),
321
- onKeyDown: (0, import_utils3.handlerAll)(props.onKeyDown, onKeyDown, onKeyDownRef.current),
322
- ref: (0, import_utils3.mergeRefs)(register, itemRef, ref),
366
+ ref: (0, import_utils4.mergeRefs)(register, itemRef, ref),
323
367
  isDisabled,
324
- isFocusable
368
+ isFocusable,
369
+ onClick: (0, import_utils4.handlerAll)(props.onClick, onClick),
370
+ onFocus: (0, import_utils4.handlerAll)(props.onFocus, onFocus),
371
+ onKeyDown: (0, import_utils4.handlerAll)(props.onKeyDown, onKeyDown, onKeyDownRef.current),
372
+ onMouseLeave: (0, import_utils4.handlerAll)(props.onMouseLeave, onMouseLeave),
373
+ onMouseOver: (0, import_utils4.handlerAll)(props.onMouseOver, onMouseOver)
325
374
  });
326
- (0, import_utils3.useUpdateEffect)(() => {
375
+ (0, import_utils4.useUpdateEffect)(() => {
327
376
  if (!isOpen) return;
328
377
  const id = requestAnimationFrameId.current;
329
378
  if (isFocused && !trulyDisabled && itemRef.current) {
@@ -333,49 +382,49 @@ var MenuItem = (0, import_core2.forwardRef)(
333
382
  (_a2 = itemRef.current) == null ? void 0 : _a2.focus({ preventScroll: true });
334
383
  requestAnimationFrameId.current = null;
335
384
  });
336
- } else if (menuRef.current && !(0, import_utils3.isActiveElement)(menuRef.current)) {
385
+ } else if (menuRef.current && !(0, import_utils4.isActiveElement)(menuRef.current)) {
337
386
  menuRef.current.focus({ preventScroll: true });
338
387
  }
339
388
  return () => {
340
389
  if (id) cancelAnimationFrame(id);
341
390
  };
342
391
  }, [isFocused, trulyDisabled, menuRef, isOpen]);
343
- children = icon || command ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_core2.ui.span, { style: { flex: 1 }, children }) : children;
392
+ children = icon || command ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_core4.ui.span, { style: { flex: 1 }, children }) : children;
344
393
  const css = {
345
- textDecoration: "none",
394
+ alignItems: "center",
346
395
  color: "inherit",
347
- userSelect: "none",
348
396
  display: "flex",
349
- width: "100%",
350
- alignItems: "center",
351
- textAlign: "start",
352
397
  flex: "0 0 auto",
353
- outline: 0,
354
398
  gap: "0.75rem",
399
+ outline: 0,
400
+ textAlign: "start",
401
+ textDecoration: "none",
402
+ userSelect: "none",
403
+ width: "100%",
355
404
  ...styles.item
356
405
  };
357
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
406
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
358
407
  UpstreamMenuItemProvider,
359
408
  {
360
409
  value: {
361
- onKeyDownRef,
362
- onUpstreamRestoreFocus: onRestoreFocus,
410
+ hasDownstreamRef,
363
411
  setDownstreamOpen,
364
- hasDownstreamRef
412
+ onKeyDownRef,
413
+ onUpstreamRestoreFocus: onRestoreFocus
365
414
  },
366
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
367
- import_core2.ui.li,
415
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
416
+ import_core4.ui.li,
368
417
  {
369
418
  ...rest,
370
419
  ...isDownstreamOpen ? { "data-active": "" } : {},
420
+ className: (0, import_utils4.cx)("ui-menu__item", className),
371
421
  role: "menuitem",
372
422
  tabIndex: isFocused ? 0 : -1,
373
- className: (0, import_utils3.cx)("ui-menu__item", className),
374
423
  __css: css,
375
424
  children: [
376
- icon ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(MenuIcon, { children: icon }) : null,
425
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MenuIcon, { children: icon }) : null,
377
426
  children,
378
- command ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(MenuCommand, { children: command }) : null
427
+ command ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MenuCommand, { children: command }) : null
379
428
  ]
380
429
  }
381
430
  )
@@ -383,62 +432,62 @@ var MenuItem = (0, import_core2.forwardRef)(
383
432
  );
384
433
  }
385
434
  );
386
- var MenuOptionItem = (0, import_core2.forwardRef)(
387
- ({ className, icon, isChecked, closeOnSelect = false, children, ...rest }, ref) => {
388
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
435
+ var MenuOptionItem = (0, import_core4.forwardRef)(
436
+ ({ className, children, closeOnSelect = false, icon, isChecked, ...rest }, ref) => {
437
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
389
438
  MenuItem,
390
439
  {
391
440
  ref,
392
- className: (0, import_utils3.cx)("ui-menu__item--option", className),
393
- "aria-checked": (0, import_utils3.ariaAttr)(isChecked),
441
+ className: (0, import_utils4.cx)("ui-menu__item--option", className),
442
+ "aria-checked": (0, import_utils4.ariaAttr)(isChecked),
394
443
  closeOnSelect,
395
444
  ...rest,
396
445
  children: [
397
- icon !== null ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(MenuIcon, { opacity: isChecked ? 1 : 0, children: icon || /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(CheckIcon, {}) }) : null,
446
+ icon !== null ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MenuIcon, { opacity: isChecked ? 1 : 0, children: icon || /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(CheckIcon, {}) }) : null,
398
447
  children
399
448
  ]
400
449
  }
401
450
  );
402
451
  }
403
452
  );
404
- var MenuIcon = (0, import_core2.forwardRef)(
453
+ var MenuIcon = (0, import_core4.forwardRef)(
405
454
  ({ className, ...rest }, ref) => {
406
455
  const { styles } = useMenu();
407
456
  const css = {
408
- flexShrink: 0,
409
- display: "inline-flex",
410
- justifyContent: "center",
411
457
  alignItems: "center",
458
+ display: "inline-flex",
459
+ flexShrink: 0,
412
460
  fontSize: "0.85em",
461
+ justifyContent: "center",
413
462
  ...styles.icon
414
463
  };
415
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
416
- import_core2.ui.span,
464
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
465
+ import_core4.ui.span,
417
466
  {
418
467
  ref,
419
- className: (0, import_utils3.cx)("ui-menu__item__icon", className),
468
+ className: (0, import_utils4.cx)("ui-menu__item__icon", className),
420
469
  __css: css,
421
470
  ...rest
422
471
  }
423
472
  );
424
473
  }
425
474
  );
426
- var MenuCommand = (0, import_core2.forwardRef)(
475
+ var MenuCommand = (0, import_core4.forwardRef)(
427
476
  ({ className, ...rest }, ref) => {
428
477
  const { styles } = useMenu();
429
478
  const css = { ...styles.command };
430
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
431
- import_core2.ui.span,
479
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
480
+ import_core4.ui.span,
432
481
  {
433
482
  ref,
434
- className: (0, import_utils3.cx)("ui-menu__item__command", className),
483
+ className: (0, import_utils4.cx)("ui-menu__item__command", className),
435
484
  __css: css,
436
485
  ...rest
437
486
  }
438
487
  );
439
488
  }
440
489
  );
441
- var CheckIcon = () => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("svg", { viewBox: "0 0 14 14", width: "1em", height: "1em", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
490
+ var CheckIcon = () => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("svg", { height: "1em", viewBox: "0 0 14 14", width: "1em", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
442
491
  "polygon",
443
492
  {
444
493
  fill: "currentColor",
@@ -447,18 +496,18 @@ var CheckIcon = () => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("svg", { view
447
496
  ) });
448
497
 
449
498
  // src/menu-button.tsx
450
- var import_jsx_runtime3 = require("react/jsx-runtime");
451
- var MenuButton = (0, import_core3.forwardRef)(
452
- ({ className, children, as, ...rest }, ref) => {
499
+ var import_jsx_runtime5 = require("react/jsx-runtime");
500
+ var MenuButton = (0, import_core5.forwardRef)(
501
+ ({ as, className, children, ...rest }, ref) => {
453
502
  var _a;
454
503
  const { onKeyDownRef, onUpstreamRestoreFocus } = (_a = useUpstreamMenuItem()) != null ? _a : {};
455
- const { isOpen, onOpen, onClose, onFocusFirstItem, onFocusLastItem } = useMenu();
456
- const onKeyDown = (0, import_react3.useCallback)(
504
+ const { isOpen, onClose, onFocusFirstItem, onFocusLastItem, onOpen } = useMenu();
505
+ const onKeyDown = (0, import_react4.useCallback)(
457
506
  (ev) => {
458
507
  const actions = {
459
- Enter: (0, import_utils4.funcAll)(onOpen, onFocusFirstItem),
460
- ArrowDown: (0, import_utils4.funcAll)(onOpen, onFocusFirstItem),
461
- ArrowUp: (0, import_utils4.funcAll)(onOpen, onFocusLastItem)
508
+ ArrowDown: (0, import_utils5.funcAll)(onOpen, onFocusFirstItem),
509
+ ArrowUp: (0, import_utils5.funcAll)(onOpen, onFocusLastItem),
510
+ Enter: (0, import_utils5.funcAll)(onOpen, onFocusFirstItem)
462
511
  };
463
512
  const action = actions[ev.key];
464
513
  if (!action) return;
@@ -467,11 +516,11 @@ var MenuButton = (0, import_core3.forwardRef)(
467
516
  },
468
517
  [onFocusFirstItem, onFocusLastItem, onOpen]
469
518
  );
470
- const onItemKeyDown = (0, import_react3.useCallback)(
519
+ const onItemKeyDown = (0, import_react4.useCallback)(
471
520
  (ev) => {
472
521
  const actions = {
473
- ArrowRight: !isOpen ? (0, import_utils4.funcAll)(onOpen, onFocusFirstItem) : void 0,
474
- ArrowLeft: isOpen ? (0, import_utils4.funcAll)(onUpstreamRestoreFocus, onClose) : void 0
522
+ ArrowLeft: isOpen ? (0, import_utils5.funcAll)(onUpstreamRestoreFocus, onClose) : void 0,
523
+ ArrowRight: !isOpen ? (0, import_utils5.funcAll)(onOpen, onFocusFirstItem) : void 0
475
524
  };
476
525
  const action = actions[ev.key];
477
526
  if (!action) return;
@@ -480,46 +529,99 @@ var MenuButton = (0, import_core3.forwardRef)(
480
529
  },
481
530
  [isOpen, onOpen, onFocusFirstItem, onUpstreamRestoreFocus, onClose]
482
531
  );
483
- (0, import_utils4.assignRef)(onKeyDownRef, onItemKeyDown);
484
- const Component = (0, import_react3.useMemo)(() => as ? (0, import_core3.ui)(as) : Button, [as]);
485
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_popover2.PopoverTrigger, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
532
+ (0, import_utils5.assignRef)(onKeyDownRef, onItemKeyDown);
533
+ const Component = (0, import_react4.useMemo)(() => as ? (0, import_core5.ui)(as) : Button, [as]);
534
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_popover3.PopoverTrigger, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
486
535
  Component,
487
536
  {
488
537
  ref,
489
- className: (0, import_utils4.cx)("ui-menu", className),
490
- "aria-haspopup": "menu",
538
+ className: (0, import_utils5.cx)("ui-menu", className),
491
539
  "aria-expanded": isOpen,
540
+ "aria-haspopup": "menu",
492
541
  ...rest,
493
- "data-active": (0, import_utils4.dataAttr)(isOpen),
494
- onKeyDown: (0, import_utils4.handlerAll)(rest.onKeyDown, onKeyDown),
542
+ "data-active": (0, import_utils5.dataAttr)(isOpen),
543
+ onKeyDown: (0, import_utils5.handlerAll)(rest.onKeyDown, onKeyDown),
495
544
  children
496
545
  }
497
546
  ) });
498
547
  }
499
548
  );
500
- var Button = (0, import_core3.forwardRef)((rest, ref) => {
549
+ var Button = (0, import_core5.forwardRef)((rest, ref) => {
501
550
  const { styles } = useMenu();
502
551
  const css = {
503
- display: "inline-flex",
504
- appearance: "none",
505
552
  alignItems: "center",
553
+ appearance: "none",
554
+ display: "inline-flex",
506
555
  outline: 0,
507
556
  ...styles.button
508
557
  };
509
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_core3.ui.button, { ref, __css: css, ...rest });
558
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_core5.ui.button, { ref, __css: css, ...rest });
510
559
  });
511
- var MenuItemButton = (0, import_core3.forwardRef)(
512
- ({ className, children, innerProps, icon, iconProps, ...rest }, ref) => {
513
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
560
+ var MenuItemButton = (0, import_core5.forwardRef)(
561
+ ({ className, children, icon, iconProps, innerProps, ...rest }, ref) => {
562
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
514
563
  MenuButton,
515
564
  {
516
565
  ref,
517
- className: (0, import_utils4.cx)("ui-menu__item-button", className),
566
+ className: (0, import_utils5.cx)("ui-menu__item-button", className),
518
567
  flex: "1",
519
568
  ...rest,
520
569
  children: [
521
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_core3.ui.span, { as: "span", flex: "1", ...innerProps, children }),
522
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(MenuIcon, { ...iconProps, children: icon != null ? icon : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icon.ChevronIcon, { fontSize: "1.5em", transform: "rotate(-90deg)" }) })
570
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_core5.ui.span, { as: "span", flex: "1", ...innerProps, children }),
571
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(MenuIcon, { ...iconProps, children: icon != null ? icon : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_icon.ChevronIcon, { fontSize: "1.5em", transform: "rotate(-90deg)" }) })
572
+ ]
573
+ }
574
+ );
575
+ }
576
+ );
577
+
578
+ // src/menu-divider.tsx
579
+ var import_core6 = require("@yamada-ui/core");
580
+ var import_utils6 = require("@yamada-ui/utils");
581
+ var import_jsx_runtime6 = require("react/jsx-runtime");
582
+ var MenuDivider = (0, import_core6.forwardRef)(
583
+ ({ className, ...rest }, ref) => {
584
+ const { styles } = useMenu();
585
+ const css = { ...styles.divider };
586
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
587
+ import_core6.ui.hr,
588
+ {
589
+ ref,
590
+ className: (0, import_utils6.cx)("ui-menu__divider", className),
591
+ __css: css,
592
+ ...rest
593
+ }
594
+ );
595
+ }
596
+ );
597
+
598
+ // src/menu-group.tsx
599
+ var import_core7 = require("@yamada-ui/core");
600
+ var import_utils7 = require("@yamada-ui/utils");
601
+ var import_jsx_runtime7 = require("react/jsx-runtime");
602
+ var MenuGroup = (0, import_core7.forwardRef)(
603
+ ({ className, children, label, labelProps, ...rest }, ref) => {
604
+ const { styles } = useMenu();
605
+ const css = { ...styles.group };
606
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
607
+ import_core7.ui.li,
608
+ {
609
+ ref,
610
+ className: (0, import_utils7.cx)("ui-menu__item", "ui-menu__item--group", className),
611
+ role: "group",
612
+ __css: css,
613
+ ...rest,
614
+ children: [
615
+ label ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
616
+ import_core7.ui.span,
617
+ {
618
+ className: (0, import_utils7.cx)("ui-menu__item--group-label"),
619
+ __css: styles.groupLabel,
620
+ ...labelProps,
621
+ children: label
622
+ }
623
+ ) : null,
624
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_core7.ui.ul, { className: "ui-menu__item__group", children })
523
625
  ]
524
626
  }
525
627
  );
@@ -527,40 +629,40 @@ var MenuItemButton = (0, import_core3.forwardRef)(
527
629
  );
528
630
 
529
631
  // src/menu-list.tsx
530
- var import_core4 = require("@yamada-ui/core");
531
- var import_popover3 = require("@yamada-ui/popover");
532
- var import_utils5 = require("@yamada-ui/utils");
533
- var import_react4 = require("react");
534
- var import_jsx_runtime4 = require("react/jsx-runtime");
535
- var MenuList = (0, import_core4.forwardRef)(
536
- ({ className, contentProps, children, ...rest }, ref) => {
537
- const { menuRef, focusedIndex, setFocusedIndex, onClose, styles } = useMenu();
632
+ var import_core8 = require("@yamada-ui/core");
633
+ var import_popover4 = require("@yamada-ui/popover");
634
+ var import_utils8 = require("@yamada-ui/utils");
635
+ var import_react5 = require("react");
636
+ var import_jsx_runtime8 = require("react/jsx-runtime");
637
+ var MenuList = (0, import_core8.forwardRef)(
638
+ ({ className, children, contentProps, ...rest }, ref) => {
639
+ const { focusedIndex, menuRef, setFocusedIndex, styles, onClose } = useMenu();
538
640
  const descendants = useMenuDescendantsContext();
539
- const onNext = (0, import_react4.useCallback)(() => {
641
+ const onNext = (0, import_react5.useCallback)(() => {
540
642
  const next = descendants.enabledNextValue(focusedIndex);
541
643
  if (next) setFocusedIndex(next.index);
542
644
  }, [descendants, focusedIndex, setFocusedIndex]);
543
- const onPrev = (0, import_react4.useCallback)(() => {
645
+ const onPrev = (0, import_react5.useCallback)(() => {
544
646
  const prev = descendants.enabledPrevValue(focusedIndex);
545
647
  if (prev) setFocusedIndex(prev.index);
546
648
  }, [descendants, focusedIndex, setFocusedIndex]);
547
- const onFirst = (0, import_react4.useCallback)(() => {
649
+ const onFirst = (0, import_react5.useCallback)(() => {
548
650
  const first = descendants.enabledFirstValue();
549
651
  if (first) setFocusedIndex(first.index);
550
652
  }, [descendants, setFocusedIndex]);
551
- const onLast = (0, import_react4.useCallback)(() => {
653
+ const onLast = (0, import_react5.useCallback)(() => {
552
654
  const last = descendants.enabledLastValue();
553
655
  if (last) setFocusedIndex(last.index);
554
656
  }, [descendants, setFocusedIndex]);
555
- const onKeyDown = (0, import_react4.useCallback)(
657
+ const onKeyDown = (0, import_react5.useCallback)(
556
658
  (ev) => {
557
659
  const actions = {
558
- Tab: (ev2) => ev2.preventDefault(),
559
- Escape: onClose,
560
660
  ArrowDown: focusedIndex === -1 ? onFirst : onNext,
561
661
  ArrowUp: focusedIndex === -1 ? onLast : onPrev,
662
+ End: onLast,
663
+ Escape: onClose,
562
664
  Home: onFirst,
563
- End: onLast
665
+ Tab: (ev2) => ev2.preventDefault()
564
666
  };
565
667
  const action = actions[ev.key];
566
668
  if (!action) return;
@@ -569,20 +671,20 @@ var MenuList = (0, import_core4.forwardRef)(
569
671
  },
570
672
  [focusedIndex, onClose, onFirst, onLast, onNext, onPrev]
571
673
  );
572
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
573
- import_popover3.PopoverContent,
674
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
675
+ import_popover4.PopoverContent,
574
676
  {
575
677
  as: "div",
576
678
  className: "ui-menu__content",
577
679
  __css: { ...styles.content },
578
680
  ...contentProps,
579
- onKeyDown: (0, import_utils5.handlerAll)(contentProps == null ? void 0 : contentProps.onKeyDown, onKeyDown),
580
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
581
- import_core4.ui.ul,
681
+ onKeyDown: (0, import_utils8.handlerAll)(contentProps == null ? void 0 : contentProps.onKeyDown, onKeyDown),
682
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
683
+ import_core8.ui.ul,
582
684
  {
583
- ref: (0, import_utils5.mergeRefs)(menuRef, ref),
685
+ ref: (0, import_utils8.mergeRefs)(menuRef, ref),
686
+ className: (0, import_utils8.cx)("ui-menu__list", className),
584
687
  role: "menu",
585
- className: (0, import_utils5.cx)("ui-menu__list", className),
586
688
  tabIndex: -1,
587
689
  __css: { ...styles.list },
588
690
  ...rest,
@@ -594,72 +696,39 @@ var MenuList = (0, import_core4.forwardRef)(
594
696
  }
595
697
  );
596
698
 
597
- // src/menu-group.tsx
598
- var import_core5 = require("@yamada-ui/core");
599
- var import_utils6 = require("@yamada-ui/utils");
600
- var import_jsx_runtime5 = require("react/jsx-runtime");
601
- var MenuGroup = (0, import_core5.forwardRef)(
602
- ({ className, label, children, labelProps, ...rest }, ref) => {
603
- const { styles } = useMenu();
604
- const css = { ...styles.group };
605
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
606
- import_core5.ui.li,
607
- {
608
- ref,
609
- className: (0, import_utils6.cx)("ui-menu__item", "ui-menu__item--group", className),
610
- role: "group",
611
- __css: css,
612
- ...rest,
613
- children: [
614
- label ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
615
- import_core5.ui.span,
616
- {
617
- className: (0, import_utils6.cx)("ui-menu__item--group-label"),
618
- __css: styles.groupLabel,
619
- ...labelProps,
620
- children: label
621
- }
622
- ) : null,
623
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_core5.ui.ul, { className: "ui-menu__item__group", children })
624
- ]
625
- }
626
- );
627
- }
628
- );
629
-
630
699
  // src/menu-option-group.tsx
631
700
  var import_use_controllable_state = require("@yamada-ui/use-controllable-state");
632
- var import_utils7 = require("@yamada-ui/utils");
633
- var import_react5 = require("react");
634
- var import_jsx_runtime6 = require("react/jsx-runtime");
635
- var MenuOptionGroup = (0, import_react5.forwardRef)(
701
+ var import_utils9 = require("@yamada-ui/utils");
702
+ var import_react6 = require("react");
703
+ var import_jsx_runtime9 = require("react/jsx-runtime");
704
+ var MenuOptionGroup = (0, import_react6.forwardRef)(
636
705
  ({
706
+ type,
637
707
  className,
638
- value: valueProp,
708
+ children,
639
709
  defaultValue,
710
+ value: valueProp,
640
711
  onChange: onChangeProp,
641
- type,
642
- children,
643
712
  ...rest
644
713
  }, ref) => {
645
714
  const isRadio = type === "radio";
646
715
  defaultValue != null ? defaultValue : defaultValue = isRadio ? "" : [];
647
716
  const [value, setValue] = (0, import_use_controllable_state.useControllableState)({
648
- value: valueProp,
649
717
  defaultValue,
718
+ value: valueProp,
650
719
  onChange: onChangeProp
651
720
  });
652
- const onChange = (0, import_react5.useCallback)(
721
+ const onChange = (0, import_react6.useCallback)(
653
722
  (selectedValue) => {
654
723
  if (isRadio && typeof value === "string") setValue(selectedValue);
655
- if (!isRadio && (0, import_utils7.isArray)(value)) {
724
+ if (!isRadio && (0, import_utils9.isArray)(value)) {
656
725
  const nextValue = value.includes(selectedValue) ? value.filter((item) => item !== selectedValue) : value.concat(selectedValue);
657
726
  setValue(nextValue);
658
727
  }
659
728
  },
660
729
  [isRadio, value, setValue]
661
730
  );
662
- const validChildren = (0, import_utils7.getValidChildren)(children);
731
+ const validChildren = (0, import_utils9.getValidChildren)(children);
663
732
  const cloneChildren = validChildren.map((child) => {
664
733
  if (child.type !== MenuOptionItem) return child;
665
734
  const onClick = (ev) => {
@@ -667,14 +736,14 @@ var MenuOptionGroup = (0, import_react5.forwardRef)(
667
736
  onChange(child.props.value);
668
737
  (_b = (_a = child.props).onClick) == null ? void 0 : _b.call(_a, ev);
669
738
  };
670
- const isChecked = !isRadio && (0, import_utils7.isArray)(value) ? value.includes(child.props.value) : child.props.value === value;
671
- return (0, import_react5.cloneElement)(child, { type, onClick, isChecked });
739
+ const isChecked = !isRadio && (0, import_utils9.isArray)(value) ? value.includes(child.props.value) : child.props.value === value;
740
+ return (0, import_react6.cloneElement)(child, { type, isChecked, onClick });
672
741
  });
673
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
742
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
674
743
  MenuGroup,
675
744
  {
676
745
  ref,
677
- className: (0, import_utils7.cx)("ui-menu__item--group--option", className),
746
+ className: (0, import_utils9.cx)("ui-menu__item--group--option", className),
678
747
  ...rest,
679
748
  children: cloneChildren
680
749
  }
@@ -682,72 +751,6 @@ var MenuOptionGroup = (0, import_react5.forwardRef)(
682
751
  }
683
752
  );
684
753
  MenuOptionGroup.displayName = "MenuOptionGroup";
685
-
686
- // src/menu-divider.tsx
687
- var import_core6 = require("@yamada-ui/core");
688
- var import_utils8 = require("@yamada-ui/utils");
689
- var import_jsx_runtime7 = require("react/jsx-runtime");
690
- var MenuDivider = (0, import_core6.forwardRef)(
691
- ({ className, ...rest }, ref) => {
692
- const { styles } = useMenu();
693
- const css = { ...styles.divider };
694
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
695
- import_core6.ui.hr,
696
- {
697
- ref,
698
- className: (0, import_utils8.cx)("ui-menu__divider", className),
699
- __css: css,
700
- ...rest
701
- }
702
- );
703
- }
704
- );
705
-
706
- // src/context-menu.tsx
707
- var import_core7 = require("@yamada-ui/core");
708
- var import_jsx_runtime8 = require("react/jsx-runtime");
709
- var ContextMenu = (props) => {
710
- const [styles, mergedProps] = (0, import_core7.useComponentMultiStyle)("ContextMenu", props);
711
- const { ...rest } = (0, import_core7.omitThemeProps)(mergedProps);
712
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ContextMenuProvider, { value: { styles }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Menu, { trigger: "contextmenu", ...rest }) });
713
- };
714
-
715
- // src/context-menu-trigger.tsx
716
- var import_core8 = require("@yamada-ui/core");
717
- var import_popover4 = require("@yamada-ui/popover");
718
- var import_utils9 = require("@yamada-ui/utils");
719
- var import_react6 = require("react");
720
- var import_jsx_runtime9 = require("react/jsx-runtime");
721
- var ContextMenuTrigger = (0, import_core8.forwardRef)(
722
- ({ children, className, ...rest }, ref) => {
723
- const { styles } = useContextMenu();
724
- const [position, setPosition] = (0, import_react6.useState)({ top: 0, left: 0 });
725
- const css = { ...styles.container };
726
- const onContextMenu = (ev) => {
727
- setPosition({ top: ev.pageY, left: ev.pageX });
728
- };
729
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
730
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_popover4.PopoverAnchor, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
731
- import_core8.ui.div,
732
- {
733
- className: "ui-context-menu__anchor",
734
- style: { position: "absolute", ...position }
735
- }
736
- ) }),
737
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_popover4.PopoverTrigger, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
738
- import_core8.ui.div,
739
- {
740
- ref,
741
- className: (0, import_utils9.cx)("ui-context-menu", className),
742
- __css: css,
743
- ...rest,
744
- onContextMenu: (0, import_utils9.handlerAll)(rest.onContextMenu, onContextMenu),
745
- children
746
- }
747
- ) })
748
- ] });
749
- }
750
- );
751
754
  // Annotate the CommonJS export names for ESM import in node:
752
755
  0 && (module.exports = {
753
756
  ContextMenu,