reka-ui 2.6.0 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/dist/Accordion/AccordionItem.cjs +3 -2
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  3. package/dist/Accordion/AccordionItem.js +3 -2
  4. package/dist/Accordion/AccordionItem.js.map +1 -1
  5. package/dist/Calendar/useCalendar.cjs.map +1 -1
  6. package/dist/Calendar/useCalendar.js.map +1 -1
  7. package/dist/Combobox/ComboboxCancel.cjs +1 -1
  8. package/dist/Combobox/ComboboxCancel.cjs.map +1 -1
  9. package/dist/Combobox/ComboboxCancel.js +1 -1
  10. package/dist/Combobox/ComboboxCancel.js.map +1 -1
  11. package/dist/Combobox/ComboboxContentImpl.cjs +3 -1
  12. package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
  13. package/dist/Combobox/ComboboxContentImpl.js +3 -1
  14. package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
  15. package/dist/Combobox/ComboboxInput.cjs +2 -2
  16. package/dist/Combobox/ComboboxInput.cjs.map +1 -1
  17. package/dist/Combobox/ComboboxInput.js +2 -2
  18. package/dist/Combobox/ComboboxInput.js.map +1 -1
  19. package/dist/Combobox/ComboboxRoot.cjs +7 -5
  20. package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
  21. package/dist/Combobox/ComboboxRoot.js +7 -5
  22. package/dist/Combobox/ComboboxRoot.js.map +1 -1
  23. package/dist/Combobox/ComboboxVirtualizer.cjs +1 -1
  24. package/dist/Combobox/ComboboxVirtualizer.js +1 -1
  25. package/dist/DateField/DateFieldRoot.cjs +6 -1
  26. package/dist/DateField/DateFieldRoot.cjs.map +1 -1
  27. package/dist/DateField/DateFieldRoot.js +6 -1
  28. package/dist/DateField/DateFieldRoot.js.map +1 -1
  29. package/dist/DatePicker/DatePickerRoot.cjs +0 -8
  30. package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
  31. package/dist/DatePicker/DatePickerRoot.js +0 -8
  32. package/dist/DatePicker/DatePickerRoot.js.map +1 -1
  33. package/dist/DateRangeField/DateRangeFieldRoot.cjs +2 -1
  34. package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
  35. package/dist/DateRangeField/DateRangeFieldRoot.js +2 -1
  36. package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
  37. package/dist/DateRangePicker/DateRangePickerRoot.cjs +0 -8
  38. package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
  39. package/dist/DateRangePicker/DateRangePickerRoot.js +0 -8
  40. package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
  41. package/dist/DismissableLayer/DismissableLayer.cjs +4 -3
  42. package/dist/DismissableLayer/DismissableLayer.cjs.map +1 -1
  43. package/dist/DismissableLayer/DismissableLayer.js +4 -3
  44. package/dist/DismissableLayer/DismissableLayer.js.map +1 -1
  45. package/dist/Editable/EditableRoot.cjs +1 -1
  46. package/dist/Editable/EditableRoot.js +1 -1
  47. package/dist/Listbox/ListboxVirtualizer.cjs +3 -2
  48. package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
  49. package/dist/Listbox/ListboxVirtualizer.js +3 -2
  50. package/dist/Listbox/ListboxVirtualizer.js.map +1 -1
  51. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
  52. package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
  53. package/dist/PinInput/PinInputInput.cjs +3 -0
  54. package/dist/PinInput/PinInputInput.cjs.map +1 -1
  55. package/dist/PinInput/PinInputInput.js +3 -0
  56. package/dist/PinInput/PinInputInput.js.map +1 -1
  57. package/dist/PinInput/PinInputRoot.cjs +1 -1
  58. package/dist/PinInput/PinInputRoot.js +1 -1
  59. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +3 -3
  60. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
  61. package/dist/RangeCalendar/RangeCalendarCellTrigger.js +3 -3
  62. package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
  63. package/dist/RangeCalendar/RangeCalendarRoot.cjs +10 -8
  64. package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
  65. package/dist/RangeCalendar/RangeCalendarRoot.js +10 -8
  66. package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
  67. package/dist/RangeCalendar/useRangeCalendar.cjs +1 -1
  68. package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
  69. package/dist/RangeCalendar/useRangeCalendar.js +1 -1
  70. package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
  71. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs +3 -2
  72. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs.map +1 -1
  73. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js +3 -2
  74. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js.map +1 -1
  75. package/dist/Select/SelectArrow.cjs +1 -3
  76. package/dist/Select/SelectArrow.cjs.map +1 -1
  77. package/dist/Select/SelectArrow.js +1 -3
  78. package/dist/Select/SelectArrow.js.map +1 -1
  79. package/dist/Select/SelectContent.cjs +4 -0
  80. package/dist/Select/SelectContent.cjs.map +1 -1
  81. package/dist/Select/SelectContent.js +4 -0
  82. package/dist/Select/SelectContent.js.map +1 -1
  83. package/dist/Select/SelectContentImpl.cjs +7 -2
  84. package/dist/Select/SelectContentImpl.cjs.map +1 -1
  85. package/dist/Select/SelectContentImpl.js +7 -2
  86. package/dist/Select/SelectContentImpl.js.map +1 -1
  87. package/dist/Select/SelectItem.cjs.map +1 -1
  88. package/dist/Select/SelectItem.js.map +1 -1
  89. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  90. package/dist/Splitter/SplitterGroup.js.map +1 -1
  91. package/dist/Tabs/TabsIndicator.cjs +18 -12
  92. package/dist/Tabs/TabsIndicator.cjs.map +1 -1
  93. package/dist/Tabs/TabsIndicator.js +19 -13
  94. package/dist/Tabs/TabsIndicator.js.map +1 -1
  95. package/dist/Tooltip/TooltipContentImpl.cjs +2 -13
  96. package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
  97. package/dist/Tooltip/TooltipContentImpl.js +3 -14
  98. package/dist/Tooltip/TooltipContentImpl.js.map +1 -1
  99. package/dist/Tree/TreeRoot.cjs +1 -1
  100. package/dist/Tree/TreeRoot.cjs.map +1 -1
  101. package/dist/Tree/TreeRoot.js +1 -1
  102. package/dist/Tree/TreeRoot.js.map +1 -1
  103. package/dist/Tree/TreeVirtualizer.cjs +3 -2
  104. package/dist/Tree/TreeVirtualizer.cjs.map +1 -1
  105. package/dist/Tree/TreeVirtualizer.js +3 -2
  106. package/dist/Tree/TreeVirtualizer.js.map +1 -1
  107. package/dist/date/useDateField.cjs +5 -6
  108. package/dist/date/useDateField.cjs.map +1 -1
  109. package/dist/date/useDateField.js +5 -6
  110. package/dist/date/useDateField.js.map +1 -1
  111. package/dist/index.d.cts +824 -819
  112. package/dist/index.d.cts.map +1 -1
  113. package/dist/index.d.ts +813 -808
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/shared/useFormControl.cjs +1 -1
  116. package/dist/shared/useFormControl.cjs.map +1 -1
  117. package/dist/shared/useFormControl.js +3 -3
  118. package/dist/shared/useFormControl.js.map +1 -1
  119. package/dist/shared/useForwardExpose.cjs +10 -1
  120. package/dist/shared/useForwardExpose.cjs.map +1 -1
  121. package/dist/shared/useForwardExpose.js +10 -1
  122. package/dist/shared/useForwardExpose.js.map +1 -1
  123. package/dist/shared/useGraceArea.cjs +3 -0
  124. package/dist/shared/useGraceArea.cjs.map +1 -1
  125. package/dist/shared/useGraceArea.js +4 -1
  126. package/dist/shared/useGraceArea.js.map +1 -1
  127. package/package.json +3 -3
  128. package/src/Accordion/AccordionItem.vue +7 -2
  129. package/src/Calendar/useCalendar.ts +3 -3
  130. package/src/Combobox/ComboboxCancel.vue +4 -3
  131. package/src/Combobox/ComboboxContentImpl.vue +3 -2
  132. package/src/Combobox/ComboboxInput.vue +3 -3
  133. package/src/Combobox/ComboboxRoot.vue +5 -6
  134. package/src/DateField/DateFieldRoot.vue +3 -0
  135. package/src/DatePicker/DatePickerRoot.vue +1 -1
  136. package/src/DateRangeField/DateRangeFieldRoot.vue +1 -0
  137. package/src/DateRangePicker/DateRangePickerRoot.vue +1 -1
  138. package/src/DismissableLayer/DismissableLayer.vue +5 -4
  139. package/src/Editable/EditableRoot.vue +1 -1
  140. package/src/Listbox/ListboxVirtualizer.vue +5 -2
  141. package/src/NavigationMenu/NavigationMenuContentImpl.vue +1 -1
  142. package/src/NumberField/NumberFieldRoot.vue +1 -1
  143. package/src/PinInput/PinInputInput.vue +6 -0
  144. package/src/PinInput/PinInputRoot.vue +3 -3
  145. package/src/Presence/usePresence.ts +1 -1
  146. package/src/Primitive/Primitive.ts +19 -19
  147. package/src/RangeCalendar/RangeCalendarCellTrigger.vue +8 -2
  148. package/src/RangeCalendar/RangeCalendarRoot.vue +10 -27
  149. package/src/RangeCalendar/useRangeCalendar.ts +1 -1
  150. package/src/ScrollArea/ScrollAreaScrollbarImpl.vue +4 -2
  151. package/src/ScrollArea/ScrollAreaScrollbarVisible.vue +1 -1
  152. package/src/Select/SelectArrow.vue +1 -3
  153. package/src/Select/SelectContentImpl.vue +6 -5
  154. package/src/Select/SelectItem.vue +1 -1
  155. package/src/Splitter/SplitterGroup.vue +7 -7
  156. package/src/Splitter/SplitterPanel.vue +1 -1
  157. package/src/Splitter/utils/registry.ts +1 -1
  158. package/src/Tabs/TabsIndicator.vue +18 -12
  159. package/src/Tooltip/TooltipContentImpl.vue +3 -20
  160. package/src/Tooltip/TooltipTrigger.vue +4 -4
  161. package/src/Tree/TreeRoot.vue +1 -1
  162. package/src/Tree/TreeVirtualizer.vue +5 -2
  163. package/src/index.ts +1 -0
  164. package/src/shared/date/useDateField.ts +12 -7
  165. package/src/shared/index.ts +1 -1
  166. package/src/shared/useFormControl.ts +2 -2
  167. package/src/shared/useForwardExpose.ts +17 -1
  168. package/src/shared/useGraceArea.ts +8 -2
  169. package/src/shared/useId.ts +1 -1
  170. package/src/shared/useStateMachine.ts +1 -1
  171. package/src/shared/withDefault.ts +1 -1
@@ -4,7 +4,7 @@ const __vueuse_core = require_rolldown_runtime.__toESM(require("@vueuse/core"));
4
4
 
5
5
  //#region src/shared/useFormControl.ts
6
6
  function useFormControl(el) {
7
- return (0, vue.computed)(() => (0, __vueuse_core.toValue)(el) ? Boolean((0, __vueuse_core.unrefElement)(el)?.closest("form")) : true);
7
+ return (0, vue.computed)(() => (0, vue.toValue)(el) ? Boolean((0, __vueuse_core.unrefElement)(el)?.closest("form")) : true);
8
8
  }
9
9
 
10
10
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"useFormControl.cjs","names":["el: MaybeElementRef"],"sources":["../../src/shared/useFormControl.ts"],"sourcesContent":[],"mappings":";;;;;AAIA,SAAgB,eAAeA,IAAqB;AAElD,QAAO,kBAAS,MAAM,2BAAQ,GAAG,GAAG,QAAQ,gCAAa,GAAG,EAAE,QAAQ,OAAO,CAAC,GAAG,KAAK;AACvF"}
1
+ {"version":3,"file":"useFormControl.cjs","names":["el: MaybeElementRef"],"sources":["../../src/shared/useFormControl.ts"],"sourcesContent":[],"mappings":";;;;;AAIA,SAAgB,eAAeA,IAAqB;AAElD,QAAO,kBAAS,MAAM,iBAAQ,GAAG,GAAG,QAAQ,gCAAa,GAAG,EAAE,QAAQ,OAAO,CAAC,GAAG,KAAK;AACvF"}
@@ -1,9 +1,9 @@
1
- import { computed } from "vue";
2
- import { toValue as toValue$1, unrefElement } from "@vueuse/core";
1
+ import { computed, toValue } from "vue";
2
+ import { unrefElement } from "@vueuse/core";
3
3
 
4
4
  //#region src/shared/useFormControl.ts
5
5
  function useFormControl(el) {
6
- return computed(() => toValue$1(el) ? Boolean(unrefElement(el)?.closest("form")) : true);
6
+ return computed(() => toValue(el) ? Boolean(unrefElement(el)?.closest("form")) : true);
7
7
  }
8
8
 
9
9
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"useFormControl.js","names":["el: MaybeElementRef"],"sources":["../../src/shared/useFormControl.ts"],"sourcesContent":[],"mappings":";;;;AAIA,SAAgB,eAAeA,IAAqB;AAElD,QAAO,SAAS,MAAM,UAAQ,GAAG,GAAG,QAAQ,aAAa,GAAG,EAAE,QAAQ,OAAO,CAAC,GAAG,KAAK;AACvF"}
1
+ {"version":3,"file":"useFormControl.js","names":["el: MaybeElementRef"],"sources":["../../src/shared/useFormControl.ts"],"sourcesContent":[],"mappings":";;;;AAIA,SAAgB,eAAeA,IAAqB;AAElD,QAAO,SAAS,MAAM,QAAQ,GAAG,GAAG,QAAQ,aAAa,GAAG,EAAE,QAAQ,OAAO,CAAC,GAAG,KAAK;AACvF"}
@@ -35,7 +35,16 @@ function useForwardExpose() {
35
35
  configurable: true,
36
36
  get: () => ref$1 instanceof Element ? ref$1 : ref$1.$el
37
37
  });
38
- instance.exposed = ret;
38
+ if (!(ref$1 instanceof Element) && !Object.hasOwn(ref$1, "$el")) {
39
+ const childExposed = ref$1.$.exposed;
40
+ const merged = Object.assign({}, ret);
41
+ for (const key in childExposed) Object.defineProperty(merged, key, {
42
+ enumerable: true,
43
+ configurable: true,
44
+ get: () => childExposed[key]
45
+ });
46
+ instance.exposed = merged;
47
+ }
39
48
  }
40
49
  return {
41
50
  forwardRef,
@@ -1 +1 @@
1
- {"version":3,"file":"useForwardExpose.cjs","names":["localExpose: Record<string, any> | null","ret: Record<string, any>","ref: Element | T | null","ref"],"sources":["../../src/shared/useForwardExpose.ts"],"sourcesContent":[],"mappings":";;;;;AAKA,SAAgB,mBAAsD;CACpE,MAAM,WAAW,6BAAoB;CAErC,MAAM,aAAa,cAAyB;CAC5C,MAAM,iBAAiB,kBAAsB,MAAM;AAGjD,SAAO,CAAC,SAAS,UAAW,EAAC,SAAS,WAAW,OAAO,IAAI,SAAS,GAAG,WAAW,OAAO,IAAI,qBAAqB,gCAAa,WAAW;CAC5I,EAAC;CAIF,MAAMA,cAA0C,OAAO,OAAO,CAAE,GAAE,SAAS,QAAQ;CACnF,MAAMC,MAA2B,CAAE;AAGnC,MAAK,MAAM,OAAO,SAAS,MACzB,QAAO,eAAe,KAAK,KAAK;EAC9B,YAAY;EACZ,cAAc;EACd,KAAK,MAAM,SAAS,MAAM;CAC3B,EAAC;AAIJ,KAAI,OAAO,KAAK,YAAY,CAAC,SAAS,EACpC,MAAK,MAAM,OAAO,YAChB,QAAO,eAAe,KAAK,KAAK;EAC9B,YAAY;EACZ,cAAc;EACd,KAAK,MAAM,YAAa;CACzB,EAAC;AAKN,QAAO,eAAe,KAAK,OAAO;EAChC,YAAY;EACZ,cAAc;EACd,KAAK,MAAM,SAAS,MAAM;CAC3B,EAAC;AACF,UAAS,UAAU;CAEnB,SAAS,WAAWC,OAAyB;AAC3C,aAAW,QAAQC;AAEnB,OAAKA,MACH;AAGF,SAAO,eAAe,KAAK,OAAO;GAChC,YAAY;GACZ,cAAc;GACd,KAAK,MAAOA,iBAAe,UAAUA,QAAMA,MAAI;EAChD,EAAC;AAEF,WAAS,UAAU;CACpB;AAED,QAAO;EAAE;EAAY;EAAY;CAAgB;AAClD"}
1
+ {"version":3,"file":"useForwardExpose.cjs","names":["localExpose: Record<string, any> | null","ret: Record<string, any>","ref: Element | T | null","ref"],"sources":["../../src/shared/useForwardExpose.ts"],"sourcesContent":[],"mappings":";;;;;AAKA,SAAgB,mBAAsD;CACpE,MAAM,WAAW,6BAAoB;CAErC,MAAM,aAAa,cAAyB;CAC5C,MAAM,iBAAiB,kBAAsB,MAAM;AAGjD,SAAO,CAAC,SAAS,UAAW,EAAC,SAAS,WAAW,OAAO,IAAI,SAAS,GAAG,WAAW,OAAO,IAAI,qBAAqB,gCAAa,WAAW;CAC5I,EAAC;CAIF,MAAMA,cAA0C,OAAO,OAAO,CAAE,GAAE,SAAS,QAAQ;CACnF,MAAMC,MAA2B,CAAE;AAGnC,MAAK,MAAM,OAAO,SAAS,MACzB,QAAO,eAAe,KAAK,KAAK;EAC9B,YAAY;EACZ,cAAc;EACd,KAAK,MAAM,SAAS,MAAM;CAC3B,EAAC;AAIJ,KAAI,OAAO,KAAK,YAAY,CAAC,SAAS,EACpC,MAAK,MAAM,OAAO,YAChB,QAAO,eAAe,KAAK,KAAK;EAC9B,YAAY;EACZ,cAAc;EACd,KAAK,MAAM,YAAa;CACzB,EAAC;AAKN,QAAO,eAAe,KAAK,OAAO;EAChC,YAAY;EACZ,cAAc;EACd,KAAK,MAAM,SAAS,MAAM;CAC3B,EAAC;AACF,UAAS,UAAU;CAEnB,SAAS,WAAWC,OAAyB;AAC3C,aAAW,QAAQC;AAEnB,OAAKA,MACH;AAGF,SAAO,eAAe,KAAK,OAAO;GAChC,YAAY;GACZ,cAAc;GACd,KAAK,MAAOA,iBAAe,UAAUA,QAAMA,MAAI;EAChD,EAAC;AAIF,QAAMA,iBAAe,aAAa,OAAO,OAAOA,OAAK,MAAM,EAAE;GAE3D,MAAM,eAAeA,MAAI,EAAE;GAC3B,MAAM,SAAS,OAAO,OAAO,CAAE,GAAE,IAAI;AAErC,QAAK,MAAM,OAAO,aAChB,QAAO,eAAe,QAAQ,KAAK;IACjC,YAAY;IACZ,cAAc;IACd,KAAK,MAAM,aAAa;GACzB,EAAC;AAGJ,YAAS,UAAU;EACpB;CACF;AAED,QAAO;EAAE;EAAY;EAAY;CAAgB;AAClD"}
@@ -34,7 +34,16 @@ function useForwardExpose() {
34
34
  configurable: true,
35
35
  get: () => ref$1 instanceof Element ? ref$1 : ref$1.$el
36
36
  });
37
- instance.exposed = ret;
37
+ if (!(ref$1 instanceof Element) && !Object.hasOwn(ref$1, "$el")) {
38
+ const childExposed = ref$1.$.exposed;
39
+ const merged = Object.assign({}, ret);
40
+ for (const key in childExposed) Object.defineProperty(merged, key, {
41
+ enumerable: true,
42
+ configurable: true,
43
+ get: () => childExposed[key]
44
+ });
45
+ instance.exposed = merged;
46
+ }
38
47
  }
39
48
  return {
40
49
  forwardRef,
@@ -1 +1 @@
1
- {"version":3,"file":"useForwardExpose.js","names":["localExpose: Record<string, any> | null","ret: Record<string, any>","ref: Element | T | null","ref"],"sources":["../../src/shared/useForwardExpose.ts"],"sourcesContent":[],"mappings":";;;;AAKA,SAAgB,mBAAsD;CACpE,MAAM,WAAW,oBAAoB;CAErC,MAAM,aAAa,KAAyB;CAC5C,MAAM,iBAAiB,SAAsB,MAAM;AAGjD,SAAO,CAAC,SAAS,UAAW,EAAC,SAAS,WAAW,OAAO,IAAI,SAAS,GAAG,WAAW,OAAO,IAAI,qBAAqB,aAAa,WAAW;CAC5I,EAAC;CAIF,MAAMA,cAA0C,OAAO,OAAO,CAAE,GAAE,SAAS,QAAQ;CACnF,MAAMC,MAA2B,CAAE;AAGnC,MAAK,MAAM,OAAO,SAAS,MACzB,QAAO,eAAe,KAAK,KAAK;EAC9B,YAAY;EACZ,cAAc;EACd,KAAK,MAAM,SAAS,MAAM;CAC3B,EAAC;AAIJ,KAAI,OAAO,KAAK,YAAY,CAAC,SAAS,EACpC,MAAK,MAAM,OAAO,YAChB,QAAO,eAAe,KAAK,KAAK;EAC9B,YAAY;EACZ,cAAc;EACd,KAAK,MAAM,YAAa;CACzB,EAAC;AAKN,QAAO,eAAe,KAAK,OAAO;EAChC,YAAY;EACZ,cAAc;EACd,KAAK,MAAM,SAAS,MAAM;CAC3B,EAAC;AACF,UAAS,UAAU;CAEnB,SAAS,WAAWC,OAAyB;AAC3C,aAAW,QAAQC;AAEnB,OAAKA,MACH;AAGF,SAAO,eAAe,KAAK,OAAO;GAChC,YAAY;GACZ,cAAc;GACd,KAAK,MAAOA,iBAAe,UAAUA,QAAMA,MAAI;EAChD,EAAC;AAEF,WAAS,UAAU;CACpB;AAED,QAAO;EAAE;EAAY;EAAY;CAAgB;AAClD"}
1
+ {"version":3,"file":"useForwardExpose.js","names":["localExpose: Record<string, any> | null","ret: Record<string, any>","ref: Element | T | null","ref"],"sources":["../../src/shared/useForwardExpose.ts"],"sourcesContent":[],"mappings":";;;;AAKA,SAAgB,mBAAsD;CACpE,MAAM,WAAW,oBAAoB;CAErC,MAAM,aAAa,KAAyB;CAC5C,MAAM,iBAAiB,SAAsB,MAAM;AAGjD,SAAO,CAAC,SAAS,UAAW,EAAC,SAAS,WAAW,OAAO,IAAI,SAAS,GAAG,WAAW,OAAO,IAAI,qBAAqB,aAAa,WAAW;CAC5I,EAAC;CAIF,MAAMA,cAA0C,OAAO,OAAO,CAAE,GAAE,SAAS,QAAQ;CACnF,MAAMC,MAA2B,CAAE;AAGnC,MAAK,MAAM,OAAO,SAAS,MACzB,QAAO,eAAe,KAAK,KAAK;EAC9B,YAAY;EACZ,cAAc;EACd,KAAK,MAAM,SAAS,MAAM;CAC3B,EAAC;AAIJ,KAAI,OAAO,KAAK,YAAY,CAAC,SAAS,EACpC,MAAK,MAAM,OAAO,YAChB,QAAO,eAAe,KAAK,KAAK;EAC9B,YAAY;EACZ,cAAc;EACd,KAAK,MAAM,YAAa;CACzB,EAAC;AAKN,QAAO,eAAe,KAAK,OAAO;EAChC,YAAY;EACZ,cAAc;EACd,KAAK,MAAM,SAAS,MAAM;CAC3B,EAAC;AACF,UAAS,UAAU;CAEnB,SAAS,WAAWC,OAAyB;AAC3C,aAAW,QAAQC;AAEnB,OAAKA,MACH;AAGF,SAAO,eAAe,KAAK,OAAO;GAChC,YAAY;GACZ,cAAc;GACd,KAAK,MAAOA,iBAAe,UAAUA,QAAMA,MAAI;EAChD,EAAC;AAIF,QAAMA,iBAAe,aAAa,OAAO,OAAOA,OAAK,MAAM,EAAE;GAE3D,MAAM,eAAeA,MAAI,EAAE;GAC3B,MAAM,SAAS,OAAO,OAAO,CAAE,GAAE,IAAI;AAErC,QAAK,MAAM,OAAO,aAChB,QAAO,eAAe,QAAQ,KAAK;IACjC,YAAY;IACZ,cAAc;IACd,KAAK,MAAM,aAAa;GACzB,EAAC;AAGJ,YAAS,UAAU;EACpB;CACF;AAED,QAAO;EAAE;EAAY;EAAY;CAAgB;AAClD"}
@@ -5,6 +5,9 @@ const __vueuse_shared = require_rolldown_runtime.__toESM(require("@vueuse/shared
5
5
  //#region src/shared/useGraceArea.ts
6
6
  function useGraceArea(triggerElement, containerElement) {
7
7
  const isPointerInTransit = (0, __vueuse_shared.refAutoReset)(false, 300);
8
+ (0, __vueuse_shared.tryOnScopeDispose)(() => {
9
+ isPointerInTransit.value = false;
10
+ });
8
11
  const pointerGraceArea = (0, vue.ref)(null);
9
12
  const pointerExit = (0, __vueuse_shared.createEventHook)();
10
13
  function handleRemoveGraceArea() {
@@ -1 +1 @@
1
- {"version":3,"file":"useGraceArea.cjs","names":["triggerElement: Ref<HTMLElement | undefined>","containerElement: Ref<HTMLElement | undefined>","event: PointerEvent","hoverTarget: HTMLElement","point: Point","rect: DOMRect","exitPoint: Point","exitSide: Side","paddedExitPoints: Point[]","polygon: Polygon","points: Readonly<Array<P>>","newPoints: Array<P>","a: Point","b: Point","upperHull: Array<P>","lowerHull: Array<P>"],"sources":["../../src/shared/useGraceArea.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"useGraceArea.cjs","names":["triggerElement: Ref<HTMLElement | undefined>","containerElement: Ref<HTMLElement | undefined>","event: PointerEvent","hoverTarget: HTMLElement","point: Point","rect: DOMRect","exitPoint: Point","exitSide: Side","paddedExitPoints: Point[]","polygon: Polygon","points: Readonly<Array<P>>","newPoints: Array<P>","a: Point","b: Point","upperHull: Array<P>","lowerHull: Array<P>"],"sources":["../../src/shared/useGraceArea.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import { ref, watchEffect } from "vue";
2
- import { createEventHook, refAutoReset } from "@vueuse/shared";
2
+ import { createEventHook, refAutoReset, tryOnScopeDispose } from "@vueuse/shared";
3
3
 
4
4
  //#region src/shared/useGraceArea.ts
5
5
  function useGraceArea(triggerElement, containerElement) {
6
6
  const isPointerInTransit = refAutoReset(false, 300);
7
+ tryOnScopeDispose(() => {
8
+ isPointerInTransit.value = false;
9
+ });
7
10
  const pointerGraceArea = ref(null);
8
11
  const pointerExit = createEventHook();
9
12
  function handleRemoveGraceArea() {
@@ -1 +1 @@
1
- {"version":3,"file":"useGraceArea.js","names":["triggerElement: Ref<HTMLElement | undefined>","containerElement: Ref<HTMLElement | undefined>","event: PointerEvent","hoverTarget: HTMLElement","point: Point","rect: DOMRect","exitPoint: Point","exitSide: Side","paddedExitPoints: Point[]","polygon: Polygon","points: Readonly<Array<P>>","newPoints: Array<P>","a: Point","b: Point","upperHull: Array<P>","lowerHull: Array<P>"],"sources":["../../src/shared/useGraceArea.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"useGraceArea.js","names":["triggerElement: Ref<HTMLElement | undefined>","containerElement: Ref<HTMLElement | undefined>","event: PointerEvent","hoverTarget: HTMLElement","point: Point","rect: DOMRect","exitPoint: Point","exitSide: Side","paddedExitPoints: Point[]","polygon: Polygon","points: Readonly<Array<P>>","newPoints: Array<P>","a: Point","b: Point","upperHull: Array<P>","lowerHull: Array<P>"],"sources":["../../src/shared/useGraceArea.ts"],"sourcesContent":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "reka-ui",
3
3
  "type": "module",
4
- "version": "2.6.0",
4
+ "version": "2.6.2",
5
5
  "description": "Vue port for Radix UI Primitives.",
6
6
  "author": "UnoVue Contributors (https://github.com/unovue)",
7
7
  "license": "MIT",
@@ -91,13 +91,13 @@
91
91
  "@tsconfig/node18": "^18.2.4",
92
92
  "@types/jsdom": "^27.0.0",
93
93
  "@types/node": "^24.0.13",
94
- "@vitejs/plugin-vue": "^6.0.1",
94
+ "@vitejs/plugin-vue": "^6.0.3",
95
95
  "@vitest/coverage-istanbul": "^3.2.4",
96
96
  "@vue/test-utils": "^2.4.6",
97
97
  "@vue/tsconfig": "^0.7.0",
98
98
  "jsdom": "^26.1.0",
99
99
  "tsdown": "^0.12.9",
100
- "vite": "^7.1.10",
100
+ "vite": "^7.3.0",
101
101
  "vitest": "^3.2.4",
102
102
  "vitest-axe": "0.1.0",
103
103
  "vitest-canvas-mock": "^0.3.3",
@@ -43,7 +43,12 @@ export const [injectAccordionItemContext, provideAccordionItemContext]
43
43
  import { computed } from 'vue'
44
44
  import { CollapsibleRoot } from '@/Collapsible'
45
45
 
46
- const props = defineProps<AccordionItemProps>()
46
+ const props = withDefaults(
47
+ defineProps<AccordionItemProps>(),
48
+ {
49
+ unmountOnHide: undefined,
50
+ },
51
+ )
47
52
 
48
53
  defineSlots<{
49
54
  default?: (props: {
@@ -115,7 +120,7 @@ function handleArrowKey(e: KeyboardEvent) {
115
120
  :open="open"
116
121
  :as="props.as"
117
122
  :as-child="props.asChild"
118
- :unmount-on-hide="rootContext.unmountOnHide.value"
123
+ :unmount-on-hide="props.unmountOnHide ?? rootContext.unmountOnHide.value"
119
124
  @keydown.up.down.left.right.home.end="handleArrowKey"
120
125
  >
121
126
  <slot :open="open" />
@@ -327,9 +327,9 @@ export function useCalendar(props: UseCalendarProps) {
327
327
  const endMonthYear = formatter.fullYear(endMonth, headingFormatOptions.value)
328
328
 
329
329
  const content
330
- = startMonthYear === endMonthYear
331
- ? `${startMonthName} - ${endMonthName} ${endMonthYear}`
332
- : `${startMonthName} ${startMonthYear} - ${endMonthName} ${endMonthYear}`
330
+ = startMonthYear === endMonthYear
331
+ ? `${startMonthName} - ${endMonthName} ${endMonthYear}`
332
+ : `${startMonthName} ${startMonthYear} - ${endMonthName} ${endMonthYear}`
333
333
 
334
334
  return content
335
335
  })
@@ -23,9 +23,10 @@ function handleClick() {
23
23
  if (rootContext.inputElement.value) {
24
24
  rootContext.inputElement.value.value = ''
25
25
  rootContext.inputElement.value.focus()
26
- if (rootContext.resetModelValueOnClear?.value) {
27
- rootContext.modelValue.value = rootContext.multiple.value ? [] : null
28
- }
26
+ }
27
+
28
+ if (rootContext.resetModelValueOnClear?.value) {
29
+ rootContext.modelValue.value = rootContext.multiple.value ? [] : null
29
30
  }
30
31
  }
31
32
  </script>
@@ -3,7 +3,7 @@ import type { Ref } from 'vue'
3
3
  import type { DismissableLayerEmits, DismissableLayerProps } from '@/DismissableLayer'
4
4
  import type { PopperContentProps } from '@/Popper'
5
5
 
6
- import { createContext, useForwardExpose, useForwardProps, useHideOthers } from '@/shared'
6
+ import { createContext, getActiveElement, useForwardExpose, useForwardProps, useHideOthers } from '@/shared'
7
7
  import { useBodyScrollLock } from '@/shared/useBodyScrollLock'
8
8
 
9
9
  export type ComboboxContentImplEmits = DismissableLayerEmits
@@ -80,7 +80,8 @@ onMounted(() => {
80
80
  })
81
81
 
82
82
  onUnmounted(() => {
83
- if (isInputWithinContent.value) {
83
+ const activeElement = getActiveElement()
84
+ if (isInputWithinContent.value && (!activeElement || activeElement === document.body)) {
84
85
  rootContext.triggerElement.value?.focus()
85
86
  }
86
87
  })
@@ -96,10 +96,10 @@ watch(rootContext.modelValue, async () => {
96
96
  resetSearchTerm()
97
97
  }, { immediate: true, deep: true })
98
98
 
99
- watch(rootContext.filterState, () => {
99
+ watch(rootContext.filterState, (_newValue, oldValue) => {
100
100
  // we exclude virtualized list as the state would be constantly updated,
101
- // and only change highlight when there is no highlighted item
102
- if (!rootContext.isVirtual.value && !rootContext.highlightedElement.value) {
101
+ // and only change highlight when previously there were no items displayed
102
+ if (!rootContext.isVirtual.value && (oldValue.count === 0)) {
103
103
  listboxContext.highlightFirstItem()
104
104
  }
105
105
  })
@@ -132,16 +132,15 @@ async function onOpenChange(val: boolean) {
132
132
  await nextTick()
133
133
  primitiveElement.value?.highlightSelected()
134
134
  isUserInputted.value = true
135
+ inputElement.value?.focus()
135
136
  }
136
137
  else {
137
138
  isUserInputted.value = false
139
+ setTimeout(() => {
140
+ if (!val && props.resetSearchTermOnBlur)
141
+ resetSearchTerm.trigger()
142
+ }, 1)
138
143
  }
139
-
140
- inputElement.value?.focus()
141
- setTimeout(() => {
142
- if (!val && props.resetSearchTermOnBlur)
143
- resetSearchTerm.trigger()
144
- }, 1)
145
144
  }
146
145
 
147
146
  const resetSearchTerm = createEventHook()
@@ -303,12 +303,15 @@ defineExpose({
303
303
  <VisuallyHidden
304
304
  :id="id"
305
305
  as="input"
306
+ type="date"
306
307
  feature="focusable"
307
308
  tabindex="-1"
308
309
  :value="modelValue ? modelValue.toString() : ''"
309
310
  :name="name"
310
311
  :disabled="disabled"
311
312
  :required="required"
313
+ :max="maxValue"
314
+ :min="minValue"
312
315
  @focus="Array.from(segmentElements)?.[0]?.focus()"
313
316
  />
314
317
  </Primitive>
@@ -44,7 +44,7 @@ type DatePickerRootContext = {
44
44
  closeOnSelect: Ref<boolean>
45
45
  }
46
46
 
47
- export type DatePickerRootProps = DateFieldRootProps & PopoverRootProps & Pick<CalendarRootProps, 'isDateDisabled' | 'pagedNavigation' | 'weekStartsOn' | 'weekdayFormat' | 'fixedWeeks' | 'numberOfMonths' | 'preventDeselect'> & {
47
+ export type DatePickerRootProps = Omit<DateFieldRootProps, 'as' | 'asChild'> & PopoverRootProps & Pick<CalendarRootProps, 'isDateDisabled' | 'pagedNavigation' | 'weekStartsOn' | 'weekdayFormat' | 'fixedWeeks' | 'numberOfMonths' | 'preventDeselect'> & {
48
48
  /** Whether or not to close the popover on date select */
49
49
  closeOnSelect?: boolean
50
50
  }
@@ -383,6 +383,7 @@ defineExpose({
383
383
  <slot
384
384
  :model-value="modelValue"
385
385
  :segments="segmentContents"
386
+ :is-invalid="isInvalid"
386
387
  />
387
388
 
388
389
  <VisuallyHidden
@@ -49,7 +49,7 @@ type DateRangePickerRootContext = {
49
49
  closeOnSelect?: Ref<boolean>
50
50
  }
51
51
 
52
- export type DateRangePickerRootProps = DateRangeFieldRootProps & PopoverRootProps & Pick<RangeCalendarRootProps, 'isDateDisabled' | 'pagedNavigation' | 'weekStartsOn' | 'weekdayFormat' | 'fixedWeeks' | 'numberOfMonths' | 'preventDeselect' | 'isDateUnavailable' | 'isDateHighlightable' | 'allowNonContiguousRanges' | 'fixedDate' | 'maximumDays'> & {
52
+ export type DateRangePickerRootProps = Omit<DateRangeFieldRootProps, 'as' | 'asChild'> & PopoverRootProps & Pick<RangeCalendarRootProps, 'isDateDisabled' | 'pagedNavigation' | 'weekStartsOn' | 'weekdayFormat' | 'fixedWeeks' | 'numberOfMonths' | 'preventDeselect' | 'isDateUnavailable' | 'isDateHighlightable' | 'allowNonContiguousRanges' | 'fixedDate' | 'maximumDays'> & {
53
53
  /** Whether or not to close the popover on range select */
54
54
  closeOnSelect?: boolean
55
55
  }
@@ -11,7 +11,7 @@ import {
11
11
  reactive,
12
12
  watchEffect,
13
13
  } from 'vue'
14
- import { useForwardExpose } from '@/shared'
14
+ import { isNullish, useForwardExpose } from '@/shared'
15
15
 
16
16
  export interface DismissableLayerProps extends PrimitiveProps {
17
17
  /**
@@ -56,6 +56,7 @@ export type DismissableLayerPrivateEmits = DismissableLayerEmits & {
56
56
  export const context = reactive({
57
57
  layersRoot: new Set<HTMLElement>(),
58
58
  layersWithOutsidePointerEventsDisabled: new Set<HTMLElement>(),
59
+ originalBodyPointerEvents: undefined as string | undefined,
59
60
  branches: new Set<HTMLElement>(),
60
61
  })
61
62
  </script>
@@ -137,13 +138,12 @@ onKeyStroke('Escape', (event) => {
137
138
  emits('dismiss')
138
139
  })
139
140
 
140
- let originalBodyPointerEvents: string
141
141
  watchEffect((cleanupFn) => {
142
142
  if (!layerElement.value)
143
143
  return
144
144
  if (props.disableOutsidePointerEvents) {
145
145
  if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
146
- originalBodyPointerEvents = ownerDocument.value.body.style.pointerEvents
146
+ context.originalBodyPointerEvents = ownerDocument.value.body.style.pointerEvents
147
147
  ownerDocument.value.body.style.pointerEvents = 'none'
148
148
  }
149
149
  context.layersWithOutsidePointerEventsDisabled.add(layerElement.value)
@@ -154,8 +154,9 @@ watchEffect((cleanupFn) => {
154
154
  if (
155
155
  props.disableOutsidePointerEvents
156
156
  && context.layersWithOutsidePointerEventsDisabled.size === 1
157
+ && !isNullish(context.originalBodyPointerEvents)
157
158
  ) {
158
- ownerDocument.value.body.style.pointerEvents = originalBodyPointerEvents
159
+ ownerDocument.value.body.style.pointerEvents = context.originalBodyPointerEvents
159
160
  }
160
161
  })
161
162
  })
@@ -168,7 +168,7 @@ function submit() {
168
168
  isEditing.value = false
169
169
 
170
170
  emits('update:state', 'submit')
171
- emits('submit', modelValue.value)
171
+ emits('submit', inputValue.value)
172
172
  }
173
173
 
174
174
  function handleDismiss() {
@@ -5,7 +5,7 @@ export interface ListboxVirtualizerProps<T extends AcceptableValue = AcceptableV
5
5
  /** Number of items rendered outside the visible area */
6
6
  overscan?: number
7
7
  /** Estimated size (in px) of each item */
8
- estimateSize?: number
8
+ estimateSize?: number | ((index: number) => number)
9
9
  /** Text content for each item to achieve type-ahead feature */
10
10
  textContent?: (option: T) => string
11
11
  }
@@ -64,7 +64,10 @@ const virtualizer = useVirtualizer(
64
64
  get scrollPaddingEnd() { return padding.value.end },
65
65
  get count() { return props.options.length },
66
66
  get horizontal() { return rootContext.orientation.value === 'horizontal' },
67
- estimateSize() {
67
+ estimateSize(index) {
68
+ if (typeof props.estimateSize === 'function')
69
+ return props.estimateSize(index)
70
+
68
71
  return props.estimateSize ?? 28
69
72
  },
70
73
  getScrollElement() { return parentEl.value },
@@ -103,7 +103,7 @@ function handlePointerDownOutside(ev: PointerDownOutsideEvent) {
103
103
  i.ref.contains(target),
104
104
  )
105
105
  const isRootViewport
106
- = menuContext.isRootMenu && menuContext.viewport.value?.contains(target)
106
+ = menuContext.isRootMenu && menuContext.viewport.value?.contains(target)
107
107
 
108
108
  if (isTrigger || isRootViewport || !menuContext.isRootMenu)
109
109
  ev.preventDefault()
@@ -19,7 +19,7 @@ export interface NumberFieldRootProps extends PrimitiveProps, FormFieldProps {
19
19
  stepSnapping?: boolean
20
20
  /** Formatting options for the value displayed in the number field. This also affects what characters are allowed to be typed by the user. */
21
21
  formatOptions?: Intl.NumberFormatOptions
22
- /** The locale to use for formatting dates */
22
+ /** The locale to use for formatting and currencies */
23
23
  locale?: string
24
24
  /** When `true`, prevents the user from interacting with the Number Field. */
25
25
  disabled?: boolean
@@ -98,6 +98,12 @@ function handleFocus(event: FocusEvent) {
98
98
 
99
99
  if (!target.value)
100
100
  target.placeholder = ''
101
+
102
+ // #2266, check again after DOM flushes
103
+ setTimeout(() => {
104
+ if (!target.value)
105
+ target.placeholder = ''
106
+ })
101
107
  }
102
108
 
103
109
  function handleBlur(event: FocusEvent) {
@@ -13,8 +13,8 @@ export type PinInputType = 'text' | 'number'
13
13
  export type PinInputValue<Type extends PinInputType> = [Type] extends ['number'] ? number[] : string[]
14
14
 
15
15
  // provide the mixed arrays because the `type` is dynamic in the context
16
- export type PinInputContextValue<Type extends PinInputType = 'text'> =
17
- Type extends 'number'
16
+ export type PinInputContextValue<Type extends PinInputType = 'text'>
17
+ = Type extends 'number'
18
18
  ? Type extends 'string'
19
19
  ? string[] | number[]
20
20
  : number[]
@@ -29,7 +29,7 @@ export interface PinInputRootProps<Type extends PinInputType = 'text'> extends P
29
29
  /** The controlled checked state of the pin input. Can be binded as `v-model`. */
30
30
  modelValue?: PinInputValue<Type> | null
31
31
  /** The default value of the pin inputs when it is initially rendered. Use when you do not need to control its checked state. */
32
- defaultValue?: PinInputValue<Type>[]
32
+ defaultValue?: PinInputValue<Type>
33
33
  /** The placeholder character to use for empty pin-inputs. */
34
34
  placeholder?: string
35
35
  /** When `true`, pin inputs will be treated as password. */
@@ -1,8 +1,8 @@
1
1
  import type { Ref } from 'vue'
2
- import { useStateMachine } from '@/shared'
3
2
  import { defaultWindow } from '@vueuse/core'
4
3
  import { isClient } from '@vueuse/shared'
5
4
  import { computed, nextTick, onUnmounted, ref, watch } from 'vue'
5
+ import { useStateMachine } from '@/shared'
6
6
 
7
7
  export function usePresence(
8
8
  present: Ref<boolean>,
@@ -2,25 +2,25 @@ import type { Component, PropType } from 'vue'
2
2
  import { defineComponent, h } from 'vue'
3
3
  import { Slot } from './Slot'
4
4
 
5
- export type AsTag =
6
- | 'a'
7
- | 'button'
8
- | 'div'
9
- | 'form'
10
- | 'h2'
11
- | 'h3'
12
- | 'img'
13
- | 'input'
14
- | 'label'
15
- | 'li'
16
- | 'nav'
17
- | 'ol'
18
- | 'p'
19
- | 'span'
20
- | 'svg'
21
- | 'ul'
22
- | 'template'
23
- | ({} & string) // any other string
5
+ export type AsTag
6
+ = | 'a'
7
+ | 'button'
8
+ | 'div'
9
+ | 'form'
10
+ | 'h2'
11
+ | 'h3'
12
+ | 'img'
13
+ | 'input'
14
+ | 'label'
15
+ | 'li'
16
+ | 'nav'
17
+ | 'ol'
18
+ | 'p'
19
+ | 'span'
20
+ | 'svg'
21
+ | 'ul'
22
+ | 'template'
23
+ | ({} & string) // any other string
24
24
 
25
25
  export interface PrimitiveProps {
26
26
  /**
@@ -119,7 +119,13 @@ function changeDate(e: MouseEvent | KeyboardEvent, date: DateValue) {
119
119
  }
120
120
  }
121
121
 
122
- if (rootContext.startValue.value && rootContext.endValue.value && isSameDay(rootContext.endValue.value, date) && !rootContext.preventDeselect.value) {
122
+ if (
123
+ rootContext.startValue.value
124
+ && rootContext.endValue.value
125
+ && isSameDay(rootContext.startValue.value, rootContext.endValue.value)
126
+ && isSameDay(rootContext.startValue.value, date)
127
+ && !rootContext.preventDeselect.value
128
+ ) {
123
129
  rootContext.startValue.value = undefined
124
130
  rootContext.endValue.value = undefined
125
131
  rootContext.onPlaceholderChange(date)
@@ -236,7 +242,7 @@ function handleArrowKey(e: KeyboardEvent) {
236
242
  role="button"
237
243
  :aria-label="labelText"
238
244
  data-reka-calendar-cell-trigger
239
- :aria-selected="isSelectedDate && (allowNonContiguousRanges || !isUnavailable) ? true : undefined"
245
+ :aria-pressed="isSelectedDate && (allowNonContiguousRanges || !isUnavailable) ? true : undefined"
240
246
  :aria-disabled="isDisabled || isUnavailable ? true : undefined"
241
247
  :data-highlighted="isHighlighted && (allowNonContiguousRanges || !isUnavailable) ? '' : undefined"
242
248
  :data-selection-start="isSelectionStart ? true : undefined"
@@ -56,10 +56,10 @@ type RangeCalendarRootContext = {
56
56
  prevPage: (prevPageFunc?: (date: DateValue) => DateValue) => void
57
57
  nextPage: (nextPageFunc?: (date: DateValue) => DateValue) => void
58
58
  isNextButtonDisabled: (
59
- nextPageFunc?: (date: DateValue) => DateValue
59
+ nextPageFunc?: (date: DateValue) => DateValue,
60
60
  ) => boolean
61
61
  isPrevButtonDisabled: (
62
- prevPageFunc?: (date: DateValue) => DateValue
62
+ prevPageFunc?: (date: DateValue) => DateValue,
63
63
  ) => boolean
64
64
  formatter: Formatter
65
65
  dir: Ref<Direction>
@@ -352,35 +352,18 @@ watch([startValue, endValue], ([_startValue, _endValue]) => {
352
352
 
353
353
  isEditing.value = true
354
354
  if (_endValue && _startValue) {
355
- if (isBefore(_endValue, _startValue)) {
356
- modelValue.value = {
357
- start: _endValue.copy(),
358
- end: _startValue.copy(),
359
- }
360
- }
361
- else {
362
- modelValue.value = {
363
- start: _startValue.copy(),
364
- end: _endValue.copy(),
365
- }
366
- }
355
+ const nextValue = isBefore(_endValue, _startValue)
356
+ ? { start: _endValue.copy(), end: _startValue.copy() }
357
+ : { start: _startValue.copy(), end: _endValue.copy() }
367
358
 
359
+ modelValue.value = { start: nextValue.start, end: nextValue.end }
368
360
  isEditing.value = false
369
- validModelValue.value = { start: modelValue.value.start?.copy(), end: modelValue.value.end?.copy() }
361
+ validModelValue.value = { start: nextValue.start.copy(), end: nextValue.end.copy() }
370
362
  }
371
363
  else {
372
- if (_startValue) {
373
- modelValue.value = {
374
- start: _startValue.copy(),
375
- end: undefined,
376
- }
377
- }
378
- else {
379
- modelValue.value = {
380
- start: _endValue?.copy(),
381
- end: undefined,
382
- }
383
- }
364
+ modelValue.value = _startValue
365
+ ? { start: _startValue.copy(), end: undefined }
366
+ : { start: _endValue?.copy(), end: undefined }
384
367
  }
385
368
  })
386
369
 
@@ -131,7 +131,7 @@ export function useRangeCalendarState(props: UseRangeCalendarProps) {
131
131
  if (props.maximumDays?.value && !props.end.value) {
132
132
  // Determine the direction of selection and limit to maximum days
133
133
  const cappedEnd = isStartBeforeFocused
134
- ? start.add({ days: props.maximumDays.value })
134
+ ? start.add({ days: props.maximumDays.value - 1 })
135
135
  : start.subtract({ days: props.maximumDays.value })
136
136
 
137
137
  return {