reka-ui 2.8.2 → 2.9.0

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 (592) hide show
  1. package/dist/Autocomplete/AutocompleteInput.cjs +128 -0
  2. package/dist/Autocomplete/AutocompleteInput.cjs.map +1 -0
  3. package/dist/Autocomplete/AutocompleteInput.js +122 -0
  4. package/dist/Autocomplete/AutocompleteInput.js.map +1 -0
  5. package/dist/Autocomplete/AutocompleteRoot.cjs +258 -0
  6. package/dist/Autocomplete/AutocompleteRoot.cjs.map +1 -0
  7. package/dist/Autocomplete/AutocompleteRoot.js +246 -0
  8. package/dist/Autocomplete/AutocompleteRoot.js.map +1 -0
  9. package/dist/Calendar/CalendarCellTrigger.cjs +8 -5
  10. package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
  11. package/dist/Calendar/CalendarCellTrigger.js +9 -6
  12. package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
  13. package/dist/Calendar/CalendarNext.cjs +7 -3
  14. package/dist/Calendar/CalendarNext.cjs.map +1 -1
  15. package/dist/Calendar/CalendarNext.js +7 -3
  16. package/dist/Calendar/CalendarNext.js.map +1 -1
  17. package/dist/Calendar/CalendarPrev.cjs +7 -3
  18. package/dist/Calendar/CalendarPrev.cjs.map +1 -1
  19. package/dist/Calendar/CalendarPrev.js +7 -3
  20. package/dist/Calendar/CalendarPrev.js.map +1 -1
  21. package/dist/Checkbox/CheckboxGroupRoot.cjs +1 -1
  22. package/dist/Checkbox/CheckboxGroupRoot.js +1 -1
  23. package/dist/Checkbox/CheckboxRoot.cjs +21 -10
  24. package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
  25. package/dist/Checkbox/CheckboxRoot.js +21 -10
  26. package/dist/Checkbox/CheckboxRoot.js.map +1 -1
  27. package/dist/ColorArea/ColorAreaArea.cjs +143 -0
  28. package/dist/ColorArea/ColorAreaArea.cjs.map +1 -0
  29. package/dist/ColorArea/ColorAreaArea.js +137 -0
  30. package/dist/ColorArea/ColorAreaArea.js.map +1 -0
  31. package/dist/ColorArea/ColorAreaRoot.cjs +240 -0
  32. package/dist/ColorArea/ColorAreaRoot.cjs.map +1 -0
  33. package/dist/ColorArea/ColorAreaRoot.js +228 -0
  34. package/dist/ColorArea/ColorAreaRoot.js.map +1 -0
  35. package/dist/ColorArea/ColorAreaThumb.cjs +91 -0
  36. package/dist/ColorArea/ColorAreaThumb.cjs.map +1 -0
  37. package/dist/ColorArea/ColorAreaThumb.js +85 -0
  38. package/dist/ColorArea/ColorAreaThumb.js.map +1 -0
  39. package/dist/ColorArea/utils.cjs +32 -0
  40. package/dist/ColorArea/utils.cjs.map +1 -0
  41. package/dist/ColorArea/utils.js +21 -0
  42. package/dist/ColorArea/utils.js.map +1 -0
  43. package/dist/ColorField/ColorFieldInput.cjs +140 -0
  44. package/dist/ColorField/ColorFieldInput.cjs.map +1 -0
  45. package/dist/ColorField/ColorFieldInput.js +134 -0
  46. package/dist/ColorField/ColorFieldInput.js.map +1 -0
  47. package/dist/ColorField/ColorFieldRoot.cjs +281 -0
  48. package/dist/ColorField/ColorFieldRoot.cjs.map +1 -0
  49. package/dist/ColorField/ColorFieldRoot.js +269 -0
  50. package/dist/ColorField/ColorFieldRoot.js.map +1 -0
  51. package/dist/ColorSlider/ColorSliderRoot.cjs +230 -0
  52. package/dist/ColorSlider/ColorSliderRoot.cjs.map +1 -0
  53. package/dist/ColorSlider/ColorSliderRoot.js +218 -0
  54. package/dist/ColorSlider/ColorSliderRoot.js.map +1 -0
  55. package/dist/ColorSlider/ColorSliderThumb.cjs +66 -0
  56. package/dist/ColorSlider/ColorSliderThumb.cjs.map +1 -0
  57. package/dist/ColorSlider/ColorSliderThumb.js +60 -0
  58. package/dist/ColorSlider/ColorSliderThumb.js.map +1 -0
  59. package/dist/ColorSlider/ColorSliderTrack.cjs +55 -0
  60. package/dist/ColorSlider/ColorSliderTrack.cjs.map +1 -0
  61. package/dist/ColorSlider/ColorSliderTrack.js +49 -0
  62. package/dist/ColorSlider/ColorSliderTrack.js.map +1 -0
  63. package/dist/ColorSwatch/ColorSwatch.cjs +106 -0
  64. package/dist/ColorSwatch/ColorSwatch.cjs.map +1 -0
  65. package/dist/ColorSwatch/ColorSwatch.js +100 -0
  66. package/dist/ColorSwatch/ColorSwatch.js.map +1 -0
  67. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.cjs +78 -0
  68. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.cjs.map +1 -0
  69. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.js +66 -0
  70. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.js.map +1 -0
  71. package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.cjs +40 -0
  72. package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.cjs.map +1 -0
  73. package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.js +34 -0
  74. package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.js.map +1 -0
  75. package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.cjs +43 -0
  76. package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.cjs.map +1 -0
  77. package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.js +37 -0
  78. package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.js.map +1 -0
  79. package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.cjs +110 -0
  80. package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.cjs.map +1 -0
  81. package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.js +104 -0
  82. package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.js.map +1 -0
  83. package/dist/Combobox/ComboboxContent.cjs +4 -0
  84. package/dist/Combobox/ComboboxContent.cjs.map +1 -1
  85. package/dist/Combobox/ComboboxContent.js +4 -0
  86. package/dist/Combobox/ComboboxContent.js.map +1 -1
  87. package/dist/Combobox/ComboboxContentImpl.cjs +9 -2
  88. package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
  89. package/dist/Combobox/ComboboxContentImpl.js +9 -2
  90. package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
  91. package/dist/Combobox/ComboboxRoot.cjs +7 -1
  92. package/dist/Combobox/ComboboxRoot.js +2 -2
  93. package/dist/DateField/DateFieldRoot.cjs +1 -1
  94. package/dist/DateField/DateFieldRoot.js +1 -1
  95. package/dist/DateRangeField/DateRangeFieldRoot.cjs +1 -1
  96. package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
  97. package/dist/DateRangeField/DateRangeFieldRoot.js +1 -1
  98. package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
  99. package/dist/DismissableLayer/utils.cjs.map +1 -1
  100. package/dist/DismissableLayer/utils.js.map +1 -1
  101. package/dist/DropdownMenu/DropdownMenuFilter.cjs +134 -0
  102. package/dist/DropdownMenu/DropdownMenuFilter.cjs.map +1 -0
  103. package/dist/DropdownMenu/DropdownMenuFilter.js +128 -0
  104. package/dist/DropdownMenu/DropdownMenuFilter.js.map +1 -0
  105. package/dist/Listbox/ListboxRoot.cjs +1 -1
  106. package/dist/Listbox/ListboxRoot.js +1 -1
  107. package/dist/Listbox/ListboxVirtualizer.cjs +1 -1
  108. package/dist/Listbox/ListboxVirtualizer.js +1 -1
  109. package/dist/Menu/MenuContentImpl.cjs +44 -4
  110. package/dist/Menu/MenuContentImpl.cjs.map +1 -1
  111. package/dist/Menu/MenuContentImpl.js +44 -4
  112. package/dist/Menu/MenuContentImpl.js.map +1 -1
  113. package/dist/Menu/MenuItemImpl.cjs +8 -3
  114. package/dist/Menu/MenuItemImpl.cjs.map +1 -1
  115. package/dist/Menu/MenuItemImpl.js +9 -4
  116. package/dist/Menu/MenuItemImpl.js.map +1 -1
  117. package/dist/Menu/MenuSubContent.cjs +8 -2
  118. package/dist/Menu/MenuSubContent.cjs.map +1 -1
  119. package/dist/Menu/MenuSubContent.js +9 -3
  120. package/dist/Menu/MenuSubContent.js.map +1 -1
  121. package/dist/Menu/MenuSubTrigger.cjs +7 -0
  122. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  123. package/dist/Menu/MenuSubTrigger.js +8 -1
  124. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  125. package/dist/MonthPicker/MonthPickerCell.cjs +59 -0
  126. package/dist/MonthPicker/MonthPickerCell.cjs.map +1 -0
  127. package/dist/MonthPicker/MonthPickerCell.js +53 -0
  128. package/dist/MonthPicker/MonthPickerCell.js.map +1 -0
  129. package/dist/MonthPicker/MonthPickerCellTrigger.cjs +197 -0
  130. package/dist/MonthPicker/MonthPickerCellTrigger.cjs.map +1 -0
  131. package/dist/MonthPicker/MonthPickerCellTrigger.js +191 -0
  132. package/dist/MonthPicker/MonthPickerCellTrigger.js.map +1 -0
  133. package/dist/MonthPicker/MonthPickerGrid.cjs +59 -0
  134. package/dist/MonthPicker/MonthPickerGrid.cjs.map +1 -0
  135. package/dist/MonthPicker/MonthPickerGrid.js +53 -0
  136. package/dist/MonthPicker/MonthPickerGrid.js.map +1 -0
  137. package/dist/MonthPicker/MonthPickerGridBody.cjs +41 -0
  138. package/dist/MonthPicker/MonthPickerGridBody.cjs.map +1 -0
  139. package/dist/MonthPicker/MonthPickerGridBody.js +35 -0
  140. package/dist/MonthPicker/MonthPickerGridBody.js.map +1 -0
  141. package/dist/MonthPicker/MonthPickerGridRow.cjs +41 -0
  142. package/dist/MonthPicker/MonthPickerGridRow.cjs.map +1 -0
  143. package/dist/MonthPicker/MonthPickerGridRow.js +35 -0
  144. package/dist/MonthPicker/MonthPickerGridRow.js.map +1 -0
  145. package/dist/MonthPicker/MonthPickerHeader.cjs +41 -0
  146. package/dist/MonthPicker/MonthPickerHeader.cjs.map +1 -0
  147. package/dist/MonthPicker/MonthPickerHeader.js +35 -0
  148. package/dist/MonthPicker/MonthPickerHeader.js.map +1 -0
  149. package/dist/MonthPicker/MonthPickerHeading.cjs +48 -0
  150. package/dist/MonthPicker/MonthPickerHeading.cjs.map +1 -0
  151. package/dist/MonthPicker/MonthPickerHeading.js +42 -0
  152. package/dist/MonthPicker/MonthPickerHeading.js.map +1 -0
  153. package/dist/MonthPicker/MonthPickerNext.cjs +68 -0
  154. package/dist/MonthPicker/MonthPickerNext.cjs.map +1 -0
  155. package/dist/MonthPicker/MonthPickerNext.js +62 -0
  156. package/dist/MonthPicker/MonthPickerNext.js.map +1 -0
  157. package/dist/MonthPicker/MonthPickerPrev.cjs +68 -0
  158. package/dist/MonthPicker/MonthPickerPrev.cjs.map +1 -0
  159. package/dist/MonthPicker/MonthPickerPrev.js +62 -0
  160. package/dist/MonthPicker/MonthPickerPrev.js.map +1 -0
  161. package/dist/MonthPicker/MonthPickerRoot.cjs +281 -0
  162. package/dist/MonthPicker/MonthPickerRoot.cjs.map +1 -0
  163. package/dist/MonthPicker/MonthPickerRoot.js +269 -0
  164. package/dist/MonthPicker/MonthPickerRoot.js.map +1 -0
  165. package/dist/MonthPicker/useMonthPicker.cjs +148 -0
  166. package/dist/MonthPicker/useMonthPicker.cjs.map +1 -0
  167. package/dist/MonthPicker/useMonthPicker.js +136 -0
  168. package/dist/MonthPicker/useMonthPicker.js.map +1 -0
  169. package/dist/MonthRangePicker/MonthRangePickerCell.cjs +59 -0
  170. package/dist/MonthRangePicker/MonthRangePickerCell.cjs.map +1 -0
  171. package/dist/MonthRangePicker/MonthRangePickerCell.js +53 -0
  172. package/dist/MonthRangePicker/MonthRangePickerCell.js.map +1 -0
  173. package/dist/MonthRangePicker/MonthRangePickerCellTrigger.cjs +258 -0
  174. package/dist/MonthRangePicker/MonthRangePickerCellTrigger.cjs.map +1 -0
  175. package/dist/MonthRangePicker/MonthRangePickerCellTrigger.js +252 -0
  176. package/dist/MonthRangePicker/MonthRangePickerCellTrigger.js.map +1 -0
  177. package/dist/MonthRangePicker/MonthRangePickerGrid.cjs +59 -0
  178. package/dist/MonthRangePicker/MonthRangePickerGrid.cjs.map +1 -0
  179. package/dist/MonthRangePicker/MonthRangePickerGrid.js +53 -0
  180. package/dist/MonthRangePicker/MonthRangePickerGrid.js.map +1 -0
  181. package/dist/MonthRangePicker/MonthRangePickerGridBody.cjs +41 -0
  182. package/dist/MonthRangePicker/MonthRangePickerGridBody.cjs.map +1 -0
  183. package/dist/MonthRangePicker/MonthRangePickerGridBody.js +35 -0
  184. package/dist/MonthRangePicker/MonthRangePickerGridBody.js.map +1 -0
  185. package/dist/MonthRangePicker/MonthRangePickerGridRow.cjs +41 -0
  186. package/dist/MonthRangePicker/MonthRangePickerGridRow.cjs.map +1 -0
  187. package/dist/MonthRangePicker/MonthRangePickerGridRow.js +35 -0
  188. package/dist/MonthRangePicker/MonthRangePickerGridRow.js.map +1 -0
  189. package/dist/MonthRangePicker/MonthRangePickerHeader.cjs +41 -0
  190. package/dist/MonthRangePicker/MonthRangePickerHeader.cjs.map +1 -0
  191. package/dist/MonthRangePicker/MonthRangePickerHeader.js +35 -0
  192. package/dist/MonthRangePicker/MonthRangePickerHeader.js.map +1 -0
  193. package/dist/MonthRangePicker/MonthRangePickerHeading.cjs +48 -0
  194. package/dist/MonthRangePicker/MonthRangePickerHeading.cjs.map +1 -0
  195. package/dist/MonthRangePicker/MonthRangePickerHeading.js +42 -0
  196. package/dist/MonthRangePicker/MonthRangePickerHeading.js.map +1 -0
  197. package/dist/MonthRangePicker/MonthRangePickerNext.cjs +68 -0
  198. package/dist/MonthRangePicker/MonthRangePickerNext.cjs.map +1 -0
  199. package/dist/MonthRangePicker/MonthRangePickerNext.js +62 -0
  200. package/dist/MonthRangePicker/MonthRangePickerNext.js.map +1 -0
  201. package/dist/MonthRangePicker/MonthRangePickerPrev.cjs +68 -0
  202. package/dist/MonthRangePicker/MonthRangePickerPrev.cjs.map +1 -0
  203. package/dist/MonthRangePicker/MonthRangePickerPrev.js +62 -0
  204. package/dist/MonthRangePicker/MonthRangePickerPrev.js.map +1 -0
  205. package/dist/MonthRangePicker/MonthRangePickerRoot.cjs +347 -0
  206. package/dist/MonthRangePicker/MonthRangePickerRoot.cjs.map +1 -0
  207. package/dist/MonthRangePicker/MonthRangePickerRoot.js +335 -0
  208. package/dist/MonthRangePicker/MonthRangePickerRoot.js.map +1 -0
  209. package/dist/MonthRangePicker/useRangeMonthPicker.cjs +128 -0
  210. package/dist/MonthRangePicker/useRangeMonthPicker.cjs.map +1 -0
  211. package/dist/MonthRangePicker/useRangeMonthPicker.js +122 -0
  212. package/dist/MonthRangePicker/useRangeMonthPicker.js.map +1 -0
  213. package/dist/NavigationMenu/NavigationMenuItem.js +3 -3
  214. package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
  215. package/dist/NumberField/NumberFieldRoot.cjs +3 -2
  216. package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
  217. package/dist/NumberField/NumberFieldRoot.js +3 -2
  218. package/dist/NumberField/NumberFieldRoot.js.map +1 -1
  219. package/dist/Progress/ProgressRoot.cjs.map +1 -1
  220. package/dist/Progress/ProgressRoot.js.map +1 -1
  221. package/dist/RadioGroup/RadioGroupRoot.cjs +1 -1
  222. package/dist/RadioGroup/RadioGroupRoot.js +1 -1
  223. package/dist/RangeCalendar/RangeCalendarNext.cjs +9 -5
  224. package/dist/RangeCalendar/RangeCalendarNext.cjs.map +1 -1
  225. package/dist/RangeCalendar/RangeCalendarNext.js +9 -5
  226. package/dist/RangeCalendar/RangeCalendarNext.js.map +1 -1
  227. package/dist/RangeCalendar/RangeCalendarPrev.cjs +9 -5
  228. package/dist/RangeCalendar/RangeCalendarPrev.cjs.map +1 -1
  229. package/dist/RangeCalendar/RangeCalendarPrev.js +9 -5
  230. package/dist/RangeCalendar/RangeCalendarPrev.js.map +1 -1
  231. package/dist/RangeCalendar/RangeCalendarRoot.cjs +1 -1
  232. package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
  233. package/dist/RangeCalendar/RangeCalendarRoot.js +1 -1
  234. package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
  235. package/dist/RangeCalendar/useRangeCalendar.cjs +9 -13
  236. package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
  237. package/dist/RangeCalendar/useRangeCalendar.js +9 -13
  238. package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
  239. package/dist/Splitter/SplitterGroup.cjs +136 -26
  240. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  241. package/dist/Splitter/SplitterGroup.js +136 -26
  242. package/dist/Splitter/SplitterGroup.js.map +1 -1
  243. package/dist/Splitter/SplitterPanel.cjs +7 -2
  244. package/dist/Splitter/SplitterPanel.cjs.map +1 -1
  245. package/dist/Splitter/SplitterPanel.js +7 -2
  246. package/dist/Splitter/SplitterPanel.js.map +1 -1
  247. package/dist/Switch/SwitchRoot.cjs +23 -9
  248. package/dist/Switch/SwitchRoot.cjs.map +1 -1
  249. package/dist/Switch/SwitchRoot.js +23 -9
  250. package/dist/Switch/SwitchRoot.js.map +1 -1
  251. package/dist/Switch/SwitchThumb.cjs +1 -1
  252. package/dist/Switch/SwitchThumb.cjs.map +1 -1
  253. package/dist/Switch/SwitchThumb.js +1 -1
  254. package/dist/Switch/SwitchThumb.js.map +1 -1
  255. package/dist/TimeField/TimeFieldRoot.cjs +1 -1
  256. package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
  257. package/dist/TimeField/TimeFieldRoot.js +1 -1
  258. package/dist/TimeField/TimeFieldRoot.js.map +1 -1
  259. package/dist/TimeRangeField/TimeRangeFieldInput.cjs +102 -0
  260. package/dist/TimeRangeField/TimeRangeFieldInput.cjs.map +1 -0
  261. package/dist/TimeRangeField/TimeRangeFieldInput.js +96 -0
  262. package/dist/TimeRangeField/TimeRangeFieldInput.js.map +1 -0
  263. package/dist/TimeRangeField/TimeRangeFieldRoot.cjs +402 -0
  264. package/dist/TimeRangeField/TimeRangeFieldRoot.cjs.map +1 -0
  265. package/dist/TimeRangeField/TimeRangeFieldRoot.js +390 -0
  266. package/dist/TimeRangeField/TimeRangeFieldRoot.js.map +1 -0
  267. package/dist/Toast/ToastAnnounce.cjs +4 -1
  268. package/dist/Toast/ToastAnnounce.cjs.map +1 -1
  269. package/dist/Toast/ToastAnnounce.js +4 -1
  270. package/dist/Toast/ToastAnnounce.js.map +1 -1
  271. package/dist/ToggleGroup/ToggleGroupRoot.cjs +1 -1
  272. package/dist/ToggleGroup/ToggleGroupRoot.js +1 -1
  273. package/dist/Tooltip/TooltipContent.cjs +1 -2
  274. package/dist/Tooltip/TooltipContent.cjs.map +1 -1
  275. package/dist/Tooltip/TooltipContent.js +1 -2
  276. package/dist/Tooltip/TooltipContent.js.map +1 -1
  277. package/dist/Tooltip/TooltipContentImpl.cjs +25 -18
  278. package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
  279. package/dist/Tooltip/TooltipContentImpl.js +25 -18
  280. package/dist/Tooltip/TooltipContentImpl.js.map +1 -1
  281. package/dist/Tooltip/TooltipProvider.cjs +7 -2
  282. package/dist/Tooltip/TooltipProvider.cjs.map +1 -1
  283. package/dist/Tooltip/TooltipProvider.js +7 -2
  284. package/dist/Tooltip/TooltipProvider.js.map +1 -1
  285. package/dist/YearPicker/YearPickerCell.cjs +59 -0
  286. package/dist/YearPicker/YearPickerCell.cjs.map +1 -0
  287. package/dist/YearPicker/YearPickerCell.js +53 -0
  288. package/dist/YearPicker/YearPickerCell.js.map +1 -0
  289. package/dist/YearPicker/YearPickerCellTrigger.cjs +197 -0
  290. package/dist/YearPicker/YearPickerCellTrigger.cjs.map +1 -0
  291. package/dist/YearPicker/YearPickerCellTrigger.js +191 -0
  292. package/dist/YearPicker/YearPickerCellTrigger.js.map +1 -0
  293. package/dist/YearPicker/YearPickerGrid.cjs +59 -0
  294. package/dist/YearPicker/YearPickerGrid.cjs.map +1 -0
  295. package/dist/YearPicker/YearPickerGrid.js +53 -0
  296. package/dist/YearPicker/YearPickerGrid.js.map +1 -0
  297. package/dist/YearPicker/YearPickerGridBody.cjs +41 -0
  298. package/dist/YearPicker/YearPickerGridBody.cjs.map +1 -0
  299. package/dist/YearPicker/YearPickerGridBody.js +35 -0
  300. package/dist/YearPicker/YearPickerGridBody.js.map +1 -0
  301. package/dist/YearPicker/YearPickerGridRow.cjs +41 -0
  302. package/dist/YearPicker/YearPickerGridRow.cjs.map +1 -0
  303. package/dist/YearPicker/YearPickerGridRow.js +35 -0
  304. package/dist/YearPicker/YearPickerGridRow.js.map +1 -0
  305. package/dist/YearPicker/YearPickerHeader.cjs +41 -0
  306. package/dist/YearPicker/YearPickerHeader.cjs.map +1 -0
  307. package/dist/YearPicker/YearPickerHeader.js +35 -0
  308. package/dist/YearPicker/YearPickerHeader.js.map +1 -0
  309. package/dist/YearPicker/YearPickerHeading.cjs +48 -0
  310. package/dist/YearPicker/YearPickerHeading.cjs.map +1 -0
  311. package/dist/YearPicker/YearPickerHeading.js +42 -0
  312. package/dist/YearPicker/YearPickerHeading.js.map +1 -0
  313. package/dist/YearPicker/YearPickerNext.cjs +68 -0
  314. package/dist/YearPicker/YearPickerNext.cjs.map +1 -0
  315. package/dist/YearPicker/YearPickerNext.js +62 -0
  316. package/dist/YearPicker/YearPickerNext.js.map +1 -0
  317. package/dist/YearPicker/YearPickerPrev.cjs +68 -0
  318. package/dist/YearPicker/YearPickerPrev.cjs.map +1 -0
  319. package/dist/YearPicker/YearPickerPrev.js +62 -0
  320. package/dist/YearPicker/YearPickerPrev.js.map +1 -0
  321. package/dist/YearPicker/YearPickerRoot.cjs +287 -0
  322. package/dist/YearPicker/YearPickerRoot.cjs.map +1 -0
  323. package/dist/YearPicker/YearPickerRoot.js +275 -0
  324. package/dist/YearPicker/YearPickerRoot.js.map +1 -0
  325. package/dist/YearPicker/useYearPicker.cjs +180 -0
  326. package/dist/YearPicker/useYearPicker.cjs.map +1 -0
  327. package/dist/YearPicker/useYearPicker.js +168 -0
  328. package/dist/YearPicker/useYearPicker.js.map +1 -0
  329. package/dist/YearRangePicker/YearRangePickerCell.cjs +59 -0
  330. package/dist/YearRangePicker/YearRangePickerCell.cjs.map +1 -0
  331. package/dist/YearRangePicker/YearRangePickerCell.js +53 -0
  332. package/dist/YearRangePicker/YearRangePickerCell.js.map +1 -0
  333. package/dist/YearRangePicker/YearRangePickerCellTrigger.cjs +256 -0
  334. package/dist/YearRangePicker/YearRangePickerCellTrigger.cjs.map +1 -0
  335. package/dist/YearRangePicker/YearRangePickerCellTrigger.js +250 -0
  336. package/dist/YearRangePicker/YearRangePickerCellTrigger.js.map +1 -0
  337. package/dist/YearRangePicker/YearRangePickerGrid.cjs +59 -0
  338. package/dist/YearRangePicker/YearRangePickerGrid.cjs.map +1 -0
  339. package/dist/YearRangePicker/YearRangePickerGrid.js +53 -0
  340. package/dist/YearRangePicker/YearRangePickerGrid.js.map +1 -0
  341. package/dist/YearRangePicker/YearRangePickerGridBody.cjs +41 -0
  342. package/dist/YearRangePicker/YearRangePickerGridBody.cjs.map +1 -0
  343. package/dist/YearRangePicker/YearRangePickerGridBody.js +35 -0
  344. package/dist/YearRangePicker/YearRangePickerGridBody.js.map +1 -0
  345. package/dist/YearRangePicker/YearRangePickerGridRow.cjs +41 -0
  346. package/dist/YearRangePicker/YearRangePickerGridRow.cjs.map +1 -0
  347. package/dist/YearRangePicker/YearRangePickerGridRow.js +35 -0
  348. package/dist/YearRangePicker/YearRangePickerGridRow.js.map +1 -0
  349. package/dist/YearRangePicker/YearRangePickerHeader.cjs +41 -0
  350. package/dist/YearRangePicker/YearRangePickerHeader.cjs.map +1 -0
  351. package/dist/YearRangePicker/YearRangePickerHeader.js +35 -0
  352. package/dist/YearRangePicker/YearRangePickerHeader.js.map +1 -0
  353. package/dist/YearRangePicker/YearRangePickerHeading.cjs +48 -0
  354. package/dist/YearRangePicker/YearRangePickerHeading.cjs.map +1 -0
  355. package/dist/YearRangePicker/YearRangePickerHeading.js +42 -0
  356. package/dist/YearRangePicker/YearRangePickerHeading.js.map +1 -0
  357. package/dist/YearRangePicker/YearRangePickerNext.cjs +68 -0
  358. package/dist/YearRangePicker/YearRangePickerNext.cjs.map +1 -0
  359. package/dist/YearRangePicker/YearRangePickerNext.js +62 -0
  360. package/dist/YearRangePicker/YearRangePickerNext.js.map +1 -0
  361. package/dist/YearRangePicker/YearRangePickerPrev.cjs +68 -0
  362. package/dist/YearRangePicker/YearRangePickerPrev.cjs.map +1 -0
  363. package/dist/YearRangePicker/YearRangePickerPrev.js +62 -0
  364. package/dist/YearRangePicker/YearRangePickerPrev.js.map +1 -0
  365. package/dist/YearRangePicker/YearRangePickerRoot.cjs +350 -0
  366. package/dist/YearRangePicker/YearRangePickerRoot.cjs.map +1 -0
  367. package/dist/YearRangePicker/YearRangePickerRoot.js +338 -0
  368. package/dist/YearRangePicker/YearRangePickerRoot.js.map +1 -0
  369. package/dist/YearRangePicker/useRangeYearPicker.cjs +128 -0
  370. package/dist/YearRangePicker/useRangeYearPicker.cjs.map +1 -0
  371. package/dist/YearRangePicker/useRangeYearPicker.js +122 -0
  372. package/dist/YearRangePicker/useRangeYearPicker.js.map +1 -0
  373. package/dist/color/channel.cjs +378 -0
  374. package/dist/color/channel.cjs.map +1 -0
  375. package/dist/color/channel.js +349 -0
  376. package/dist/color/channel.js.map +1 -0
  377. package/dist/color/convert.cjs +285 -0
  378. package/dist/color/convert.cjs.map +1 -0
  379. package/dist/color/convert.js +237 -0
  380. package/dist/color/convert.js.map +1 -0
  381. package/dist/color/gradient.cjs +377 -0
  382. package/dist/color/gradient.cjs.map +1 -0
  383. package/dist/color/gradient.js +354 -0
  384. package/dist/color/gradient.js.map +1 -0
  385. package/dist/color/parse.cjs +113 -0
  386. package/dist/color/parse.cjs.map +1 -0
  387. package/dist/color/parse.js +95 -0
  388. package/dist/color/parse.js.map +1 -0
  389. package/dist/color/utils.cjs +112 -0
  390. package/dist/color/utils.cjs.map +1 -0
  391. package/dist/color/utils.js +100 -0
  392. package/dist/color/utils.js.map +1 -0
  393. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs +11 -7
  394. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs.map +1 -1
  395. package/dist/composables/useWindowSplitterPanelGroupBehavior.js +11 -7
  396. package/dist/composables/useWindowSplitterPanelGroupBehavior.js.map +1 -1
  397. package/dist/constant/components.cjs +87 -1
  398. package/dist/constant/components.cjs.map +1 -1
  399. package/dist/constant/components.js +87 -1
  400. package/dist/constant/components.js.map +1 -1
  401. package/dist/constant.d.cts +12 -1
  402. package/dist/constant.d.cts.map +1 -1
  403. package/dist/constant.d.ts +12 -1
  404. package/dist/constant.d.ts.map +1 -1
  405. package/dist/date/calendar.cjs +41 -0
  406. package/dist/date/calendar.cjs.map +1 -1
  407. package/dist/date/calendar.js +30 -1
  408. package/dist/date/calendar.js.map +1 -1
  409. package/dist/date/comparators.cjs +129 -0
  410. package/dist/date/comparators.cjs.map +1 -1
  411. package/dist/date/comparators.js +76 -1
  412. package/dist/date/comparators.js.map +1 -1
  413. package/dist/date/useDateField.cjs +0 -1
  414. package/dist/date/useDateField.cjs.map +1 -1
  415. package/dist/date/useDateField.js +0 -1
  416. package/dist/date/useDateField.js.map +1 -1
  417. package/dist/date.cjs +11 -0
  418. package/dist/date.d.cts +2 -2
  419. package/dist/date.d.ts +2 -2
  420. package/dist/date.js +3 -3
  421. package/dist/index.cjs +216 -46
  422. package/dist/index.d.cts +3 -8834
  423. package/dist/index.d.ts +3 -8834
  424. package/dist/index.js +116 -47
  425. package/dist/index2.d.cts +58 -2
  426. package/dist/index2.d.cts.map +1 -1
  427. package/dist/index2.d.ts +58 -2
  428. package/dist/index2.d.ts.map +1 -1
  429. package/dist/index3.d.cts +11061 -0
  430. package/dist/index3.d.cts.map +1 -0
  431. package/dist/index3.d.ts +11061 -0
  432. package/dist/index3.d.ts.map +1 -0
  433. package/dist/internal.cjs +81 -0
  434. package/dist/internal.d.cts +22 -0
  435. package/dist/internal.d.cts.map +1 -0
  436. package/dist/internal.d.ts +22 -0
  437. package/dist/internal.d.ts.map +1 -0
  438. package/dist/internal.js +64 -0
  439. package/dist/internal2.cjs +0 -0
  440. package/dist/internal2.js +0 -0
  441. package/dist/namespaced/index.cjs +33 -1
  442. package/dist/namespaced/index.d.cts +32 -4
  443. package/dist/namespaced/index.d.mts +32 -4
  444. package/dist/namespaced/index.mjs +32 -4
  445. package/dist/shared/useArrowNavigation.cjs +4 -2
  446. package/dist/shared/useArrowNavigation.cjs.map +1 -1
  447. package/dist/shared/useArrowNavigation.js +4 -2
  448. package/dist/shared/useArrowNavigation.js.map +1 -1
  449. package/dist/shared/useForwardExpose.cjs +6 -2
  450. package/dist/shared/useForwardExpose.cjs.map +1 -1
  451. package/dist/shared/useForwardExpose.js +7 -3
  452. package/dist/shared/useForwardExpose.js.map +1 -1
  453. package/dist/shared/useId.cjs +7 -4
  454. package/dist/shared/useId.cjs.map +1 -1
  455. package/dist/shared/useId.js +7 -4
  456. package/dist/shared/useId.js.map +1 -1
  457. package/dist/utils/storage.cjs +7 -1
  458. package/dist/utils/storage.cjs.map +1 -1
  459. package/dist/utils/storage.js +7 -1
  460. package/dist/utils/storage.js.map +1 -1
  461. package/dist/utils/units.cjs +101 -0
  462. package/dist/utils/units.cjs.map +1 -0
  463. package/dist/utils/units.js +83 -0
  464. package/dist/utils/units.js.map +1 -0
  465. package/package.json +6 -2
  466. package/src/Autocomplete/AutocompleteInput.vue +112 -0
  467. package/src/Autocomplete/AutocompleteRoot.vue +272 -0
  468. package/src/Autocomplete/index.ts +72 -0
  469. package/src/Calendar/CalendarCellTrigger.vue +2 -1
  470. package/src/Calendar/CalendarNext.vue +8 -2
  471. package/src/Calendar/CalendarPrev.vue +8 -2
  472. package/src/Calendar/CalendarRoot.vue +1 -1
  473. package/src/Checkbox/CheckboxRoot.vue +32 -13
  474. package/src/ColorArea/ColorAreaArea.vue +145 -0
  475. package/src/ColorArea/ColorAreaRoot.vue +255 -0
  476. package/src/ColorArea/ColorAreaThumb.vue +75 -0
  477. package/src/ColorArea/index.ts +14 -0
  478. package/src/ColorArea/utils.ts +24 -0
  479. package/src/ColorField/ColorFieldInput.vue +133 -0
  480. package/src/ColorField/ColorFieldRoot.vue +326 -0
  481. package/src/ColorField/index.ts +10 -0
  482. package/src/ColorSlider/ColorSliderRoot.vue +224 -0
  483. package/src/ColorSlider/ColorSliderThumb.vue +54 -0
  484. package/src/ColorSlider/ColorSliderTrack.vue +36 -0
  485. package/src/ColorSlider/index.ts +14 -0
  486. package/src/ColorSlider/utils.ts +39 -0
  487. package/src/ColorSwatch/ColorSwatch.vue +97 -0
  488. package/src/ColorSwatch/index.ts +4 -0
  489. package/src/ColorSwatchPicker/ColorSwatchPickerItem.vue +60 -0
  490. package/src/ColorSwatchPicker/ColorSwatchPickerItemIndicator.vue +17 -0
  491. package/src/ColorSwatchPicker/ColorSwatchPickerItemSwatch.vue +21 -0
  492. package/src/ColorSwatchPicker/ColorSwatchPickerRoot.vue +50 -0
  493. package/src/ColorSwatchPicker/index.ts +17 -0
  494. package/src/Combobox/ComboboxContentImpl.vue +13 -1
  495. package/src/DateField/DateFieldRoot.vue +1 -1
  496. package/src/DateRangeField/DateRangeFieldRoot.vue +11 -4
  497. package/src/DismissableLayer/utils.ts +1 -2
  498. package/src/DropdownMenu/DropdownMenuFilter.vue +119 -0
  499. package/src/DropdownMenu/index.ts +5 -0
  500. package/src/Menu/MenuContentImpl.vue +68 -2
  501. package/src/Menu/MenuItemImpl.vue +11 -6
  502. package/src/Menu/MenuSubContent.vue +14 -3
  503. package/src/Menu/MenuSubTrigger.vue +13 -1
  504. package/src/MonthPicker/MonthPickerCell.vue +30 -0
  505. package/src/MonthPicker/MonthPickerCellTrigger.vue +214 -0
  506. package/src/MonthPicker/MonthPickerGrid.vue +32 -0
  507. package/src/MonthPicker/MonthPickerGridBody.vue +17 -0
  508. package/src/MonthPicker/MonthPickerGridRow.vue +20 -0
  509. package/src/MonthPicker/MonthPickerHeader.vue +17 -0
  510. package/src/MonthPicker/MonthPickerHeading.vue +35 -0
  511. package/src/MonthPicker/MonthPickerNext.vue +52 -0
  512. package/src/MonthPicker/MonthPickerPrev.vue +52 -0
  513. package/src/MonthPicker/MonthPickerRoot.vue +311 -0
  514. package/src/MonthPicker/index.ts +42 -0
  515. package/src/MonthPicker/useMonthPicker.ts +193 -0
  516. package/src/MonthRangePicker/MonthRangePickerCell.vue +30 -0
  517. package/src/MonthRangePicker/MonthRangePickerCellTrigger.vue +309 -0
  518. package/src/MonthRangePicker/MonthRangePickerGrid.vue +32 -0
  519. package/src/MonthRangePicker/MonthRangePickerGridBody.vue +17 -0
  520. package/src/MonthRangePicker/MonthRangePickerGridRow.vue +20 -0
  521. package/src/MonthRangePicker/MonthRangePickerHeader.vue +17 -0
  522. package/src/MonthRangePicker/MonthRangePickerHeading.vue +35 -0
  523. package/src/MonthRangePicker/MonthRangePickerNext.vue +52 -0
  524. package/src/MonthRangePicker/MonthRangePickerPrev.vue +52 -0
  525. package/src/MonthRangePicker/MonthRangePickerRoot.vue +391 -0
  526. package/src/MonthRangePicker/index.ts +42 -0
  527. package/src/MonthRangePicker/useRangeMonthPicker.ts +165 -0
  528. package/src/NumberField/NumberFieldRoot.vue +2 -1
  529. package/src/Progress/ProgressRoot.vue +3 -1
  530. package/src/RangeCalendar/RangeCalendarNext.vue +10 -4
  531. package/src/RangeCalendar/RangeCalendarPrev.vue +10 -4
  532. package/src/RangeCalendar/RangeCalendarRoot.vue +2 -2
  533. package/src/RangeCalendar/useRangeCalendar.ts +5 -8
  534. package/src/Splitter/SplitterGroup.vue +218 -49
  535. package/src/Splitter/SplitterPanel.vue +11 -6
  536. package/src/Splitter/utils/composables/useWindowSplitterPanelGroupBehavior.ts +16 -6
  537. package/src/Splitter/utils/storage.ts +14 -0
  538. package/src/Splitter/utils/units.ts +161 -0
  539. package/src/Splitter/utils/validation.ts +3 -2
  540. package/src/Switch/SwitchRoot.vue +36 -19
  541. package/src/Switch/SwitchThumb.vue +1 -1
  542. package/src/TimeField/TimeFieldRoot.vue +0 -3
  543. package/src/TimeRangeField/TimeRangeFieldInput.vue +74 -0
  544. package/src/TimeRangeField/TimeRangeFieldRoot.vue +473 -0
  545. package/src/TimeRangeField/index.ts +2 -0
  546. package/src/Toast/ToastAnnounce.vue +4 -1
  547. package/src/Tooltip/TooltipContent.vue +1 -3
  548. package/src/Tooltip/TooltipContentImpl.vue +18 -10
  549. package/src/Tooltip/TooltipProvider.vue +8 -1
  550. package/src/YearPicker/YearPickerCell.vue +30 -0
  551. package/src/YearPicker/YearPickerCellTrigger.vue +218 -0
  552. package/src/YearPicker/YearPickerGrid.vue +32 -0
  553. package/src/YearPicker/YearPickerGridBody.vue +17 -0
  554. package/src/YearPicker/YearPickerGridRow.vue +20 -0
  555. package/src/YearPicker/YearPickerHeader.vue +17 -0
  556. package/src/YearPicker/YearPickerHeading.vue +35 -0
  557. package/src/YearPicker/YearPickerNext.vue +52 -0
  558. package/src/YearPicker/YearPickerPrev.vue +52 -0
  559. package/src/YearPicker/YearPickerRoot.vue +314 -0
  560. package/src/YearPicker/index.ts +42 -0
  561. package/src/YearPicker/useYearPicker.ts +202 -0
  562. package/src/YearRangePicker/YearRangePickerCell.vue +30 -0
  563. package/src/YearRangePicker/YearRangePickerCellTrigger.vue +311 -0
  564. package/src/YearRangePicker/YearRangePickerGrid.vue +32 -0
  565. package/src/YearRangePicker/YearRangePickerGridBody.vue +17 -0
  566. package/src/YearRangePicker/YearRangePickerGridRow.vue +20 -0
  567. package/src/YearRangePicker/YearRangePickerHeader.vue +17 -0
  568. package/src/YearRangePicker/YearRangePickerHeading.vue +35 -0
  569. package/src/YearRangePicker/YearRangePickerNext.vue +52 -0
  570. package/src/YearRangePicker/YearRangePickerPrev.vue +52 -0
  571. package/src/YearRangePicker/YearRangePickerRoot.vue +391 -0
  572. package/src/YearRangePicker/index.ts +42 -0
  573. package/src/YearRangePicker/useRangeYearPicker.ts +165 -0
  574. package/src/date/calendar.ts +29 -0
  575. package/src/date/comparators.ts +97 -0
  576. package/src/index.ts +41 -0
  577. package/src/internal.ts +7 -0
  578. package/src/shared/color/channel.ts +424 -0
  579. package/src/shared/color/convert.ts +293 -0
  580. package/src/shared/color/gradient.ts +347 -0
  581. package/src/shared/color/index.ts +35 -0
  582. package/src/shared/color/parse.ts +140 -0
  583. package/src/shared/color/types.ts +40 -0
  584. package/src/shared/color/utils.ts +143 -0
  585. package/src/shared/date/types.ts +6 -0
  586. package/src/shared/date/useDateField.ts +37 -39
  587. package/src/shared/macro.ts +11 -0
  588. package/src/shared/useArrowNavigation.ts +8 -2
  589. package/src/shared/useForwardExpose.ts +20 -5
  590. package/src/shared/useId.ts +6 -7
  591. package/dist/index.d.cts.map +0 -1
  592. package/dist/index.d.ts.map +0 -1
@@ -0,0 +1,272 @@
1
+ <script lang="ts">
2
+ import type { Ref } from 'vue'
3
+ import type { PrimitiveProps } from '@/Primitive'
4
+ import type { Direction, GenericComponentInstance } from '@/shared/types'
5
+ import { provideComboboxRootContext } from '@/Combobox/ComboboxRoot.vue'
6
+ import { usePrimitiveElement } from '@/Primitive'
7
+ import { createContext, useDirection, useFilter } from '@/shared'
8
+
9
+ export interface AutocompleteRootProps extends PrimitiveProps {
10
+ /** The controlled value of the Autocomplete (the input text). Can be bound with `v-model`. */
11
+ modelValue?: string
12
+ /** The value of the autocomplete when initially rendered. Use when you do not need to control the state. */
13
+ defaultValue?: string
14
+ /** The controlled open state of the Autocomplete. Can be bound with `v-model:open`. */
15
+ open?: boolean
16
+ /** The open state of the autocomplete when it is initially rendered. Use when you do not need to control its open state. */
17
+ defaultOpen?: boolean
18
+ /** When `true`, prevents the user from interacting with autocomplete */
19
+ disabled?: boolean
20
+ /** The reading direction of the autocomplete when applicable. */
21
+ dir?: Direction
22
+ /** The name of the field. Submitted with its owning form as part of a name/value pair. */
23
+ name?: string
24
+ /** When `true`, indicates that the user must set the value before the owning form can be submitted. */
25
+ required?: boolean
26
+ /**
27
+ * Whether to reset the searchTerm when the Autocomplete input blurred
28
+ * @defaultValue `false`
29
+ */
30
+ resetSearchTermOnBlur?: boolean
31
+ /**
32
+ * Whether to open the autocomplete when the input is focused
33
+ * @defaultValue `false`
34
+ */
35
+ openOnFocus?: boolean
36
+ /**
37
+ * Whether to open the autocomplete when the input is clicked
38
+ * @defaultValue `false`
39
+ */
40
+ openOnClick?: boolean
41
+ /**
42
+ * When `true`, disable the default filters
43
+ */
44
+ ignoreFilter?: boolean
45
+ /** When `true`, hover over item will trigger highlight */
46
+ highlightOnHover?: boolean
47
+ }
48
+
49
+ export type AutocompleteRootEmits = {
50
+ /** Event handler called when the value changes. */
51
+ 'update:modelValue': [value: string]
52
+ /** Event handler when highlighted element changes. */
53
+ 'highlight': [payload: { ref: HTMLElement, value: string } | undefined]
54
+ /** Event handler called when the open state of the autocomplete changes. */
55
+ 'update:open': [value: boolean]
56
+ }
57
+
58
+ export type AutocompleteRootContext = {
59
+ modelValue: Ref<string>
60
+ }
61
+
62
+ export const [injectAutocompleteRootContext, provideAutocompleteRootContext]
63
+ = createContext<AutocompleteRootContext>('AutocompleteRoot')
64
+ </script>
65
+
66
+ <script setup lang="ts">
67
+ import { createEventHook, useVModel } from '@vueuse/core'
68
+ import { computed, getCurrentInstance, nextTick, onMounted, ref, toRefs } from 'vue'
69
+ import { ListboxRoot } from '@/Listbox'
70
+ import { PopperRoot } from '@/Popper'
71
+
72
+ const props = withDefaults(defineProps<AutocompleteRootProps>(), {
73
+ open: undefined,
74
+ resetSearchTermOnBlur: false,
75
+ openOnFocus: false,
76
+ openOnClick: false,
77
+ highlightOnHover: true,
78
+ })
79
+ const emits = defineEmits<AutocompleteRootEmits>()
80
+
81
+ defineSlots<{
82
+ default?: (props: {
83
+ /** Current open state */
84
+ open: typeof open.value
85
+ /** Current active value */
86
+ modelValue: typeof modelValue.value
87
+ }) => any
88
+ }>()
89
+
90
+ const { primitiveElement, currentElement: parentElement } = usePrimitiveElement<GenericComponentInstance<typeof ListboxRoot>>()
91
+ const { disabled, ignoreFilter, openOnFocus, openOnClick, dir: propDir, highlightOnHover } = toRefs(props)
92
+
93
+ const dir = useDirection(propDir)
94
+
95
+ const modelValue = useVModel(props, 'modelValue', emits, {
96
+ defaultValue: props.defaultValue ?? '',
97
+ passive: (props.modelValue === undefined) as false,
98
+ }) as Ref<string>
99
+
100
+ const open = useVModel(props, 'open', emits, {
101
+ defaultValue: props.defaultOpen,
102
+ passive: (props.open === undefined) as false,
103
+ }) as Ref<boolean>
104
+
105
+ // Writable computed that converts any value to string for the ComboboxRootContext.
106
+ // This handles the case when ComboboxItem sets modelValue to a non-string value,
107
+ // or when ComboboxCancel resets modelValue to null.
108
+ const contextModelValue = computed({
109
+ get: () => modelValue.value,
110
+ set: (val: any) => {
111
+ if (val === null || val === undefined) {
112
+ modelValue.value = ''
113
+ }
114
+ else {
115
+ modelValue.value = String(val)
116
+ }
117
+ },
118
+ })
119
+
120
+ async function onOpenChange(val: boolean) {
121
+ open.value = val
122
+
123
+ if (val) {
124
+ // When opening, set filter to current text so items are filtered by what's in the input
125
+ filterSearch.value = modelValue.value || ''
126
+
127
+ await nextTick()
128
+ primitiveElement.value?.highlightSelected()
129
+ isUserInputted.value = true
130
+ inputElement.value?.focus()
131
+ }
132
+ else {
133
+ isUserInputted.value = false
134
+ filterSearch.value = ''
135
+ setTimeout(() => {
136
+ if (!val && props.resetSearchTermOnBlur)
137
+ resetSearchTerm.trigger()
138
+ }, 1)
139
+ }
140
+ }
141
+
142
+ const resetSearchTerm = createEventHook()
143
+ const isUserInputted = ref(false)
144
+ const isVirtual = ref(false)
145
+ const inputElement = ref<HTMLInputElement>()
146
+ const triggerElement = ref<HTMLElement>()
147
+
148
+ const highlightedElement = computed(() => primitiveElement.value?.highlightedElement ?? undefined)
149
+
150
+ const allItems = ref<Map<string, string>>(new Map())
151
+ const allGroups = ref<Map<string, Set<string>>>(new Map())
152
+
153
+ const { contains } = useFilter({ sensitivity: 'base' })
154
+
155
+ const filterSearch = ref('')
156
+
157
+ const filterState = computed<{
158
+ count: number
159
+ items: Map<string, number>
160
+ groups: Set<string>
161
+ }>((oldValue) => {
162
+ if (!filterSearch.value || props.ignoreFilter || isVirtual.value) {
163
+ return {
164
+ count: allItems.value.size,
165
+ items: oldValue?.items ?? new Map(),
166
+ groups: oldValue?.groups ?? new Set(allGroups.value.keys()),
167
+ }
168
+ }
169
+
170
+ let itemCount = 0
171
+ const filteredItems = new Map<string, number>()
172
+ const filteredGroups = new Set<string>()
173
+
174
+ for (const [id, value] of allItems.value) {
175
+ const score = contains(value, filterSearch.value)
176
+ filteredItems.set(id, score ? 1 : 0)
177
+ if (score)
178
+ itemCount++
179
+ }
180
+
181
+ for (const [groupId, group] of allGroups.value) {
182
+ for (const itemId of group) {
183
+ if (filteredItems.get(itemId)! > 0) {
184
+ filteredGroups.add(groupId)
185
+ break
186
+ }
187
+ }
188
+ }
189
+
190
+ return {
191
+ count: itemCount,
192
+ items: filteredItems,
193
+ groups: filteredGroups,
194
+ }
195
+ })
196
+
197
+ const inst = getCurrentInstance()
198
+ onMounted(() => {
199
+ if (inst?.exposed) {
200
+ inst.exposed.highlightItem = primitiveElement.value?.highlightItem
201
+ inst.exposed.highlightFirstItem = primitiveElement.value?.highlightFirstItem
202
+ inst.exposed.highlightSelected = primitiveElement.value?.highlightSelected
203
+ }
204
+ })
205
+
206
+ defineExpose({
207
+ filtered: filterState,
208
+ highlightedElement,
209
+ highlightItem: primitiveElement.value?.highlightItem,
210
+ highlightFirstItem: primitiveElement.value?.highlightFirstItem,
211
+ highlightSelected: primitiveElement.value?.highlightSelected,
212
+ })
213
+
214
+ // Provide the Combobox context so all Combobox sub-components work inside Autocomplete
215
+ provideComboboxRootContext({
216
+ modelValue: contextModelValue as any,
217
+ multiple: ref(false),
218
+ disabled,
219
+ open,
220
+ onOpenChange,
221
+ contentId: '',
222
+ isUserInputted,
223
+ isVirtual,
224
+ inputElement,
225
+ highlightedElement,
226
+ onInputElementChange: val => inputElement.value = val,
227
+ triggerElement,
228
+ onTriggerElementChange: val => triggerElement.value = val,
229
+ parentElement,
230
+ resetSearchTermOnSelect: ref(false),
231
+ onResetSearchTerm: resetSearchTerm.on,
232
+ allItems,
233
+ allGroups,
234
+ filterSearch,
235
+ filterState,
236
+ ignoreFilter,
237
+ openOnFocus,
238
+ openOnClick,
239
+ resetModelValueOnClear: ref(true),
240
+ })
241
+
242
+ // Provide autocomplete-specific context
243
+ provideAutocompleteRootContext({
244
+ modelValue,
245
+ })
246
+ </script>
247
+
248
+ <template>
249
+ <PopperRoot>
250
+ <ListboxRoot
251
+ ref="primitiveElement"
252
+ v-bind="$attrs"
253
+ v-model="(contextModelValue as any)"
254
+ :style="{
255
+ pointerEvents: open ? 'auto' : undefined,
256
+ }"
257
+ :as="as"
258
+ :as-child="asChild"
259
+ :dir="dir"
260
+ :name="name"
261
+ :required="required"
262
+ :disabled="disabled"
263
+ :highlight-on-hover="highlightOnHover"
264
+ @highlight="emits('highlight', $event as any)"
265
+ >
266
+ <slot
267
+ :open="open"
268
+ :model-value="modelValue"
269
+ />
270
+ </ListboxRoot>
271
+ </PopperRoot>
272
+ </template>
@@ -0,0 +1,72 @@
1
+ export {
2
+ default as AutocompleteInput,
3
+ type AutocompleteInputEmits,
4
+ type AutocompleteInputProps,
5
+ } from './AutocompleteInput.vue'
6
+ export {
7
+ default as AutocompleteRoot,
8
+ type AutocompleteRootEmits,
9
+ type AutocompleteRootProps,
10
+ injectAutocompleteRootContext,
11
+ } from './AutocompleteRoot.vue'
12
+
13
+ // Re-export Combobox sub-components as Autocomplete equivalents.
14
+ // These components inject ComboboxRootContext which AutocompleteRoot provides.
15
+ export {
16
+ ComboboxAnchor as AutocompleteAnchor,
17
+ type ComboboxAnchorProps as AutocompleteAnchorProps,
18
+ } from '@/Combobox'
19
+ export {
20
+ ComboboxArrow as AutocompleteArrow,
21
+ type ComboboxArrowProps as AutocompleteArrowProps,
22
+ } from '@/Combobox'
23
+ export {
24
+ ComboboxCancel as AutocompleteCancel,
25
+ type ComboboxCancelProps as AutocompleteCancelProps,
26
+ } from '@/Combobox'
27
+ export {
28
+ ComboboxContent as AutocompleteContent,
29
+ type ComboboxContentEmits as AutocompleteContentEmits,
30
+ type ComboboxContentProps as AutocompleteContentProps,
31
+ } from '@/Combobox'
32
+ export {
33
+ ComboboxEmpty as AutocompleteEmpty,
34
+ type ComboboxEmptyProps as AutocompleteEmptyProps,
35
+ } from '@/Combobox'
36
+ export {
37
+ ComboboxGroup as AutocompleteGroup,
38
+ type ComboboxGroupProps as AutocompleteGroupProps,
39
+ } from '@/Combobox'
40
+ export {
41
+ ComboboxItem as AutocompleteItem,
42
+ type ComboboxItemEmits as AutocompleteItemEmits,
43
+ type ComboboxItemProps as AutocompleteItemProps,
44
+ } from '@/Combobox'
45
+ export {
46
+ ComboboxItemIndicator as AutocompleteItemIndicator,
47
+ type ComboboxItemIndicatorProps as AutocompleteItemIndicatorProps,
48
+ } from '@/Combobox'
49
+ export {
50
+ ComboboxLabel as AutocompleteLabel,
51
+ type ComboboxLabelProps as AutocompleteLabelProps,
52
+ } from '@/Combobox'
53
+ export {
54
+ ComboboxPortal as AutocompletePortal,
55
+ type ComboboxPortalProps as AutocompletePortalProps,
56
+ } from '@/Combobox'
57
+ export {
58
+ ComboboxSeparator as AutocompleteSeparator,
59
+ type ComboboxSeparatorProps as AutocompleteSeparatorProps,
60
+ } from '@/Combobox'
61
+ export {
62
+ ComboboxTrigger as AutocompleteTrigger,
63
+ type ComboboxTriggerProps as AutocompleteTriggerProps,
64
+ } from '@/Combobox'
65
+ export {
66
+ ComboboxViewport as AutocompleteViewport,
67
+ type ComboboxViewportProps as AutocompleteViewportProps,
68
+ } from '@/Combobox'
69
+ export {
70
+ ComboboxVirtualizer as AutocompleteVirtualizer,
71
+ type ComboboxVirtualizerProps as AutocompleteVirtualizerProps,
72
+ } from '@/Combobox'
@@ -171,7 +171,8 @@ function handleArrowKey(e: KeyboardEvent) {
171
171
  <template>
172
172
  <Primitive
173
173
  ref="primitiveElement"
174
- v-bind="props"
174
+ :as="props.as"
175
+ :as-child="props.asChild"
175
176
  role="button"
176
177
  :aria-label="labelText"
177
178
  data-reka-calendar-cell-trigger
@@ -26,6 +26,12 @@ defineSlots<CalendarNextSlot>()
26
26
  const disabled = computed(() => rootContext.disabled.value || rootContext.isNextButtonDisabled(props.nextPage))
27
27
 
28
28
  const rootContext = injectCalendarRootContext()
29
+
30
+ function handleClick() {
31
+ if (disabled.value)
32
+ return
33
+ rootContext.nextPage(props.nextPage)
34
+ }
29
35
  </script>
30
36
 
31
37
  <template>
@@ -33,11 +39,11 @@ const rootContext = injectCalendarRootContext()
33
39
  :as="props.as"
34
40
  :as-child="props.asChild"
35
41
  aria-label="Next page"
36
- :type="as === 'button' ? 'button' : undefined"
42
+ :type="props.as === 'button' ? 'button' : undefined"
37
43
  :aria-disabled="disabled || undefined"
38
44
  :data-disabled="disabled || undefined"
39
45
  :disabled="disabled"
40
- @click="rootContext.nextPage(props.nextPage)"
46
+ @click="handleClick"
41
47
  >
42
48
  <slot :disabled>
43
49
  Next page
@@ -26,6 +26,12 @@ defineSlots<CalendarPrevSlot>()
26
26
  const disabled = computed(() => rootContext.disabled.value || rootContext.isPrevButtonDisabled(props.prevPage))
27
27
 
28
28
  const rootContext = injectCalendarRootContext()
29
+
30
+ function handleClick() {
31
+ if (disabled.value)
32
+ return
33
+ rootContext.prevPage(props.prevPage)
34
+ }
29
35
  </script>
30
36
 
31
37
  <template>
@@ -33,11 +39,11 @@ const rootContext = injectCalendarRootContext()
33
39
  aria-label="Previous page"
34
40
  :as="props.as"
35
41
  :as-child="props.asChild"
36
- :type="as === 'button' ? 'button' : undefined"
42
+ :type="props.as === 'button' ? 'button' : undefined"
37
43
  :aria-disabled="disabled || undefined"
38
44
  :data-disabled="disabled || undefined"
39
45
  :disabled="disabled"
40
- @click="rootContext.prevPage(props.prevPage)"
46
+ @click="handleClick"
41
47
  >
42
48
  <slot :disabled>
43
49
  Prev page
@@ -97,7 +97,7 @@ export interface CalendarRootProps extends PrimitiveProps {
97
97
  nextPage?: (placeholder: DateValue) => DateValue
98
98
  /** A function that returns the previous page of the calendar. It receives the current placeholder as an argument inside the component. */
99
99
  prevPage?: (placeholder: DateValue) => DateValue
100
- /** The controlled checked state of the calendar */
100
+ /** The controlled selected date value of the calendar. Can be bound as `v-model`. */
101
101
  modelValue?: DateValue | DateValue[] | undefined
102
102
  /** Whether multiple dates can be selected */
103
103
  multiple?: boolean
@@ -7,11 +7,11 @@ import { useVModel } from '@vueuse/core'
7
7
  import { createContext, isNullish, isValueEqualOrExist, useFormControl, useForwardExpose } from '@/shared'
8
8
  import { injectCheckboxGroupRootContext } from './CheckboxGroupRoot.vue'
9
9
 
10
- export interface CheckboxRootProps extends PrimitiveProps, FormFieldProps {
10
+ export interface CheckboxRootProps<T = boolean> extends PrimitiveProps, FormFieldProps {
11
11
  /** The value of the checkbox when it is initially rendered. Use when you do not need to control its value. */
12
- defaultValue?: boolean | 'indeterminate'
12
+ defaultValue?: T | 'indeterminate'
13
13
  /** The controlled value of the checkbox. Can be binded with v-model. */
14
- modelValue?: boolean | 'indeterminate' | null
14
+ modelValue?: T | 'indeterminate' | null
15
15
  /** When `true`, prevents the user from interacting with the checkbox */
16
16
  disabled?: boolean
17
17
  /**
@@ -21,11 +21,19 @@ export interface CheckboxRootProps extends PrimitiveProps, FormFieldProps {
21
21
  value?: AcceptableValue
22
22
  /** Id of the element */
23
23
  id?: string
24
+ /**
25
+ * The value used when the checkbox is checked. Defaults to `true`.
26
+ */
27
+ trueValue?: T
28
+ /**
29
+ * The value used when the checkbox is unchecked. Defaults to `false`.
30
+ */
31
+ falseValue?: T
24
32
  }
25
33
 
26
- export type CheckboxRootEmits = {
34
+ export type CheckboxRootEmits<T = boolean> = {
27
35
  /** Event handler called when the value of the checkbox changes. */
28
- 'update:modelValue': [value: boolean | 'indeterminate']
36
+ 'update:modelValue': [value: T | 'indeterminate']
29
37
  }
30
38
 
31
39
  interface CheckboxRootContext {
@@ -37,7 +45,7 @@ export const [injectCheckboxRootContext, provideCheckboxRootContext]
37
45
  = createContext<CheckboxRootContext>('CheckboxRoot')
38
46
  </script>
39
47
 
40
- <script setup lang="ts">
48
+ <script setup lang="ts" generic="T = boolean">
41
49
  import { isEqual } from 'ohash'
42
50
  import { computed } from 'vue'
43
51
  import { Primitive } from '@/Primitive'
@@ -49,12 +57,14 @@ defineOptions({
49
57
  inheritAttrs: false,
50
58
  })
51
59
 
52
- const props = withDefaults(defineProps<CheckboxRootProps>(), {
60
+ const props = withDefaults(defineProps<CheckboxRootProps<T>>(), {
53
61
  modelValue: undefined,
54
62
  value: 'on',
55
63
  as: 'button',
64
+ trueValue: (() => true) as unknown as undefined,
65
+ falseValue: (() => false) as unknown as undefined,
56
66
  })
57
- const emits = defineEmits<CheckboxRootEmits>()
67
+ const emits = defineEmits<CheckboxRootEmits<T>>()
58
68
 
59
69
  defineSlots<{
60
70
  default?: (props: {
@@ -69,19 +79,23 @@ const { forwardRef, currentElement } = useForwardExpose()
69
79
 
70
80
  const checkboxGroupContext = injectCheckboxGroupRootContext(null)
71
81
 
72
- const modelValue = useVModel(props, 'modelValue', emits, {
73
- defaultValue: props.defaultValue,
82
+ const modelValue = useVModel(props as any, 'modelValue', emits as any, {
83
+ defaultValue: props.defaultValue ?? props.falseValue,
74
84
  passive: (props.modelValue === undefined) as false,
75
- }) as Ref<CheckedState>
85
+ }) as Ref<T | 'indeterminate'>
76
86
 
77
87
  const disabled = computed(() => checkboxGroupContext?.disabled.value || props.disabled)
78
88
 
89
+ const isChecked = computed(() => isEqual(modelValue.value, props.trueValue))
90
+
79
91
  const checkboxState = computed<CheckedState>(() => {
80
92
  if (!isNullish(checkboxGroupContext?.modelValue.value)) {
81
93
  return isValueEqualOrExist(checkboxGroupContext.modelValue.value, props.value)
82
94
  }
83
95
  else {
84
- return modelValue.value === 'indeterminate' ? 'indeterminate' : modelValue.value
96
+ if (modelValue.value === 'indeterminate')
97
+ return 'indeterminate'
98
+ return isChecked.value
85
99
  }
86
100
  })
87
101
 
@@ -98,7 +112,12 @@ function handleClick() {
98
112
  checkboxGroupContext.modelValue.value = modelValueArray
99
113
  }
100
114
  else {
101
- modelValue.value = isIndeterminate(modelValue.value) ? true : !modelValue.value
115
+ if (modelValue.value === 'indeterminate') {
116
+ modelValue.value = props.trueValue as T
117
+ }
118
+ else {
119
+ modelValue.value = isChecked.value ? props.falseValue as T : props.trueValue as T
120
+ }
102
121
  }
103
122
  }
104
123
 
@@ -0,0 +1,145 @@
1
+ <script lang="ts">
2
+ import type { PrimitiveProps } from '@/Primitive'
3
+
4
+ export interface ColorAreaAreaProps extends PrimitiveProps {}
5
+ </script>
6
+
7
+ <script setup lang="ts">
8
+ import { ref } from 'vue'
9
+ import { Primitive, usePrimitiveElement } from '@/Primitive'
10
+ import { injectColorAreaRootContext } from './ColorAreaRoot.vue'
11
+ import { linearScale } from './utils'
12
+
13
+ const props = withDefaults(defineProps<ColorAreaAreaProps>(), {
14
+ as: 'div',
15
+ })
16
+
17
+ const rootContext = injectColorAreaRootContext()
18
+ const { primitiveElement, currentElement: areaElement } = usePrimitiveElement()
19
+
20
+ const isDragging = ref(false)
21
+
22
+ // Convert pointer position to channel values
23
+ function getValuesFromPointer(event: PointerEvent) {
24
+ const rect = areaElement.value!.getBoundingClientRect()
25
+
26
+ const xInput: [number, number] = [0, rect.width]
27
+ const xOutput: [number, number] = [rootContext.xRange.value.min, rootContext.xRange.value.max]
28
+ const xScale = linearScale(xInput, xOutput)
29
+ const xValue = xScale(event.clientX - rect.left)
30
+
31
+ // Y is inverted (top is max, bottom is min for most channels)
32
+ const yInput: [number, number] = [0, rect.height]
33
+ const yOutput: [number, number] = [rootContext.yRange.value.max, rootContext.yRange.value.min]
34
+ const yScale = linearScale(yInput, yOutput)
35
+ const yValue = yScale(event.clientY - rect.top)
36
+
37
+ return { x: xValue, y: yValue }
38
+ }
39
+
40
+ function handlePointerDown(event: PointerEvent) {
41
+ if (rootContext.disabled.value)
42
+ return
43
+
44
+ const target = event.target as HTMLElement
45
+ target.setPointerCapture(event.pointerId)
46
+ event.preventDefault()
47
+
48
+ isDragging.value = true
49
+ const { x, y } = getValuesFromPointer(event)
50
+ rootContext.updateValues(x, y)
51
+
52
+ // Focus the thumb when dragging starts
53
+ rootContext.thumbRef.value?.focus()
54
+ }
55
+
56
+ function handlePointerMove(event: PointerEvent) {
57
+ if (!isDragging.value || rootContext.disabled.value)
58
+ return
59
+
60
+ const target = event.target as HTMLElement
61
+ if (target.hasPointerCapture(event.pointerId)) {
62
+ const { x, y } = getValuesFromPointer(event)
63
+ rootContext.updateValues(x, y)
64
+ }
65
+ }
66
+
67
+ function handlePointerUp(event: PointerEvent) {
68
+ if (!isDragging.value)
69
+ return
70
+
71
+ const target = event.target as HTMLElement
72
+ target.releasePointerCapture(event.pointerId)
73
+ isDragging.value = false
74
+ rootContext.commitValues()
75
+ }
76
+
77
+ // Keyboard navigation
78
+ function handleKeyDown(event: KeyboardEvent) {
79
+ if (rootContext.disabled.value)
80
+ return
81
+
82
+ const stepMultiplier = event.shiftKey ? 10 : 1
83
+ const xStepSize = rootContext.xRange.value.step * stepMultiplier
84
+ const yStepSize = rootContext.yRange.value.step * stepMultiplier
85
+
86
+ let xDelta = 0
87
+ let yDelta = 0
88
+
89
+ switch (event.key) {
90
+ case 'ArrowLeft':
91
+ xDelta = -xStepSize
92
+ break
93
+ case 'ArrowRight':
94
+ xDelta = xStepSize
95
+ break
96
+ case 'ArrowUp':
97
+ yDelta = yStepSize
98
+ break
99
+ case 'ArrowDown':
100
+ yDelta = -yStepSize
101
+ break
102
+ case 'PageUp':
103
+ yDelta = yStepSize * 10
104
+ break
105
+ case 'PageDown':
106
+ yDelta = -yStepSize * 10
107
+ break
108
+ case 'Home':
109
+ xDelta = -xStepSize * 10
110
+ break
111
+ case 'End':
112
+ xDelta = xStepSize * 10
113
+ break
114
+ default:
115
+ return
116
+ }
117
+
118
+ event.preventDefault()
119
+ rootContext.updateValues(
120
+ rootContext.xValue.value + xDelta,
121
+ rootContext.yValue.value + yDelta,
122
+ )
123
+ }
124
+ </script>
125
+
126
+ <template>
127
+ <Primitive
128
+ ref="primitiveElement"
129
+ :as-child="asChild"
130
+ :as="as"
131
+ role="application"
132
+ aria-roledescription="Color picker"
133
+ :aria-disabled="rootContext.disabled.value ? 'true' : undefined"
134
+ :data-disabled="rootContext.disabled.value ? '' : undefined"
135
+ :style="{
136
+ touchAction: 'none',
137
+ }"
138
+ @keydown="handleKeyDown"
139
+ @pointerdown="handlePointerDown"
140
+ @pointermove="handlePointerMove"
141
+ @pointerup="handlePointerUp"
142
+ >
143
+ <slot />
144
+ </Primitive>
145
+ </template>