reka-ui 2.9.3 → 2.9.4

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 (326) hide show
  1. package/dist/Accordion/AccordionItem.js +1 -1
  2. package/dist/Accordion/AccordionRoot.js +1 -1
  3. package/dist/AlertDialog/AlertDialogContent.js +1 -1
  4. package/dist/Autocomplete/AutocompleteRoot.js +1 -1
  5. package/dist/Avatar/AvatarRoot.js +1 -1
  6. package/dist/Calendar/CalendarRoot.cjs +1 -1
  7. package/dist/Calendar/CalendarRoot.cjs.map +1 -1
  8. package/dist/Calendar/CalendarRoot.js +2 -2
  9. package/dist/Calendar/CalendarRoot.js.map +1 -1
  10. package/dist/Calendar/useCalendar.cjs +2 -2
  11. package/dist/Calendar/useCalendar.cjs.map +1 -1
  12. package/dist/Calendar/useCalendar.js +2 -2
  13. package/dist/Calendar/useCalendar.js.map +1 -1
  14. package/dist/Checkbox/CheckboxGroupRoot.js +1 -1
  15. package/dist/Checkbox/CheckboxRoot.js +1 -1
  16. package/dist/Collapsible/CollapsibleRoot.js +1 -1
  17. package/dist/Collection/Collection.js +2 -2
  18. package/dist/ColorArea/ColorAreaRoot.js +1 -1
  19. package/dist/ColorField/ColorFieldInput.cjs +2 -1
  20. package/dist/ColorField/ColorFieldInput.cjs.map +1 -1
  21. package/dist/ColorField/ColorFieldInput.js +2 -1
  22. package/dist/ColorField/ColorFieldInput.js.map +1 -1
  23. package/dist/ColorField/ColorFieldRoot.js +1 -1
  24. package/dist/ColorSlider/ColorSliderRoot.js +1 -1
  25. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.js +1 -1
  26. package/dist/Combobox/ComboboxContentImpl.js +1 -1
  27. package/dist/Combobox/ComboboxGroup.js +1 -1
  28. package/dist/Combobox/ComboboxRoot.js +1 -1
  29. package/dist/ConfigProvider/ConfigProvider.js +1 -1
  30. package/dist/ContextMenu/ContextMenuRoot.js +1 -1
  31. package/dist/ContextMenu/ContextMenuTrigger.cjs +1 -1
  32. package/dist/ContextMenu/ContextMenuTrigger.cjs.map +1 -1
  33. package/dist/ContextMenu/ContextMenuTrigger.js +1 -1
  34. package/dist/ContextMenu/ContextMenuTrigger.js.map +1 -1
  35. package/dist/DateField/DateFieldRoot.cjs +9 -4
  36. package/dist/DateField/DateFieldRoot.cjs.map +1 -1
  37. package/dist/DateField/DateFieldRoot.js +11 -6
  38. package/dist/DateField/DateFieldRoot.js.map +1 -1
  39. package/dist/DatePicker/DatePickerRoot.js +1 -1
  40. package/dist/DateRangeField/DateRangeFieldRoot.js +1 -1
  41. package/dist/DateRangePicker/DateRangePickerRoot.js +1 -1
  42. package/dist/Dialog/DialogRoot.js +1 -1
  43. package/dist/DismissableLayer/DismissableLayer.js +1 -1
  44. package/dist/DropdownMenu/DropdownMenuRoot.js +1 -1
  45. package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
  46. package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
  47. package/dist/Editable/EditableRoot.js +1 -1
  48. package/dist/FocusScope/FocusScope.js +1 -1
  49. package/dist/HoverCard/HoverCardRoot.js +1 -1
  50. package/dist/Label/Label.cjs.map +1 -1
  51. package/dist/Label/Label.js.map +1 -1
  52. package/dist/Listbox/ListboxContent.cjs.map +1 -1
  53. package/dist/Listbox/ListboxContent.js.map +1 -1
  54. package/dist/Listbox/ListboxGroup.js +1 -1
  55. package/dist/Listbox/ListboxItem.js +1 -1
  56. package/dist/Listbox/ListboxRoot.js +1 -1
  57. package/dist/Listbox/ListboxVirtualizer.cjs +3 -3
  58. package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
  59. package/dist/Listbox/ListboxVirtualizer.js +3 -3
  60. package/dist/Listbox/ListboxVirtualizer.js.map +1 -1
  61. package/dist/Menu/MenuContentImpl.js +1 -1
  62. package/dist/Menu/MenuGroup.js +1 -1
  63. package/dist/Menu/MenuItem.cjs +1 -1
  64. package/dist/Menu/MenuItem.cjs.map +1 -1
  65. package/dist/Menu/MenuItem.js +1 -1
  66. package/dist/Menu/MenuItem.js.map +1 -1
  67. package/dist/Menu/MenuItemImpl.cjs.map +1 -1
  68. package/dist/Menu/MenuItemImpl.js.map +1 -1
  69. package/dist/Menu/MenuItemIndicator.js +1 -1
  70. package/dist/Menu/MenuRadioGroup.js +1 -1
  71. package/dist/Menu/MenuRoot.js +2 -2
  72. package/dist/Menu/MenuSub.js +1 -1
  73. package/dist/Menu/MenuSubTrigger.cjs +2 -1
  74. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  75. package/dist/Menu/MenuSubTrigger.js +2 -1
  76. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  77. package/dist/Menubar/MenubarMenu.js +1 -1
  78. package/dist/Menubar/MenubarRoot.js +1 -1
  79. package/dist/Menubar/MenubarTrigger.cjs.map +1 -1
  80. package/dist/Menubar/MenubarTrigger.js.map +1 -1
  81. package/dist/MonthPicker/MonthPickerRoot.cjs +1 -1
  82. package/dist/MonthPicker/MonthPickerRoot.cjs.map +1 -1
  83. package/dist/MonthPicker/MonthPickerRoot.js +2 -2
  84. package/dist/MonthPicker/MonthPickerRoot.js.map +1 -1
  85. package/dist/MonthRangePicker/MonthRangePickerRoot.js +1 -1
  86. package/dist/NavigationMenu/NavigationMenuItem.js +1 -1
  87. package/dist/NavigationMenu/NavigationMenuRoot.js +1 -1
  88. package/dist/NavigationMenu/NavigationMenuTrigger.cjs +1 -0
  89. package/dist/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
  90. package/dist/NavigationMenu/NavigationMenuTrigger.js +1 -0
  91. package/dist/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
  92. package/dist/NumberField/NumberFieldRoot.js +1 -1
  93. package/dist/Pagination/PaginationRoot.js +1 -1
  94. package/dist/PinInput/PinInputRoot.js +1 -1
  95. package/dist/Popover/PopoverRoot.js +1 -1
  96. package/dist/Popper/PopperArrow.cjs +1 -1
  97. package/dist/Popper/PopperArrow.cjs.map +1 -1
  98. package/dist/Popper/PopperArrow.js +1 -1
  99. package/dist/Popper/PopperArrow.js.map +1 -1
  100. package/dist/Popper/PopperContent.js +1 -1
  101. package/dist/Popper/PopperRoot.js +1 -1
  102. package/dist/Presence/Presence.js +1 -1
  103. package/dist/Primitive/Primitive.js +1 -1
  104. package/dist/Primitive/Slot.js +1 -1
  105. package/dist/Progress/ProgressRoot.js +1 -1
  106. package/dist/RadioGroup/RadioGroupItem.js +1 -1
  107. package/dist/RadioGroup/RadioGroupRoot.js +1 -1
  108. package/dist/RangeCalendar/RangeCalendarRoot.js +1 -1
  109. package/dist/RovingFocus/RovingFocusGroup.js +1 -1
  110. package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
  111. package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
  112. package/dist/ScrollArea/ScrollAreaRoot.js +1 -1
  113. package/dist/ScrollArea/ScrollAreaScrollbar.js +1 -1
  114. package/dist/ScrollArea/ScrollAreaScrollbarGlimpse.cjs +2 -2
  115. package/dist/ScrollArea/ScrollAreaScrollbarGlimpse.cjs.map +1 -1
  116. package/dist/ScrollArea/ScrollAreaScrollbarGlimpse.js +2 -2
  117. package/dist/ScrollArea/ScrollAreaScrollbarGlimpse.js.map +1 -1
  118. package/dist/ScrollArea/ScrollAreaScrollbarScroll.cjs +1 -1
  119. package/dist/ScrollArea/ScrollAreaScrollbarScroll.cjs.map +1 -1
  120. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js +1 -1
  121. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js.map +1 -1
  122. package/dist/ScrollArea/ScrollAreaScrollbarVisible.js +1 -1
  123. package/dist/Select/SelectContentImpl.cjs +1 -0
  124. package/dist/Select/SelectContentImpl.cjs.map +1 -1
  125. package/dist/Select/SelectContentImpl.js +2 -1
  126. package/dist/Select/SelectContentImpl.js.map +1 -1
  127. package/dist/Select/SelectGroup.js +1 -1
  128. package/dist/Select/SelectItem.cjs.map +1 -1
  129. package/dist/Select/SelectItem.js +1 -1
  130. package/dist/Select/SelectItem.js.map +1 -1
  131. package/dist/Select/SelectItemAlignedPosition.cjs +1 -1
  132. package/dist/Select/SelectItemAlignedPosition.cjs.map +1 -1
  133. package/dist/Select/SelectItemAlignedPosition.js +2 -2
  134. package/dist/Select/SelectItemAlignedPosition.js.map +1 -1
  135. package/dist/Select/SelectRoot.cjs +1 -1
  136. package/dist/Select/SelectRoot.cjs.map +1 -1
  137. package/dist/Select/SelectRoot.js +2 -2
  138. package/dist/Select/SelectRoot.js.map +1 -1
  139. package/dist/Select/SelectTrigger.cjs.map +1 -1
  140. package/dist/Select/SelectTrigger.js.map +1 -1
  141. package/dist/Slider/SliderImpl.cjs.map +1 -1
  142. package/dist/Slider/SliderImpl.js.map +1 -1
  143. package/dist/Slider/SliderRoot.js +1 -1
  144. package/dist/Slider/utils.js +1 -1
  145. package/dist/Splitter/SplitterGroup.js +1 -1
  146. package/dist/Stepper/StepperItem.js +1 -1
  147. package/dist/Stepper/StepperRoot.js +1 -1
  148. package/dist/Switch/SwitchRoot.js +1 -1
  149. package/dist/Tabs/TabsRoot.js +1 -1
  150. package/dist/Tabs/TabsTrigger.cjs.map +1 -1
  151. package/dist/Tabs/TabsTrigger.js.map +1 -1
  152. package/dist/TagsInput/TagsInputItem.js +1 -1
  153. package/dist/TagsInput/TagsInputRoot.js +1 -1
  154. package/dist/TimeField/TimeFieldRoot.js +1 -1
  155. package/dist/TimeRangeField/TimeRangeFieldRoot.js +1 -1
  156. package/dist/Toast/ToastProvider.js +1 -1
  157. package/dist/Toast/ToastRootImpl.cjs +3 -3
  158. package/dist/Toast/ToastRootImpl.cjs.map +1 -1
  159. package/dist/Toast/ToastRootImpl.js +4 -4
  160. package/dist/Toast/ToastRootImpl.js.map +1 -1
  161. package/dist/Toast/ToastViewport.cjs +5 -1
  162. package/dist/Toast/ToastViewport.cjs.map +1 -1
  163. package/dist/Toast/ToastViewport.js +5 -1
  164. package/dist/Toast/ToastViewport.js.map +1 -1
  165. package/dist/ToggleGroup/ToggleGroupRoot.js +1 -1
  166. package/dist/Toolbar/ToolbarRoot.js +1 -1
  167. package/dist/Tooltip/TooltipProvider.js +1 -1
  168. package/dist/Tooltip/TooltipRoot.js +1 -1
  169. package/dist/Tree/TreeItem.cjs.map +1 -1
  170. package/dist/Tree/TreeItem.js.map +1 -1
  171. package/dist/Tree/TreeRoot.js +1 -1
  172. package/dist/Tree/TreeVirtualizer.cjs +1 -1
  173. package/dist/Tree/TreeVirtualizer.cjs.map +1 -1
  174. package/dist/Tree/TreeVirtualizer.js +1 -1
  175. package/dist/Tree/TreeVirtualizer.js.map +1 -1
  176. package/dist/YearPicker/YearPickerRoot.cjs +1 -1
  177. package/dist/YearPicker/YearPickerRoot.cjs.map +1 -1
  178. package/dist/YearPicker/YearPickerRoot.js +2 -2
  179. package/dist/YearPicker/YearPickerRoot.js.map +1 -1
  180. package/dist/YearPicker/useYearPicker.cjs +3 -3
  181. package/dist/YearPicker/useYearPicker.cjs.map +1 -1
  182. package/dist/YearPicker/useYearPicker.js +3 -3
  183. package/dist/YearPicker/useYearPicker.js.map +1 -1
  184. package/dist/YearRangePicker/YearRangePickerRoot.js +1 -1
  185. package/dist/color/parse.cjs +10 -4
  186. package/dist/color/parse.cjs.map +1 -1
  187. package/dist/color/parse.js +10 -4
  188. package/dist/color/parse.js.map +1 -1
  189. package/dist/color/utils.cjs +5 -2
  190. package/dist/color/utils.cjs.map +1 -1
  191. package/dist/color/utils.js +5 -2
  192. package/dist/color/utils.js.map +1 -1
  193. package/dist/date/calendar.cjs +1 -1
  194. package/dist/date/calendar.cjs.map +1 -1
  195. package/dist/date/calendar.js +1 -1
  196. package/dist/date/calendar.js.map +1 -1
  197. package/dist/date/useDateField.cjs +3 -0
  198. package/dist/date/useDateField.cjs.map +1 -1
  199. package/dist/date/useDateField.js +3 -0
  200. package/dist/date/useDateField.js.map +1 -1
  201. package/dist/date/utils.cjs +30 -0
  202. package/dist/date/utils.cjs.map +1 -1
  203. package/dist/date/utils.js +19 -1
  204. package/dist/date/utils.js.map +1 -1
  205. package/dist/date.d.cts +2 -1
  206. package/dist/date.d.ts +2 -1
  207. package/dist/index.cjs +6 -0
  208. package/dist/index.d.cts +3 -2
  209. package/dist/index.d.ts +3 -2
  210. package/dist/index.js +6 -0
  211. package/dist/index2.d.cts +5 -44
  212. package/dist/index2.d.cts.map +1 -1
  213. package/dist/index2.d.ts +5 -44
  214. package/dist/index2.d.ts.map +1 -1
  215. package/dist/index3.d.cts +394 -10813
  216. package/dist/index3.d.cts.map +1 -1
  217. package/dist/index3.d.ts +394 -10813
  218. package/dist/index3.d.ts.map +1 -1
  219. package/dist/index4.d.cts +10538 -0
  220. package/dist/index4.d.cts.map +1 -0
  221. package/dist/index4.d.ts +10538 -0
  222. package/dist/index4.d.ts.map +1 -0
  223. package/dist/internal.cjs +22 -0
  224. package/dist/internal.d.cts +8 -6
  225. package/dist/internal.d.cts.map +1 -1
  226. package/dist/internal.d.ts +8 -6
  227. package/dist/internal.d.ts.map +1 -1
  228. package/dist/internal.js +22 -0
  229. package/dist/namespaced/index.cjs +82 -0
  230. package/dist/namespaced/index.d.cts +77 -3
  231. package/dist/namespaced/index.d.mts +77 -3
  232. package/dist/namespaced/index.mjs +75 -3
  233. package/dist/shared/arrays.cjs +22 -0
  234. package/dist/shared/arrays.cjs.map +1 -1
  235. package/dist/shared/arrays.js +17 -1
  236. package/dist/shared/arrays.js.map +1 -1
  237. package/dist/shared/clamp.cjs +6 -0
  238. package/dist/shared/clamp.js +1 -1
  239. package/dist/shared/createContext.cjs +1 -1
  240. package/dist/shared/createContext.js +1 -1
  241. package/dist/shared/index.cjs +0 -0
  242. package/dist/shared/index.js +0 -0
  243. package/dist/shared/isValidVNodeElement.cjs +17 -0
  244. package/dist/shared/isValidVNodeElement.cjs.map +1 -0
  245. package/dist/shared/isValidVNodeElement.js +11 -0
  246. package/dist/shared/isValidVNodeElement.js.map +1 -0
  247. package/dist/shared/object.cjs +26 -0
  248. package/dist/shared/object.cjs.map +1 -0
  249. package/dist/shared/object.js +14 -0
  250. package/dist/shared/object.js.map +1 -0
  251. package/dist/shared/onFocusOutside.cjs +30 -0
  252. package/dist/shared/onFocusOutside.cjs.map +1 -0
  253. package/dist/shared/onFocusOutside.js +24 -0
  254. package/dist/shared/onFocusOutside.js.map +1 -0
  255. package/dist/shared/trap-focus.cjs +35 -0
  256. package/dist/shared/trap-focus.cjs.map +1 -0
  257. package/dist/shared/trap-focus.js +30 -0
  258. package/dist/shared/trap-focus.js.map +1 -0
  259. package/dist/shared/useForwardExpose.cjs +1 -1
  260. package/dist/shared/useForwardExpose.cjs.map +1 -1
  261. package/dist/shared/useForwardExpose.js +1 -1
  262. package/dist/shared/useForwardExpose.js.map +1 -1
  263. package/dist/shared/useForwardRef.cjs +23 -0
  264. package/dist/shared/useForwardRef.cjs.map +1 -0
  265. package/dist/shared/useForwardRef.js +17 -0
  266. package/dist/shared/useForwardRef.js.map +1 -0
  267. package/dist/shared/useGraceArea.cjs +2 -2
  268. package/dist/shared/useGraceArea.cjs.map +1 -1
  269. package/dist/shared/useGraceArea.js +2 -2
  270. package/dist/shared/useGraceArea.js.map +1 -1
  271. package/dist/shared/useKbd.cjs +17 -0
  272. package/dist/shared/useKbd.cjs.map +1 -1
  273. package/dist/shared/useKbd.js +12 -1
  274. package/dist/shared/useKbd.js.map +1 -1
  275. package/dist/shared/useSelectionBehavior.cjs +1 -1
  276. package/dist/shared/useSelectionBehavior.cjs.map +1 -1
  277. package/dist/shared/useSelectionBehavior.js +1 -1
  278. package/dist/shared/useSelectionBehavior.js.map +1 -1
  279. package/dist/shared.cjs +83 -0
  280. package/dist/shared.d.cts +2 -0
  281. package/dist/shared.d.ts +2 -0
  282. package/dist/shared.js +43 -0
  283. package/package.json +8 -4
  284. package/src/Calendar/CalendarRoot.vue +1 -1
  285. package/src/Calendar/useCalendar.ts +2 -2
  286. package/src/ColorField/ColorFieldInput.vue +3 -1
  287. package/src/ContextMenu/ContextMenuTrigger.vue +1 -4
  288. package/src/DateField/DateFieldRoot.vue +11 -4
  289. package/src/DropdownMenu/DropdownMenuTrigger.vue +2 -2
  290. package/src/Label/Label.vue +1 -1
  291. package/src/Listbox/ListboxContent.vue +1 -1
  292. package/src/Listbox/ListboxVirtualizer.vue +3 -3
  293. package/src/Menu/MenuItem.vue +4 -4
  294. package/src/Menu/MenuItemImpl.vue +2 -2
  295. package/src/Menu/MenuSubTrigger.vue +4 -3
  296. package/src/Menubar/MenubarTrigger.vue +2 -2
  297. package/src/MonthPicker/MonthPickerRoot.vue +1 -1
  298. package/src/NavigationMenu/NavigationMenuTrigger.vue +4 -2
  299. package/src/Popper/PopperArrow.vue +3 -2
  300. package/src/RovingFocus/RovingFocusItem.vue +1 -1
  301. package/src/ScrollArea/ScrollAreaScrollbarGlimpse.vue +2 -8
  302. package/src/ScrollArea/ScrollAreaScrollbarScroll.vue +1 -4
  303. package/src/Select/SelectContentImpl.vue +3 -2
  304. package/src/Select/SelectItem.vue +1 -1
  305. package/src/Select/SelectItemAlignedPosition.vue +1 -1
  306. package/src/Select/SelectRoot.vue +1 -1
  307. package/src/Select/SelectTrigger.vue +1 -1
  308. package/src/Slider/SliderImpl.vue +4 -4
  309. package/src/Tabs/TabsTrigger.vue +1 -1
  310. package/src/Toast/ToastRootImpl.vue +3 -3
  311. package/src/Toast/ToastViewport.vue +9 -5
  312. package/src/Tree/TreeItem.vue +3 -3
  313. package/src/Tree/TreeVirtualizer.vue +1 -1
  314. package/src/YearPicker/YearPickerRoot.vue +1 -1
  315. package/src/YearPicker/useYearPicker.ts +3 -3
  316. package/src/date/calendar.ts +1 -1
  317. package/src/shared/color/parse.ts +11 -4
  318. package/src/shared/color/utils.ts +6 -2
  319. package/src/shared/date/types.ts +2 -0
  320. package/src/shared/date/useDateField.ts +3 -0
  321. package/src/shared/date/utils.ts +29 -1
  322. package/src/shared/object.ts +1 -1
  323. package/src/shared/trap-focus.ts +1 -3
  324. package/src/shared/useForwardExpose.ts +1 -1
  325. package/src/shared/useGraceArea.ts +2 -2
  326. package/src/shared/useSelectionBehavior.ts +1 -1
@@ -172,7 +172,7 @@ function getHullPresorted(points) {
172
172
  for (let i = 0; i < points.length; i++) {
173
173
  const p = points[i];
174
174
  while (upperHull.length >= 2) {
175
- const q = upperHull[upperHull.length - 1];
175
+ const q = upperHull.at(-1);
176
176
  const r = upperHull[upperHull.length - 2];
177
177
  if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();
178
178
  else break;
@@ -184,7 +184,7 @@ function getHullPresorted(points) {
184
184
  for (let i = points.length - 1; i >= 0; i--) {
185
185
  const p = points[i];
186
186
  while (lowerHull.length >= 2) {
187
- const q = lowerHull[lowerHull.length - 1];
187
+ const q = lowerHull.at(-1);
188
188
  const r = lowerHull[lowerHull.length - 2];
189
189
  if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();
190
190
  else break;
@@ -1 +1 @@
1
- {"version":3,"file":"useGraceArea.js","names":["triggerElement: Ref<HTMLElement | undefined>","containerElement: Ref<HTMLElement | undefined>","event: PointerEvent","hoverTarget: HTMLElement | undefined","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 | undefined","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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"}
@@ -38,6 +38,17 @@ function useKbd() {
38
38
  SPACE_CODE: "Space"
39
39
  };
40
40
  }
41
+ function useTestKbd() {
42
+ const kbd = useKbd();
43
+ const initTestKbd = Object.entries(kbd).reduce((acc, [key, value]) => {
44
+ acc[key] = `{${value}}`;
45
+ return acc;
46
+ }, {});
47
+ return {
48
+ ...initTestKbd,
49
+ SHIFT_TAB: `{Shift>}{${kbd.TAB}}`
50
+ };
51
+ }
41
52
 
42
53
  //#endregion
43
54
  Object.defineProperty(exports, 'useKbd', {
@@ -46,4 +57,10 @@ Object.defineProperty(exports, 'useKbd', {
46
57
  return useKbd;
47
58
  }
48
59
  });
60
+ Object.defineProperty(exports, 'useTestKbd', {
61
+ enumerable: true,
62
+ get: function () {
63
+ return useTestKbd;
64
+ }
65
+ });
49
66
  //# sourceMappingURL=useKbd.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useKbd.cjs","names":[],"sources":["../../src/shared/useKbd.ts"],"sourcesContent":[],"mappings":";;AAAA,SAAgB,SAAS;AACvB,QAAO;EACL,KAAK;EACL,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,UAAU;EACV,WAAW;EACX,WAAW;EACX,SAAS;EACT,QAAQ;EACR,KAAK;EACL,OAAO;EACP,QAAQ;EACR,IAAI;EACJ,KAAK;EACL,KAAK;EACL,KAAK;EACL,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,MAAM;EACN,MAAM;EACN,WAAW;EACX,SAAS;EACT,OAAO;EACP,OAAO;EACP,KAAK;EACL,MAAM;EACN,UAAU;EACV,YAAY;CACb;AACF"}
1
+ {"version":3,"file":"useKbd.cjs","names":["initTestKbd: Record<KbdKeys, string>"],"sources":["../../src/shared/useKbd.ts"],"sourcesContent":[],"mappings":";;AAAA,SAAgB,SAAS;AACvB,QAAO;EACL,KAAK;EACL,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,UAAU;EACV,WAAW;EACX,WAAW;EACX,SAAS;EACT,QAAQ;EACR,KAAK;EACL,OAAO;EACP,QAAQ;EACR,IAAI;EACJ,KAAK;EACL,KAAK;EACL,KAAK;EACL,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,MAAM;EACN,MAAM;EACN,WAAW;EACX,SAAS;EACT,OAAO;EACP,OAAO;EACP,KAAK;EACL,MAAM;EACN,UAAU;EACV,YAAY;CACb;AACF;AAQD,SAAgB,aAAa;CAC3B,MAAM,MAAM,QAAQ;CAEpB,MAAMA,cAAuC,OAAO,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,KAAK;AAC7F,MAAI,OAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAClC,SAAO;CACR,GAAE,CAAE,EAA4B;AAEjC,QAAO;EACL,GAAG;EACH,WAAW,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC;CAClC;AACF"}
@@ -37,7 +37,18 @@ function useKbd() {
37
37
  SPACE_CODE: "Space"
38
38
  };
39
39
  }
40
+ function useTestKbd() {
41
+ const kbd = useKbd();
42
+ const initTestKbd = Object.entries(kbd).reduce((acc, [key, value]) => {
43
+ acc[key] = `{${value}}`;
44
+ return acc;
45
+ }, {});
46
+ return {
47
+ ...initTestKbd,
48
+ SHIFT_TAB: `{Shift>}{${kbd.TAB}}`
49
+ };
50
+ }
40
51
 
41
52
  //#endregion
42
- export { useKbd };
53
+ export { useKbd, useTestKbd };
43
54
  //# sourceMappingURL=useKbd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useKbd.js","names":[],"sources":["../../src/shared/useKbd.ts"],"sourcesContent":[],"mappings":";AAAA,SAAgB,SAAS;AACvB,QAAO;EACL,KAAK;EACL,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,UAAU;EACV,WAAW;EACX,WAAW;EACX,SAAS;EACT,QAAQ;EACR,KAAK;EACL,OAAO;EACP,QAAQ;EACR,IAAI;EACJ,KAAK;EACL,KAAK;EACL,KAAK;EACL,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,MAAM;EACN,MAAM;EACN,WAAW;EACX,SAAS;EACT,OAAO;EACP,OAAO;EACP,KAAK;EACL,MAAM;EACN,UAAU;EACV,YAAY;CACb;AACF"}
1
+ {"version":3,"file":"useKbd.js","names":["initTestKbd: Record<KbdKeys, string>"],"sources":["../../src/shared/useKbd.ts"],"sourcesContent":[],"mappings":";AAAA,SAAgB,SAAS;AACvB,QAAO;EACL,KAAK;EACL,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,UAAU;EACV,WAAW;EACX,WAAW;EACX,SAAS;EACT,QAAQ;EACR,KAAK;EACL,OAAO;EACP,QAAQ;EACR,IAAI;EACJ,KAAK;EACL,KAAK;EACL,KAAK;EACL,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,MAAM;EACN,MAAM;EACN,WAAW;EACX,SAAS;EACT,OAAO;EACP,OAAO;EACP,KAAK;EACL,MAAM;EACN,UAAU;EACV,YAAY;CACb;AACF;AAQD,SAAgB,aAAa;CAC3B,MAAM,MAAM,QAAQ;CAEpB,MAAMA,cAAuC,OAAO,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,KAAK;AAC7F,MAAI,OAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAClC,SAAO;CACR,GAAE,CAAE,EAA4B;AAEjC,QAAO;EACL,GAAG;EACH,WAAW,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC;CAClC;AACF"}
@@ -36,7 +36,7 @@ function useSelectionBehavior(modelValue, props) {
36
36
  break;
37
37
  }
38
38
  case "last": {
39
- value = require_shared_arrays.findValuesBetween(options, firstValue.value, options?.[options.length - 1]);
39
+ value = require_shared_arrays.findValuesBetween(options, firstValue.value, options.at(-1));
40
40
  break;
41
41
  }
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectionBehavior.cjs","names":["modelValue: Ref<T | T[]>","props: UnwrapNestedRefs<{ multiple?: boolean, selectionBehavior?: 'toggle' | 'replace' }>","val: T","condition: (existingValue: T) => boolean","intent: 'first' | 'last' | 'prev' | 'next'","currentElement: HTMLElement | Element | null","getItems: () => { ref: HTMLElement, value?: any }[]","options: any[]","value: T[] | null"],"sources":["../../src/shared/useSelectionBehavior.ts"],"sourcesContent":[],"mappings":";;;;;AAIA,SAAgB,qBACdA,YACAC,OACA;CACA,MAAM,aAAa,cAAK;CAExB,MAAM,eAAe,CAACC,KAAQC,cAA6C;AAEzE,MAAI,MAAM,YAAY,MAAM,QAAQ,WAAW,MAAM,CACnD,KAAI,MAAM,sBAAsB,WAAW;AACzC,cAAW,QAAQ,CAAC,GAAI;AACxB,cAAW,QAAQ;EACpB,OACI;GACH,MAAM,QAAQ,WAAW,MAAM,UAAU,OAAK,UAAU,EAAE,CAAC;AAC3D,OAAI,UAAU,GACZ,YAAW,QAAQ,WAAW,MAAM,OAAO,CAAC,GAAG,MAAM,MAAM,MAAM;OAEjE,YAAW,QAAQ,CAAC,GAAG,WAAW,OAAO,GAAI;EAChD;WAIG,MAAM,sBAAsB,UAC9B,YAAW,QAAQ,EAAE,GAAG,IAAK;YAGxB,MAAM,QAAQ,WAAW,MAAM,IAAI,UAAU,WAAW,MAAM,CACjE,YAAW;MAEX,YAAW,QAAQ,EAAE,GAAG,IAAK;AAGnC,SAAO,WAAW;CACnB;CAED,SAAS,sBAAsBC,QAA4CC,gBAA8CC,UAAqDC,SAAgB;AAC5L,OAAK,YAAY,UAAU,MAAM,aAAa,MAAM,QAAQ,WAAW,MAAM,CAC3E;EAEF,MAAM,aAAa,UAAU,CAAC,OAAO,OAAK,EAAE,IAAI,QAAQ,aAAa,GAAG;EACxE,MAAM,YAAY,WAAW,KAAK,OAAK,EAAE,QAAQ,eAAe,EAAE;AAClE,OAAK,UACH;EAEF,IAAIC,QAAoB;AACxB,UAAQ,QAAR;GACE,KAAK;GACL,KAAK,QAAQ;AACX,YAAQ,wCAAkB,SAAS,WAAW,OAAO,UAAU;AAC/D;GACD;GACD,KAAK,SAAS;AACZ,YAAQ,wCAAkB,SAAS,WAAW,OAAO,UAAU,GAAG;AAClE;GACD;GACD,KAAK,QAAQ;AACX,YAAQ,wCAAkB,SAAS,WAAW,OAAO,UAAU,QAAQ,SAAS,GAAG;AACnF;GACD;EACF;AAED,aAAW,QAAQ;CACpB;AAED,QAAO;EACL;EACA;EACA;CACD;AACF"}
1
+ {"version":3,"file":"useSelectionBehavior.cjs","names":["modelValue: Ref<T | T[]>","props: UnwrapNestedRefs<{ multiple?: boolean, selectionBehavior?: 'toggle' | 'replace' }>","val: T","condition: (existingValue: T) => boolean","intent: 'first' | 'last' | 'prev' | 'next'","currentElement: HTMLElement | Element | null","getItems: () => { ref: HTMLElement, value?: any }[]","options: any[]","value: T[] | null"],"sources":["../../src/shared/useSelectionBehavior.ts"],"sourcesContent":[],"mappings":";;;;;AAIA,SAAgB,qBACdA,YACAC,OACA;CACA,MAAM,aAAa,cAAK;CAExB,MAAM,eAAe,CAACC,KAAQC,cAA6C;AAEzE,MAAI,MAAM,YAAY,MAAM,QAAQ,WAAW,MAAM,CACnD,KAAI,MAAM,sBAAsB,WAAW;AACzC,cAAW,QAAQ,CAAC,GAAI;AACxB,cAAW,QAAQ;EACpB,OACI;GACH,MAAM,QAAQ,WAAW,MAAM,UAAU,OAAK,UAAU,EAAE,CAAC;AAC3D,OAAI,UAAU,GACZ,YAAW,QAAQ,WAAW,MAAM,OAAO,CAAC,GAAG,MAAM,MAAM,MAAM;OAEjE,YAAW,QAAQ,CAAC,GAAG,WAAW,OAAO,GAAI;EAChD;WAIG,MAAM,sBAAsB,UAC9B,YAAW,QAAQ,EAAE,GAAG,IAAK;YAGxB,MAAM,QAAQ,WAAW,MAAM,IAAI,UAAU,WAAW,MAAM,CACjE,YAAW;MAEX,YAAW,QAAQ,EAAE,GAAG,IAAK;AAGnC,SAAO,WAAW;CACnB;CAED,SAAS,sBAAsBC,QAA4CC,gBAA8CC,UAAqDC,SAAgB;AAC5L,OAAK,YAAY,UAAU,MAAM,aAAa,MAAM,QAAQ,WAAW,MAAM,CAC3E;EAEF,MAAM,aAAa,UAAU,CAAC,OAAO,OAAK,EAAE,IAAI,QAAQ,aAAa,GAAG;EACxE,MAAM,YAAY,WAAW,KAAK,OAAK,EAAE,QAAQ,eAAe,EAAE;AAClE,OAAK,UACH;EAEF,IAAIC,QAAoB;AACxB,UAAQ,QAAR;GACE,KAAK;GACL,KAAK,QAAQ;AACX,YAAQ,wCAAkB,SAAS,WAAW,OAAO,UAAU;AAC/D;GACD;GACD,KAAK,SAAS;AACZ,YAAQ,wCAAkB,SAAS,WAAW,OAAO,UAAU,GAAG;AAClE;GACD;GACD,KAAK,QAAQ;AACX,YAAQ,wCAAkB,SAAS,WAAW,OAAO,QAAQ,GAAG,GAAG,CAAC;AACpE;GACD;EACF;AAED,aAAW,QAAQ;CACpB;AAED,QAAO;EACL;EACA;EACA;CACD;AACF"}
@@ -35,7 +35,7 @@ function useSelectionBehavior(modelValue, props) {
35
35
  break;
36
36
  }
37
37
  case "last": {
38
- value = findValuesBetween(options, firstValue.value, options?.[options.length - 1]);
38
+ value = findValuesBetween(options, firstValue.value, options.at(-1));
39
39
  break;
40
40
  }
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectionBehavior.js","names":["modelValue: Ref<T | T[]>","props: UnwrapNestedRefs<{ multiple?: boolean, selectionBehavior?: 'toggle' | 'replace' }>","val: T","condition: (existingValue: T) => boolean","intent: 'first' | 'last' | 'prev' | 'next'","currentElement: HTMLElement | Element | null","getItems: () => { ref: HTMLElement, value?: any }[]","options: any[]","value: T[] | null"],"sources":["../../src/shared/useSelectionBehavior.ts"],"sourcesContent":[],"mappings":";;;;AAIA,SAAgB,qBACdA,YACAC,OACA;CACA,MAAM,aAAa,KAAK;CAExB,MAAM,eAAe,CAACC,KAAQC,cAA6C;AAEzE,MAAI,MAAM,YAAY,MAAM,QAAQ,WAAW,MAAM,CACnD,KAAI,MAAM,sBAAsB,WAAW;AACzC,cAAW,QAAQ,CAAC,GAAI;AACxB,cAAW,QAAQ;EACpB,OACI;GACH,MAAM,QAAQ,WAAW,MAAM,UAAU,OAAK,UAAU,EAAE,CAAC;AAC3D,OAAI,UAAU,GACZ,YAAW,QAAQ,WAAW,MAAM,OAAO,CAAC,GAAG,MAAM,MAAM,MAAM;OAEjE,YAAW,QAAQ,CAAC,GAAG,WAAW,OAAO,GAAI;EAChD;WAIG,MAAM,sBAAsB,UAC9B,YAAW,QAAQ,EAAE,GAAG,IAAK;YAGxB,MAAM,QAAQ,WAAW,MAAM,IAAI,UAAU,WAAW,MAAM,CACjE,YAAW;MAEX,YAAW,QAAQ,EAAE,GAAG,IAAK;AAGnC,SAAO,WAAW;CACnB;CAED,SAAS,sBAAsBC,QAA4CC,gBAA8CC,UAAqDC,SAAgB;AAC5L,OAAK,YAAY,UAAU,MAAM,aAAa,MAAM,QAAQ,WAAW,MAAM,CAC3E;EAEF,MAAM,aAAa,UAAU,CAAC,OAAO,OAAK,EAAE,IAAI,QAAQ,aAAa,GAAG;EACxE,MAAM,YAAY,WAAW,KAAK,OAAK,EAAE,QAAQ,eAAe,EAAE;AAClE,OAAK,UACH;EAEF,IAAIC,QAAoB;AACxB,UAAQ,QAAR;GACE,KAAK;GACL,KAAK,QAAQ;AACX,YAAQ,kBAAkB,SAAS,WAAW,OAAO,UAAU;AAC/D;GACD;GACD,KAAK,SAAS;AACZ,YAAQ,kBAAkB,SAAS,WAAW,OAAO,UAAU,GAAG;AAClE;GACD;GACD,KAAK,QAAQ;AACX,YAAQ,kBAAkB,SAAS,WAAW,OAAO,UAAU,QAAQ,SAAS,GAAG;AACnF;GACD;EACF;AAED,aAAW,QAAQ;CACpB;AAED,QAAO;EACL;EACA;EACA;CACD;AACF"}
1
+ {"version":3,"file":"useSelectionBehavior.js","names":["modelValue: Ref<T | T[]>","props: UnwrapNestedRefs<{ multiple?: boolean, selectionBehavior?: 'toggle' | 'replace' }>","val: T","condition: (existingValue: T) => boolean","intent: 'first' | 'last' | 'prev' | 'next'","currentElement: HTMLElement | Element | null","getItems: () => { ref: HTMLElement, value?: any }[]","options: any[]","value: T[] | null"],"sources":["../../src/shared/useSelectionBehavior.ts"],"sourcesContent":[],"mappings":";;;;AAIA,SAAgB,qBACdA,YACAC,OACA;CACA,MAAM,aAAa,KAAK;CAExB,MAAM,eAAe,CAACC,KAAQC,cAA6C;AAEzE,MAAI,MAAM,YAAY,MAAM,QAAQ,WAAW,MAAM,CACnD,KAAI,MAAM,sBAAsB,WAAW;AACzC,cAAW,QAAQ,CAAC,GAAI;AACxB,cAAW,QAAQ;EACpB,OACI;GACH,MAAM,QAAQ,WAAW,MAAM,UAAU,OAAK,UAAU,EAAE,CAAC;AAC3D,OAAI,UAAU,GACZ,YAAW,QAAQ,WAAW,MAAM,OAAO,CAAC,GAAG,MAAM,MAAM,MAAM;OAEjE,YAAW,QAAQ,CAAC,GAAG,WAAW,OAAO,GAAI;EAChD;WAIG,MAAM,sBAAsB,UAC9B,YAAW,QAAQ,EAAE,GAAG,IAAK;YAGxB,MAAM,QAAQ,WAAW,MAAM,IAAI,UAAU,WAAW,MAAM,CACjE,YAAW;MAEX,YAAW,QAAQ,EAAE,GAAG,IAAK;AAGnC,SAAO,WAAW;CACnB;CAED,SAAS,sBAAsBC,QAA4CC,gBAA8CC,UAAqDC,SAAgB;AAC5L,OAAK,YAAY,UAAU,MAAM,aAAa,MAAM,QAAQ,WAAW,MAAM,CAC3E;EAEF,MAAM,aAAa,UAAU,CAAC,OAAO,OAAK,EAAE,IAAI,QAAQ,aAAa,GAAG;EACxE,MAAM,YAAY,WAAW,KAAK,OAAK,EAAE,QAAQ,eAAe,EAAE;AAClE,OAAK,UACH;EAEF,IAAIC,QAAoB;AACxB,UAAQ,QAAR;GACE,KAAK;GACL,KAAK,QAAQ;AACX,YAAQ,kBAAkB,SAAS,WAAW,OAAO,UAAU;AAC/D;GACD;GACD,KAAK,SAAS;AACZ,YAAQ,kBAAkB,SAAS,WAAW,OAAO,UAAU,GAAG;AAClE;GACD;GACD,KAAK,QAAQ;AACX,YAAQ,kBAAkB,SAAS,WAAW,OAAO,QAAQ,GAAG,GAAG,CAAC;AACpE;GACD;EACF;AAED,aAAW,QAAQ;CACpB;AAED,QAAO;EACL;EACA;EACA;CACD;AACF"}
@@ -0,0 +1,83 @@
1
+ const require_shared_arrays = require('./shared/arrays.cjs');
2
+ const require_shared_browser = require('./shared/browser.cjs');
3
+ const require_shared_clamp = require('./shared/clamp.cjs');
4
+ const require_shared_createContext = require('./shared/createContext.cjs');
5
+ const require_shared_getActiveElement = require('./shared/getActiveElement.cjs');
6
+ const require_shared_handleAndDispatchCustomEvent = require('./shared/handleAndDispatchCustomEvent.cjs');
7
+ const require_shared_isValidVNodeElement = require('./shared/isValidVNodeElement.cjs');
8
+ const require_shared_nullish = require('./shared/nullish.cjs');
9
+ const require_shared_isValueEqualOrExist = require('./shared/isValueEqualOrExist.cjs');
10
+ const require_shared_object = require('./shared/object.cjs');
11
+ const require_shared_onFocusOutside = require('./shared/onFocusOutside.cjs');
12
+ const require_shared_renderSlotFragments = require('./shared/renderSlotFragments.cjs');
13
+ const require_shared_trap_focus = require('./shared/trap-focus.cjs');
14
+ const require_shared_useArrowNavigation = require('./shared/useArrowNavigation.cjs');
15
+ require('./ConfigProvider/ConfigProvider.cjs');
16
+ const require_shared_useBodyScrollLock = require('./shared/useBodyScrollLock.cjs');
17
+ require('./date/comparators.cjs');
18
+ require('./date/utils.cjs');
19
+ require('./date/calendar.cjs');
20
+ require('./date/index.cjs');
21
+ const require_shared_useDateFormatter = require('./shared/useDateFormatter.cjs');
22
+ const require_shared_useDirection = require('./shared/useDirection.cjs');
23
+ const require_shared_useEmitAsProps = require('./shared/useEmitAsProps.cjs');
24
+ const require_shared_useFilter = require('./shared/useFilter.cjs');
25
+ const require_shared_useFocusGuards = require('./shared/useFocusGuards.cjs');
26
+ const require_shared_useFormControl = require('./shared/useFormControl.cjs');
27
+ const require_shared_useForwardExpose = require('./shared/useForwardExpose.cjs');
28
+ const require_shared_useForwardProps = require('./shared/useForwardProps.cjs');
29
+ const require_shared_useForwardPropsEmits = require('./shared/useForwardPropsEmits.cjs');
30
+ const require_shared_useForwardRef = require('./shared/useForwardRef.cjs');
31
+ const require_shared_useGraceArea = require('./shared/useGraceArea.cjs');
32
+ const require_shared_useHideOthers = require('./shared/useHideOthers.cjs');
33
+ const require_shared_useId = require('./shared/useId.cjs');
34
+ const require_shared_useKbd = require('./shared/useKbd.cjs');
35
+ const require_shared_useLocale = require('./shared/useLocale.cjs');
36
+ const require_shared_useSelectionBehavior = require('./shared/useSelectionBehavior.cjs');
37
+ const require_shared_useSize = require('./shared/useSize.cjs');
38
+ const require_shared_useStateMachine = require('./shared/useStateMachine.cjs');
39
+ const require_shared_useTypeahead = require('./shared/useTypeahead.cjs');
40
+ const require_shared_withDefault = require('./shared/withDefault.cjs');
41
+ require('./shared/index.cjs');
42
+
43
+ exports.areEqual = require_shared_arrays.areEqual;
44
+ exports.chunk = require_shared_arrays.chunk;
45
+ exports.clamp = require_shared_clamp.clamp;
46
+ exports.createContext = require_shared_createContext.createContext;
47
+ exports.findValuesBetween = require_shared_arrays.findValuesBetween;
48
+ exports.getActiveElement = require_shared_getActiveElement.getActiveElement;
49
+ exports.handleAndDispatchCustomEvent = require_shared_handleAndDispatchCustomEvent.handleAndDispatchCustomEvent;
50
+ exports.isBrowser = require_shared_browser.isBrowser;
51
+ exports.isNullish = require_shared_nullish.isNullish;
52
+ exports.isValidVNodeElement = require_shared_isValidVNodeElement.isValidVNodeElement;
53
+ exports.isValueEqualOrExist = require_shared_isValueEqualOrExist.isValueEqualOrExist;
54
+ exports.omit = require_shared_object.omit;
55
+ exports.onFocusOutside = require_shared_onFocusOutside.onFocusOutside;
56
+ exports.pick = require_shared_object.pick;
57
+ exports.renderSlotFragments = require_shared_renderSlotFragments.renderSlotFragments;
58
+ exports.roundToStepPrecision = require_shared_clamp.roundToStepPrecision;
59
+ exports.snapValueToStep = require_shared_clamp.snapValueToStep;
60
+ exports.trapFocus = require_shared_trap_focus.trapFocus;
61
+ exports.useArrowNavigation = require_shared_useArrowNavigation.useArrowNavigation;
62
+ exports.useBodyScrollLock = require_shared_useBodyScrollLock.useBodyScrollLock;
63
+ exports.useDateFormatter = require_shared_useDateFormatter.useDateFormatter;
64
+ exports.useDirection = require_shared_useDirection.useDirection;
65
+ exports.useEmitAsProps = require_shared_useEmitAsProps.useEmitAsProps;
66
+ exports.useFilter = require_shared_useFilter.useFilter;
67
+ exports.useFocusGuards = require_shared_useFocusGuards.useFocusGuards;
68
+ exports.useFormControl = require_shared_useFormControl.useFormControl;
69
+ exports.useForwardExpose = require_shared_useForwardExpose.useForwardExpose;
70
+ exports.useForwardProps = require_shared_useForwardProps.useForwardProps;
71
+ exports.useForwardPropsEmits = require_shared_useForwardPropsEmits.useForwardPropsEmits;
72
+ exports.useForwardRef = require_shared_useForwardRef.useForwardRef;
73
+ exports.useGraceArea = require_shared_useGraceArea.useGraceArea;
74
+ exports.useHideOthers = require_shared_useHideOthers.useHideOthers;
75
+ exports.useId = require_shared_useId.useId;
76
+ exports.useKbd = require_shared_useKbd.useKbd;
77
+ exports.useLocale = require_shared_useLocale.useLocale;
78
+ exports.useSelectionBehavior = require_shared_useSelectionBehavior.useSelectionBehavior;
79
+ exports.useSize = require_shared_useSize.useSize;
80
+ exports.useStateMachine = require_shared_useStateMachine.useStateMachine;
81
+ exports.useTestKbd = require_shared_useKbd.useTestKbd;
82
+ exports.useTypeahead = require_shared_useTypeahead.useTypeahead;
83
+ exports.withDefault = require_shared_withDefault.withDefault;
@@ -0,0 +1,2 @@
1
+ import { DateRange, DateStep, DateValue, Formatter, SegmentPart, TimeValue, areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault } from "./index3.cjs";
2
+ export { DateRange, DateStep, DateValue, Formatter, SegmentPart, TimeValue, areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault };
@@ -0,0 +1,2 @@
1
+ import { DateRange, DateStep, DateValue, Formatter, SegmentPart, TimeValue, areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault } from "./index3.js";
2
+ export { DateRange, DateStep, DateValue, Formatter, SegmentPart, TimeValue, areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault };
package/dist/shared.js ADDED
@@ -0,0 +1,43 @@
1
+ import { areEqual, chunk, findValuesBetween } from "./shared/arrays.js";
2
+ import { isBrowser } from "./shared/browser.js";
3
+ import { clamp, roundToStepPrecision, snapValueToStep } from "./shared/clamp.js";
4
+ import { createContext } from "./shared/createContext.js";
5
+ import { getActiveElement } from "./shared/getActiveElement.js";
6
+ import { handleAndDispatchCustomEvent } from "./shared/handleAndDispatchCustomEvent.js";
7
+ import { isValidVNodeElement } from "./shared/isValidVNodeElement.js";
8
+ import { isNullish } from "./shared/nullish.js";
9
+ import { isValueEqualOrExist } from "./shared/isValueEqualOrExist.js";
10
+ import { omit, pick } from "./shared/object.js";
11
+ import { onFocusOutside } from "./shared/onFocusOutside.js";
12
+ import { renderSlotFragments } from "./shared/renderSlotFragments.js";
13
+ import { trapFocus } from "./shared/trap-focus.js";
14
+ import { useArrowNavigation } from "./shared/useArrowNavigation.js";
15
+ import "./ConfigProvider/ConfigProvider.js";
16
+ import { useBodyScrollLock } from "./shared/useBodyScrollLock.js";
17
+ import "./date/comparators.js";
18
+ import "./date/utils.js";
19
+ import "./date/calendar.js";
20
+ import "./date/index.js";
21
+ import { useDateFormatter } from "./shared/useDateFormatter.js";
22
+ import { useDirection } from "./shared/useDirection.js";
23
+ import { useEmitAsProps } from "./shared/useEmitAsProps.js";
24
+ import { useFilter } from "./shared/useFilter.js";
25
+ import { useFocusGuards } from "./shared/useFocusGuards.js";
26
+ import { useFormControl } from "./shared/useFormControl.js";
27
+ import { useForwardExpose } from "./shared/useForwardExpose.js";
28
+ import { useForwardProps } from "./shared/useForwardProps.js";
29
+ import { useForwardPropsEmits } from "./shared/useForwardPropsEmits.js";
30
+ import { useForwardRef } from "./shared/useForwardRef.js";
31
+ import { useGraceArea } from "./shared/useGraceArea.js";
32
+ import { useHideOthers } from "./shared/useHideOthers.js";
33
+ import { useId } from "./shared/useId.js";
34
+ import { useKbd, useTestKbd } from "./shared/useKbd.js";
35
+ import { useLocale } from "./shared/useLocale.js";
36
+ import { useSelectionBehavior } from "./shared/useSelectionBehavior.js";
37
+ import { useSize } from "./shared/useSize.js";
38
+ import { useStateMachine } from "./shared/useStateMachine.js";
39
+ import { useTypeahead } from "./shared/useTypeahead.js";
40
+ import { withDefault } from "./shared/withDefault.js";
41
+ import "./shared/index.js";
42
+
43
+ export { areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "reka-ui",
3
3
  "type": "module",
4
- "version": "2.9.3",
4
+ "version": "2.9.4",
5
5
  "description": "Vue port for Radix UI Primitives.",
6
6
  "author": "UnoVue Contributors (https://github.com/unovue)",
7
7
  "license": "MIT",
@@ -80,7 +80,8 @@
80
80
  "type-check": "vue-tsc -p tsconfig.check.json --noEmit",
81
81
  "test": "vitest",
82
82
  "test-update": "vitest -u",
83
- "pub:release": "npm publish --access public --provenance"
83
+ "pub:release": "npm publish --access public --provenance",
84
+ "size": "size-limit"
84
85
  },
85
86
  "peerDependencies": {
86
87
  "vue": ">= 3.4.0"
@@ -94,13 +95,15 @@
94
95
  "@vueuse/core": "^14.1.0",
95
96
  "@vueuse/shared": "^14.1.0",
96
97
  "aria-hidden": "^1.2.4",
97
- "defu": "^6.1.4",
98
+ "defu": "^6.1.5",
98
99
  "ohash": "^2.0.11"
99
100
  },
100
101
  "devDependencies": {
101
102
  "@iconify/vue": "^4.3.0",
102
103
  "@internationalized/date": "^3.7.0",
103
104
  "@internationalized/number": "^3.6.0",
105
+ "@size-limit/esbuild": "^12.0.1",
106
+ "@size-limit/file": "^12.0.1",
104
107
  "@testing-library/dom": "^10.4.1",
105
108
  "@testing-library/jest-dom": "^6.9.1",
106
109
  "@testing-library/user-event": "^14.6.1",
@@ -113,6 +116,7 @@
113
116
  "@vue/test-utils": "^2.4.6",
114
117
  "@vue/tsconfig": "^0.7.0",
115
118
  "jsdom": "^26.1.0",
119
+ "size-limit": "^12.0.1",
116
120
  "tsdown": "^0.12.9",
117
121
  "vite": "^8.0.3",
118
122
  "vitest": "^3.2.4",
@@ -120,6 +124,6 @@
120
124
  "vitest-canvas-mock": "^0.3.3",
121
125
  "vue": "3.5.17",
122
126
  "vue-component-type-helpers": "^3.0.3",
123
- "vue-tsc": "2.2.12"
127
+ "vue-tsc": "3.2.6"
124
128
  }
125
129
  }
@@ -253,7 +253,7 @@ const {
253
253
 
254
254
  watch(modelValue, (_modelValue) => {
255
255
  if (Array.isArray(_modelValue) && _modelValue.length) {
256
- const lastValue = _modelValue[_modelValue.length - 1]
256
+ const lastValue = _modelValue.at(-1)
257
257
  if (lastValue && !isEqualDay(placeholder.value, lastValue))
258
258
  onPlaceholderChange(lastValue)
259
259
  }
@@ -158,7 +158,7 @@ export function useCalendar(props: UseCalendarProps) {
158
158
  if (props.disabled.value)
159
159
  return true
160
160
 
161
- const lastPeriodInView = grid.value[grid.value.length - 1].value
161
+ const lastPeriodInView = grid.value.at(-1)!.value
162
162
 
163
163
  if (!nextPageFunc && !props.nextPage.value) {
164
164
  const firstPeriodOfNextPage = lastPeriodInView.add({ months: 1 }).set({ day: 1 })
@@ -336,7 +336,7 @@ export function useCalendar(props: UseCalendarProps) {
336
336
  }
337
337
 
338
338
  const startMonth = toDate(grid.value[0].value)
339
- const endMonth = toDate(grid.value[grid.value.length - 1].value)
339
+ const endMonth = toDate(grid.value.at(-1)!.value)
340
340
 
341
341
  const startMonthName = formatter.fullMonth(startMonth, headingFormatOptions.value)
342
342
  const endMonthName = formatter.fullMonth(endMonth, headingFormatOptions.value)
@@ -1,6 +1,8 @@
1
1
  <script lang="ts">
2
2
  import type { PrimitiveProps } from '@/Primitive'
3
3
 
4
+ const ALLOWED_INPUT_RE = /[\d.-]/
5
+
4
6
  export interface ColorFieldInputProps extends PrimitiveProps {}
5
7
  </script>
6
8
 
@@ -87,7 +89,7 @@ function handleBeforeInput(event: InputEvent) {
87
89
  const data = event.data
88
90
 
89
91
  // Allow numbers, decimal point, minus sign
90
- if (data && !/[\d.-]/.test(data)) {
92
+ if (data && !ALLOWED_INPUT_RE.test(data)) {
91
93
  event.preventDefault()
92
94
  return
93
95
  }
@@ -74,10 +74,7 @@ async function handlePointerDown(event: PointerEvent) {
74
74
  if (isTouchOrPen(event) && !event.defaultPrevented) {
75
75
  // clear the long press here in case there's multiple touch points
76
76
  clearLongPress()
77
- longPressTimer.value = window.setTimeout(
78
- () => handleOpen(event),
79
- rootContext.pressOpenDelay.value,
80
- )
77
+ longPressTimer.value = window.setTimeout(handleOpen, rootContext.pressOpenDelay.value, event)
81
78
  }
82
79
  }
83
80
  }
@@ -11,11 +11,13 @@ import { createContext, isNullish, useDateFormatter, useDirection, useKbd, useLo
11
11
  import {
12
12
  createContent,
13
13
  getDefaultDate,
14
+ getInputType,
14
15
  getSegmentElements,
15
16
  initializeSegmentValues,
16
17
  isSegmentNavigationKey,
17
18
  normalizeDateStep,
18
19
  normalizeHourCycle,
20
+ normalizeInputValue,
19
21
  syncSegmentValues,
20
22
  } from '@/shared/date'
21
23
 
@@ -241,6 +243,11 @@ const prevFocusableSegment = computed(() => {
241
243
  return segmentToFocus
242
244
  })
243
245
 
246
+ const inputType = computed(() => getInputType(inferredGranularity.value))
247
+ const inputValue = computed(() => normalizeInputValue(modelValue.value, inferredGranularity.value))
248
+ const inputMaxValue = computed(() => props.maxValue ? normalizeInputValue(props.maxValue, inferredGranularity.value) : undefined)
249
+ const inputMinValue = computed(() => props.minValue ? normalizeInputValue(props.minValue, inferredGranularity.value) : undefined)
250
+
244
251
  const kbd = useKbd()
245
252
 
246
253
  function handleKeydown(e: KeyboardEvent) {
@@ -303,15 +310,15 @@ defineExpose({
303
310
  <VisuallyHidden
304
311
  :id="id"
305
312
  as="input"
306
- type="date"
313
+ :type="inputType"
307
314
  feature="focusable"
308
315
  tabindex="-1"
309
- :value="modelValue ? modelValue.toString() : ''"
316
+ :value="inputValue"
310
317
  :name="name"
311
318
  :disabled="disabled"
312
319
  :required="required"
313
- :max="maxValue"
314
- :min="minValue"
320
+ :max="inputMaxValue"
321
+ :min="inputMinValue"
315
322
  @focus="Array.from(segmentElements)?.[0]?.focus()"
316
323
  />
317
324
  </Primitive>
@@ -46,7 +46,7 @@ rootContext.triggerId ||= useId(undefined, 'reka-dropdown-menu-trigger')
46
46
  :disabled="disabled"
47
47
  :data-state="rootContext.open.value ? 'open' : 'closed'"
48
48
  @click="
49
- async (event) => {
49
+ async (event: MouseEvent) => {
50
50
  // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)
51
51
  // but not when the control key is pressed (avoiding MacOS right click)
52
52
  if (!disabled && event.button === 0 && event.ctrlKey === false) {
@@ -59,7 +59,7 @@ rootContext.triggerId ||= useId(undefined, 'reka-dropdown-menu-trigger')
59
59
  }
60
60
  "
61
61
  @keydown.enter.space.arrow-down="
62
- (event) => {
62
+ (event: KeyboardEvent) => {
63
63
  if (disabled) return;
64
64
  if (['Enter', ' '].includes(event.key)) rootContext.onOpenToggle();
65
65
  if (event.key === 'ArrowDown') rootContext.onOpenChange(true);
@@ -21,7 +21,7 @@ useForwardExpose()
21
21
  <template>
22
22
  <Primitive
23
23
  v-bind="props"
24
- @mousedown="(event) => {
24
+ @mousedown="(event: MouseEvent) => {
25
25
  // prevent text selection when double clicking label
26
26
  if (!event.defaultPrevented && event.detail > 1) event.preventDefault();
27
27
  }"
@@ -29,7 +29,7 @@ const isClickFocus = refAutoReset(false, 10)
29
29
  :aria-multiselectable="!!rootContext.multiple.value"
30
30
  :data-orientation="rootContext.orientation.value"
31
31
  @mousedown.left="isClickFocus = true"
32
- @focus="(ev) => {
32
+ @focus="(ev: FocusEvent) => {
33
33
  if (isClickFocus)
34
34
  return
35
35
  rootContext.onEnter(ev)
@@ -83,7 +83,7 @@ const virtualizedItems = computed(() => virtualizer.value.getVirtualItems().map(
83
83
  })[0]
84
84
 
85
85
  const targetNode = defaultNode.type === Fragment && Array.isArray(defaultNode.children)
86
- ? defaultNode.children[0] as VNode
86
+ ? defaultNode.children.find(child => typeof (child as VNode).type !== 'symbol') as VNode
87
87
  : defaultNode
88
88
 
89
89
  return {
@@ -178,7 +178,7 @@ function handleMultipleReplace(event: Event, intent: 'first' | 'last' | 'prev' |
178
178
  break
179
179
  }
180
180
  case 'last': {
181
- value = findValuesBetween(props.options, rootContext.firstValue.value as T, props.options?.[props.options.length - 1])
181
+ value = findValuesBetween(props.options, rootContext.firstValue.value as T, props.options.at(-1)!)
182
182
  break
183
183
  }
184
184
  }
@@ -211,7 +211,7 @@ rootContext.virtualKeydownHook.on((event) => {
211
211
  virtualizer.value.scrollToIndex(index)
212
212
  requestAnimationFrame(() => {
213
213
  const items = getItems()
214
- const item = intent === 'first' ? items[0] : items[items.length - 1]
214
+ const item = intent === 'first' ? items[0] : items.at(-1)
215
215
  if (item)
216
216
  rootContext.changeHighlight(item.ref)
217
217
  })
@@ -57,21 +57,21 @@ async function handleSelect() {
57
57
  }
58
58
  "
59
59
  @pointerup="
60
- async (event) => {
60
+ async (event: PointerEvent) => {
61
61
  await nextTick();
62
62
  if (event.defaultPrevented) return;
63
63
  // Pointer down can move to a different menu item which should activate it on pointer up.
64
64
  // We dispatch a click for selection to allow composition with click based triggers and to
65
65
  // prevent Firefox from getting stuck in text selection mode when the menu closes.
66
- if (!isPointerDownRef) event.currentTarget?.click();
66
+ if (!isPointerDownRef) (event.currentTarget as HTMLElement)?.click();
67
67
  }
68
68
  "
69
69
  @keydown="
70
- async (event) => {
70
+ async (event: KeyboardEvent) => {
71
71
  const isTypingAhead = contentContext.searchRef.value !== '';
72
72
  if (disabled || (isTypingAhead && event.key === ' ')) return;
73
73
  if (SELECTION_KEYS.includes(event.key)) {
74
- event.currentTarget.click();
74
+ (event.currentTarget as HTMLElement)?.click();
75
75
  /**
76
76
  * We prevent default browser behaviour for selection keys as they should trigger
77
77
  * a selection only:
@@ -79,7 +79,7 @@ async function handlePointerLeave(event: PointerEvent) {
79
79
  @pointermove="handlePointerMove"
80
80
  @pointerleave="handlePointerLeave"
81
81
  @focus="
82
- async (event) => {
82
+ async (event: FocusEvent) => {
83
83
  await nextTick();
84
84
  if (event.defaultPrevented || disabled) return;
85
85
  isFocused = true;
@@ -87,7 +87,7 @@ async function handlePointerLeave(event: PointerEvent) {
87
87
  }
88
88
  "
89
89
  @blur="
90
- async (event) => {
90
+ async (event: FocusEvent) => {
91
91
  await nextTick();
92
92
  if (event.defaultPrevented) return;
93
93
  isFocused = false;
@@ -133,7 +133,8 @@ async function handleKeyDown(event: KeyboardEvent) {
133
133
  v-bind="props"
134
134
  :id="subContext.triggerId"
135
135
  :ref="
136
- (vnode: ComponentPublicInstance) => {
136
+ (vnode: Element | ComponentPublicInstance | null) => {
137
+ if (!vnode) return undefined
137
138
  // @ts-ignore
138
139
  subContext?.onTriggerChange(vnode?.$el);
139
140
  return undefined
@@ -144,14 +145,14 @@ async function handleKeyDown(event: KeyboardEvent) {
144
145
  :aria-controls="subContext.contentId"
145
146
  :data-state="getOpenState(menuContext.open.value)"
146
147
  @click="
147
- async (event) => {
148
+ async (event: MouseEvent) => {
148
149
  if (props.disabled || event.defaultPrevented) return;
149
150
  /**
150
151
  * We manually focus because iOS Safari doesn't always focus on click (e.g. buttons)
151
152
  * and we rely heavily on `onFocusOutside` for submenus to close when switching
152
153
  * between separate submenus.
153
154
  */
154
- event.currentTarget.focus();
155
+ (event.currentTarget as HTMLElement)?.focus();
155
156
  if (!menuContext.open.value) menuContext.onOpenChange(true);
156
157
  }
157
158
  "
@@ -60,7 +60,7 @@ onMounted(() => {
60
60
  :data-disabled="disabled ? '' : undefined"
61
61
  :disabled="disabled"
62
62
  :data-value="menuContext.value"
63
- @pointerdown="(event) => {
63
+ @pointerdown="(event: PointerEvent) => {
64
64
  // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)
65
65
  // but not when the control key is pressed (avoiding MacOS right click)
66
66
  if (!disabled && event.button === 0 && event.ctrlKey === false) {
@@ -77,7 +77,7 @@ onMounted(() => {
77
77
  triggerElement?.focus()
78
78
  }
79
79
  }"
80
- @keydown.enter.space.arrow-down="(event) => {
80
+ @keydown.enter.space.arrow-down="(event: KeyboardEvent) => {
81
81
  if (disabled) return;
82
82
  if (['Enter', ' '].includes(event.key)) rootContext.onMenuToggle(menuContext.value);
83
83
  if (event.key === 'ArrowDown') rootContext.onMenuOpen(menuContext.value);
@@ -196,7 +196,7 @@ const { isInvalid, isMonthSelected } = useMonthPickerState({
196
196
 
197
197
  watch(modelValue, (_modelValue) => {
198
198
  if (Array.isArray(_modelValue) && _modelValue.length) {
199
- const lastValue = _modelValue[_modelValue.length - 1]
199
+ const lastValue = _modelValue.at(-1)
200
200
  if (lastValue && !isSameYearMonth(placeholder.value, lastValue))
201
201
  onPlaceholderChange(lastValue)
202
202
  }