reka-ui 2.9.0 → 2.9.1

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 (101) hide show
  1. package/dist/Calendar/CalendarGrid.cjs +3 -3
  2. package/dist/Calendar/CalendarGrid.cjs.map +1 -1
  3. package/dist/Calendar/CalendarGrid.js +4 -4
  4. package/dist/Calendar/CalendarGrid.js.map +1 -1
  5. package/dist/Combobox/ComboboxInput.cjs +10 -1
  6. package/dist/Combobox/ComboboxInput.cjs.map +1 -1
  7. package/dist/Combobox/ComboboxInput.js +10 -1
  8. package/dist/Combobox/ComboboxInput.js.map +1 -1
  9. package/dist/DismissableLayer/utils.cjs +1 -0
  10. package/dist/DismissableLayer/utils.cjs.map +1 -1
  11. package/dist/DismissableLayer/utils.js +1 -0
  12. package/dist/DismissableLayer/utils.js.map +1 -1
  13. package/dist/Menu/MenuGroup.cjs +13 -2
  14. package/dist/Menu/MenuGroup.cjs.map +1 -1
  15. package/dist/Menu/MenuGroup.js +8 -3
  16. package/dist/Menu/MenuGroup.js.map +1 -1
  17. package/dist/Menu/MenuItemImpl.cjs +3 -2
  18. package/dist/Menu/MenuItemImpl.cjs.map +1 -1
  19. package/dist/Menu/MenuItemImpl.js +3 -2
  20. package/dist/Menu/MenuItemImpl.js.map +1 -1
  21. package/dist/Menu/MenuLabel.cjs +4 -2
  22. package/dist/Menu/MenuLabel.cjs.map +1 -1
  23. package/dist/Menu/MenuLabel.js +5 -3
  24. package/dist/Menu/MenuLabel.js.map +1 -1
  25. package/dist/MonthPicker/MonthPickerGrid.cjs +3 -3
  26. package/dist/MonthPicker/MonthPickerGrid.cjs.map +1 -1
  27. package/dist/MonthPicker/MonthPickerGrid.js +4 -4
  28. package/dist/MonthPicker/MonthPickerGrid.js.map +1 -1
  29. package/dist/MonthRangePicker/MonthRangePickerGrid.cjs +3 -3
  30. package/dist/MonthRangePicker/MonthRangePickerGrid.cjs.map +1 -1
  31. package/dist/MonthRangePicker/MonthRangePickerGrid.js +4 -4
  32. package/dist/MonthRangePicker/MonthRangePickerGrid.js.map +1 -1
  33. package/dist/RangeCalendar/RangeCalendarGrid.cjs +3 -3
  34. package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
  35. package/dist/RangeCalendar/RangeCalendarGrid.js +4 -4
  36. package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
  37. package/dist/Splitter/SplitterGroup.cjs +23 -13
  38. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  39. package/dist/Splitter/SplitterGroup.js +23 -13
  40. package/dist/Splitter/SplitterGroup.js.map +1 -1
  41. package/dist/Toast/FocusProxy.cjs +0 -1
  42. package/dist/Toast/FocusProxy.cjs.map +1 -1
  43. package/dist/Toast/FocusProxy.js +0 -1
  44. package/dist/Toast/FocusProxy.js.map +1 -1
  45. package/dist/Toast/ToastRootImpl.cjs +1 -5
  46. package/dist/Toast/ToastRootImpl.cjs.map +1 -1
  47. package/dist/Toast/ToastRootImpl.js +1 -5
  48. package/dist/Toast/ToastRootImpl.js.map +1 -1
  49. package/dist/YearPicker/YearPickerGrid.cjs +3 -3
  50. package/dist/YearPicker/YearPickerGrid.cjs.map +1 -1
  51. package/dist/YearPicker/YearPickerGrid.js +4 -4
  52. package/dist/YearPicker/YearPickerGrid.js.map +1 -1
  53. package/dist/YearRangePicker/YearRangePickerGrid.cjs +3 -3
  54. package/dist/YearRangePicker/YearRangePickerGrid.cjs.map +1 -1
  55. package/dist/YearRangePicker/YearRangePickerGrid.js +4 -4
  56. package/dist/YearRangePicker/YearRangePickerGrid.js.map +1 -1
  57. package/dist/constant.d.cts.map +1 -1
  58. package/dist/date/useDateField.cjs +1 -0
  59. package/dist/date/useDateField.cjs.map +1 -1
  60. package/dist/date/useDateField.js +1 -0
  61. package/dist/date/useDateField.js.map +1 -1
  62. package/dist/index.cjs +1 -1
  63. package/dist/index.js +1 -1
  64. package/dist/index3.d.cts +1007 -1006
  65. package/dist/index3.d.cts.map +1 -1
  66. package/dist/index3.d.ts +83 -82
  67. package/dist/index3.d.ts.map +1 -1
  68. package/dist/internal.d.cts +2 -4
  69. package/dist/internal.d.cts.map +1 -1
  70. package/dist/internal.d.ts +2 -4
  71. package/dist/shared/useBodyScrollLock.cjs +1 -0
  72. package/dist/shared/useBodyScrollLock.cjs.map +1 -1
  73. package/dist/shared/useBodyScrollLock.js +1 -0
  74. package/dist/shared/useBodyScrollLock.js.map +1 -1
  75. package/dist/shared/useHideOthers.cjs +1 -1
  76. package/dist/shared/useHideOthers.cjs.map +1 -1
  77. package/dist/shared/useHideOthers.js +1 -1
  78. package/dist/shared/useHideOthers.js.map +1 -1
  79. package/dist/utils/callPanelCallbacks.cjs +10 -7
  80. package/dist/utils/callPanelCallbacks.cjs.map +1 -1
  81. package/dist/utils/callPanelCallbacks.js +10 -7
  82. package/dist/utils/callPanelCallbacks.js.map +1 -1
  83. package/package.json +2 -2
  84. package/src/Calendar/CalendarGrid.vue +6 -1
  85. package/src/Combobox/ComboboxInput.vue +19 -0
  86. package/src/DismissableLayer/utils.ts +4 -1
  87. package/src/Menu/MenuGroup.vue +12 -0
  88. package/src/Menu/MenuItemImpl.vue +4 -4
  89. package/src/Menu/MenuLabel.vue +7 -1
  90. package/src/MonthPicker/MonthPickerGrid.vue +6 -1
  91. package/src/MonthRangePicker/MonthRangePickerGrid.vue +6 -1
  92. package/src/RangeCalendar/RangeCalendarGrid.vue +6 -1
  93. package/src/Splitter/SplitterGroup.vue +26 -6
  94. package/src/Splitter/utils/callPanelCallbacks.ts +16 -8
  95. package/src/Toast/FocusProxy.vue +0 -1
  96. package/src/Toast/ToastRootImpl.vue +0 -4
  97. package/src/YearPicker/YearPickerGrid.vue +6 -1
  98. package/src/YearRangePicker/YearRangePickerGrid.vue +6 -1
  99. package/src/shared/date/useDateField.ts +2 -1
  100. package/src/shared/useBodyScrollLock.ts +2 -0
  101. package/src/shared/useHideOthers.ts +2 -1
@@ -23,9 +23,9 @@ var CalendarGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (
23
23
  const disabled = (0, vue.computed)(() => rootContext.disabled.value ? true : void 0);
24
24
  const readonly = (0, vue.computed)(() => rootContext.readonly.value ? true : void 0);
25
25
  return (_ctx, _cache) => {
26
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)(props, {
26
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, [(0, vue.createCommentVNode)("\n role=\"application\" is intentional: it ensures screen readers like NVDA pass\n keyboard events (arrow keys) to the web app instead of intercepting them\n for virtual cursor navigation. This is the same pattern used by React Aria.\n "), (0, vue.createVNode)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)(props, {
27
27
  tabindex: "-1",
28
- role: "grid",
28
+ role: "application",
29
29
  "aria-readonly": readonly.value,
30
30
  "aria-disabled": disabled.value,
31
31
  "data-readonly": readonly.value && "",
@@ -38,7 +38,7 @@ var CalendarGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (
38
38
  "aria-disabled",
39
39
  "data-readonly",
40
40
  "data-disabled"
41
- ]);
41
+ ])], 2112);
42
42
  };
43
43
  }
44
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarGrid.cjs","names":[],"sources":["../../src/Calendar/CalendarGrid.vue","../../src/Calendar/CalendarGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,yDAA0B;EAC9C,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;gCAI3E,qBAUY,eAAA,sCAAA,EAVZ,oBACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;;8BAExB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"CalendarGrid.cjs","names":[],"sources":["../../src/Calendar/CalendarGrid.vue","../../src/Calendar/CalendarGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,yDAA0B;EAC9C,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;iFAI3E,4BAAA,yPAIG,EACH,qBAUY,eAAA,sCAAA,EAVZ,oBACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;;8BAExB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Primitive } from "../Primitive/Primitive.js";
2
2
  import { injectCalendarRootContext } from "./CalendarRoot.js";
3
- import { computed, createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
3
+ import { Fragment, computed, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
4
4
 
5
5
  //#region src/Calendar/CalendarGrid.vue?vue&type=script&setup=true&lang.ts
6
6
  var CalendarGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
@@ -22,9 +22,9 @@ var CalendarGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
22
22
  const disabled = computed(() => rootContext.disabled.value ? true : void 0);
23
23
  const readonly = computed(() => rootContext.readonly.value ? true : void 0);
24
24
  return (_ctx, _cache) => {
25
- return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
25
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode("\n role=\"application\" is intentional: it ensures screen readers like NVDA pass\n keyboard events (arrow keys) to the web app instead of intercepting them\n for virtual cursor navigation. This is the same pattern used by React Aria.\n "), createVNode(unref(Primitive), mergeProps(props, {
26
26
  tabindex: "-1",
27
- role: "grid",
27
+ role: "application",
28
28
  "aria-readonly": readonly.value,
29
29
  "aria-disabled": disabled.value,
30
30
  "data-readonly": readonly.value && "",
@@ -37,7 +37,7 @@ var CalendarGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
37
37
  "aria-disabled",
38
38
  "data-readonly",
39
39
  "data-disabled"
40
- ]);
40
+ ])], 2112);
41
41
  };
42
42
  }
43
43
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarGrid.js","names":[],"sources":["../../src/Calendar/CalendarGrid.vue","../../src/Calendar/CalendarGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,2BAA0B;EAC9C,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;uBAI3E,YAUY,MAAA,UAAA,EAVZ,WACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;;qBAExB,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"CalendarGrid.js","names":[],"sources":["../../src/Calendar/CalendarGrid.vue","../../src/Calendar/CalendarGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,2BAA0B;EAC9C,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;2DAI3E,mBAAA,yPAIG,EACH,YAUY,MAAA,UAAA,EAVZ,WACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;;qBAExB,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -65,6 +65,14 @@ var ComboboxInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
65
65
  function handleFocus() {
66
66
  if (rootContext.openOnFocus.value && !rootContext.open.value) rootContext.onOpenChange(true);
67
67
  }
68
+ function handleBlur(ev) {
69
+ if (!rootContext.open.value) return;
70
+ const nextFocus = ev.relatedTarget;
71
+ if (!nextFocus) return;
72
+ const isInsideRoot = rootContext.parentElement.value?.contains(nextFocus);
73
+ const isInsideContent = document.getElementById(rootContext.contentId)?.contains(nextFocus);
74
+ if (!isInsideRoot && !isInsideContent) rootContext.onOpenChange(false);
75
+ }
68
76
  function handleClick() {
69
77
  if (rootContext.openOnClick.value && !rootContext.open.value) rootContext.onOpenChange(true);
70
78
  }
@@ -108,7 +116,8 @@ var ComboboxInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
108
116
  onClick: handleClick,
109
117
  onInput: handleInput,
110
118
  onKeydown: (0, vue.withKeys)((0, vue.withModifiers)(handleKeyDown, ["prevent"]), ["down", "up"]),
111
- onFocus: handleFocus
119
+ onFocus: handleFocus,
120
+ onBlur: handleBlur
112
121
  }, {
113
122
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
114
123
  _: 3
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxInput.cjs","names":["as","asChild","autoFocus","disabled"],"sources":["../../src/Combobox/ComboboxInput.vue","../../src/Combobox/ComboboxInput.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBA,MAAM,QAAQ;EAGd,MAAM,QAAQ;EAEd,MAAM,cAAc,yDAA0B;EAC9C,MAAM,iBAAiB,sDAAyB;EAChD,MAAM,EAAE,kBAAkB,gBAAgB,GAAG,2DAAoB;EAEjE,MAAM,aAAa,6BAAU,OAAO,cAAc,OAAO,EACvD,SAAU,MAAM,sBACjB,EAAA;AAED,qBAAU,MAAM;AACd,OAAI,eAAe,MACjB,aAAY,qBAAqB,eAAe,MAAyB;EAC5E,EAAA;EAED,SAAS,cAAc,IAAmB;AACxC,QAAK,YAAY,KAAK,MACpB,aAAY,aAAa,KAAI;EACjC;EAEA,SAAS,YAAY,OAAmB;GACtC,MAAM,SAAS,MAAM;AACrB,QAAK,YAAY,KAAK,OAAO;AAC3B,gBAAY,aAAa,KAAI;AAC7B,sBAAS,MAAM;AACb,SAAI,OAAO,OAAO;AAChB,kBAAY,aAAa,QAAQ,OAAO;AACxC,qBAAe,oBAAmB;KACpC;IACD,EAAA;GACH,MAEE,aAAY,aAAa,QAAQ,OAAO;EAE5C;EAEA,SAAS,cAAc;AACrB,OAAI,YAAY,YAAY,UAAU,YAAY,KAAK,MACrD,aAAY,aAAa,KAAI;EACjC;EAEA,SAAS,cAAc;AACrB,OAAI,YAAY,YAAY,UAAU,YAAY,KAAK,MACrD,aAAY,aAAa,KAAI;EACjC;EAEA,SAAS,kBAAkB;GACzB,MAAM,iBAAiB,YAAY,WAAW;AAE9C,OAAI,MAAM,aACR,YAAW,QAAQ,MAAM,aAAa,eAAc;aAE5C,YAAY,SAAS,SAAS,mBAAmB,MAAM,QAAQ,eAAe,CACtF,YAAW,mBAAmB,SAC5B,YAAW,QAAQ,eAAe,UAAS;OACxC,YAAW,QAAQ;OAGxB,YAAW,QAAQ;AAGrB,qBAAS,MAAM;AAGb,eAAW,QAAQ,WAAW;GAC/B,EAAA;EACH;AAEA,cAAY,kBAAkB,MAAM;AAClC,oBAAgB;EACjB,EAAA;AAED,iBAAM,YAAY,YAAY,YAAY;AACxC,QAAK,YAAY,eAAe,SAAS,YAAY,wBAAwB,MAC3E,kBAAgB;EACnB,GAAE;GAAE,WAAW;GAAM,MAAM;EAAM,EAAA;AAElC,iBAAM,YAAY,aAAa,CAAC,WAAW,aAAa;AAGtD,QAAK,YAAY,UAAU,SAAU,SAAS,UAAU,EACtD,gBAAe,oBAAmB;EAErC,EAAA;;gCAIC,qBAkBgB,eAAA,oDAAA,EAAA;aAjBV;IAAJ,KAAI;gBACK,eAAA,WAAU;8FAAV,WAAU,QAAA,SAAA;IAClB,IAAIA,KAAAA;IACJ,YAAUC,KAAAA;IACV,cAAYC,KAAAA;IACZ,UAAUC,KAAAA;IACV,iBAAe,eAAA,YAAW,CAAC,KAAK;IAChC,iBAAe,eAAA,YAAW,CAAC;IAC5B,qBAAkB;IAClB,MAAK;IACL,cAAa;IACZ,SAAO;IACP,SAAO;IACP,WAAO,kBAAA,uBAAkB,eAAa,CAAA,SAAA,EAAA,EAAA,CAAA,QAAA,IAAA,EAAA;IACtC,SAAO;;8BAER,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"ComboboxInput.cjs","names":["as","asChild","autoFocus","disabled"],"sources":["../../src/Combobox/ComboboxInput.vue","../../src/Combobox/ComboboxInput.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBA,MAAM,QAAQ;EAGd,MAAM,QAAQ;EAEd,MAAM,cAAc,yDAA0B;EAC9C,MAAM,iBAAiB,sDAAyB;EAChD,MAAM,EAAE,kBAAkB,gBAAgB,GAAG,2DAAoB;EAEjE,MAAM,aAAa,6BAAU,OAAO,cAAc,OAAO,EACvD,SAAU,MAAM,sBACjB,EAAA;AAED,qBAAU,MAAM;AACd,OAAI,eAAe,MACjB,aAAY,qBAAqB,eAAe,MAAyB;EAC5E,EAAA;EAED,SAAS,cAAc,IAAmB;AACxC,QAAK,YAAY,KAAK,MACpB,aAAY,aAAa,KAAI;EACjC;EAEA,SAAS,YAAY,OAAmB;GACtC,MAAM,SAAS,MAAM;AACrB,QAAK,YAAY,KAAK,OAAO;AAC3B,gBAAY,aAAa,KAAI;AAC7B,sBAAS,MAAM;AACb,SAAI,OAAO,OAAO;AAChB,kBAAY,aAAa,QAAQ,OAAO;AACxC,qBAAe,oBAAmB;KACpC;IACD,EAAA;GACH,MAEE,aAAY,aAAa,QAAQ,OAAO;EAE5C;EAEA,SAAS,cAAc;AACrB,OAAI,YAAY,YAAY,UAAU,YAAY,KAAK,MACrD,aAAY,aAAa,KAAI;EACjC;EAEA,SAAS,WAAW,IAAgB;AAClC,QAAK,YAAY,KAAK,MACpB;GAEF,MAAM,YAAY,GAAG;AAGrB,QAAK,UACH;GAEF,MAAM,eAAe,YAAY,cAAc,OAAO,SAAS,UAAS;GACxE,MAAM,kBAAkB,SAAS,eAAe,YAAY,UAAU,EAAE,SAAS,UAAS;AAE1F,QAAK,iBAAiB,gBACpB,aAAY,aAAa,MAAK;EAElC;EAEA,SAAS,cAAc;AACrB,OAAI,YAAY,YAAY,UAAU,YAAY,KAAK,MACrD,aAAY,aAAa,KAAI;EACjC;EAEA,SAAS,kBAAkB;GACzB,MAAM,iBAAiB,YAAY,WAAW;AAE9C,OAAI,MAAM,aACR,YAAW,QAAQ,MAAM,aAAa,eAAc;aAE5C,YAAY,SAAS,SAAS,mBAAmB,MAAM,QAAQ,eAAe,CACtF,YAAW,mBAAmB,SAC5B,YAAW,QAAQ,eAAe,UAAS;OACxC,YAAW,QAAQ;OAGxB,YAAW,QAAQ;AAGrB,qBAAS,MAAM;AAGb,eAAW,QAAQ,WAAW;GAC/B,EAAA;EACH;AAEA,cAAY,kBAAkB,MAAM;AAClC,oBAAgB;EACjB,EAAA;AAED,iBAAM,YAAY,YAAY,YAAY;AACxC,QAAK,YAAY,eAAe,SAAS,YAAY,wBAAwB,MAC3E,kBAAgB;EACnB,GAAE;GAAE,WAAW;GAAM,MAAM;EAAM,EAAA;AAElC,iBAAM,YAAY,aAAa,CAAC,WAAW,aAAa;AAGtD,QAAK,YAAY,UAAU,SAAU,SAAS,UAAU,EACtD,gBAAe,oBAAmB;EAErC,EAAA;;gCAIC,qBAmBgB,eAAA,oDAAA,EAAA;aAlBV;IAAJ,KAAI;gBACK,eAAA,WAAU;8FAAV,WAAU,QAAA,SAAA;IAClB,IAAIA,KAAAA;IACJ,YAAUC,KAAAA;IACV,cAAYC,KAAAA;IACZ,UAAUC,KAAAA;IACV,iBAAe,eAAA,YAAW,CAAC,KAAK;IAChC,iBAAe,eAAA,YAAW,CAAC;IAC5B,qBAAkB;IAClB,MAAK;IACL,cAAa;IACZ,SAAO;IACP,SAAO;IACP,WAAO,kBAAA,uBAAkB,eAAa,CAAA,SAAA,EAAA,EAAA,CAAA,QAAA,IAAA,EAAA;IACtC,SAAO;IACP,QAAM;;8BAEP,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -64,6 +64,14 @@ var ComboboxInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
64
64
  function handleFocus() {
65
65
  if (rootContext.openOnFocus.value && !rootContext.open.value) rootContext.onOpenChange(true);
66
66
  }
67
+ function handleBlur(ev) {
68
+ if (!rootContext.open.value) return;
69
+ const nextFocus = ev.relatedTarget;
70
+ if (!nextFocus) return;
71
+ const isInsideRoot = rootContext.parentElement.value?.contains(nextFocus);
72
+ const isInsideContent = document.getElementById(rootContext.contentId)?.contains(nextFocus);
73
+ if (!isInsideRoot && !isInsideContent) rootContext.onOpenChange(false);
74
+ }
67
75
  function handleClick() {
68
76
  if (rootContext.openOnClick.value && !rootContext.open.value) rootContext.onOpenChange(true);
69
77
  }
@@ -107,7 +115,8 @@ var ComboboxInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
107
115
  onClick: handleClick,
108
116
  onInput: handleInput,
109
117
  onKeydown: withKeys(withModifiers(handleKeyDown, ["prevent"]), ["down", "up"]),
110
- onFocus: handleFocus
118
+ onFocus: handleFocus,
119
+ onBlur: handleBlur
111
120
  }, {
112
121
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
113
122
  _: 3
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxInput.js","names":["as","asChild","autoFocus","disabled"],"sources":["../../src/Combobox/ComboboxInput.vue","../../src/Combobox/ComboboxInput.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBA,MAAM,QAAQ;EAGd,MAAM,QAAQ;EAEd,MAAM,cAAc,2BAA0B;EAC9C,MAAM,iBAAiB,0BAAyB;EAChD,MAAM,EAAE,kBAAkB,gBAAgB,GAAG,qBAAoB;EAEjE,MAAM,aAAa,UAAU,OAAO,cAAc,OAAO,EACvD,SAAU,MAAM,sBACjB,EAAA;AAED,YAAU,MAAM;AACd,OAAI,eAAe,MACjB,aAAY,qBAAqB,eAAe,MAAyB;EAC5E,EAAA;EAED,SAAS,cAAc,IAAmB;AACxC,QAAK,YAAY,KAAK,MACpB,aAAY,aAAa,KAAI;EACjC;EAEA,SAAS,YAAY,OAAmB;GACtC,MAAM,SAAS,MAAM;AACrB,QAAK,YAAY,KAAK,OAAO;AAC3B,gBAAY,aAAa,KAAI;AAC7B,aAAS,MAAM;AACb,SAAI,OAAO,OAAO;AAChB,kBAAY,aAAa,QAAQ,OAAO;AACxC,qBAAe,oBAAmB;KACpC;IACD,EAAA;GACH,MAEE,aAAY,aAAa,QAAQ,OAAO;EAE5C;EAEA,SAAS,cAAc;AACrB,OAAI,YAAY,YAAY,UAAU,YAAY,KAAK,MACrD,aAAY,aAAa,KAAI;EACjC;EAEA,SAAS,cAAc;AACrB,OAAI,YAAY,YAAY,UAAU,YAAY,KAAK,MACrD,aAAY,aAAa,KAAI;EACjC;EAEA,SAAS,kBAAkB;GACzB,MAAM,iBAAiB,YAAY,WAAW;AAE9C,OAAI,MAAM,aACR,YAAW,QAAQ,MAAM,aAAa,eAAc;aAE5C,YAAY,SAAS,SAAS,mBAAmB,MAAM,QAAQ,eAAe,CACtF,YAAW,mBAAmB,SAC5B,YAAW,QAAQ,eAAe,UAAS;OACxC,YAAW,QAAQ;OAGxB,YAAW,QAAQ;AAGrB,YAAS,MAAM;AAGb,eAAW,QAAQ,WAAW;GAC/B,EAAA;EACH;AAEA,cAAY,kBAAkB,MAAM;AAClC,oBAAgB;EACjB,EAAA;AAED,QAAM,YAAY,YAAY,YAAY;AACxC,QAAK,YAAY,eAAe,SAAS,YAAY,wBAAwB,MAC3E,kBAAgB;EACnB,GAAE;GAAE,WAAW;GAAM,MAAM;EAAM,EAAA;AAElC,QAAM,YAAY,aAAa,CAAC,WAAW,aAAa;AAGtD,QAAK,YAAY,UAAU,SAAU,SAAS,UAAU,EACtD,gBAAe,oBAAmB;EAErC,EAAA;;uBAIC,YAkBgB,MAAA,sBAAA,EAAA;aAjBV;IAAJ,KAAI;gBACK,MAAA,WAAU;qFAAV,WAAU,QAAA,SAAA;IAClB,IAAIA,KAAAA;IACJ,YAAUC,KAAAA;IACV,cAAYC,KAAAA;IACZ,UAAUC,KAAAA;IACV,iBAAe,MAAA,YAAW,CAAC,KAAK;IAChC,iBAAe,MAAA,YAAW,CAAC;IAC5B,qBAAkB;IAClB,MAAK;IACL,cAAa;IACZ,SAAO;IACP,SAAO;IACP,WAAO,SAAA,cAAkB,eAAa,CAAA,SAAA,EAAA,EAAA,CAAA,QAAA,IAAA,EAAA;IACtC,SAAO;;qBAER,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"ComboboxInput.js","names":["as","asChild","autoFocus","disabled"],"sources":["../../src/Combobox/ComboboxInput.vue","../../src/Combobox/ComboboxInput.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBA,MAAM,QAAQ;EAGd,MAAM,QAAQ;EAEd,MAAM,cAAc,2BAA0B;EAC9C,MAAM,iBAAiB,0BAAyB;EAChD,MAAM,EAAE,kBAAkB,gBAAgB,GAAG,qBAAoB;EAEjE,MAAM,aAAa,UAAU,OAAO,cAAc,OAAO,EACvD,SAAU,MAAM,sBACjB,EAAA;AAED,YAAU,MAAM;AACd,OAAI,eAAe,MACjB,aAAY,qBAAqB,eAAe,MAAyB;EAC5E,EAAA;EAED,SAAS,cAAc,IAAmB;AACxC,QAAK,YAAY,KAAK,MACpB,aAAY,aAAa,KAAI;EACjC;EAEA,SAAS,YAAY,OAAmB;GACtC,MAAM,SAAS,MAAM;AACrB,QAAK,YAAY,KAAK,OAAO;AAC3B,gBAAY,aAAa,KAAI;AAC7B,aAAS,MAAM;AACb,SAAI,OAAO,OAAO;AAChB,kBAAY,aAAa,QAAQ,OAAO;AACxC,qBAAe,oBAAmB;KACpC;IACD,EAAA;GACH,MAEE,aAAY,aAAa,QAAQ,OAAO;EAE5C;EAEA,SAAS,cAAc;AACrB,OAAI,YAAY,YAAY,UAAU,YAAY,KAAK,MACrD,aAAY,aAAa,KAAI;EACjC;EAEA,SAAS,WAAW,IAAgB;AAClC,QAAK,YAAY,KAAK,MACpB;GAEF,MAAM,YAAY,GAAG;AAGrB,QAAK,UACH;GAEF,MAAM,eAAe,YAAY,cAAc,OAAO,SAAS,UAAS;GACxE,MAAM,kBAAkB,SAAS,eAAe,YAAY,UAAU,EAAE,SAAS,UAAS;AAE1F,QAAK,iBAAiB,gBACpB,aAAY,aAAa,MAAK;EAElC;EAEA,SAAS,cAAc;AACrB,OAAI,YAAY,YAAY,UAAU,YAAY,KAAK,MACrD,aAAY,aAAa,KAAI;EACjC;EAEA,SAAS,kBAAkB;GACzB,MAAM,iBAAiB,YAAY,WAAW;AAE9C,OAAI,MAAM,aACR,YAAW,QAAQ,MAAM,aAAa,eAAc;aAE5C,YAAY,SAAS,SAAS,mBAAmB,MAAM,QAAQ,eAAe,CACtF,YAAW,mBAAmB,SAC5B,YAAW,QAAQ,eAAe,UAAS;OACxC,YAAW,QAAQ;OAGxB,YAAW,QAAQ;AAGrB,YAAS,MAAM;AAGb,eAAW,QAAQ,WAAW;GAC/B,EAAA;EACH;AAEA,cAAY,kBAAkB,MAAM;AAClC,oBAAgB;EACjB,EAAA;AAED,QAAM,YAAY,YAAY,YAAY;AACxC,QAAK,YAAY,eAAe,SAAS,YAAY,wBAAwB,MAC3E,kBAAgB;EACnB,GAAE;GAAE,WAAW;GAAM,MAAM;EAAM,EAAA;AAElC,QAAM,YAAY,aAAa,CAAC,WAAW,aAAa;AAGtD,QAAK,YAAY,UAAU,SAAU,SAAS,UAAU,EACtD,gBAAe,oBAAmB;EAErC,EAAA;;uBAIC,YAmBgB,MAAA,sBAAA,EAAA;aAlBV;IAAJ,KAAI;gBACK,MAAA,WAAU;qFAAV,WAAU,QAAA,SAAA;IAClB,IAAIA,KAAAA;IACJ,YAAUC,KAAAA;IACV,cAAYC,KAAAA;IACZ,UAAUC,KAAAA;IACV,iBAAe,MAAA,YAAW,CAAC,KAAK;IAChC,iBAAe,MAAA,YAAW,CAAC;IAC5B,qBAAkB;IAClB,MAAK;IACL,cAAa;IACZ,SAAO;IACP,SAAO;IACP,WAAO,SAAA,cAAkB,eAAa,CAAA,SAAA,EAAA,EAAA,CAAA,QAAA,IAAA,EAAA;IACtC,SAAO;IACP,QAAM;;qBAEP,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -7,6 +7,7 @@ const __vueuse_shared = require_rolldown_runtime.__toESM(require("@vueuse/shared
7
7
  const POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
8
8
  const FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
9
9
  function isLayerExist(layerElement, targetElement) {
10
+ if (!(targetElement instanceof Element)) return false;
10
11
  const targetLayer = targetElement.closest("[data-dismissable-layer]");
11
12
  const mainLayer = layerElement.dataset.dismissableLayer === "" ? layerElement : layerElement.querySelector("[data-dismissable-layer]");
12
13
  const nodeList = Array.from(layerElement.ownerDocument.querySelectorAll("[data-dismissable-layer]"));
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","names":["layerElement: HTMLElement","targetElement: HTMLElement","onPointerDownOutside?: (event: PointerDownOutsideEvent) => void","element?: Ref<HTMLElement | undefined>","enabled: MaybeRefOrGetter<boolean>","ownerDocument: Document","isClient","event: PointerEvent","onFocusOutside?: (event: FocusOutsideEvent) => void","event: FocusEvent"],"sources":["../../src/DismissableLayer/utils.ts"],"sourcesContent":[],"mappings":";;;;;;AAYA,MAAa,uBAAuB;AACpC,MAAa,gBAAgB;AAE7B,SAAS,aAAaA,cAA2BC,eAA4B;CAC3E,MAAM,cAAc,cAAc,QAChC,2BACD;CAED,MAAM,YAAY,aAAa,QAAQ,qBAAqB,KACxD,eACA,aAAa,cACb,2BACD;CAEH,MAAM,WAAW,MAAM,KACrB,aAAa,cAAc,iBAAiB,2BAA2B,CACxE;AAED,KAAI,gBAAgB,cAAc,eAAe,SAAS,QAAQ,UAAU,GAAG,SAAS,QAAQ,YAAY,EAC1G,QAAO;KAGP,QAAO;AAEV;;;;;;AAOD,SAAgB,sBACdC,sBACAC,SACAC,UAAqC,MACrC;CACA,MAAMC,gBACF,SAAS,OAAO,iBAAiB,YAAY;CAEjD,MAAM,yBAAyB,aAAI,MAAM;CACzC,MAAM,iBAAiB,aAAI,MAAM,CAAE,EAAC;AAEpC,sBAAY,CAAC,cAAc;AACzB,OAAKC,6BAAa,iBAAQ,QAAQ,CAChC;EACF,MAAM,oBAAoB,OAAOC,UAAwB;GACvD,MAAM,SAAS,MAAM;AAErB,QAAK,SAAS,UAAU,OACtB;AAEF,OAAI,aAAa,QAAQ,OAAO,OAAO,EAAE;AACvC,2BAAuB,QAAQ;AAC/B;GACD;AAED,OAAI,MAAM,WAAW,uBAAuB,OAAO;IACjD,MAAM,cAAc,EAAE,eAAe,MAAO;IAE5C,SAAS,2CAA2C;AAClD,8EACE,sBACA,sBACA,YACD;IACF;;;;;;;;;;;;;AAcD,QAAI,MAAM,gBAAgB,SAAS;AACjC,mBAAc,oBAAoB,SAAS,eAAe,MAAM;AAChE,oBAAe,QAAQ;AACvB,mBAAc,iBAAiB,SAAS,eAAe,OAAO,EAC5D,MAAM,KACP,EAAC;IACH,MAEC,2CAA0C;GAE7C,MAIC,eAAc,oBAAoB,SAAS,eAAe,MAAM;AAElE,0BAAuB,QAAQ;EAChC;;;;;;;;;;;;;;EAcD,MAAM,UAAU,OAAO,WAAW,MAAM;AACtC,iBAAc,iBAAiB,eAAe,kBAAkB;EACjE,GAAE,EAAE;AAEL,YAAU,MAAM;AACd,UAAO,aAAa,QAAQ;AAC5B,iBAAc,oBAAoB,eAAe,kBAAkB;AACnE,iBAAc,oBAAoB,SAAS,eAAe,MAAM;EACjE,EAAC;CACH,EAAC;AAEF,QAAO,EACL,sBAAsB,MAAM;AAC1B,OAAK,iBAAQ,QAAQ,CACnB;AACF,yBAAuB,QAAQ;CAChC,EACF;AACF;;;;;AAMD,SAAgB,gBACdC,gBACAL,SACAC,UAAqC,MACrC;CACA,MAAMC,gBACF,SAAS,OAAO,iBAAiB,YAAY;CAEjD,MAAM,uBAAuB,aAAI,MAAM;AACvC,sBAAY,CAAC,cAAc;AACzB,OAAKC,6BAAa,iBAAQ,QAAQ,CAChC;EACF,MAAM,cAAc,OAAOG,UAAsB;AAC/C,QAAK,SAAS,MACZ;AAEF,SAAM,mBAAU;AAChB,SAAM,mBAAU;GAChB,MAAM,SAAS,MAAM;AACrB,QAAK,QAAQ,UAAU,UAAU,aAAa,QAAQ,OAAO,OAAO,CAClE;AAEF,OAAI,MAAM,WAAW,qBAAqB,OAAO;IAC/C,MAAM,cAAc,EAAE,eAAe,MAAO;AAC5C,6EACE,eACA,gBACA,YACD;GACF;EACF;AAED,gBAAc,iBAAiB,WAAW,YAAY;AAEtD,YAAU,MAAM,cAAc,oBAAoB,WAAW,YAAY,CAAC;CAC3E,EAAC;AAEF,QAAO;EACL,gBAAgB,MAAM;AACpB,QAAK,iBAAQ,QAAQ,CACnB;AAEF,wBAAqB,QAAQ;EAC9B;EACD,eAAe,MAAM;AACnB,QAAK,iBAAQ,QAAQ,CACnB;AAEF,wBAAqB,QAAQ;EAC9B;CACF;AACF"}
1
+ {"version":3,"file":"utils.cjs","names":["layerElement: HTMLElement","targetElement: HTMLElement","onPointerDownOutside?: (event: PointerDownOutsideEvent) => void","element?: Ref<HTMLElement | undefined>","enabled: MaybeRefOrGetter<boolean>","ownerDocument: Document","isClient","event: PointerEvent","onFocusOutside?: (event: FocusOutsideEvent) => void","event: FocusEvent"],"sources":["../../src/DismissableLayer/utils.ts"],"sourcesContent":[],"mappings":";;;;;;AAYA,MAAa,uBAAuB;AACpC,MAAa,gBAAgB;AAE7B,SAAgB,aAAaA,cAA2BC,eAA4B;AAClF,OAAM,yBAAyB,SAC7B,QAAO;CAET,MAAM,cAAc,cAAc,QAChC,2BACD;CAED,MAAM,YAAY,aAAa,QAAQ,qBAAqB,KACxD,eACA,aAAa,cACb,2BACD;CAEH,MAAM,WAAW,MAAM,KACrB,aAAa,cAAc,iBAAiB,2BAA2B,CACxE;AAED,KAAI,gBAAgB,cAAc,eAAe,SAAS,QAAQ,UAAU,GAAG,SAAS,QAAQ,YAAY,EAC1G,QAAO;KAGP,QAAO;AAEV;;;;;;AAOD,SAAgB,sBACdC,sBACAC,SACAC,UAAqC,MACrC;CACA,MAAMC,gBACF,SAAS,OAAO,iBAAiB,YAAY;CAEjD,MAAM,yBAAyB,aAAI,MAAM;CACzC,MAAM,iBAAiB,aAAI,MAAM,CAAE,EAAC;AAEpC,sBAAY,CAAC,cAAc;AACzB,OAAKC,6BAAa,iBAAQ,QAAQ,CAChC;EACF,MAAM,oBAAoB,OAAOC,UAAwB;GACvD,MAAM,SAAS,MAAM;AAErB,QAAK,SAAS,UAAU,OACtB;AAEF,OAAI,aAAa,QAAQ,OAAO,OAAO,EAAE;AACvC,2BAAuB,QAAQ;AAC/B;GACD;AAED,OAAI,MAAM,WAAW,uBAAuB,OAAO;IACjD,MAAM,cAAc,EAAE,eAAe,MAAO;IAE5C,SAAS,2CAA2C;AAClD,8EACE,sBACA,sBACA,YACD;IACF;;;;;;;;;;;;;AAcD,QAAI,MAAM,gBAAgB,SAAS;AACjC,mBAAc,oBAAoB,SAAS,eAAe,MAAM;AAChE,oBAAe,QAAQ;AACvB,mBAAc,iBAAiB,SAAS,eAAe,OAAO,EAC5D,MAAM,KACP,EAAC;IACH,MAEC,2CAA0C;GAE7C,MAIC,eAAc,oBAAoB,SAAS,eAAe,MAAM;AAElE,0BAAuB,QAAQ;EAChC;;;;;;;;;;;;;;EAcD,MAAM,UAAU,OAAO,WAAW,MAAM;AACtC,iBAAc,iBAAiB,eAAe,kBAAkB;EACjE,GAAE,EAAE;AAEL,YAAU,MAAM;AACd,UAAO,aAAa,QAAQ;AAC5B,iBAAc,oBAAoB,eAAe,kBAAkB;AACnE,iBAAc,oBAAoB,SAAS,eAAe,MAAM;EACjE,EAAC;CACH,EAAC;AAEF,QAAO,EACL,sBAAsB,MAAM;AAC1B,OAAK,iBAAQ,QAAQ,CACnB;AACF,yBAAuB,QAAQ;CAChC,EACF;AACF;;;;;AAMD,SAAgB,gBACdC,gBACAL,SACAC,UAAqC,MACrC;CACA,MAAMC,gBACF,SAAS,OAAO,iBAAiB,YAAY;CAEjD,MAAM,uBAAuB,aAAI,MAAM;AACvC,sBAAY,CAAC,cAAc;AACzB,OAAKC,6BAAa,iBAAQ,QAAQ,CAChC;EACF,MAAM,cAAc,OAAOG,UAAsB;AAC/C,QAAK,SAAS,MACZ;AAEF,SAAM,mBAAU;AAChB,SAAM,mBAAU;GAChB,MAAM,SAAS,MAAM;AACrB,QAAK,QAAQ,UAAU,UAAU,aAAa,QAAQ,OAAO,OAAO,CAClE;AAEF,OAAI,MAAM,WAAW,qBAAqB,OAAO;IAC/C,MAAM,cAAc,EAAE,eAAe,MAAO;AAC5C,6EACE,eACA,gBACA,YACD;GACF;EACF;AAED,gBAAc,iBAAiB,WAAW,YAAY;AAEtD,YAAU,MAAM,cAAc,oBAAoB,WAAW,YAAY,CAAC;CAC3E,EAAC;AAEF,QAAO;EACL,gBAAgB,MAAM;AACpB,QAAK,iBAAQ,QAAQ,CACnB;AAEF,wBAAqB,QAAQ;EAC9B;EACD,eAAe,MAAM;AACnB,QAAK,iBAAQ,QAAQ,CACnB;AAEF,wBAAqB,QAAQ;EAC9B;CACF;AACF"}
@@ -6,6 +6,7 @@ import { isClient } from "@vueuse/shared";
6
6
  const POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
7
7
  const FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
8
8
  function isLayerExist(layerElement, targetElement) {
9
+ if (!(targetElement instanceof Element)) return false;
9
10
  const targetLayer = targetElement.closest("[data-dismissable-layer]");
10
11
  const mainLayer = layerElement.dataset.dismissableLayer === "" ? layerElement : layerElement.querySelector("[data-dismissable-layer]");
11
12
  const nodeList = Array.from(layerElement.ownerDocument.querySelectorAll("[data-dismissable-layer]"));
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["layerElement: HTMLElement","targetElement: HTMLElement","onPointerDownOutside?: (event: PointerDownOutsideEvent) => void","element?: Ref<HTMLElement | undefined>","enabled: MaybeRefOrGetter<boolean>","ownerDocument: Document","event: PointerEvent","onFocusOutside?: (event: FocusOutsideEvent) => void","event: FocusEvent"],"sources":["../../src/DismissableLayer/utils.ts"],"sourcesContent":[],"mappings":";;;;;AAYA,MAAa,uBAAuB;AACpC,MAAa,gBAAgB;AAE7B,SAAS,aAAaA,cAA2BC,eAA4B;CAC3E,MAAM,cAAc,cAAc,QAChC,2BACD;CAED,MAAM,YAAY,aAAa,QAAQ,qBAAqB,KACxD,eACA,aAAa,cACb,2BACD;CAEH,MAAM,WAAW,MAAM,KACrB,aAAa,cAAc,iBAAiB,2BAA2B,CACxE;AAED,KAAI,gBAAgB,cAAc,eAAe,SAAS,QAAQ,UAAU,GAAG,SAAS,QAAQ,YAAY,EAC1G,QAAO;KAGP,QAAO;AAEV;;;;;;AAOD,SAAgB,sBACdC,sBACAC,SACAC,UAAqC,MACrC;CACA,MAAMC,gBACF,SAAS,OAAO,iBAAiB,YAAY;CAEjD,MAAM,yBAAyB,IAAI,MAAM;CACzC,MAAM,iBAAiB,IAAI,MAAM,CAAE,EAAC;AAEpC,aAAY,CAAC,cAAc;AACzB,OAAK,aAAa,QAAQ,QAAQ,CAChC;EACF,MAAM,oBAAoB,OAAOC,UAAwB;GACvD,MAAM,SAAS,MAAM;AAErB,QAAK,SAAS,UAAU,OACtB;AAEF,OAAI,aAAa,QAAQ,OAAO,OAAO,EAAE;AACvC,2BAAuB,QAAQ;AAC/B;GACD;AAED,OAAI,MAAM,WAAW,uBAAuB,OAAO;IACjD,MAAM,cAAc,EAAE,eAAe,MAAO;IAE5C,SAAS,2CAA2C;AAClD,kCACE,sBACA,sBACA,YACD;IACF;;;;;;;;;;;;;AAcD,QAAI,MAAM,gBAAgB,SAAS;AACjC,mBAAc,oBAAoB,SAAS,eAAe,MAAM;AAChE,oBAAe,QAAQ;AACvB,mBAAc,iBAAiB,SAAS,eAAe,OAAO,EAC5D,MAAM,KACP,EAAC;IACH,MAEC,2CAA0C;GAE7C,MAIC,eAAc,oBAAoB,SAAS,eAAe,MAAM;AAElE,0BAAuB,QAAQ;EAChC;;;;;;;;;;;;;;EAcD,MAAM,UAAU,OAAO,WAAW,MAAM;AACtC,iBAAc,iBAAiB,eAAe,kBAAkB;EACjE,GAAE,EAAE;AAEL,YAAU,MAAM;AACd,UAAO,aAAa,QAAQ;AAC5B,iBAAc,oBAAoB,eAAe,kBAAkB;AACnE,iBAAc,oBAAoB,SAAS,eAAe,MAAM;EACjE,EAAC;CACH,EAAC;AAEF,QAAO,EACL,sBAAsB,MAAM;AAC1B,OAAK,QAAQ,QAAQ,CACnB;AACF,yBAAuB,QAAQ;CAChC,EACF;AACF;;;;;AAMD,SAAgB,gBACdC,gBACAJ,SACAC,UAAqC,MACrC;CACA,MAAMC,gBACF,SAAS,OAAO,iBAAiB,YAAY;CAEjD,MAAM,uBAAuB,IAAI,MAAM;AACvC,aAAY,CAAC,cAAc;AACzB,OAAK,aAAa,QAAQ,QAAQ,CAChC;EACF,MAAM,cAAc,OAAOG,UAAsB;AAC/C,QAAK,SAAS,MACZ;AAEF,SAAM,UAAU;AAChB,SAAM,UAAU;GAChB,MAAM,SAAS,MAAM;AACrB,QAAK,QAAQ,UAAU,UAAU,aAAa,QAAQ,OAAO,OAAO,CAClE;AAEF,OAAI,MAAM,WAAW,qBAAqB,OAAO;IAC/C,MAAM,cAAc,EAAE,eAAe,MAAO;AAC5C,iCACE,eACA,gBACA,YACD;GACF;EACF;AAED,gBAAc,iBAAiB,WAAW,YAAY;AAEtD,YAAU,MAAM,cAAc,oBAAoB,WAAW,YAAY,CAAC;CAC3E,EAAC;AAEF,QAAO;EACL,gBAAgB,MAAM;AACpB,QAAK,QAAQ,QAAQ,CACnB;AAEF,wBAAqB,QAAQ;EAC9B;EACD,eAAe,MAAM;AACnB,QAAK,QAAQ,QAAQ,CACnB;AAEF,wBAAqB,QAAQ;EAC9B;CACF;AACF"}
1
+ {"version":3,"file":"utils.js","names":["layerElement: HTMLElement","targetElement: HTMLElement","onPointerDownOutside?: (event: PointerDownOutsideEvent) => void","element?: Ref<HTMLElement | undefined>","enabled: MaybeRefOrGetter<boolean>","ownerDocument: Document","event: PointerEvent","onFocusOutside?: (event: FocusOutsideEvent) => void","event: FocusEvent"],"sources":["../../src/DismissableLayer/utils.ts"],"sourcesContent":[],"mappings":";;;;;AAYA,MAAa,uBAAuB;AACpC,MAAa,gBAAgB;AAE7B,SAAgB,aAAaA,cAA2BC,eAA4B;AAClF,OAAM,yBAAyB,SAC7B,QAAO;CAET,MAAM,cAAc,cAAc,QAChC,2BACD;CAED,MAAM,YAAY,aAAa,QAAQ,qBAAqB,KACxD,eACA,aAAa,cACb,2BACD;CAEH,MAAM,WAAW,MAAM,KACrB,aAAa,cAAc,iBAAiB,2BAA2B,CACxE;AAED,KAAI,gBAAgB,cAAc,eAAe,SAAS,QAAQ,UAAU,GAAG,SAAS,QAAQ,YAAY,EAC1G,QAAO;KAGP,QAAO;AAEV;;;;;;AAOD,SAAgB,sBACdC,sBACAC,SACAC,UAAqC,MACrC;CACA,MAAMC,gBACF,SAAS,OAAO,iBAAiB,YAAY;CAEjD,MAAM,yBAAyB,IAAI,MAAM;CACzC,MAAM,iBAAiB,IAAI,MAAM,CAAE,EAAC;AAEpC,aAAY,CAAC,cAAc;AACzB,OAAK,aAAa,QAAQ,QAAQ,CAChC;EACF,MAAM,oBAAoB,OAAOC,UAAwB;GACvD,MAAM,SAAS,MAAM;AAErB,QAAK,SAAS,UAAU,OACtB;AAEF,OAAI,aAAa,QAAQ,OAAO,OAAO,EAAE;AACvC,2BAAuB,QAAQ;AAC/B;GACD;AAED,OAAI,MAAM,WAAW,uBAAuB,OAAO;IACjD,MAAM,cAAc,EAAE,eAAe,MAAO;IAE5C,SAAS,2CAA2C;AAClD,kCACE,sBACA,sBACA,YACD;IACF;;;;;;;;;;;;;AAcD,QAAI,MAAM,gBAAgB,SAAS;AACjC,mBAAc,oBAAoB,SAAS,eAAe,MAAM;AAChE,oBAAe,QAAQ;AACvB,mBAAc,iBAAiB,SAAS,eAAe,OAAO,EAC5D,MAAM,KACP,EAAC;IACH,MAEC,2CAA0C;GAE7C,MAIC,eAAc,oBAAoB,SAAS,eAAe,MAAM;AAElE,0BAAuB,QAAQ;EAChC;;;;;;;;;;;;;;EAcD,MAAM,UAAU,OAAO,WAAW,MAAM;AACtC,iBAAc,iBAAiB,eAAe,kBAAkB;EACjE,GAAE,EAAE;AAEL,YAAU,MAAM;AACd,UAAO,aAAa,QAAQ;AAC5B,iBAAc,oBAAoB,eAAe,kBAAkB;AACnE,iBAAc,oBAAoB,SAAS,eAAe,MAAM;EACjE,EAAC;CACH,EAAC;AAEF,QAAO,EACL,sBAAsB,MAAM;AAC1B,OAAK,QAAQ,QAAQ,CACnB;AACF,yBAAuB,QAAQ;CAChC,EACF;AACF;;;;;AAMD,SAAgB,gBACdC,gBACAJ,SACAC,UAAqC,MACrC;CACA,MAAMC,gBACF,SAAS,OAAO,iBAAiB,YAAY;CAEjD,MAAM,uBAAuB,IAAI,MAAM;AACvC,aAAY,CAAC,cAAc;AACzB,OAAK,aAAa,QAAQ,QAAQ,CAChC;EACF,MAAM,cAAc,OAAOG,UAAsB;AAC/C,QAAK,SAAS,MACZ;AAEF,SAAM,UAAU;AAChB,SAAM,UAAU;GAChB,MAAM,SAAS,MAAM;AACrB,QAAK,QAAQ,UAAU,UAAU,aAAa,QAAQ,OAAO,OAAO,CAClE;AAEF,OAAI,MAAM,WAAW,qBAAqB,OAAO;IAC/C,MAAM,cAAc,EAAE,eAAe,MAAO;AAC5C,iCACE,eACA,gBACA,YACD;GACF;EACF;AAED,gBAAc,iBAAiB,WAAW,YAAY;AAEtD,YAAU,MAAM,cAAc,oBAAoB,WAAW,YAAY,CAAC;CAC3E,EAAC;AAEF,QAAO;EACL,gBAAgB,MAAM;AACpB,QAAK,QAAQ,QAAQ,CACnB;AAEF,wBAAqB,QAAQ;EAC9B;EACD,eAAe,MAAM;AACnB,QAAK,QAAQ,QAAQ,CACnB;AAEF,wBAAqB,QAAQ;EAC9B;CACF;AACF"}
@@ -1,8 +1,11 @@
1
1
  const require_rolldown_runtime = require('../rolldown-runtime.cjs');
2
+ const require_shared_createContext = require('../shared/createContext.cjs');
3
+ const require_shared_useId = require('../shared/useId.cjs');
2
4
  const require_Primitive_Primitive = require('../Primitive/Primitive.cjs');
3
5
  const vue = require_rolldown_runtime.__toESM(require("vue"));
4
6
 
5
7
  //#region src/Menu/MenuGroup.vue?vue&type=script&setup=true&lang.ts
8
+ const [injectMenuGroupContext, provideMenuGroupContext] = require_shared_createContext.createContext("MenuGroup");
6
9
  var MenuGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
7
10
  __name: "MenuGroup",
8
11
  props: {
@@ -17,11 +20,13 @@ var MenuGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0,
17
20
  },
18
21
  setup(__props) {
19
22
  const props = __props;
23
+ const id = require_shared_useId.useId(void 0, "reka-menu-group");
24
+ provideMenuGroupContext({ id });
20
25
  return (_ctx, _cache) => {
21
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)({ role: "group" }, props), {
26
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)({ role: "group" }, props, { "aria-labelledby": (0, vue.unref)(id) }), {
22
27
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
23
28
  _: 3
24
- }, 16);
29
+ }, 16, ["aria-labelledby"]);
25
30
  };
26
31
  }
27
32
  });
@@ -37,4 +42,10 @@ Object.defineProperty(exports, 'MenuGroup_default', {
37
42
  return MenuGroup_default;
38
43
  }
39
44
  });
45
+ Object.defineProperty(exports, 'injectMenuGroupContext', {
46
+ enumerable: true,
47
+ get: function () {
48
+ return injectMenuGroupContext;
49
+ }
50
+ });
40
51
  //# sourceMappingURL=MenuGroup.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuGroup.cjs","names":[],"sources":["../../src/Menu/MenuGroup.vue","../../src/Menu/MenuGroup.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;EASA,MAAM,QAAQ;;gCAIZ,qBAKY,eAAA,sCAAA,EALZ,oBAKY,EAJV,MAAK,QAAO,GACJ,MAAK,EAAA;8BAEb,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuGroup.cjs","names":[],"sources":["../../src/Menu/MenuGroup.vue","../../src/Menu/MenuGroup.vue"],"sourcesContent":[],"mappings":";;;;;;;AAUA,MAAa,CAAC,wBAAwB,wBAAuB,GACzD,2CAAgC,YAAW;;;;;;;;;;;;;;EAM/C,MAAM,QAAQ;EAEd,MAAM,KAAK,mCAAiB,kBAAiB;AAC7C,0BAAwB,EAAE,GAAI,EAAA;;gCAI5B,qBAMY,eAAA,sCAAA,EANZ,oBAMY,EALV,MAAK,QAAO,GACJ,OAAK,EACZ,mBAAiB,eAAA,GAAE,CAAA,EAAA,EAAA;8BAEpB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -1,7 +1,10 @@
1
+ import { createContext } from "../shared/createContext.js";
2
+ import { useId } from "../shared/useId.js";
1
3
  import { Primitive } from "../Primitive/Primitive.js";
2
4
  import { createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
3
5
 
4
6
  //#region src/Menu/MenuGroup.vue?vue&type=script&setup=true&lang.ts
7
+ const [injectMenuGroupContext, provideMenuGroupContext] = createContext("MenuGroup");
5
8
  var MenuGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
6
9
  __name: "MenuGroup",
7
10
  props: {
@@ -16,11 +19,13 @@ var MenuGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
16
19
  },
17
20
  setup(__props) {
18
21
  const props = __props;
22
+ const id = useId(void 0, "reka-menu-group");
23
+ provideMenuGroupContext({ id });
19
24
  return (_ctx, _cache) => {
20
- return openBlock(), createBlock(unref(Primitive), mergeProps({ role: "group" }, props), {
25
+ return openBlock(), createBlock(unref(Primitive), mergeProps({ role: "group" }, props, { "aria-labelledby": unref(id) }), {
21
26
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
22
27
  _: 3
23
- }, 16);
28
+ }, 16, ["aria-labelledby"]);
24
29
  };
25
30
  }
26
31
  });
@@ -30,5 +35,5 @@ var MenuGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
30
35
  var MenuGroup_default = MenuGroup_vue_vue_type_script_setup_true_lang_default;
31
36
 
32
37
  //#endregion
33
- export { MenuGroup_default };
38
+ export { MenuGroup_default, injectMenuGroupContext };
34
39
  //# sourceMappingURL=MenuGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuGroup.js","names":[],"sources":["../../src/Menu/MenuGroup.vue","../../src/Menu/MenuGroup.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;EASA,MAAM,QAAQ;;uBAIZ,YAKY,MAAA,UAAA,EALZ,WAKY,EAJV,MAAK,QAAO,GACJ,MAAK,EAAA;qBAEb,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuGroup.js","names":[],"sources":["../../src/Menu/MenuGroup.vue","../../src/Menu/MenuGroup.vue"],"sourcesContent":[],"mappings":";;;;;;AAUA,MAAa,CAAC,wBAAwB,wBAAuB,GACzD,cAAgC,YAAW;;;;;;;;;;;;;;EAM/C,MAAM,QAAQ;EAEd,MAAM,KAAK,cAAiB,kBAAiB;AAC7C,0BAAwB,EAAE,GAAI,EAAA;;uBAI5B,YAMY,MAAA,UAAA,EANZ,WAMY,EALV,MAAK,QAAO,GACJ,OAAK,EACZ,mBAAiB,MAAA,GAAE,CAAA,EAAA,EAAA;qBAEpB,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -4,6 +4,7 @@ const require_shared_useForwardExpose = require('../shared/useForwardExpose.cjs'
4
4
  const require_Primitive_Primitive = require('../Primitive/Primitive.cjs');
5
5
  const require_Menu_utils = require('./utils.cjs');
6
6
  const require_Collection_Collection = require('../Collection/Collection.cjs');
7
+ const require_Menu_MenuRoot = require('./MenuRoot.cjs');
7
8
  const require_Menu_MenuContentImpl = require('./MenuContentImpl.cjs');
8
9
  const vue = require_rolldown_runtime.__toESM(require("vue"));
9
10
 
@@ -31,14 +32,14 @@ var MenuItemImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (
31
32
  },
32
33
  setup(__props) {
33
34
  const props = __props;
35
+ const menuContext = require_Menu_MenuRoot.injectMenuContext();
34
36
  const contentContext = require_Menu_MenuContentImpl.injectMenuContentContext();
35
37
  const { forwardRef, currentElement } = require_shared_useForwardExpose.useForwardExpose();
36
38
  const { CollectionItem } = require_Collection_Collection.useCollection();
37
39
  const isFocused = (0, vue.ref)(false);
38
40
  const isHighlighted = (0, vue.computed)(() => isFocused.value || contentContext.highlightedElement.value === currentElement.value);
39
41
  async function handlePointerMove(event) {
40
- if (event.defaultPrevented) return;
41
- if (!require_Menu_utils.isMouseEvent(event)) return;
42
+ if (event.defaultPrevented || !require_Menu_utils.isMouseEvent(event) || !menuContext.open.value) return;
42
43
  if (props.disabled) contentContext.onItemLeave(event);
43
44
  else {
44
45
  const defaultPrevented = contentContext.onItemEnter(event);
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemImpl.cjs","names":["textValue","$attrs","as","asChild","disabled"],"sources":["../../src/Menu/MenuItemImpl.vue","../../src/Menu/MenuItemImpl.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BA,MAAM,QAAQ;EAEd,MAAM,iBAAiB,uDAAyB;EAChD,MAAM,EAAE,YAAY,gBAAgB,GAAG,kDAAiB;EACxD,MAAM,EAAE,gBAAgB,GAAG,6CAAc;EAEzC,MAAM,YAAY,aAAI,MAAK;EAC3B,MAAM,gBAAgB,kBAAS,MAAM,UAAU,SAAU,eAAe,mBAAmB,UAAU,eAAe,MAAM;EAE1H,eAAe,kBAAkB,OAAqB;AACpD,OAAI,MAAM,iBACR;AACF,QAAK,gCAAa,MAAM,CACtB;AAEF,OAAI,MAAM,SACR,gBAAe,YAAY,MAAK;QAE7B;IACH,MAAM,mBAAmB,eAAe,YAAY,MAAK;AACzD,SAAK,kBAAkB;KACrB,MAAM,OAAO,MAAM;AACnB,oBAAe,mBAAmB,QAAQ;KAC1C,MAAM,iBAAiB,CAAC,SAAS,UAAW,EAAC,SAAS,kDAAkB,EAAE,WAAW,GAAE;AACvF,UAAK,eACH,MAAK,MAAM,EAAE,eAAe,KAAM,EAAA;IACtC;GACF;EACF;EAEA,eAAe,mBAAmB,OAAqB;AACrD,SAAM,mBAAS;AACf,OAAI,MAAM,iBACR;AACF,QAAK,gCAAa,MAAM,CACtB;AAEF,kBAAe,YAAY,MAAK;EAClC;;gCAIE,qBA+BiB,eAAA,eAAA,EAAA,EA/BA,OAAK,EAAA,WAAIA,KAAAA,UAAS;8BACjC,MA6BY,CA7BZ,qBA6BY,eAAA,sCAAA,EA7BZ,oBA6BY;KA5BT,KAAK,eAAA,WAAU;KAChB,MAAK;KACL,UAAS;OACDC,KAAAA,QAAM;KACb,IAAIC,KAAAA;KACJ,YAAUC,KAAAA;KACV,iBAAeC,KAAAA;KACf,iBAAeA,KAAAA,WAAQ;KACvB,oBAAkB,cAAA,QAAa;KAC/B,eAAa;KACb,gBAAc;KACd,SAAK,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,mBAAQ;UAAkB,MAAM,oBAAoBA,KAAAA,SAAQ;AAAoB,gBAAA,QAAS;AAAmB,qBAAA,eAAc,CAAC,mBAAmB,QAAQ,MAAM;;KAQ/M,QAAI,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,mBAAQ;UAAkB,MAAM,iBAAgB;AAAoB,gBAAA,QAAS;;;+BAQhI,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuItemImpl.cjs","names":["textValue","$attrs","as","asChild","disabled"],"sources":["../../src/Menu/MenuItemImpl.vue","../../src/Menu/MenuItemImpl.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,QAAQ;EAEd,MAAM,cAAc,yCAAkB;EACtC,MAAM,iBAAiB,uDAAyB;EAChD,MAAM,EAAE,YAAY,gBAAgB,GAAG,kDAAiB;EACxD,MAAM,EAAE,gBAAgB,GAAG,6CAAc;EAEzC,MAAM,YAAY,aAAI,MAAK;EAC3B,MAAM,gBAAgB,kBAAS,MAAM,UAAU,SAAU,eAAe,mBAAmB,UAAU,eAAe,MAAM;EAE1H,eAAe,kBAAkB,OAAqB;AACpD,OAAI,MAAM,qBAAqB,gCAAa,MAAM,KAAK,YAAY,KAAK,MACtE;AAEF,OAAI,MAAM,SACR,gBAAe,YAAY,MAAK;QAE7B;IACH,MAAM,mBAAmB,eAAe,YAAY,MAAK;AACzD,SAAK,kBAAkB;KACrB,MAAM,OAAO,MAAM;AACnB,oBAAe,mBAAmB,QAAQ;KAC1C,MAAM,iBAAiB,CAAC,SAAS,UAAW,EAAC,SAAS,kDAAkB,EAAE,WAAW,GAAE;AACvF,UAAK,eACH,MAAK,MAAM,EAAE,eAAe,KAAM,EAAA;IACtC;GACF;EACF;EAEA,eAAe,mBAAmB,OAAqB;AACrD,SAAM,mBAAS;AACf,OAAI,MAAM,iBACR;AACF,QAAK,gCAAa,MAAM,CACtB;AAEF,kBAAe,YAAY,MAAK;EAClC;;gCAIE,qBA+BiB,eAAA,eAAA,EAAA,EA/BA,OAAK,EAAA,WAAIA,KAAAA,UAAS;8BACjC,MA6BY,CA7BZ,qBA6BY,eAAA,sCAAA,EA7BZ,oBA6BY;KA5BT,KAAK,eAAA,WAAU;KAChB,MAAK;KACL,UAAS;OACDC,KAAAA,QAAM;KACb,IAAIC,KAAAA;KACJ,YAAUC,KAAAA;KACV,iBAAeC,KAAAA;KACf,iBAAeA,KAAAA,WAAQ;KACvB,oBAAkB,cAAA,QAAa;KAC/B,eAAa;KACb,gBAAc;KACd,SAAK,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,mBAAQ;UAAkB,MAAM,oBAAoBA,KAAAA,SAAQ;AAAoB,gBAAA,QAAS;AAAmB,qBAAA,eAAc,CAAC,mBAAmB,QAAQ,MAAM;;KAQ/M,QAAI,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,mBAAQ;UAAkB,MAAM,iBAAgB;AAAoB,gBAAA,QAAS;;;+BAQhI,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -3,6 +3,7 @@ import { useForwardExpose } from "../shared/useForwardExpose.js";
3
3
  import { Primitive } from "../Primitive/Primitive.js";
4
4
  import { isMouseEvent } from "./utils.js";
5
5
  import { useCollection } from "../Collection/Collection.js";
6
+ import { injectMenuContext } from "./MenuRoot.js";
6
7
  import { injectMenuContentContext } from "./MenuContentImpl.js";
7
8
  import { computed, createBlock, createVNode, defineComponent, mergeProps, nextTick, openBlock, ref, renderSlot, unref, withCtx } from "vue";
8
9
 
@@ -30,14 +31,14 @@ var MenuItemImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
30
31
  },
31
32
  setup(__props) {
32
33
  const props = __props;
34
+ const menuContext = injectMenuContext();
33
35
  const contentContext = injectMenuContentContext();
34
36
  const { forwardRef, currentElement } = useForwardExpose();
35
37
  const { CollectionItem } = useCollection();
36
38
  const isFocused = ref(false);
37
39
  const isHighlighted = computed(() => isFocused.value || contentContext.highlightedElement.value === currentElement.value);
38
40
  async function handlePointerMove(event) {
39
- if (event.defaultPrevented) return;
40
- if (!isMouseEvent(event)) return;
41
+ if (event.defaultPrevented || !isMouseEvent(event) || !menuContext.open.value) return;
41
42
  if (props.disabled) contentContext.onItemLeave(event);
42
43
  else {
43
44
  const defaultPrevented = contentContext.onItemEnter(event);
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemImpl.js","names":["textValue","$attrs","as","asChild","disabled"],"sources":["../../src/Menu/MenuItemImpl.vue","../../src/Menu/MenuItemImpl.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BA,MAAM,QAAQ;EAEd,MAAM,iBAAiB,0BAAyB;EAChD,MAAM,EAAE,YAAY,gBAAgB,GAAG,kBAAiB;EACxD,MAAM,EAAE,gBAAgB,GAAG,eAAc;EAEzC,MAAM,YAAY,IAAI,MAAK;EAC3B,MAAM,gBAAgB,SAAS,MAAM,UAAU,SAAU,eAAe,mBAAmB,UAAU,eAAe,MAAM;EAE1H,eAAe,kBAAkB,OAAqB;AACpD,OAAI,MAAM,iBACR;AACF,QAAK,aAAa,MAAM,CACtB;AAEF,OAAI,MAAM,SACR,gBAAe,YAAY,MAAK;QAE7B;IACH,MAAM,mBAAmB,eAAe,YAAY,MAAK;AACzD,SAAK,kBAAkB;KACrB,MAAM,OAAO,MAAM;AACnB,oBAAe,mBAAmB,QAAQ;KAC1C,MAAM,iBAAiB,CAAC,SAAS,UAAW,EAAC,SAAS,kBAAkB,EAAE,WAAW,GAAE;AACvF,UAAK,eACH,MAAK,MAAM,EAAE,eAAe,KAAM,EAAA;IACtC;GACF;EACF;EAEA,eAAe,mBAAmB,OAAqB;AACrD,SAAM,UAAS;AACf,OAAI,MAAM,iBACR;AACF,QAAK,aAAa,MAAM,CACtB;AAEF,kBAAe,YAAY,MAAK;EAClC;;uBAIE,YA+BiB,MAAA,eAAA,EAAA,EA/BA,OAAK,EAAA,WAAIA,KAAAA,UAAS;qBACjC,MA6BY,CA7BZ,YA6BY,MAAA,UAAA,EA7BZ,WA6BY;KA5BT,KAAK,MAAA,WAAU;KAChB,MAAK;KACL,UAAS;OACDC,KAAAA,QAAM;KACb,IAAIC,KAAAA;KACJ,YAAUC,KAAAA;KACV,iBAAeC,KAAAA;KACf,iBAAeA,KAAAA,WAAQ;KACvB,oBAAkB,cAAA,QAAa;KAC/B,eAAa;KACb,gBAAc;KACd,SAAK,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,UAAQ;UAAkB,MAAM,oBAAoBA,KAAAA,SAAQ;AAAoB,gBAAA,QAAS;AAAmB,YAAA,eAAc,CAAC,mBAAmB,QAAQ,MAAM;;KAQ/M,QAAI,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,UAAQ;UAAkB,MAAM,iBAAgB;AAAoB,gBAAA,QAAS;;;sBAQhI,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuItemImpl.js","names":["textValue","$attrs","as","asChild","disabled"],"sources":["../../src/Menu/MenuItemImpl.vue","../../src/Menu/MenuItemImpl.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,QAAQ;EAEd,MAAM,cAAc,mBAAkB;EACtC,MAAM,iBAAiB,0BAAyB;EAChD,MAAM,EAAE,YAAY,gBAAgB,GAAG,kBAAiB;EACxD,MAAM,EAAE,gBAAgB,GAAG,eAAc;EAEzC,MAAM,YAAY,IAAI,MAAK;EAC3B,MAAM,gBAAgB,SAAS,MAAM,UAAU,SAAU,eAAe,mBAAmB,UAAU,eAAe,MAAM;EAE1H,eAAe,kBAAkB,OAAqB;AACpD,OAAI,MAAM,qBAAqB,aAAa,MAAM,KAAK,YAAY,KAAK,MACtE;AAEF,OAAI,MAAM,SACR,gBAAe,YAAY,MAAK;QAE7B;IACH,MAAM,mBAAmB,eAAe,YAAY,MAAK;AACzD,SAAK,kBAAkB;KACrB,MAAM,OAAO,MAAM;AACnB,oBAAe,mBAAmB,QAAQ;KAC1C,MAAM,iBAAiB,CAAC,SAAS,UAAW,EAAC,SAAS,kBAAkB,EAAE,WAAW,GAAE;AACvF,UAAK,eACH,MAAK,MAAM,EAAE,eAAe,KAAM,EAAA;IACtC;GACF;EACF;EAEA,eAAe,mBAAmB,OAAqB;AACrD,SAAM,UAAS;AACf,OAAI,MAAM,iBACR;AACF,QAAK,aAAa,MAAM,CACtB;AAEF,kBAAe,YAAY,MAAK;EAClC;;uBAIE,YA+BiB,MAAA,eAAA,EAAA,EA/BA,OAAK,EAAA,WAAIA,KAAAA,UAAS;qBACjC,MA6BY,CA7BZ,YA6BY,MAAA,UAAA,EA7BZ,WA6BY;KA5BT,KAAK,MAAA,WAAU;KAChB,MAAK;KACL,UAAS;OACDC,KAAAA,QAAM;KACb,IAAIC,KAAAA;KACJ,YAAUC,KAAAA;KACV,iBAAeC,KAAAA;KACf,iBAAeA,KAAAA,WAAQ;KACvB,oBAAkB,cAAA,QAAa;KAC/B,eAAa;KACb,gBAAc;KACd,SAAK,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,UAAQ;UAAkB,MAAM,oBAAoBA,KAAAA,SAAQ;AAAoB,gBAAA,QAAS;AAAmB,YAAA,eAAc,CAAC,mBAAmB,QAAQ,MAAM;;KAQ/M,QAAI,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,UAAQ;UAAkB,MAAM,iBAAgB;AAAoB,gBAAA,QAAS;;;sBAQhI,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -1,5 +1,6 @@
1
1
  const require_rolldown_runtime = require('../rolldown-runtime.cjs');
2
2
  const require_Primitive_Primitive = require('../Primitive/Primitive.cjs');
3
+ const require_Menu_MenuGroup = require('./MenuGroup.cjs');
3
4
  const vue = require_rolldown_runtime.__toESM(require("vue"));
4
5
 
5
6
  //#region src/Menu/MenuLabel.vue?vue&type=script&setup=true&lang.ts
@@ -18,11 +19,12 @@ var MenuLabel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0,
18
19
  },
19
20
  setup(__props) {
20
21
  const props = __props;
22
+ const groupContext = require_Menu_MenuGroup.injectMenuGroupContext({ id: "" });
21
23
  return (_ctx, _cache) => {
22
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.normalizeProps)((0, vue.guardReactiveProps)(props)), {
24
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)(props, { id: (0, vue.unref)(groupContext).id || void 0 }), {
23
25
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
24
26
  _: 3
25
- }, 16);
27
+ }, 16, ["id"]);
26
28
  };
27
29
  }
28
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MenuLabel.cjs","names":[],"sources":["../../src/Menu/MenuLabel.vue","../../src/Menu/MenuLabel.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;EASA,MAAM,QAAQ;;gCAMZ,qBAEY,eAAA,sCAAA,EAAA,wBAAA,4BAFO,MAAK,CAAA,EAAA;8BACtB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuLabel.cjs","names":[],"sources":["../../src/Menu/MenuLabel.vue","../../src/Menu/MenuLabel.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;EAUA,MAAM,QAAQ;EAId,MAAM,eAAe,8CAAuB,EAAE,IAAI,GAAI,EAAA;;gCAIpD,qBAKY,eAAA,sCAAA,EALZ,oBACU,OAAK,EACZ,IAAI,eAAA,aAAY,CAAC;8BAElB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -1,5 +1,6 @@
1
1
  import { Primitive } from "../Primitive/Primitive.js";
2
- import { createBlock, defineComponent, guardReactiveProps, normalizeProps, openBlock, renderSlot, unref, withCtx } from "vue";
2
+ import { injectMenuGroupContext } from "./MenuGroup.js";
3
+ import { createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
3
4
 
4
5
  //#region src/Menu/MenuLabel.vue?vue&type=script&setup=true&lang.ts
5
6
  var MenuLabel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
@@ -17,11 +18,12 @@ var MenuLabel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
17
18
  },
18
19
  setup(__props) {
19
20
  const props = __props;
21
+ const groupContext = injectMenuGroupContext({ id: "" });
20
22
  return (_ctx, _cache) => {
21
- return openBlock(), createBlock(unref(Primitive), normalizeProps(guardReactiveProps(props)), {
23
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, { id: unref(groupContext).id || void 0 }), {
22
24
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
23
25
  _: 3
24
- }, 16);
26
+ }, 16, ["id"]);
25
27
  };
26
28
  }
27
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MenuLabel.js","names":[],"sources":["../../src/Menu/MenuLabel.vue","../../src/Menu/MenuLabel.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;EASA,MAAM,QAAQ;;uBAMZ,YAEY,MAAA,UAAA,EAAA,eAAA,mBAFO,MAAK,CAAA,EAAA;qBACtB,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuLabel.js","names":[],"sources":["../../src/Menu/MenuLabel.vue","../../src/Menu/MenuLabel.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;EAUA,MAAM,QAAQ;EAId,MAAM,eAAe,uBAAuB,EAAE,IAAI,GAAI,EAAA;;uBAIpD,YAKY,MAAA,UAAA,EALZ,WACU,OAAK,EACZ,IAAI,MAAA,aAAY,CAAC;qBAElB,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -23,9 +23,9 @@ var MonthPickerGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
23
23
  const disabled = (0, vue.computed)(() => rootContext.disabled.value ? true : void 0);
24
24
  const readonly = (0, vue.computed)(() => rootContext.readonly.value ? true : void 0);
25
25
  return (_ctx, _cache) => {
26
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)(props, {
26
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, [(0, vue.createCommentVNode)("\n role=\"application\" is intentional: it ensures screen readers like NVDA pass\n keyboard events (arrow keys) to the web app instead of intercepting them\n for virtual cursor navigation. This is the same pattern used by React Aria.\n "), (0, vue.createVNode)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)(props, {
27
27
  tabindex: "-1",
28
- role: "grid",
28
+ role: "application",
29
29
  "aria-labelledby": (0, vue.unref)(rootContext).headingId,
30
30
  "aria-readonly": readonly.value,
31
31
  "aria-disabled": disabled.value,
@@ -40,7 +40,7 @@ var MonthPickerGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
40
40
  "aria-disabled",
41
41
  "data-readonly",
42
42
  "data-disabled"
43
- ]);
43
+ ])], 2112);
44
44
  };
45
45
  }
46
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MonthPickerGrid.cjs","names":[],"sources":["../../src/MonthPicker/MonthPickerGrid.vue","../../src/MonthPicker/MonthPickerGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,kEAA6B;EACjD,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;gCAI3E,qBAWY,eAAA,sCAAA,EAXZ,oBACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,mBAAiB,eAAA,YAAW,CAAC;IAC7B,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;;8BAExB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MonthPickerGrid.cjs","names":[],"sources":["../../src/MonthPicker/MonthPickerGrid.vue","../../src/MonthPicker/MonthPickerGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,kEAA6B;EACjD,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;iFAI3E,4BAAA,yPAIG,EACH,qBAWY,eAAA,sCAAA,EAXZ,oBACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,mBAAiB,eAAA,YAAW,CAAC;IAC7B,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;;8BAExB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Primitive } from "../Primitive/Primitive.js";
2
2
  import { injectMonthPickerRootContext } from "./MonthPickerRoot.js";
3
- import { computed, createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
3
+ import { Fragment, computed, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
4
4
 
5
5
  //#region src/MonthPicker/MonthPickerGrid.vue?vue&type=script&setup=true&lang.ts
6
6
  var MonthPickerGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
@@ -22,9 +22,9 @@ var MonthPickerGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
22
22
  const disabled = computed(() => rootContext.disabled.value ? true : void 0);
23
23
  const readonly = computed(() => rootContext.readonly.value ? true : void 0);
24
24
  return (_ctx, _cache) => {
25
- return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
25
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode("\n role=\"application\" is intentional: it ensures screen readers like NVDA pass\n keyboard events (arrow keys) to the web app instead of intercepting them\n for virtual cursor navigation. This is the same pattern used by React Aria.\n "), createVNode(unref(Primitive), mergeProps(props, {
26
26
  tabindex: "-1",
27
- role: "grid",
27
+ role: "application",
28
28
  "aria-labelledby": unref(rootContext).headingId,
29
29
  "aria-readonly": readonly.value,
30
30
  "aria-disabled": disabled.value,
@@ -39,7 +39,7 @@ var MonthPickerGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
39
39
  "aria-disabled",
40
40
  "data-readonly",
41
41
  "data-disabled"
42
- ]);
42
+ ])], 2112);
43
43
  };
44
44
  }
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MonthPickerGrid.js","names":[],"sources":["../../src/MonthPicker/MonthPickerGrid.vue","../../src/MonthPicker/MonthPickerGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,8BAA6B;EACjD,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;uBAI3E,YAWY,MAAA,UAAA,EAXZ,WACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,mBAAiB,MAAA,YAAW,CAAC;IAC7B,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;;qBAExB,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MonthPickerGrid.js","names":[],"sources":["../../src/MonthPicker/MonthPickerGrid.vue","../../src/MonthPicker/MonthPickerGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,8BAA6B;EACjD,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;2DAI3E,mBAAA,yPAIG,EACH,YAWY,MAAA,UAAA,EAXZ,WACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,mBAAiB,MAAA,YAAW,CAAC;IAC7B,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;;qBAExB,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -23,9 +23,9 @@ var MonthRangePickerGrid_vue_vue_type_script_setup_true_lang_default = /* @__PUR
23
23
  const disabled = (0, vue.computed)(() => rootContext.disabled.value ? true : void 0);
24
24
  const readonly = (0, vue.computed)(() => rootContext.readonly.value ? true : void 0);
25
25
  return (_ctx, _cache) => {
26
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)(props, {
26
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, [(0, vue.createCommentVNode)("\n role=\"application\" is intentional: it ensures screen readers like NVDA pass\n keyboard events (arrow keys) to the web app instead of intercepting them\n for virtual cursor navigation. This is the same pattern used by React Aria.\n "), (0, vue.createVNode)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)(props, {
27
27
  tabindex: "-1",
28
- role: "grid",
28
+ role: "application",
29
29
  "aria-labelledby": (0, vue.unref)(rootContext).headingId,
30
30
  "aria-readonly": readonly.value,
31
31
  "aria-disabled": disabled.value,
@@ -40,7 +40,7 @@ var MonthRangePickerGrid_vue_vue_type_script_setup_true_lang_default = /* @__PUR
40
40
  "aria-disabled",
41
41
  "data-readonly",
42
42
  "data-disabled"
43
- ]);
43
+ ])], 2112);
44
44
  };
45
45
  }
46
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MonthRangePickerGrid.cjs","names":[],"sources":["../../src/MonthRangePicker/MonthRangePickerGrid.vue","../../src/MonthRangePicker/MonthRangePickerGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,iFAAkC;EACtD,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;gCAI3E,qBAWY,eAAA,sCAAA,EAXZ,oBACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,mBAAiB,eAAA,YAAW,CAAC;IAC7B,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;;8BAExB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MonthRangePickerGrid.cjs","names":[],"sources":["../../src/MonthRangePicker/MonthRangePickerGrid.vue","../../src/MonthRangePicker/MonthRangePickerGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,iFAAkC;EACtD,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;iFAI3E,4BAAA,yPAIG,EACH,qBAWY,eAAA,sCAAA,EAXZ,oBACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,mBAAiB,eAAA,YAAW,CAAC;IAC7B,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;;8BAExB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Primitive } from "../Primitive/Primitive.js";
2
2
  import { injectMonthRangePickerRootContext } from "./MonthRangePickerRoot.js";
3
- import { computed, createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
3
+ import { Fragment, computed, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
4
4
 
5
5
  //#region src/MonthRangePicker/MonthRangePickerGrid.vue?vue&type=script&setup=true&lang.ts
6
6
  var MonthRangePickerGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
@@ -22,9 +22,9 @@ var MonthRangePickerGrid_vue_vue_type_script_setup_true_lang_default = /* @__PUR
22
22
  const disabled = computed(() => rootContext.disabled.value ? true : void 0);
23
23
  const readonly = computed(() => rootContext.readonly.value ? true : void 0);
24
24
  return (_ctx, _cache) => {
25
- return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
25
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode("\n role=\"application\" is intentional: it ensures screen readers like NVDA pass\n keyboard events (arrow keys) to the web app instead of intercepting them\n for virtual cursor navigation. This is the same pattern used by React Aria.\n "), createVNode(unref(Primitive), mergeProps(props, {
26
26
  tabindex: "-1",
27
- role: "grid",
27
+ role: "application",
28
28
  "aria-labelledby": unref(rootContext).headingId,
29
29
  "aria-readonly": readonly.value,
30
30
  "aria-disabled": disabled.value,
@@ -39,7 +39,7 @@ var MonthRangePickerGrid_vue_vue_type_script_setup_true_lang_default = /* @__PUR
39
39
  "aria-disabled",
40
40
  "data-readonly",
41
41
  "data-disabled"
42
- ]);
42
+ ])], 2112);
43
43
  };
44
44
  }
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MonthRangePickerGrid.js","names":[],"sources":["../../src/MonthRangePicker/MonthRangePickerGrid.vue","../../src/MonthRangePicker/MonthRangePickerGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,mCAAkC;EACtD,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;uBAI3E,YAWY,MAAA,UAAA,EAXZ,WACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,mBAAiB,MAAA,YAAW,CAAC;IAC7B,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;;qBAExB,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MonthRangePickerGrid.js","names":[],"sources":["../../src/MonthRangePicker/MonthRangePickerGrid.vue","../../src/MonthRangePicker/MonthRangePickerGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,mCAAkC;EACtD,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;2DAI3E,mBAAA,yPAIG,EACH,YAWY,MAAA,UAAA,EAXZ,WACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,mBAAiB,MAAA,YAAW,CAAC;IAC7B,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;;qBAExB,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -23,9 +23,9 @@ var RangeCalendarGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
23
23
  const disabled = (0, vue.computed)(() => rootContext.disabled.value ? true : void 0);
24
24
  const readonly = (0, vue.computed)(() => rootContext.readonly.value ? true : void 0);
25
25
  return (_ctx, _cache) => {
26
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)(props, {
26
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, [(0, vue.createCommentVNode)("\n role=\"application\" is intentional: it ensures screen readers like NVDA pass\n keyboard events (arrow keys) to the web app instead of intercepting them\n for virtual cursor navigation. This is the same pattern used by React Aria.\n "), (0, vue.createVNode)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)(props, {
27
27
  tabindex: "-1",
28
- role: "grid",
28
+ role: "application",
29
29
  "aria-readonly": readonly.value,
30
30
  "aria-disabled": disabled.value,
31
31
  "data-readonly": readonly.value && "",
@@ -39,7 +39,7 @@ var RangeCalendarGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
39
39
  "aria-disabled",
40
40
  "data-readonly",
41
41
  "data-disabled"
42
- ]);
42
+ ])], 2112);
43
43
  };
44
44
  }
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RangeCalendarGrid.cjs","names":[],"sources":["../../src/RangeCalendar/RangeCalendarGrid.vue","../../src/RangeCalendar/RangeCalendarGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,wEAA+B;EAEnD,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;gCAI3E,qBAWY,eAAA,sCAAA,EAXZ,oBACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;IACvB,cAAU,OAAA,OAAA,OAAA,KAAA,CAAA,WAAE,eAAA,YAAW,CAAC,aAAa;;8BAEtC,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"RangeCalendarGrid.cjs","names":[],"sources":["../../src/RangeCalendar/RangeCalendarGrid.vue","../../src/RangeCalendar/RangeCalendarGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,wEAA+B;EAEnD,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,kBAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;iFAI3E,4BAAA,yPAIG,EACH,qBAWY,eAAA,sCAAA,EAXZ,oBACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;IACvB,cAAU,OAAA,OAAA,OAAA,KAAA,CAAA,WAAE,eAAA,YAAW,CAAC,aAAa;;8BAEtC,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Primitive } from "../Primitive/Primitive.js";
2
2
  import { injectRangeCalendarRootContext } from "./RangeCalendarRoot.js";
3
- import { computed, createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
3
+ import { Fragment, computed, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
4
4
 
5
5
  //#region src/RangeCalendar/RangeCalendarGrid.vue?vue&type=script&setup=true&lang.ts
6
6
  var RangeCalendarGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
@@ -22,9 +22,9 @@ var RangeCalendarGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
22
22
  const disabled = computed(() => rootContext.disabled.value ? true : void 0);
23
23
  const readonly = computed(() => rootContext.readonly.value ? true : void 0);
24
24
  return (_ctx, _cache) => {
25
- return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
25
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode("\n role=\"application\" is intentional: it ensures screen readers like NVDA pass\n keyboard events (arrow keys) to the web app instead of intercepting them\n for virtual cursor navigation. This is the same pattern used by React Aria.\n "), createVNode(unref(Primitive), mergeProps(props, {
26
26
  tabindex: "-1",
27
- role: "grid",
27
+ role: "application",
28
28
  "aria-readonly": readonly.value,
29
29
  "aria-disabled": disabled.value,
30
30
  "data-readonly": readonly.value && "",
@@ -38,7 +38,7 @@ var RangeCalendarGrid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
38
38
  "aria-disabled",
39
39
  "data-readonly",
40
40
  "data-disabled"
41
- ]);
41
+ ])], 2112);
42
42
  };
43
43
  }
44
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RangeCalendarGrid.js","names":[],"sources":["../../src/RangeCalendar/RangeCalendarGrid.vue","../../src/RangeCalendar/RangeCalendarGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,gCAA+B;EAEnD,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;uBAI3E,YAWY,MAAA,UAAA,EAXZ,WACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;IACvB,cAAU,OAAA,OAAA,OAAA,KAAA,CAAA,WAAE,MAAA,YAAW,CAAC,aAAa;;qBAEtC,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"RangeCalendarGrid.js","names":[],"sources":["../../src/RangeCalendar/RangeCalendarGrid.vue","../../src/RangeCalendar/RangeCalendarGrid.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EAEd,MAAM,cAAc,gCAA+B;EAEnD,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;EAC7E,MAAM,WAAW,SAAS,MAAM,YAAY,SAAS,QAAQ,cAAgB;;2DAI3E,mBAAA,yPAIG,EACH,YAWY,MAAA,UAAA,EAXZ,WACU,OAAK;IACb,UAAS;IACT,MAAK;IACJ,iBAAe,SAAA;IACf,iBAAe,SAAA;IACf,iBAAe,SAAA,SAAQ;IACvB,iBAAe,SAAA,SAAQ;IACvB,cAAU,OAAA,OAAA,OAAA,KAAA,CAAA,WAAE,MAAA,YAAW,CAAC,aAAa;;qBAEtC,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}