reka-ui 2.9.2 → 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 (381) 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/AutocompleteInput.cjs +25 -8
  5. package/dist/Autocomplete/AutocompleteInput.cjs.map +1 -1
  6. package/dist/Autocomplete/AutocompleteInput.js +26 -9
  7. package/dist/Autocomplete/AutocompleteInput.js.map +1 -1
  8. package/dist/Autocomplete/AutocompleteRoot.js +1 -1
  9. package/dist/Avatar/AvatarRoot.js +1 -1
  10. package/dist/Calendar/CalendarRoot.cjs +1 -1
  11. package/dist/Calendar/CalendarRoot.cjs.map +1 -1
  12. package/dist/Calendar/CalendarRoot.js +2 -2
  13. package/dist/Calendar/CalendarRoot.js.map +1 -1
  14. package/dist/Calendar/useCalendar.cjs +2 -2
  15. package/dist/Calendar/useCalendar.cjs.map +1 -1
  16. package/dist/Calendar/useCalendar.js +2 -2
  17. package/dist/Calendar/useCalendar.js.map +1 -1
  18. package/dist/Checkbox/CheckboxGroupRoot.js +1 -1
  19. package/dist/Checkbox/CheckboxRoot.js +1 -1
  20. package/dist/Collapsible/CollapsibleRoot.js +1 -1
  21. package/dist/Collection/Collection.js +2 -2
  22. package/dist/ColorArea/ColorAreaRoot.cjs +0 -1
  23. package/dist/ColorArea/ColorAreaRoot.cjs.map +1 -1
  24. package/dist/ColorArea/ColorAreaRoot.js +1 -2
  25. package/dist/ColorArea/ColorAreaRoot.js.map +1 -1
  26. package/dist/ColorField/ColorFieldInput.cjs +2 -1
  27. package/dist/ColorField/ColorFieldInput.cjs.map +1 -1
  28. package/dist/ColorField/ColorFieldInput.js +2 -1
  29. package/dist/ColorField/ColorFieldInput.js.map +1 -1
  30. package/dist/ColorField/ColorFieldRoot.cjs +0 -1
  31. package/dist/ColorField/ColorFieldRoot.cjs.map +1 -1
  32. package/dist/ColorField/ColorFieldRoot.js +1 -2
  33. package/dist/ColorField/ColorFieldRoot.js.map +1 -1
  34. package/dist/ColorSlider/ColorSliderRoot.js +1 -1
  35. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.js +1 -1
  36. package/dist/Combobox/ComboboxContentImpl.js +1 -1
  37. package/dist/Combobox/ComboboxGroup.js +1 -1
  38. package/dist/Combobox/ComboboxItem.cjs +1 -1
  39. package/dist/Combobox/ComboboxItem.cjs.map +1 -1
  40. package/dist/Combobox/ComboboxItem.js +1 -1
  41. package/dist/Combobox/ComboboxItem.js.map +1 -1
  42. package/dist/Combobox/ComboboxRoot.js +1 -1
  43. package/dist/ConfigProvider/ConfigProvider.js +1 -1
  44. package/dist/ContextMenu/ContextMenuRoot.js +1 -1
  45. package/dist/ContextMenu/ContextMenuTrigger.cjs +1 -1
  46. package/dist/ContextMenu/ContextMenuTrigger.cjs.map +1 -1
  47. package/dist/ContextMenu/ContextMenuTrigger.js +1 -1
  48. package/dist/ContextMenu/ContextMenuTrigger.js.map +1 -1
  49. package/dist/DateField/DateFieldRoot.cjs +9 -4
  50. package/dist/DateField/DateFieldRoot.cjs.map +1 -1
  51. package/dist/DateField/DateFieldRoot.js +11 -6
  52. package/dist/DateField/DateFieldRoot.js.map +1 -1
  53. package/dist/DatePicker/DatePickerRoot.js +1 -1
  54. package/dist/DateRangeField/DateRangeFieldRoot.js +1 -1
  55. package/dist/DateRangePicker/DateRangePickerRoot.js +1 -1
  56. package/dist/Dialog/DialogRoot.js +1 -1
  57. package/dist/DismissableLayer/DismissableLayer.js +1 -1
  58. package/dist/DropdownMenu/DropdownMenuRoot.js +1 -1
  59. package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
  60. package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
  61. package/dist/Editable/EditableRoot.js +1 -1
  62. package/dist/FocusScope/FocusScope.cjs +5 -1
  63. package/dist/FocusScope/FocusScope.cjs.map +1 -1
  64. package/dist/FocusScope/FocusScope.js +6 -2
  65. package/dist/FocusScope/FocusScope.js.map +1 -1
  66. package/dist/HoverCard/HoverCardContentImpl.cjs +5 -0
  67. package/dist/HoverCard/HoverCardContentImpl.cjs.map +1 -1
  68. package/dist/HoverCard/HoverCardContentImpl.js +5 -0
  69. package/dist/HoverCard/HoverCardContentImpl.js.map +1 -1
  70. package/dist/HoverCard/HoverCardRoot.js +1 -1
  71. package/dist/Label/Label.cjs.map +1 -1
  72. package/dist/Label/Label.js.map +1 -1
  73. package/dist/Listbox/ListboxContent.cjs.map +1 -1
  74. package/dist/Listbox/ListboxContent.js.map +1 -1
  75. package/dist/Listbox/ListboxGroup.js +1 -1
  76. package/dist/Listbox/ListboxItem.cjs +1 -1
  77. package/dist/Listbox/ListboxItem.cjs.map +1 -1
  78. package/dist/Listbox/ListboxItem.js +2 -2
  79. package/dist/Listbox/ListboxItem.js.map +1 -1
  80. package/dist/Listbox/ListboxRoot.cjs +6 -5
  81. package/dist/Listbox/ListboxRoot.cjs.map +1 -1
  82. package/dist/Listbox/ListboxRoot.js +7 -6
  83. package/dist/Listbox/ListboxRoot.js.map +1 -1
  84. package/dist/Listbox/ListboxVirtualizer.cjs +3 -3
  85. package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
  86. package/dist/Listbox/ListboxVirtualizer.js +3 -3
  87. package/dist/Listbox/ListboxVirtualizer.js.map +1 -1
  88. package/dist/Menu/MenuContentImpl.js +1 -1
  89. package/dist/Menu/MenuGroup.js +1 -1
  90. package/dist/Menu/MenuItem.cjs +1 -1
  91. package/dist/Menu/MenuItem.cjs.map +1 -1
  92. package/dist/Menu/MenuItem.js +1 -1
  93. package/dist/Menu/MenuItem.js.map +1 -1
  94. package/dist/Menu/MenuItemImpl.cjs.map +1 -1
  95. package/dist/Menu/MenuItemImpl.js.map +1 -1
  96. package/dist/Menu/MenuItemIndicator.js +1 -1
  97. package/dist/Menu/MenuRadioGroup.js +1 -1
  98. package/dist/Menu/MenuRoot.js +2 -2
  99. package/dist/Menu/MenuSub.js +1 -1
  100. package/dist/Menu/MenuSubTrigger.cjs +2 -1
  101. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  102. package/dist/Menu/MenuSubTrigger.js +2 -1
  103. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  104. package/dist/Menubar/MenubarMenu.js +1 -1
  105. package/dist/Menubar/MenubarRoot.js +1 -1
  106. package/dist/Menubar/MenubarTrigger.cjs.map +1 -1
  107. package/dist/Menubar/MenubarTrigger.js.map +1 -1
  108. package/dist/MonthPicker/MonthPickerRoot.cjs +1 -1
  109. package/dist/MonthPicker/MonthPickerRoot.cjs.map +1 -1
  110. package/dist/MonthPicker/MonthPickerRoot.js +2 -2
  111. package/dist/MonthPicker/MonthPickerRoot.js.map +1 -1
  112. package/dist/MonthRangePicker/MonthRangePickerRoot.js +1 -1
  113. package/dist/NavigationMenu/NavigationMenuItem.js +1 -1
  114. package/dist/NavigationMenu/NavigationMenuRoot.js +1 -1
  115. package/dist/NavigationMenu/NavigationMenuTrigger.cjs +1 -0
  116. package/dist/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
  117. package/dist/NavigationMenu/NavigationMenuTrigger.js +1 -0
  118. package/dist/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
  119. package/dist/NumberField/NumberFieldRoot.js +1 -1
  120. package/dist/Pagination/PaginationRoot.js +1 -1
  121. package/dist/PinInput/PinInputInput.cjs +12 -6
  122. package/dist/PinInput/PinInputInput.cjs.map +1 -1
  123. package/dist/PinInput/PinInputInput.js +12 -6
  124. package/dist/PinInput/PinInputInput.js.map +1 -1
  125. package/dist/PinInput/PinInputRoot.js +1 -1
  126. package/dist/Popover/PopoverRoot.js +1 -1
  127. package/dist/Popper/PopperArrow.cjs +1 -1
  128. package/dist/Popper/PopperArrow.cjs.map +1 -1
  129. package/dist/Popper/PopperArrow.js +1 -1
  130. package/dist/Popper/PopperArrow.js.map +1 -1
  131. package/dist/Popper/PopperContent.js +1 -1
  132. package/dist/Popper/PopperRoot.js +1 -1
  133. package/dist/Presence/Presence.js +1 -1
  134. package/dist/Primitive/Primitive.js +1 -1
  135. package/dist/Primitive/Slot.js +1 -1
  136. package/dist/Progress/ProgressRoot.js +1 -1
  137. package/dist/RadioGroup/RadioGroupItem.js +1 -1
  138. package/dist/RadioGroup/RadioGroupRoot.js +1 -1
  139. package/dist/RangeCalendar/RangeCalendarRoot.js +1 -1
  140. package/dist/RovingFocus/RovingFocusGroup.js +1 -1
  141. package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
  142. package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
  143. package/dist/ScrollArea/ScrollAreaRoot.js +1 -1
  144. package/dist/ScrollArea/ScrollAreaScrollbar.js +1 -1
  145. package/dist/ScrollArea/ScrollAreaScrollbarGlimpse.cjs +2 -2
  146. package/dist/ScrollArea/ScrollAreaScrollbarGlimpse.cjs.map +1 -1
  147. package/dist/ScrollArea/ScrollAreaScrollbarGlimpse.js +2 -2
  148. package/dist/ScrollArea/ScrollAreaScrollbarGlimpse.js.map +1 -1
  149. package/dist/ScrollArea/ScrollAreaScrollbarScroll.cjs +1 -1
  150. package/dist/ScrollArea/ScrollAreaScrollbarScroll.cjs.map +1 -1
  151. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js +1 -1
  152. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js.map +1 -1
  153. package/dist/ScrollArea/ScrollAreaScrollbarVisible.js +1 -1
  154. package/dist/Select/SelectContentImpl.cjs +1 -0
  155. package/dist/Select/SelectContentImpl.cjs.map +1 -1
  156. package/dist/Select/SelectContentImpl.js +2 -1
  157. package/dist/Select/SelectContentImpl.js.map +1 -1
  158. package/dist/Select/SelectGroup.js +1 -1
  159. package/dist/Select/SelectItem.cjs.map +1 -1
  160. package/dist/Select/SelectItem.js +1 -1
  161. package/dist/Select/SelectItem.js.map +1 -1
  162. package/dist/Select/SelectItemAlignedPosition.cjs +1 -1
  163. package/dist/Select/SelectItemAlignedPosition.cjs.map +1 -1
  164. package/dist/Select/SelectItemAlignedPosition.js +2 -2
  165. package/dist/Select/SelectItemAlignedPosition.js.map +1 -1
  166. package/dist/Select/SelectRoot.cjs +1 -1
  167. package/dist/Select/SelectRoot.cjs.map +1 -1
  168. package/dist/Select/SelectRoot.js +2 -2
  169. package/dist/Select/SelectRoot.js.map +1 -1
  170. package/dist/Select/SelectTrigger.cjs.map +1 -1
  171. package/dist/Select/SelectTrigger.js.map +1 -1
  172. package/dist/Slider/SliderImpl.cjs.map +1 -1
  173. package/dist/Slider/SliderImpl.js.map +1 -1
  174. package/dist/Slider/SliderRoot.js +1 -1
  175. package/dist/Slider/utils.js +1 -1
  176. package/dist/Splitter/SplitterGroup.js +1 -1
  177. package/dist/Stepper/StepperItem.js +1 -1
  178. package/dist/Stepper/StepperRoot.js +1 -1
  179. package/dist/Switch/SwitchRoot.js +1 -1
  180. package/dist/Tabs/TabsRoot.js +1 -1
  181. package/dist/Tabs/TabsTrigger.cjs.map +1 -1
  182. package/dist/Tabs/TabsTrigger.js.map +1 -1
  183. package/dist/TagsInput/TagsInputInput.cjs +3 -0
  184. package/dist/TagsInput/TagsInputInput.cjs.map +1 -1
  185. package/dist/TagsInput/TagsInputInput.js +3 -0
  186. package/dist/TagsInput/TagsInputInput.js.map +1 -1
  187. package/dist/TagsInput/TagsInputItem.js +1 -1
  188. package/dist/TagsInput/TagsInputRoot.js +1 -1
  189. package/dist/TimeField/TimeFieldRoot.js +1 -1
  190. package/dist/TimeRangeField/TimeRangeFieldRoot.js +1 -1
  191. package/dist/Toast/ToastProvider.js +1 -1
  192. package/dist/Toast/ToastRootImpl.cjs +3 -3
  193. package/dist/Toast/ToastRootImpl.cjs.map +1 -1
  194. package/dist/Toast/ToastRootImpl.js +4 -4
  195. package/dist/Toast/ToastRootImpl.js.map +1 -1
  196. package/dist/Toast/ToastViewport.cjs +5 -1
  197. package/dist/Toast/ToastViewport.cjs.map +1 -1
  198. package/dist/Toast/ToastViewport.js +5 -1
  199. package/dist/Toast/ToastViewport.js.map +1 -1
  200. package/dist/ToggleGroup/ToggleGroupRoot.js +1 -1
  201. package/dist/Toolbar/ToolbarRoot.js +1 -1
  202. package/dist/Tooltip/TooltipContentImpl.cjs +1 -1
  203. package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
  204. package/dist/Tooltip/TooltipContentImpl.js +1 -1
  205. package/dist/Tooltip/TooltipContentImpl.js.map +1 -1
  206. package/dist/Tooltip/TooltipProvider.js +1 -1
  207. package/dist/Tooltip/TooltipRoot.js +1 -1
  208. package/dist/Tree/TreeItem.cjs.map +1 -1
  209. package/dist/Tree/TreeItem.js.map +1 -1
  210. package/dist/Tree/TreeRoot.js +1 -1
  211. package/dist/Tree/TreeVirtualizer.cjs +1 -1
  212. package/dist/Tree/TreeVirtualizer.cjs.map +1 -1
  213. package/dist/Tree/TreeVirtualizer.js +1 -1
  214. package/dist/Tree/TreeVirtualizer.js.map +1 -1
  215. package/dist/YearPicker/YearPickerRoot.cjs +1 -1
  216. package/dist/YearPicker/YearPickerRoot.cjs.map +1 -1
  217. package/dist/YearPicker/YearPickerRoot.js +2 -2
  218. package/dist/YearPicker/YearPickerRoot.js.map +1 -1
  219. package/dist/YearPicker/useYearPicker.cjs +3 -3
  220. package/dist/YearPicker/useYearPicker.cjs.map +1 -1
  221. package/dist/YearPicker/useYearPicker.js +3 -3
  222. package/dist/YearPicker/useYearPicker.js.map +1 -1
  223. package/dist/YearRangePicker/YearRangePickerRoot.js +1 -1
  224. package/dist/color/parse.cjs +10 -4
  225. package/dist/color/parse.cjs.map +1 -1
  226. package/dist/color/parse.js +10 -4
  227. package/dist/color/parse.js.map +1 -1
  228. package/dist/color/utils.cjs +5 -2
  229. package/dist/color/utils.cjs.map +1 -1
  230. package/dist/color/utils.js +5 -2
  231. package/dist/color/utils.js.map +1 -1
  232. package/dist/constant.d.cts.map +1 -1
  233. package/dist/date/calendar.cjs +1 -1
  234. package/dist/date/calendar.cjs.map +1 -1
  235. package/dist/date/calendar.js +1 -1
  236. package/dist/date/calendar.js.map +1 -1
  237. package/dist/date/useDateField.cjs +3 -0
  238. package/dist/date/useDateField.cjs.map +1 -1
  239. package/dist/date/useDateField.js +3 -0
  240. package/dist/date/useDateField.js.map +1 -1
  241. package/dist/date/utils.cjs +30 -0
  242. package/dist/date/utils.cjs.map +1 -1
  243. package/dist/date/utils.js +19 -1
  244. package/dist/date/utils.js.map +1 -1
  245. package/dist/date.d.cts +2 -1
  246. package/dist/date.d.ts +2 -1
  247. package/dist/index.cjs +6 -0
  248. package/dist/index.d.cts +4 -3
  249. package/dist/index.d.ts +4 -3
  250. package/dist/index.js +6 -0
  251. package/dist/index2.d.cts +5 -44
  252. package/dist/index2.d.cts.map +1 -1
  253. package/dist/index2.d.ts +5 -44
  254. package/dist/index2.d.ts.map +1 -1
  255. package/dist/index3.d.cts +400 -10813
  256. package/dist/index3.d.cts.map +1 -1
  257. package/dist/index3.d.ts +400 -10813
  258. package/dist/index3.d.ts.map +1 -1
  259. package/dist/index4.d.cts +10538 -0
  260. package/dist/index4.d.cts.map +1 -0
  261. package/dist/index4.d.ts +10538 -0
  262. package/dist/index4.d.ts.map +1 -0
  263. package/dist/internal.cjs +22 -0
  264. package/dist/internal.d.cts +10 -6
  265. package/dist/internal.d.cts.map +1 -1
  266. package/dist/internal.d.ts +10 -6
  267. package/dist/internal.d.ts.map +1 -1
  268. package/dist/internal.js +22 -0
  269. package/dist/namespaced/index.cjs +82 -0
  270. package/dist/namespaced/index.d.cts +77 -3
  271. package/dist/namespaced/index.d.mts +77 -3
  272. package/dist/namespaced/index.mjs +75 -3
  273. package/dist/shared/arrays.cjs +22 -0
  274. package/dist/shared/arrays.cjs.map +1 -1
  275. package/dist/shared/arrays.js +17 -1
  276. package/dist/shared/arrays.js.map +1 -1
  277. package/dist/shared/clamp.cjs +6 -0
  278. package/dist/shared/clamp.js +1 -1
  279. package/dist/shared/createContext.cjs +1 -1
  280. package/dist/shared/createContext.js +1 -1
  281. package/dist/shared/index.cjs +0 -0
  282. package/dist/shared/index.js +0 -0
  283. package/dist/shared/isValidVNodeElement.cjs +17 -0
  284. package/dist/shared/isValidVNodeElement.cjs.map +1 -0
  285. package/dist/shared/isValidVNodeElement.js +11 -0
  286. package/dist/shared/isValidVNodeElement.js.map +1 -0
  287. package/dist/shared/object.cjs +26 -0
  288. package/dist/shared/object.cjs.map +1 -0
  289. package/dist/shared/object.js +14 -0
  290. package/dist/shared/object.js.map +1 -0
  291. package/dist/shared/onFocusOutside.cjs +30 -0
  292. package/dist/shared/onFocusOutside.cjs.map +1 -0
  293. package/dist/shared/onFocusOutside.js +24 -0
  294. package/dist/shared/onFocusOutside.js.map +1 -0
  295. package/dist/shared/trap-focus.cjs +35 -0
  296. package/dist/shared/trap-focus.cjs.map +1 -0
  297. package/dist/shared/trap-focus.js +30 -0
  298. package/dist/shared/trap-focus.js.map +1 -0
  299. package/dist/shared/useForwardExpose.cjs +1 -1
  300. package/dist/shared/useForwardExpose.cjs.map +1 -1
  301. package/dist/shared/useForwardExpose.js +1 -1
  302. package/dist/shared/useForwardExpose.js.map +1 -1
  303. package/dist/shared/useForwardProps.cjs.map +1 -1
  304. package/dist/shared/useForwardProps.js.map +1 -1
  305. package/dist/shared/useForwardRef.cjs +23 -0
  306. package/dist/shared/useForwardRef.cjs.map +1 -0
  307. package/dist/shared/useForwardRef.js +17 -0
  308. package/dist/shared/useForwardRef.js.map +1 -0
  309. package/dist/shared/useGraceArea.cjs +3 -2
  310. package/dist/shared/useGraceArea.cjs.map +1 -1
  311. package/dist/shared/useGraceArea.js +3 -2
  312. package/dist/shared/useGraceArea.js.map +1 -1
  313. package/dist/shared/useKbd.cjs +17 -0
  314. package/dist/shared/useKbd.cjs.map +1 -1
  315. package/dist/shared/useKbd.js +12 -1
  316. package/dist/shared/useKbd.js.map +1 -1
  317. package/dist/shared/useSelectionBehavior.cjs +1 -1
  318. package/dist/shared/useSelectionBehavior.cjs.map +1 -1
  319. package/dist/shared/useSelectionBehavior.js +1 -1
  320. package/dist/shared/useSelectionBehavior.js.map +1 -1
  321. package/dist/shared.cjs +83 -0
  322. package/dist/shared.d.cts +2 -0
  323. package/dist/shared.d.ts +2 -0
  324. package/dist/shared.js +43 -0
  325. package/package.json +10 -6
  326. package/src/Autocomplete/AutocompleteInput.vue +30 -8
  327. package/src/Calendar/CalendarRoot.vue +1 -1
  328. package/src/Calendar/useCalendar.ts +2 -2
  329. package/src/ColorArea/ColorAreaRoot.vue +0 -4
  330. package/src/ColorField/ColorFieldInput.vue +3 -1
  331. package/src/ColorField/ColorFieldRoot.vue +0 -4
  332. package/src/Combobox/ComboboxItem.vue +3 -0
  333. package/src/ContextMenu/ContextMenuTrigger.vue +1 -4
  334. package/src/DateField/DateFieldRoot.vue +11 -4
  335. package/src/DropdownMenu/DropdownMenuTrigger.vue +2 -2
  336. package/src/FocusScope/FocusScope.vue +15 -1
  337. package/src/HoverCard/HoverCardContentImpl.vue +7 -0
  338. package/src/Label/Label.vue +1 -1
  339. package/src/Listbox/ListboxContent.vue +1 -1
  340. package/src/Listbox/ListboxItem.vue +2 -2
  341. package/src/Listbox/ListboxRoot.vue +8 -6
  342. package/src/Listbox/ListboxVirtualizer.vue +3 -3
  343. package/src/Menu/MenuItem.vue +4 -4
  344. package/src/Menu/MenuItemImpl.vue +2 -2
  345. package/src/Menu/MenuSubTrigger.vue +4 -3
  346. package/src/Menubar/MenubarTrigger.vue +2 -2
  347. package/src/MonthPicker/MonthPickerRoot.vue +1 -1
  348. package/src/NavigationMenu/NavigationMenuTrigger.vue +4 -2
  349. package/src/PinInput/PinInputInput.vue +19 -8
  350. package/src/Popper/PopperArrow.vue +3 -2
  351. package/src/RovingFocus/RovingFocusItem.vue +1 -1
  352. package/src/ScrollArea/ScrollAreaScrollbarGlimpse.vue +2 -8
  353. package/src/ScrollArea/ScrollAreaScrollbarScroll.vue +1 -4
  354. package/src/Select/SelectContentImpl.vue +3 -2
  355. package/src/Select/SelectItem.vue +1 -1
  356. package/src/Select/SelectItemAlignedPosition.vue +1 -1
  357. package/src/Select/SelectRoot.vue +1 -1
  358. package/src/Select/SelectTrigger.vue +1 -1
  359. package/src/Select/index.ts +1 -0
  360. package/src/Slider/SliderImpl.vue +4 -4
  361. package/src/Tabs/TabsTrigger.vue +1 -1
  362. package/src/TagsInput/TagsInputInput.vue +10 -1
  363. package/src/Toast/ToastRootImpl.vue +3 -3
  364. package/src/Toast/ToastViewport.vue +9 -5
  365. package/src/Tooltip/TooltipContentImpl.vue +1 -1
  366. package/src/Tree/TreeItem.vue +3 -3
  367. package/src/Tree/TreeVirtualizer.vue +1 -1
  368. package/src/YearPicker/YearPickerRoot.vue +1 -1
  369. package/src/YearPicker/useYearPicker.ts +3 -3
  370. package/src/date/calendar.ts +1 -1
  371. package/src/shared/color/parse.ts +11 -4
  372. package/src/shared/color/utils.ts +6 -2
  373. package/src/shared/date/types.ts +2 -0
  374. package/src/shared/date/useDateField.ts +3 -0
  375. package/src/shared/date/utils.ts +29 -1
  376. package/src/shared/object.ts +1 -1
  377. package/src/shared/trap-focus.ts +1 -3
  378. package/src/shared/useForwardExpose.ts +1 -1
  379. package/src/shared/useForwardProps.ts +13 -2
  380. package/src/shared/useGraceArea.ts +7 -5
  381. package/src/shared/useSelectionBehavior.ts +1 -1
@@ -106,7 +106,7 @@ export function useYearPicker(props: UseYearPickerProps) {
106
106
  if (props.disabled.value)
107
107
  return true
108
108
 
109
- const lastYearInView = grid.value.cells[grid.value.cells.length - 1]
109
+ const lastYearInView = grid.value.cells.at(-1)!
110
110
  if (nextPageFunc || props.nextPage.value) {
111
111
  const nextDate = (nextPageFunc || props.nextPage.value)!(lastYearInView)
112
112
  return isAfter(startOfYear(nextDate), props.maxValue.value)
@@ -164,7 +164,7 @@ export function useYearPicker(props: UseYearPickerProps) {
164
164
 
165
165
  watch(props.placeholder, (value) => {
166
166
  const firstYearInGrid = grid.value.value
167
- const lastYearInGrid = grid.value.cells[grid.value.cells.length - 1]
167
+ const lastYearInGrid = grid.value.cells.at(-1)!
168
168
  if (value.year >= firstYearInGrid.year && value.year <= lastYearInGrid.year)
169
169
  return
170
170
  grid.value = createYearGrid({ dateObj: value, yearsPerPage: props.yearsPerPage.value })
@@ -180,7 +180,7 @@ export function useYearPicker(props: UseYearPickerProps) {
180
180
  formatter.setLocale(props.locale.value)
181
181
 
182
182
  const firstYear = grid.value.cells[0]
183
- const lastYear = grid.value.cells[grid.value.cells.length - 1]
183
+ const lastYear = grid.value.cells.at(-1)!
184
184
 
185
185
  return `${formatter.fullYear(toDate(firstYear), headingFormatOptions.value)} - ${formatter.fullYear(toDate(lastYear), headingFormatOptions.value)}`
186
186
  })
@@ -78,7 +78,7 @@ export function createMonth(props: CreateMonthProps): Grid<DateValue> {
78
78
  if (fixedWeeks && totalDays < 42) {
79
79
  const extraDays = 42 - totalDays
80
80
 
81
- let startFrom = nextMonthDays[nextMonthDays.length - 1]
81
+ let startFrom = nextMonthDays.at(-1)
82
82
 
83
83
  if (!startFrom)
84
84
  startFrom = endOfMonth(dateObj)
@@ -1,5 +1,12 @@
1
1
  import type { Color, HSBColor, HSLColor, RGBColor } from './types'
2
2
 
3
+ const HEX3_RE = /^[0-9A-F]{3}$/i
4
+ const HEX6_RE = /^[0-9A-F]{6}$/i
5
+ const HEX8_RE = /^[0-9A-F]{8}$/i
6
+ const RGB_RE = /rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*(?:,\s*([\d.]+)\s*)?\)/
7
+ const HSL_RE = /hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%\s*(?:,\s*([\d.]+)\s*)?\)/
8
+ const HSB_RE = /hsb[av]?\(\s*([\d.]+)\s*,\s*([\d.]+)%?\s*,\s*([\d.]+)%?\s*(?:,\s*([\d.]+)\s*)?\)/
9
+
3
10
  /**
4
11
  * Parses a color string into a Color object.
5
12
  * Supports hex (#rrggbb, #rgb), rgb(), hsl(), and hsb()/hsv() formats.
@@ -34,7 +41,7 @@ function parseHex(hex: string): RGBColor {
34
41
  let normalized = hex.slice(1)
35
42
 
36
43
  // Validate hex format (3, 6, or 8 hex digits)
37
- if (!/^[0-9A-F]{3}$/i.test(normalized) && !/^[0-9A-F]{6}$/i.test(normalized) && !/^[0-9A-F]{8}$/i.test(normalized)) {
44
+ if (!HEX3_RE.test(normalized) && !HEX6_RE.test(normalized) && !HEX8_RE.test(normalized)) {
38
45
  throw new Error(`Invalid hex color: ${hex}. Expected format: #RGB, #RRGGBB, or #RRGGBBAA`)
39
46
  }
40
47
 
@@ -71,7 +78,7 @@ function parseHex(hex: string): RGBColor {
71
78
  }
72
79
 
73
80
  function parseRgb(rgb: string): RGBColor {
74
- const match = rgb.match(/rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*(?:,\s*([\d.]+)\s*)?\)/)
81
+ const match = rgb.match(RGB_RE)
75
82
  if (!match) {
76
83
  throw new Error(`Invalid RGB color: ${rgb}`)
77
84
  }
@@ -86,7 +93,7 @@ function parseRgb(rgb: string): RGBColor {
86
93
  }
87
94
 
88
95
  function parseHsl(hsl: string): HSLColor {
89
- const match = hsl.match(/hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%\s*(?:,\s*([\d.]+)\s*)?\)/)
96
+ const match = hsl.match(HSL_RE)
90
97
  if (!match) {
91
98
  throw new Error(`Invalid HSL color: ${hsl}`)
92
99
  }
@@ -101,7 +108,7 @@ function parseHsl(hsl: string): HSLColor {
101
108
  }
102
109
 
103
110
  function parseHsb(hsb: string): HSBColor {
104
- const match = hsb.match(/hsb[av]?\(\s*([\d.]+)\s*,\s*([\d.]+)%?\s*,\s*([\d.]+)%?\s*(?:,\s*([\d.]+)\s*)?\)/)
111
+ const match = hsb.match(HSB_RE)
105
112
  if (!match) {
106
113
  throw new Error(`Invalid HSB color: ${hsb}`)
107
114
  }
@@ -3,11 +3,15 @@
3
3
  * @param hex Hex color string (e.g., "#ff5733" or "#f53")
4
4
  * @returns An object containing red, green, and blue values (0-255).
5
5
  */
6
+ const HASH_PREFIX_RE = /^#/
7
+ const HEX6_RE = /^[0-9A-F]{6}$/i
8
+ const HEX3_RE = /^[0-9A-F]{3}$/i
9
+
6
10
  export function hexToRGB(hex: string): { r: number, g: number, b: number } {
7
- hex = hex.replace(/^#/, '')
11
+ hex = hex.replace(HASH_PREFIX_RE, '')
8
12
 
9
13
  // Validate hex format (3 or 6 hex digits)
10
- if (!/^[0-9A-F]{6}$/i.test(hex) && !/^[0-9A-F]{3}$/i.test(hex)) {
14
+ if (!HEX6_RE.test(hex) && !HEX3_RE.test(hex)) {
11
15
  throw new Error(`Invalid hex color: ${hex}. Expected format: #RGB or #RRGGBB`)
12
16
  }
13
17
 
@@ -54,3 +54,5 @@ export type TimeSegmentObj = {
54
54
  export type DateAndTimeSegmentObj = DateSegmentObj & TimeSegmentObj
55
55
  export type SegmentValueObj = DateSegmentObj | DateAndTimeSegmentObj
56
56
  export type SegmentContentObj = Record<EditableSegmentPart, string>
57
+
58
+ export type DateInputType = 'date' | 'datetime-local'
@@ -367,6 +367,7 @@ export function useDateField(props: UseDateFieldProps) {
367
367
  */
368
368
  if (props.hasLeftFocus.value) {
369
369
  props.hasLeftFocus.value = false
370
+ props.lastKeyZero.value = false
370
371
  prev = null
371
372
  }
372
373
 
@@ -445,6 +446,7 @@ export function useDateField(props: UseDateFieldProps) {
445
446
  */
446
447
  if (props.hasLeftFocus.value) {
447
448
  props.hasLeftFocus.value = false
449
+ props.lastKeyZero.value = false
448
450
  prev = null
449
451
  }
450
452
 
@@ -524,6 +526,7 @@ export function useDateField(props: UseDateFieldProps) {
524
526
  // probably not implement, kind of weird
525
527
  if (props.hasLeftFocus.value) {
526
528
  props.hasLeftFocus.value = false
529
+ props.lastKeyZero.value = false
527
530
  prev = null
528
531
  }
529
532
 
@@ -1,5 +1,5 @@
1
1
  import type { Granularity } from './comparators'
2
- import type { DateStep, HourCycle } from './types'
2
+ import type { DateInputType, DateStep, DateValue, HourCycle } from './types'
3
3
  import { defu } from 'defu'
4
4
 
5
5
  export function getOptsByGranularity(granularity: Granularity, hourCycle: HourCycle, isTimeValue: boolean = false) {
@@ -82,3 +82,31 @@ export function normalizeHour12(hourCycle: HourCycle) {
82
82
  return true
83
83
  return undefined
84
84
  }
85
+
86
+ export function getInputType(granularity: Granularity): DateInputType {
87
+ return granularity === 'day' ? 'date' : 'datetime-local'
88
+ }
89
+
90
+ export function normalizeInputValue(date: DateValue | undefined, granularity: Granularity): string {
91
+ if (!date)
92
+ return ''
93
+
94
+ const type = getInputType(granularity)
95
+
96
+ const year = String(date.year).padStart(4, '0')
97
+ const month = String(date.month).padStart(2, '0')
98
+ const day = String(date.day).padStart(2, '0')
99
+
100
+ if (type === 'date')
101
+ return `${year}-${month}-${day}`
102
+
103
+ const hour = String('hour' in date ? date.hour : 0).padStart(2, '0')
104
+ const minute = String('minute' in date ? date.minute : 0).padStart(2, '0')
105
+
106
+ if (granularity === 'second') {
107
+ const second = String('second' in date ? date.second : 0).padStart(2, '0')
108
+ return `${year}-${month}-${day}T${hour}:${minute}:${second}`
109
+ }
110
+
111
+ return `${year}-${month}-${day}T${hour}:${minute}`
112
+ }
@@ -3,7 +3,7 @@ export function pick<T, K extends keyof T>(object: T, keys: K[]): Pick<T, K> {
3
3
  {},
4
4
  // eslint-disable-next-line array-callback-return
5
5
  ...keys.map((key) => {
6
- if (object && Object.prototype.hasOwnProperty.call(object, key))
6
+ if (object && Object.hasOwn(object, key))
7
7
  return { [key]: object[key] }
8
8
  }),
9
9
  )
@@ -12,9 +12,7 @@ export function trapFocus(element: HTMLElement) {
12
12
  el => !el.hasAttribute('disabled') && !el.getAttribute('aria-hidden'),
13
13
  )
14
14
  const firstFocusableEl = focusableEls[0] as HTMLElement
15
- const lastFocusableEl = focusableEls[
16
- focusableEls.length - 1
17
- ] as HTMLElement
15
+ const lastFocusableEl = focusableEls.at(-1) as HTMLElement
18
16
  const KEYCODE_TAB = 9
19
17
 
20
18
  if (firstFocusableEl)
@@ -76,7 +76,7 @@ export function useForwardExpose<T extends ComponentPublicInstance>() {
76
76
 
77
77
  // ref not is Element
78
78
  // and `useForwardExpose.test.ts > useForwardRef > should forward plain DOM element ref - 2` Passing in `$el`
79
- if (!(ref instanceof Element) && !Object.prototype.hasOwnProperty.call(ref, '$el')) {
79
+ if (!(ref instanceof Element) && !Object.hasOwn(ref, '$el')) {
80
80
  // Retrieves the `exposed` data that has not been unwrapped by `vue` from `$.exposed`.
81
81
  const childExposed = ref.$.exposed
82
82
  const merged = Object.assign({}, ret)
@@ -7,6 +7,17 @@ interface PropOptions {
7
7
  default?: any
8
8
  }
9
9
 
10
+ /**
11
+ * Vue coerces optional boolean props (e.g. `foo?: boolean`) to non-optional (`foo: boolean`)
12
+ * in the `defineProps` return type. Since `useForwardProps` only returns props that were
13
+ * explicitly assigned, boolean-typed props should remain optional in the return type.
14
+ */
15
+ type WithOptionalBooleans<T> = {
16
+ [K in keyof T as [T[K]] extends [boolean] ? K : never]?: T[K]
17
+ } & {
18
+ [K in keyof T as [T[K]] extends [boolean] ? never : K]: T[K]
19
+ }
20
+
10
21
  /**
11
22
  * The `useForwardProps` function in TypeScript takes in a set of props and returns a computed value
12
23
  * that combines default props with assigned props from the current instance.
@@ -36,8 +47,8 @@ export function useForwardProps<T extends Record<string, any>>(props: MaybeRefOr
36
47
  // Only return value from the props parameter
37
48
  return Object.keys({ ...defaultProps, ...preservedProps }).reduce((prev, curr) => {
38
49
  if (refProps.value[curr] !== undefined)
39
- prev[curr as keyof T] = refProps.value[curr]
50
+ (prev as Record<string, any>)[curr] = refProps.value[curr]
40
51
  return prev
41
- }, {} as T)
52
+ }, {} as WithOptionalBooleans<T>)
42
53
  })
43
54
  }
@@ -21,7 +21,9 @@ export function useGraceArea(triggerElement: Ref<HTMLElement | undefined>, conta
21
21
  isPointerInTransit.value = false
22
22
  }
23
23
 
24
- function handleCreateGraceArea(event: PointerEvent, hoverTarget: HTMLElement) {
24
+ function handleCreateGraceArea(event: PointerEvent, hoverTarget: HTMLElement | undefined) {
25
+ if (!hoverTarget)
26
+ return
25
27
  const currentTarget = event.currentTarget as HTMLElement
26
28
  const exitPoint = { x: event.clientX, y: event.clientY }
27
29
  const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect())
@@ -34,8 +36,8 @@ export function useGraceArea(triggerElement: Ref<HTMLElement | undefined>, conta
34
36
 
35
37
  watchEffect((cleanupFn) => {
36
38
  if (triggerElement.value && containerElement.value) {
37
- const handleTriggerLeave = (event: PointerEvent) => handleCreateGraceArea(event, containerElement.value!)
38
- const handleContentLeave = (event: PointerEvent) => handleCreateGraceArea(event, triggerElement.value!)
39
+ const handleTriggerLeave = (event: PointerEvent) => handleCreateGraceArea(event, containerElement.value)
40
+ const handleContentLeave = (event: PointerEvent) => handleCreateGraceArea(event, triggerElement.value)
39
41
 
40
42
  triggerElement.value.addEventListener('pointerleave', handleTriggerLeave)
41
43
  containerElement.value.addEventListener('pointerleave', handleContentLeave)
@@ -190,7 +192,7 @@ function getHullPresorted<P extends Point>(points: Readonly<Array<P>>): Array<P>
190
192
  for (let i = 0; i < points.length; i++) {
191
193
  const p = points[i]
192
194
  while (upperHull.length >= 2) {
193
- const q = upperHull[upperHull.length - 1]
195
+ const q = upperHull.at(-1)!
194
196
  const r = upperHull[upperHull.length - 2]
195
197
  if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))
196
198
  upperHull.pop()
@@ -204,7 +206,7 @@ function getHullPresorted<P extends Point>(points: Readonly<Array<P>>): Array<P>
204
206
  for (let i = points.length - 1; i >= 0; i--) {
205
207
  const p = points[i]
206
208
  while (lowerHull.length >= 2) {
207
- const q = lowerHull[lowerHull.length - 1]
209
+ const q = lowerHull.at(-1)!
208
210
  const r = lowerHull[lowerHull.length - 2]
209
211
  if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))
210
212
  lowerHull.pop()
@@ -59,7 +59,7 @@ export function useSelectionBehavior<T>(
59
59
  break
60
60
  }
61
61
  case 'last': {
62
- value = findValuesBetween(options, firstValue.value, options?.[options.length - 1])
62
+ value = findValuesBetween(options, firstValue.value, options.at(-1))
63
63
  break
64
64
  }
65
65
  }