reka-ui 2.8.0 → 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 (622) 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 +12 -6
  10. package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
  11. package/dist/Calendar/CalendarCellTrigger.js +13 -7
  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/Calendar/CalendarRoot.cjs +12 -7
  22. package/dist/Calendar/CalendarRoot.cjs.map +1 -1
  23. package/dist/Calendar/CalendarRoot.js +13 -8
  24. package/dist/Calendar/CalendarRoot.js.map +1 -1
  25. package/dist/Calendar/useCalendar.cjs +32 -2
  26. package/dist/Calendar/useCalendar.cjs.map +1 -1
  27. package/dist/Calendar/useCalendar.js +33 -3
  28. package/dist/Calendar/useCalendar.js.map +1 -1
  29. package/dist/Checkbox/CheckboxGroupRoot.cjs +1 -1
  30. package/dist/Checkbox/CheckboxGroupRoot.js +1 -1
  31. package/dist/Checkbox/CheckboxRoot.cjs +21 -10
  32. package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
  33. package/dist/Checkbox/CheckboxRoot.js +21 -10
  34. package/dist/Checkbox/CheckboxRoot.js.map +1 -1
  35. package/dist/ColorArea/ColorAreaArea.cjs +143 -0
  36. package/dist/ColorArea/ColorAreaArea.cjs.map +1 -0
  37. package/dist/ColorArea/ColorAreaArea.js +137 -0
  38. package/dist/ColorArea/ColorAreaArea.js.map +1 -0
  39. package/dist/ColorArea/ColorAreaRoot.cjs +240 -0
  40. package/dist/ColorArea/ColorAreaRoot.cjs.map +1 -0
  41. package/dist/ColorArea/ColorAreaRoot.js +228 -0
  42. package/dist/ColorArea/ColorAreaRoot.js.map +1 -0
  43. package/dist/ColorArea/ColorAreaThumb.cjs +91 -0
  44. package/dist/ColorArea/ColorAreaThumb.cjs.map +1 -0
  45. package/dist/ColorArea/ColorAreaThumb.js +85 -0
  46. package/dist/ColorArea/ColorAreaThumb.js.map +1 -0
  47. package/dist/ColorArea/utils.cjs +32 -0
  48. package/dist/ColorArea/utils.cjs.map +1 -0
  49. package/dist/ColorArea/utils.js +21 -0
  50. package/dist/ColorArea/utils.js.map +1 -0
  51. package/dist/ColorField/ColorFieldInput.cjs +140 -0
  52. package/dist/ColorField/ColorFieldInput.cjs.map +1 -0
  53. package/dist/ColorField/ColorFieldInput.js +134 -0
  54. package/dist/ColorField/ColorFieldInput.js.map +1 -0
  55. package/dist/ColorField/ColorFieldRoot.cjs +281 -0
  56. package/dist/ColorField/ColorFieldRoot.cjs.map +1 -0
  57. package/dist/ColorField/ColorFieldRoot.js +269 -0
  58. package/dist/ColorField/ColorFieldRoot.js.map +1 -0
  59. package/dist/ColorSlider/ColorSliderRoot.cjs +230 -0
  60. package/dist/ColorSlider/ColorSliderRoot.cjs.map +1 -0
  61. package/dist/ColorSlider/ColorSliderRoot.js +218 -0
  62. package/dist/ColorSlider/ColorSliderRoot.js.map +1 -0
  63. package/dist/ColorSlider/ColorSliderThumb.cjs +66 -0
  64. package/dist/ColorSlider/ColorSliderThumb.cjs.map +1 -0
  65. package/dist/ColorSlider/ColorSliderThumb.js +60 -0
  66. package/dist/ColorSlider/ColorSliderThumb.js.map +1 -0
  67. package/dist/ColorSlider/ColorSliderTrack.cjs +55 -0
  68. package/dist/ColorSlider/ColorSliderTrack.cjs.map +1 -0
  69. package/dist/ColorSlider/ColorSliderTrack.js +49 -0
  70. package/dist/ColorSlider/ColorSliderTrack.js.map +1 -0
  71. package/dist/ColorSwatch/ColorSwatch.cjs +106 -0
  72. package/dist/ColorSwatch/ColorSwatch.cjs.map +1 -0
  73. package/dist/ColorSwatch/ColorSwatch.js +100 -0
  74. package/dist/ColorSwatch/ColorSwatch.js.map +1 -0
  75. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.cjs +78 -0
  76. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.cjs.map +1 -0
  77. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.js +66 -0
  78. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.js.map +1 -0
  79. package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.cjs +40 -0
  80. package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.cjs.map +1 -0
  81. package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.js +34 -0
  82. package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.js.map +1 -0
  83. package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.cjs +43 -0
  84. package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.cjs.map +1 -0
  85. package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.js +37 -0
  86. package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.js.map +1 -0
  87. package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.cjs +110 -0
  88. package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.cjs.map +1 -0
  89. package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.js +104 -0
  90. package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.js.map +1 -0
  91. package/dist/Combobox/ComboboxContent.cjs +4 -0
  92. package/dist/Combobox/ComboboxContent.cjs.map +1 -1
  93. package/dist/Combobox/ComboboxContent.js +4 -0
  94. package/dist/Combobox/ComboboxContent.js.map +1 -1
  95. package/dist/Combobox/ComboboxContentImpl.cjs +11 -3
  96. package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
  97. package/dist/Combobox/ComboboxContentImpl.js +11 -3
  98. package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
  99. package/dist/Combobox/ComboboxRoot.cjs +7 -1
  100. package/dist/Combobox/ComboboxRoot.js +2 -2
  101. package/dist/DateField/DateFieldRoot.cjs +1 -1
  102. package/dist/DateField/DateFieldRoot.js +1 -1
  103. package/dist/DatePicker/DatePickerRoot.cjs +4 -3
  104. package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
  105. package/dist/DatePicker/DatePickerRoot.js +4 -3
  106. package/dist/DatePicker/DatePickerRoot.js.map +1 -1
  107. package/dist/DateRangeField/DateRangeFieldRoot.cjs +1 -1
  108. package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
  109. package/dist/DateRangeField/DateRangeFieldRoot.js +1 -1
  110. package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
  111. package/dist/DateRangePicker/DateRangePickerRoot.cjs +4 -3
  112. package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
  113. package/dist/DateRangePicker/DateRangePickerRoot.js +5 -4
  114. package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
  115. package/dist/DismissableLayer/utils.cjs.map +1 -1
  116. package/dist/DismissableLayer/utils.js.map +1 -1
  117. package/dist/DropdownMenu/DropdownMenuFilter.cjs +134 -0
  118. package/dist/DropdownMenu/DropdownMenuFilter.cjs.map +1 -0
  119. package/dist/DropdownMenu/DropdownMenuFilter.js +128 -0
  120. package/dist/DropdownMenu/DropdownMenuFilter.js.map +1 -0
  121. package/dist/Listbox/ListboxRoot.cjs +1 -1
  122. package/dist/Listbox/ListboxRoot.js +1 -1
  123. package/dist/Listbox/ListboxVirtualizer.cjs +1 -1
  124. package/dist/Listbox/ListboxVirtualizer.js +1 -1
  125. package/dist/Menu/MenuContentImpl.cjs +44 -4
  126. package/dist/Menu/MenuContentImpl.cjs.map +1 -1
  127. package/dist/Menu/MenuContentImpl.js +44 -4
  128. package/dist/Menu/MenuContentImpl.js.map +1 -1
  129. package/dist/Menu/MenuItemImpl.cjs +8 -3
  130. package/dist/Menu/MenuItemImpl.cjs.map +1 -1
  131. package/dist/Menu/MenuItemImpl.js +9 -4
  132. package/dist/Menu/MenuItemImpl.js.map +1 -1
  133. package/dist/Menu/MenuSubContent.cjs +8 -2
  134. package/dist/Menu/MenuSubContent.cjs.map +1 -1
  135. package/dist/Menu/MenuSubContent.js +9 -3
  136. package/dist/Menu/MenuSubContent.js.map +1 -1
  137. package/dist/Menu/MenuSubTrigger.cjs +7 -0
  138. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  139. package/dist/Menu/MenuSubTrigger.js +8 -1
  140. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  141. package/dist/MonthPicker/MonthPickerCell.cjs +59 -0
  142. package/dist/MonthPicker/MonthPickerCell.cjs.map +1 -0
  143. package/dist/MonthPicker/MonthPickerCell.js +53 -0
  144. package/dist/MonthPicker/MonthPickerCell.js.map +1 -0
  145. package/dist/MonthPicker/MonthPickerCellTrigger.cjs +197 -0
  146. package/dist/MonthPicker/MonthPickerCellTrigger.cjs.map +1 -0
  147. package/dist/MonthPicker/MonthPickerCellTrigger.js +191 -0
  148. package/dist/MonthPicker/MonthPickerCellTrigger.js.map +1 -0
  149. package/dist/MonthPicker/MonthPickerGrid.cjs +59 -0
  150. package/dist/MonthPicker/MonthPickerGrid.cjs.map +1 -0
  151. package/dist/MonthPicker/MonthPickerGrid.js +53 -0
  152. package/dist/MonthPicker/MonthPickerGrid.js.map +1 -0
  153. package/dist/MonthPicker/MonthPickerGridBody.cjs +41 -0
  154. package/dist/MonthPicker/MonthPickerGridBody.cjs.map +1 -0
  155. package/dist/MonthPicker/MonthPickerGridBody.js +35 -0
  156. package/dist/MonthPicker/MonthPickerGridBody.js.map +1 -0
  157. package/dist/MonthPicker/MonthPickerGridRow.cjs +41 -0
  158. package/dist/MonthPicker/MonthPickerGridRow.cjs.map +1 -0
  159. package/dist/MonthPicker/MonthPickerGridRow.js +35 -0
  160. package/dist/MonthPicker/MonthPickerGridRow.js.map +1 -0
  161. package/dist/MonthPicker/MonthPickerHeader.cjs +41 -0
  162. package/dist/MonthPicker/MonthPickerHeader.cjs.map +1 -0
  163. package/dist/MonthPicker/MonthPickerHeader.js +35 -0
  164. package/dist/MonthPicker/MonthPickerHeader.js.map +1 -0
  165. package/dist/MonthPicker/MonthPickerHeading.cjs +48 -0
  166. package/dist/MonthPicker/MonthPickerHeading.cjs.map +1 -0
  167. package/dist/MonthPicker/MonthPickerHeading.js +42 -0
  168. package/dist/MonthPicker/MonthPickerHeading.js.map +1 -0
  169. package/dist/MonthPicker/MonthPickerNext.cjs +68 -0
  170. package/dist/MonthPicker/MonthPickerNext.cjs.map +1 -0
  171. package/dist/MonthPicker/MonthPickerNext.js +62 -0
  172. package/dist/MonthPicker/MonthPickerNext.js.map +1 -0
  173. package/dist/MonthPicker/MonthPickerPrev.cjs +68 -0
  174. package/dist/MonthPicker/MonthPickerPrev.cjs.map +1 -0
  175. package/dist/MonthPicker/MonthPickerPrev.js +62 -0
  176. package/dist/MonthPicker/MonthPickerPrev.js.map +1 -0
  177. package/dist/MonthPicker/MonthPickerRoot.cjs +281 -0
  178. package/dist/MonthPicker/MonthPickerRoot.cjs.map +1 -0
  179. package/dist/MonthPicker/MonthPickerRoot.js +269 -0
  180. package/dist/MonthPicker/MonthPickerRoot.js.map +1 -0
  181. package/dist/MonthPicker/useMonthPicker.cjs +148 -0
  182. package/dist/MonthPicker/useMonthPicker.cjs.map +1 -0
  183. package/dist/MonthPicker/useMonthPicker.js +136 -0
  184. package/dist/MonthPicker/useMonthPicker.js.map +1 -0
  185. package/dist/MonthRangePicker/MonthRangePickerCell.cjs +59 -0
  186. package/dist/MonthRangePicker/MonthRangePickerCell.cjs.map +1 -0
  187. package/dist/MonthRangePicker/MonthRangePickerCell.js +53 -0
  188. package/dist/MonthRangePicker/MonthRangePickerCell.js.map +1 -0
  189. package/dist/MonthRangePicker/MonthRangePickerCellTrigger.cjs +258 -0
  190. package/dist/MonthRangePicker/MonthRangePickerCellTrigger.cjs.map +1 -0
  191. package/dist/MonthRangePicker/MonthRangePickerCellTrigger.js +252 -0
  192. package/dist/MonthRangePicker/MonthRangePickerCellTrigger.js.map +1 -0
  193. package/dist/MonthRangePicker/MonthRangePickerGrid.cjs +59 -0
  194. package/dist/MonthRangePicker/MonthRangePickerGrid.cjs.map +1 -0
  195. package/dist/MonthRangePicker/MonthRangePickerGrid.js +53 -0
  196. package/dist/MonthRangePicker/MonthRangePickerGrid.js.map +1 -0
  197. package/dist/MonthRangePicker/MonthRangePickerGridBody.cjs +41 -0
  198. package/dist/MonthRangePicker/MonthRangePickerGridBody.cjs.map +1 -0
  199. package/dist/MonthRangePicker/MonthRangePickerGridBody.js +35 -0
  200. package/dist/MonthRangePicker/MonthRangePickerGridBody.js.map +1 -0
  201. package/dist/MonthRangePicker/MonthRangePickerGridRow.cjs +41 -0
  202. package/dist/MonthRangePicker/MonthRangePickerGridRow.cjs.map +1 -0
  203. package/dist/MonthRangePicker/MonthRangePickerGridRow.js +35 -0
  204. package/dist/MonthRangePicker/MonthRangePickerGridRow.js.map +1 -0
  205. package/dist/MonthRangePicker/MonthRangePickerHeader.cjs +41 -0
  206. package/dist/MonthRangePicker/MonthRangePickerHeader.cjs.map +1 -0
  207. package/dist/MonthRangePicker/MonthRangePickerHeader.js +35 -0
  208. package/dist/MonthRangePicker/MonthRangePickerHeader.js.map +1 -0
  209. package/dist/MonthRangePicker/MonthRangePickerHeading.cjs +48 -0
  210. package/dist/MonthRangePicker/MonthRangePickerHeading.cjs.map +1 -0
  211. package/dist/MonthRangePicker/MonthRangePickerHeading.js +42 -0
  212. package/dist/MonthRangePicker/MonthRangePickerHeading.js.map +1 -0
  213. package/dist/MonthRangePicker/MonthRangePickerNext.cjs +68 -0
  214. package/dist/MonthRangePicker/MonthRangePickerNext.cjs.map +1 -0
  215. package/dist/MonthRangePicker/MonthRangePickerNext.js +62 -0
  216. package/dist/MonthRangePicker/MonthRangePickerNext.js.map +1 -0
  217. package/dist/MonthRangePicker/MonthRangePickerPrev.cjs +68 -0
  218. package/dist/MonthRangePicker/MonthRangePickerPrev.cjs.map +1 -0
  219. package/dist/MonthRangePicker/MonthRangePickerPrev.js +62 -0
  220. package/dist/MonthRangePicker/MonthRangePickerPrev.js.map +1 -0
  221. package/dist/MonthRangePicker/MonthRangePickerRoot.cjs +347 -0
  222. package/dist/MonthRangePicker/MonthRangePickerRoot.cjs.map +1 -0
  223. package/dist/MonthRangePicker/MonthRangePickerRoot.js +335 -0
  224. package/dist/MonthRangePicker/MonthRangePickerRoot.js.map +1 -0
  225. package/dist/MonthRangePicker/useRangeMonthPicker.cjs +128 -0
  226. package/dist/MonthRangePicker/useRangeMonthPicker.cjs.map +1 -0
  227. package/dist/MonthRangePicker/useRangeMonthPicker.js +122 -0
  228. package/dist/MonthRangePicker/useRangeMonthPicker.js.map +1 -0
  229. package/dist/NavigationMenu/NavigationMenuItem.js +3 -3
  230. package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
  231. package/dist/NumberField/NumberFieldRoot.cjs +3 -2
  232. package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
  233. package/dist/NumberField/NumberFieldRoot.js +3 -2
  234. package/dist/NumberField/NumberFieldRoot.js.map +1 -1
  235. package/dist/Progress/ProgressRoot.cjs.map +1 -1
  236. package/dist/Progress/ProgressRoot.js.map +1 -1
  237. package/dist/RadioGroup/RadioGroupRoot.cjs +1 -1
  238. package/dist/RadioGroup/RadioGroupRoot.js +1 -1
  239. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +8 -2
  240. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
  241. package/dist/RangeCalendar/RangeCalendarCellTrigger.js +8 -2
  242. package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
  243. package/dist/RangeCalendar/RangeCalendarGrid.cjs +2 -1
  244. package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
  245. package/dist/RangeCalendar/RangeCalendarGrid.js +2 -1
  246. package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
  247. package/dist/RangeCalendar/RangeCalendarNext.cjs +9 -5
  248. package/dist/RangeCalendar/RangeCalendarNext.cjs.map +1 -1
  249. package/dist/RangeCalendar/RangeCalendarNext.js +9 -5
  250. package/dist/RangeCalendar/RangeCalendarNext.js.map +1 -1
  251. package/dist/RangeCalendar/RangeCalendarPrev.cjs +9 -5
  252. package/dist/RangeCalendar/RangeCalendarPrev.cjs.map +1 -1
  253. package/dist/RangeCalendar/RangeCalendarPrev.js +9 -5
  254. package/dist/RangeCalendar/RangeCalendarPrev.js.map +1 -1
  255. package/dist/RangeCalendar/RangeCalendarRoot.cjs +31 -17
  256. package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
  257. package/dist/RangeCalendar/RangeCalendarRoot.js +32 -18
  258. package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
  259. package/dist/RangeCalendar/useRangeCalendar.cjs +35 -6
  260. package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
  261. package/dist/RangeCalendar/useRangeCalendar.js +35 -6
  262. package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
  263. package/dist/Splitter/SplitterGroup.cjs +136 -26
  264. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  265. package/dist/Splitter/SplitterGroup.js +136 -26
  266. package/dist/Splitter/SplitterGroup.js.map +1 -1
  267. package/dist/Splitter/SplitterPanel.cjs +7 -2
  268. package/dist/Splitter/SplitterPanel.cjs.map +1 -1
  269. package/dist/Splitter/SplitterPanel.js +7 -2
  270. package/dist/Splitter/SplitterPanel.js.map +1 -1
  271. package/dist/Switch/SwitchRoot.cjs +23 -9
  272. package/dist/Switch/SwitchRoot.cjs.map +1 -1
  273. package/dist/Switch/SwitchRoot.js +23 -9
  274. package/dist/Switch/SwitchRoot.js.map +1 -1
  275. package/dist/Switch/SwitchThumb.cjs +1 -1
  276. package/dist/Switch/SwitchThumb.cjs.map +1 -1
  277. package/dist/Switch/SwitchThumb.js +1 -1
  278. package/dist/Switch/SwitchThumb.js.map +1 -1
  279. package/dist/TimeField/TimeFieldRoot.cjs +1 -1
  280. package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
  281. package/dist/TimeField/TimeFieldRoot.js +1 -1
  282. package/dist/TimeField/TimeFieldRoot.js.map +1 -1
  283. package/dist/TimeRangeField/TimeRangeFieldInput.cjs +102 -0
  284. package/dist/TimeRangeField/TimeRangeFieldInput.cjs.map +1 -0
  285. package/dist/TimeRangeField/TimeRangeFieldInput.js +96 -0
  286. package/dist/TimeRangeField/TimeRangeFieldInput.js.map +1 -0
  287. package/dist/TimeRangeField/TimeRangeFieldRoot.cjs +402 -0
  288. package/dist/TimeRangeField/TimeRangeFieldRoot.cjs.map +1 -0
  289. package/dist/TimeRangeField/TimeRangeFieldRoot.js +390 -0
  290. package/dist/TimeRangeField/TimeRangeFieldRoot.js.map +1 -0
  291. package/dist/Toast/ToastAnnounce.cjs +4 -1
  292. package/dist/Toast/ToastAnnounce.cjs.map +1 -1
  293. package/dist/Toast/ToastAnnounce.js +4 -1
  294. package/dist/Toast/ToastAnnounce.js.map +1 -1
  295. package/dist/ToggleGroup/ToggleGroupRoot.cjs +1 -1
  296. package/dist/ToggleGroup/ToggleGroupRoot.js +1 -1
  297. package/dist/Tooltip/TooltipContent.cjs +1 -2
  298. package/dist/Tooltip/TooltipContent.cjs.map +1 -1
  299. package/dist/Tooltip/TooltipContent.js +1 -2
  300. package/dist/Tooltip/TooltipContent.js.map +1 -1
  301. package/dist/Tooltip/TooltipContentImpl.cjs +25 -18
  302. package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
  303. package/dist/Tooltip/TooltipContentImpl.js +25 -18
  304. package/dist/Tooltip/TooltipContentImpl.js.map +1 -1
  305. package/dist/Tooltip/TooltipProvider.cjs +7 -2
  306. package/dist/Tooltip/TooltipProvider.cjs.map +1 -1
  307. package/dist/Tooltip/TooltipProvider.js +7 -2
  308. package/dist/Tooltip/TooltipProvider.js.map +1 -1
  309. package/dist/YearPicker/YearPickerCell.cjs +59 -0
  310. package/dist/YearPicker/YearPickerCell.cjs.map +1 -0
  311. package/dist/YearPicker/YearPickerCell.js +53 -0
  312. package/dist/YearPicker/YearPickerCell.js.map +1 -0
  313. package/dist/YearPicker/YearPickerCellTrigger.cjs +197 -0
  314. package/dist/YearPicker/YearPickerCellTrigger.cjs.map +1 -0
  315. package/dist/YearPicker/YearPickerCellTrigger.js +191 -0
  316. package/dist/YearPicker/YearPickerCellTrigger.js.map +1 -0
  317. package/dist/YearPicker/YearPickerGrid.cjs +59 -0
  318. package/dist/YearPicker/YearPickerGrid.cjs.map +1 -0
  319. package/dist/YearPicker/YearPickerGrid.js +53 -0
  320. package/dist/YearPicker/YearPickerGrid.js.map +1 -0
  321. package/dist/YearPicker/YearPickerGridBody.cjs +41 -0
  322. package/dist/YearPicker/YearPickerGridBody.cjs.map +1 -0
  323. package/dist/YearPicker/YearPickerGridBody.js +35 -0
  324. package/dist/YearPicker/YearPickerGridBody.js.map +1 -0
  325. package/dist/YearPicker/YearPickerGridRow.cjs +41 -0
  326. package/dist/YearPicker/YearPickerGridRow.cjs.map +1 -0
  327. package/dist/YearPicker/YearPickerGridRow.js +35 -0
  328. package/dist/YearPicker/YearPickerGridRow.js.map +1 -0
  329. package/dist/YearPicker/YearPickerHeader.cjs +41 -0
  330. package/dist/YearPicker/YearPickerHeader.cjs.map +1 -0
  331. package/dist/YearPicker/YearPickerHeader.js +35 -0
  332. package/dist/YearPicker/YearPickerHeader.js.map +1 -0
  333. package/dist/YearPicker/YearPickerHeading.cjs +48 -0
  334. package/dist/YearPicker/YearPickerHeading.cjs.map +1 -0
  335. package/dist/YearPicker/YearPickerHeading.js +42 -0
  336. package/dist/YearPicker/YearPickerHeading.js.map +1 -0
  337. package/dist/YearPicker/YearPickerNext.cjs +68 -0
  338. package/dist/YearPicker/YearPickerNext.cjs.map +1 -0
  339. package/dist/YearPicker/YearPickerNext.js +62 -0
  340. package/dist/YearPicker/YearPickerNext.js.map +1 -0
  341. package/dist/YearPicker/YearPickerPrev.cjs +68 -0
  342. package/dist/YearPicker/YearPickerPrev.cjs.map +1 -0
  343. package/dist/YearPicker/YearPickerPrev.js +62 -0
  344. package/dist/YearPicker/YearPickerPrev.js.map +1 -0
  345. package/dist/YearPicker/YearPickerRoot.cjs +287 -0
  346. package/dist/YearPicker/YearPickerRoot.cjs.map +1 -0
  347. package/dist/YearPicker/YearPickerRoot.js +275 -0
  348. package/dist/YearPicker/YearPickerRoot.js.map +1 -0
  349. package/dist/YearPicker/useYearPicker.cjs +180 -0
  350. package/dist/YearPicker/useYearPicker.cjs.map +1 -0
  351. package/dist/YearPicker/useYearPicker.js +168 -0
  352. package/dist/YearPicker/useYearPicker.js.map +1 -0
  353. package/dist/YearRangePicker/YearRangePickerCell.cjs +59 -0
  354. package/dist/YearRangePicker/YearRangePickerCell.cjs.map +1 -0
  355. package/dist/YearRangePicker/YearRangePickerCell.js +53 -0
  356. package/dist/YearRangePicker/YearRangePickerCell.js.map +1 -0
  357. package/dist/YearRangePicker/YearRangePickerCellTrigger.cjs +256 -0
  358. package/dist/YearRangePicker/YearRangePickerCellTrigger.cjs.map +1 -0
  359. package/dist/YearRangePicker/YearRangePickerCellTrigger.js +250 -0
  360. package/dist/YearRangePicker/YearRangePickerCellTrigger.js.map +1 -0
  361. package/dist/YearRangePicker/YearRangePickerGrid.cjs +59 -0
  362. package/dist/YearRangePicker/YearRangePickerGrid.cjs.map +1 -0
  363. package/dist/YearRangePicker/YearRangePickerGrid.js +53 -0
  364. package/dist/YearRangePicker/YearRangePickerGrid.js.map +1 -0
  365. package/dist/YearRangePicker/YearRangePickerGridBody.cjs +41 -0
  366. package/dist/YearRangePicker/YearRangePickerGridBody.cjs.map +1 -0
  367. package/dist/YearRangePicker/YearRangePickerGridBody.js +35 -0
  368. package/dist/YearRangePicker/YearRangePickerGridBody.js.map +1 -0
  369. package/dist/YearRangePicker/YearRangePickerGridRow.cjs +41 -0
  370. package/dist/YearRangePicker/YearRangePickerGridRow.cjs.map +1 -0
  371. package/dist/YearRangePicker/YearRangePickerGridRow.js +35 -0
  372. package/dist/YearRangePicker/YearRangePickerGridRow.js.map +1 -0
  373. package/dist/YearRangePicker/YearRangePickerHeader.cjs +41 -0
  374. package/dist/YearRangePicker/YearRangePickerHeader.cjs.map +1 -0
  375. package/dist/YearRangePicker/YearRangePickerHeader.js +35 -0
  376. package/dist/YearRangePicker/YearRangePickerHeader.js.map +1 -0
  377. package/dist/YearRangePicker/YearRangePickerHeading.cjs +48 -0
  378. package/dist/YearRangePicker/YearRangePickerHeading.cjs.map +1 -0
  379. package/dist/YearRangePicker/YearRangePickerHeading.js +42 -0
  380. package/dist/YearRangePicker/YearRangePickerHeading.js.map +1 -0
  381. package/dist/YearRangePicker/YearRangePickerNext.cjs +68 -0
  382. package/dist/YearRangePicker/YearRangePickerNext.cjs.map +1 -0
  383. package/dist/YearRangePicker/YearRangePickerNext.js +62 -0
  384. package/dist/YearRangePicker/YearRangePickerNext.js.map +1 -0
  385. package/dist/YearRangePicker/YearRangePickerPrev.cjs +68 -0
  386. package/dist/YearRangePicker/YearRangePickerPrev.cjs.map +1 -0
  387. package/dist/YearRangePicker/YearRangePickerPrev.js +62 -0
  388. package/dist/YearRangePicker/YearRangePickerPrev.js.map +1 -0
  389. package/dist/YearRangePicker/YearRangePickerRoot.cjs +350 -0
  390. package/dist/YearRangePicker/YearRangePickerRoot.cjs.map +1 -0
  391. package/dist/YearRangePicker/YearRangePickerRoot.js +338 -0
  392. package/dist/YearRangePicker/YearRangePickerRoot.js.map +1 -0
  393. package/dist/YearRangePicker/useRangeYearPicker.cjs +128 -0
  394. package/dist/YearRangePicker/useRangeYearPicker.cjs.map +1 -0
  395. package/dist/YearRangePicker/useRangeYearPicker.js +122 -0
  396. package/dist/YearRangePicker/useRangeYearPicker.js.map +1 -0
  397. package/dist/color/channel.cjs +378 -0
  398. package/dist/color/channel.cjs.map +1 -0
  399. package/dist/color/channel.js +349 -0
  400. package/dist/color/channel.js.map +1 -0
  401. package/dist/color/convert.cjs +285 -0
  402. package/dist/color/convert.cjs.map +1 -0
  403. package/dist/color/convert.js +237 -0
  404. package/dist/color/convert.js.map +1 -0
  405. package/dist/color/gradient.cjs +377 -0
  406. package/dist/color/gradient.cjs.map +1 -0
  407. package/dist/color/gradient.js +354 -0
  408. package/dist/color/gradient.js.map +1 -0
  409. package/dist/color/parse.cjs +113 -0
  410. package/dist/color/parse.cjs.map +1 -0
  411. package/dist/color/parse.js +95 -0
  412. package/dist/color/parse.js.map +1 -0
  413. package/dist/color/utils.cjs +112 -0
  414. package/dist/color/utils.cjs.map +1 -0
  415. package/dist/color/utils.js +100 -0
  416. package/dist/color/utils.js.map +1 -0
  417. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs +11 -7
  418. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs.map +1 -1
  419. package/dist/composables/useWindowSplitterPanelGroupBehavior.js +11 -7
  420. package/dist/composables/useWindowSplitterPanelGroupBehavior.js.map +1 -1
  421. package/dist/constant/components.cjs +87 -1
  422. package/dist/constant/components.cjs.map +1 -1
  423. package/dist/constant/components.js +87 -1
  424. package/dist/constant/components.js.map +1 -1
  425. package/dist/constant.d.cts +12 -1
  426. package/dist/constant.d.cts.map +1 -1
  427. package/dist/constant.d.ts +12 -1
  428. package/dist/constant.d.ts.map +1 -1
  429. package/dist/date/calendar.cjs +70 -9
  430. package/dist/date/calendar.cjs.map +1 -1
  431. package/dist/date/calendar.js +54 -11
  432. package/dist/date/calendar.js.map +1 -1
  433. package/dist/date/comparators.cjs +129 -0
  434. package/dist/date/comparators.cjs.map +1 -1
  435. package/dist/date/comparators.js +76 -1
  436. package/dist/date/comparators.js.map +1 -1
  437. package/dist/date/useDateField.cjs +1 -2
  438. package/dist/date/useDateField.cjs.map +1 -1
  439. package/dist/date/useDateField.js +1 -2
  440. package/dist/date/useDateField.js.map +1 -1
  441. package/dist/date.cjs +12 -0
  442. package/dist/date.d.cts +2 -2
  443. package/dist/date.d.ts +2 -2
  444. package/dist/date.js +3 -3
  445. package/dist/index.cjs +216 -46
  446. package/dist/index.d.cts +3 -8829
  447. package/dist/index.d.ts +3 -8829
  448. package/dist/index.js +116 -47
  449. package/dist/index2.d.cts +66 -3
  450. package/dist/index2.d.cts.map +1 -1
  451. package/dist/index2.d.ts +66 -3
  452. package/dist/index2.d.ts.map +1 -1
  453. package/dist/index3.d.cts +11061 -0
  454. package/dist/index3.d.cts.map +1 -0
  455. package/dist/index3.d.ts +11061 -0
  456. package/dist/index3.d.ts.map +1 -0
  457. package/dist/internal.cjs +81 -0
  458. package/dist/internal.d.cts +22 -0
  459. package/dist/internal.d.cts.map +1 -0
  460. package/dist/internal.d.ts +22 -0
  461. package/dist/internal.d.ts.map +1 -0
  462. package/dist/internal.js +64 -0
  463. package/dist/internal2.cjs +0 -0
  464. package/dist/internal2.js +0 -0
  465. package/dist/namespaced/index.cjs +33 -1
  466. package/dist/namespaced/index.d.cts +32 -4
  467. package/dist/namespaced/index.d.mts +32 -4
  468. package/dist/namespaced/index.mjs +32 -4
  469. package/dist/shared/useArrowNavigation.cjs +4 -2
  470. package/dist/shared/useArrowNavigation.cjs.map +1 -1
  471. package/dist/shared/useArrowNavigation.js +4 -2
  472. package/dist/shared/useArrowNavigation.js.map +1 -1
  473. package/dist/shared/useForwardExpose.cjs +7 -3
  474. package/dist/shared/useForwardExpose.cjs.map +1 -1
  475. package/dist/shared/useForwardExpose.js +8 -4
  476. package/dist/shared/useForwardExpose.js.map +1 -1
  477. package/dist/shared/useId.cjs +7 -4
  478. package/dist/shared/useId.cjs.map +1 -1
  479. package/dist/shared/useId.js +7 -4
  480. package/dist/shared/useId.js.map +1 -1
  481. package/dist/utils/storage.cjs +7 -1
  482. package/dist/utils/storage.cjs.map +1 -1
  483. package/dist/utils/storage.js +7 -1
  484. package/dist/utils/storage.js.map +1 -1
  485. package/dist/utils/units.cjs +101 -0
  486. package/dist/utils/units.cjs.map +1 -0
  487. package/dist/utils/units.js +83 -0
  488. package/dist/utils/units.js.map +1 -0
  489. package/package.json +21 -13
  490. package/src/Autocomplete/AutocompleteInput.vue +112 -0
  491. package/src/Autocomplete/AutocompleteRoot.vue +272 -0
  492. package/src/Autocomplete/index.ts +72 -0
  493. package/src/Calendar/CalendarCellTrigger.vue +10 -2
  494. package/src/Calendar/CalendarNext.vue +8 -2
  495. package/src/Calendar/CalendarPrev.vue +8 -2
  496. package/src/Calendar/CalendarRoot.vue +20 -8
  497. package/src/Calendar/useCalendar.ts +43 -3
  498. package/src/Checkbox/CheckboxRoot.vue +32 -13
  499. package/src/ColorArea/ColorAreaArea.vue +145 -0
  500. package/src/ColorArea/ColorAreaRoot.vue +255 -0
  501. package/src/ColorArea/ColorAreaThumb.vue +75 -0
  502. package/src/ColorArea/index.ts +14 -0
  503. package/src/ColorArea/utils.ts +24 -0
  504. package/src/ColorField/ColorFieldInput.vue +133 -0
  505. package/src/ColorField/ColorFieldRoot.vue +326 -0
  506. package/src/ColorField/index.ts +10 -0
  507. package/src/ColorSlider/ColorSliderRoot.vue +224 -0
  508. package/src/ColorSlider/ColorSliderThumb.vue +54 -0
  509. package/src/ColorSlider/ColorSliderTrack.vue +36 -0
  510. package/src/ColorSlider/index.ts +14 -0
  511. package/src/ColorSlider/utils.ts +39 -0
  512. package/src/ColorSwatch/ColorSwatch.vue +97 -0
  513. package/src/ColorSwatch/index.ts +4 -0
  514. package/src/ColorSwatchPicker/ColorSwatchPickerItem.vue +60 -0
  515. package/src/ColorSwatchPicker/ColorSwatchPickerItemIndicator.vue +17 -0
  516. package/src/ColorSwatchPicker/ColorSwatchPickerItemSwatch.vue +21 -0
  517. package/src/ColorSwatchPicker/ColorSwatchPickerRoot.vue +50 -0
  518. package/src/ColorSwatchPicker/index.ts +17 -0
  519. package/src/Combobox/ComboboxContentImpl.vue +14 -1
  520. package/src/DateField/DateFieldRoot.vue +1 -1
  521. package/src/DatePicker/DatePickerRoot.vue +4 -4
  522. package/src/DateRangeField/DateRangeFieldRoot.vue +11 -4
  523. package/src/DateRangePicker/DateRangePickerRoot.vue +5 -5
  524. package/src/DismissableLayer/utils.ts +1 -2
  525. package/src/DropdownMenu/DropdownMenuFilter.vue +119 -0
  526. package/src/DropdownMenu/index.ts +5 -0
  527. package/src/Menu/MenuContentImpl.vue +68 -2
  528. package/src/Menu/MenuItemImpl.vue +11 -6
  529. package/src/Menu/MenuSubContent.vue +14 -3
  530. package/src/Menu/MenuSubTrigger.vue +13 -1
  531. package/src/MonthPicker/MonthPickerCell.vue +30 -0
  532. package/src/MonthPicker/MonthPickerCellTrigger.vue +214 -0
  533. package/src/MonthPicker/MonthPickerGrid.vue +32 -0
  534. package/src/MonthPicker/MonthPickerGridBody.vue +17 -0
  535. package/src/MonthPicker/MonthPickerGridRow.vue +20 -0
  536. package/src/MonthPicker/MonthPickerHeader.vue +17 -0
  537. package/src/MonthPicker/MonthPickerHeading.vue +35 -0
  538. package/src/MonthPicker/MonthPickerNext.vue +52 -0
  539. package/src/MonthPicker/MonthPickerPrev.vue +52 -0
  540. package/src/MonthPicker/MonthPickerRoot.vue +311 -0
  541. package/src/MonthPicker/index.ts +42 -0
  542. package/src/MonthPicker/useMonthPicker.ts +193 -0
  543. package/src/MonthRangePicker/MonthRangePickerCell.vue +30 -0
  544. package/src/MonthRangePicker/MonthRangePickerCellTrigger.vue +309 -0
  545. package/src/MonthRangePicker/MonthRangePickerGrid.vue +32 -0
  546. package/src/MonthRangePicker/MonthRangePickerGridBody.vue +17 -0
  547. package/src/MonthRangePicker/MonthRangePickerGridRow.vue +20 -0
  548. package/src/MonthRangePicker/MonthRangePickerHeader.vue +17 -0
  549. package/src/MonthRangePicker/MonthRangePickerHeading.vue +35 -0
  550. package/src/MonthRangePicker/MonthRangePickerNext.vue +52 -0
  551. package/src/MonthRangePicker/MonthRangePickerPrev.vue +52 -0
  552. package/src/MonthRangePicker/MonthRangePickerRoot.vue +391 -0
  553. package/src/MonthRangePicker/index.ts +42 -0
  554. package/src/MonthRangePicker/useRangeMonthPicker.ts +165 -0
  555. package/src/NumberField/NumberFieldRoot.vue +2 -1
  556. package/src/Progress/ProgressRoot.vue +3 -1
  557. package/src/RadioGroup/RadioGroupRoot.vue +1 -1
  558. package/src/RangeCalendar/RangeCalendarCellTrigger.vue +13 -3
  559. package/src/RangeCalendar/RangeCalendarGrid.vue +1 -0
  560. package/src/RangeCalendar/RangeCalendarNext.vue +10 -4
  561. package/src/RangeCalendar/RangeCalendarPrev.vue +10 -4
  562. package/src/RangeCalendar/RangeCalendarRoot.vue +48 -32
  563. package/src/RangeCalendar/useRangeCalendar.ts +41 -16
  564. package/src/Splitter/SplitterGroup.vue +218 -49
  565. package/src/Splitter/SplitterPanel.vue +11 -6
  566. package/src/Splitter/utils/composables/useWindowSplitterPanelGroupBehavior.ts +16 -6
  567. package/src/Splitter/utils/storage.ts +14 -0
  568. package/src/Splitter/utils/units.ts +161 -0
  569. package/src/Splitter/utils/validation.ts +3 -2
  570. package/src/Switch/SwitchRoot.vue +36 -19
  571. package/src/Switch/SwitchThumb.vue +1 -1
  572. package/src/TimeField/TimeFieldRoot.vue +0 -3
  573. package/src/TimeRangeField/TimeRangeFieldInput.vue +74 -0
  574. package/src/TimeRangeField/TimeRangeFieldRoot.vue +473 -0
  575. package/src/TimeRangeField/index.ts +2 -0
  576. package/src/Toast/ToastAnnounce.vue +4 -1
  577. package/src/Tooltip/TooltipContent.vue +1 -3
  578. package/src/Tooltip/TooltipContentImpl.vue +18 -10
  579. package/src/Tooltip/TooltipProvider.vue +8 -1
  580. package/src/YearPicker/YearPickerCell.vue +30 -0
  581. package/src/YearPicker/YearPickerCellTrigger.vue +218 -0
  582. package/src/YearPicker/YearPickerGrid.vue +32 -0
  583. package/src/YearPicker/YearPickerGridBody.vue +17 -0
  584. package/src/YearPicker/YearPickerGridRow.vue +20 -0
  585. package/src/YearPicker/YearPickerHeader.vue +17 -0
  586. package/src/YearPicker/YearPickerHeading.vue +35 -0
  587. package/src/YearPicker/YearPickerNext.vue +52 -0
  588. package/src/YearPicker/YearPickerPrev.vue +52 -0
  589. package/src/YearPicker/YearPickerRoot.vue +314 -0
  590. package/src/YearPicker/index.ts +42 -0
  591. package/src/YearPicker/useYearPicker.ts +202 -0
  592. package/src/YearRangePicker/YearRangePickerCell.vue +30 -0
  593. package/src/YearRangePicker/YearRangePickerCellTrigger.vue +311 -0
  594. package/src/YearRangePicker/YearRangePickerGrid.vue +32 -0
  595. package/src/YearRangePicker/YearRangePickerGridBody.vue +17 -0
  596. package/src/YearRangePicker/YearRangePickerGridRow.vue +20 -0
  597. package/src/YearRangePicker/YearRangePickerHeader.vue +17 -0
  598. package/src/YearRangePicker/YearRangePickerHeading.vue +35 -0
  599. package/src/YearRangePicker/YearRangePickerNext.vue +52 -0
  600. package/src/YearRangePicker/YearRangePickerPrev.vue +52 -0
  601. package/src/YearRangePicker/YearRangePickerRoot.vue +391 -0
  602. package/src/YearRangePicker/index.ts +42 -0
  603. package/src/YearRangePicker/useRangeYearPicker.ts +165 -0
  604. package/src/date/calendar.ts +71 -18
  605. package/src/date/comparators.ts +97 -0
  606. package/src/index.ts +41 -0
  607. package/src/internal.ts +7 -0
  608. package/src/shared/color/channel.ts +424 -0
  609. package/src/shared/color/convert.ts +293 -0
  610. package/src/shared/color/gradient.ts +347 -0
  611. package/src/shared/color/index.ts +35 -0
  612. package/src/shared/color/parse.ts +140 -0
  613. package/src/shared/color/types.ts +40 -0
  614. package/src/shared/color/utils.ts +143 -0
  615. package/src/shared/date/types.ts +6 -0
  616. package/src/shared/date/useDateField.ts +40 -40
  617. package/src/shared/macro.ts +11 -0
  618. package/src/shared/useArrowNavigation.ts +8 -2
  619. package/src/shared/useForwardExpose.ts +21 -6
  620. package/src/shared/useId.ts +6 -7
  621. package/dist/index.d.cts.map +0 -1
  622. package/dist/index.d.ts.map +0 -1
@@ -0,0 +1,54 @@
1
+ <script lang="ts">
2
+ import type { PrimitiveProps } from '@/Primitive'
3
+
4
+ export interface ColorSliderThumbProps extends PrimitiveProps {}
5
+ </script>
6
+
7
+ <script setup lang="ts">
8
+ import { computed } from 'vue'
9
+ import { getChannelName } from '@/shared/color'
10
+ import { SliderThumb } from '@/Slider'
11
+ import { injectColorSliderRootContext } from './ColorSliderRoot.vue'
12
+
13
+ const props = withDefaults(defineProps<ColorSliderThumbProps>(), {
14
+ as: 'span',
15
+ })
16
+
17
+ defineSlots<{
18
+ default?: (props: {
19
+ /** The display name of the current channel */
20
+ channelName: string
21
+ /** The current numeric value of the channel */
22
+ channelValue: number
23
+ }) => any
24
+ }>()
25
+
26
+ const rootContext = injectColorSliderRootContext()
27
+
28
+ const ariaLabel = computed(() => {
29
+ return getChannelName(rootContext.channel.value)
30
+ })
31
+
32
+ const ariaValueText = computed(() => {
33
+ const value = rootContext.channelValue.value
34
+ const channel = rootContext.channel.value
35
+ if (channel === 'alpha') {
36
+ return `${Math.round(value)}%`
37
+ }
38
+ return String(Math.round(value))
39
+ })
40
+ </script>
41
+
42
+ <template>
43
+ <SliderThumb
44
+ :as="as"
45
+ :as-child="asChild"
46
+ :aria-label="ariaLabel"
47
+ :aria-valuetext="ariaValueText"
48
+ >
49
+ <slot
50
+ :channel-name="ariaLabel"
51
+ :channel-value="rootContext.channelValue.value"
52
+ />
53
+ </SliderThumb>
54
+ </template>
@@ -0,0 +1,36 @@
1
+ <script lang="ts">
2
+ import type { PrimitiveProps } from '@/Primitive'
3
+
4
+ export interface ColorSliderTrackProps extends PrimitiveProps {}
5
+ </script>
6
+
7
+ <script setup lang="ts">
8
+ import { computed } from 'vue'
9
+ import { getSliderBackgroundStyle } from '@/shared/color'
10
+ import { SliderTrack } from '@/Slider'
11
+ import { injectColorSliderRootContext } from './ColorSliderRoot.vue'
12
+
13
+ const props = withDefaults(defineProps<ColorSliderTrackProps>(), {
14
+ as: 'span',
15
+ })
16
+
17
+ const rootContext = injectColorSliderRootContext()
18
+
19
+ const backgroundStyle = computed(() => {
20
+ return getSliderBackgroundStyle(
21
+ rootContext.color.value,
22
+ rootContext.channel.value,
23
+ rootContext.colorSpace.value,
24
+ )
25
+ })
26
+ </script>
27
+
28
+ <template>
29
+ <SliderTrack
30
+ :as="as"
31
+ :as-child="asChild"
32
+ :style="backgroundStyle"
33
+ >
34
+ <slot />
35
+ </SliderTrack>
36
+ </template>
@@ -0,0 +1,14 @@
1
+ export {
2
+ default as ColorSliderRoot,
3
+ type ColorSliderRootEmits,
4
+ type ColorSliderRootProps,
5
+ injectColorSliderRootContext,
6
+ } from './ColorSliderRoot.vue'
7
+ export {
8
+ default as ColorSliderThumb,
9
+ type ColorSliderThumbProps,
10
+ } from './ColorSliderThumb.vue'
11
+ export {
12
+ default as ColorSliderTrack,
13
+ type ColorSliderTrackProps,
14
+ } from './ColorSliderTrack.vue'
@@ -0,0 +1,39 @@
1
+ import { clamp } from '@/shared'
2
+
3
+ export const PAGE_KEYS = ['PageUp', 'PageDown']
4
+ export const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight']
5
+
6
+ export type SlideDirection = 'from-left' | 'from-right' | 'from-bottom' | 'from-top'
7
+
8
+ export const BACK_KEYS: Record<SlideDirection, string[]> = {
9
+ 'from-left': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],
10
+ 'from-right': ['Home', 'PageDown', 'ArrowDown', 'ArrowRight'],
11
+ 'from-bottom': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],
12
+ 'from-top': ['Home', 'PageUp', 'ArrowUp', 'ArrowLeft'],
13
+ }
14
+
15
+ // https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js
16
+ export function linearScale(input: readonly [number, number], output: readonly [number, number]) {
17
+ return (value: number) => {
18
+ if (input[0] === input[1] || output[0] === output[1])
19
+ return output[0]
20
+ const ratio = (output[1] - output[0]) / (input[1] - input[0])
21
+ return output[0] + ratio * (value - input[0])
22
+ }
23
+ }
24
+
25
+ export function convertValueToPercentage(value: number, min: number, max: number) {
26
+ if (max === min)
27
+ return 0
28
+ const maxSteps = max - min
29
+ const percentPerStep = 100 / maxSteps
30
+ const percentage = percentPerStep * (value - min)
31
+ return clamp(percentage, 0, 100)
32
+ }
33
+
34
+ export function getThumbPosition(percentage: number, orientation: 'horizontal' | 'vertical'): string {
35
+ if (orientation === 'horizontal') {
36
+ return `calc(${percentage}% - var(--reka-slider-thumb-size, 16px) / 2)`
37
+ }
38
+ return `calc(${100 - percentage}% - var(--reka-slider-thumb-size, 16px) / 2)`
39
+ }
@@ -0,0 +1,97 @@
1
+ <script lang="ts">
2
+ import type { PrimitiveProps } from '@/Primitive'
3
+ import type { Color } from '@/shared/color'
4
+
5
+ export interface ColorSwatchProps extends PrimitiveProps {
6
+ /**
7
+ * The color to display in the swatch as a hex string or Color object.
8
+ * Example: `#16a372`, `#ff5733`, or `{ space: 'hsl', h: 120, s: 100, l: 50, alpha: 1 }`.
9
+ */
10
+ color?: string | Color
11
+ /**
12
+ * Optional accessible label for the color. If omitted, the color name will be derived from the color value.
13
+ */
14
+ label?: string
15
+ }
16
+ </script>
17
+
18
+ <script setup lang="ts">
19
+ import { computed } from 'vue'
20
+ import { Primitive } from '@/Primitive'
21
+ import { colorToString, getColorContrast, getColorName, normalizeColor } from '@/shared/color'
22
+
23
+ const props = withDefaults(defineProps<ColorSwatchProps>(), { as: 'div', color: '' })
24
+
25
+ const colorString = computed(() => {
26
+ if (!props.color)
27
+ return ''
28
+ if (typeof props.color === 'string') {
29
+ return props.color
30
+ }
31
+ return colorToString(props.color, 'hex')
32
+ })
33
+
34
+ const colorObj = computed(() => {
35
+ if (!props.color)
36
+ return null
37
+ try {
38
+ return normalizeColor(props.color)
39
+ }
40
+ catch {
41
+ return null
42
+ }
43
+ })
44
+
45
+ const alpha = computed(() => colorObj.value?.alpha ?? 0)
46
+ const isNoColor = computed(() => !props.color || alpha.value <= 0)
47
+
48
+ const label = computed(() => {
49
+ if (props.label)
50
+ return props.label
51
+
52
+ // Match React Aria: transparent colors get "transparent" label
53
+ if (!colorObj.value || colorObj.value.alpha === 0)
54
+ return 'transparent'
55
+
56
+ try {
57
+ return getColorName(colorString.value)
58
+ }
59
+ catch {
60
+ return colorString.value || 'transparent'
61
+ }
62
+ })
63
+
64
+ const colorContrast = computed(() => {
65
+ try {
66
+ return getColorContrast(colorString.value)
67
+ }
68
+ catch {
69
+ if (import.meta.env.DEV) {
70
+ console.warn(`WARNING: Unable to resolve contrast color for "${colorString.value}".
71
+ Please check that the color provided is a valid hex color.`)
72
+ }
73
+ return undefined
74
+ }
75
+ })
76
+ </script>
77
+
78
+ <template>
79
+ <Primitive
80
+ role="img"
81
+ :aria-label="label"
82
+ aria-roledescription="color swatch"
83
+ :as-child="asChild"
84
+ :as="as"
85
+ :data-color-contrast="colorContrast"
86
+ :data-no-color="isNoColor ? '' : undefined"
87
+ :style="{
88
+ '--reka-color-swatch-color': colorString,
89
+ '--reka-color-swatch-alpha': String(alpha),
90
+ }"
91
+ >
92
+ <slot
93
+ :color="colorString"
94
+ :alpha="alpha"
95
+ />
96
+ </Primitive>
97
+ </template>
@@ -0,0 +1,4 @@
1
+ export {
2
+ default as ColorSwatch,
3
+ type ColorSwatchProps,
4
+ } from './ColorSwatch.vue'
@@ -0,0 +1,60 @@
1
+ <script lang="ts">
2
+ import type { Ref } from 'vue'
3
+ import type { ListboxItemEmits, ListboxItemProps } from '@/Listbox'
4
+ import { createContext, useForwardPropsEmits } from '@/shared'
5
+
6
+ export interface ColorSwatchPickerItemProps extends ListboxItemProps {
7
+ /**
8
+ * The color to display in the swatch as a hex string.
9
+ * Example: `#16a372` or `#ff5733`.
10
+ */
11
+ value: string
12
+ }
13
+
14
+ export type ColorSwatchPickerItemEmits = ListboxItemEmits
15
+
16
+ export interface ColorSwatchPickerItemContext {
17
+ color: Ref<string>
18
+ }
19
+
20
+ export const [injectColorSwatchPickerItemContext, provideColorSwatchPickerItemContext]
21
+ = createContext<ColorSwatchPickerItemContext>('ColorSwatchPickerItem', 'ColorSwatchPickerItemContext')
22
+ </script>
23
+
24
+ <script setup lang="ts">
25
+ import { computed, toRefs } from 'vue'
26
+ import { ListboxItem } from '@/Listbox'
27
+ import { getColorName } from '@/shared/color'
28
+
29
+ const props = defineProps<ColorSwatchPickerItemProps>()
30
+
31
+ const emits = defineEmits<ColorSwatchPickerItemEmits>()
32
+
33
+ const { value } = toRefs(props)
34
+
35
+ const forwarded = useForwardPropsEmits(props, emits)
36
+
37
+ const colorLabel = computed(() => {
38
+ try {
39
+ return getColorName(value.value)
40
+ }
41
+ catch {
42
+ return value.value
43
+ }
44
+ })
45
+
46
+ provideColorSwatchPickerItemContext({
47
+ color: value,
48
+ })
49
+ </script>
50
+
51
+ <template>
52
+ <ListboxItem
53
+ v-bind="forwarded"
54
+ :aria-label="colorLabel"
55
+ :data-color="value"
56
+ :style="{ '--reka-color-swatch-picker-item-color': value }"
57
+ >
58
+ <slot />
59
+ </ListboxItem>
60
+ </template>
@@ -0,0 +1,17 @@
1
+ <script lang="ts">
2
+ import type { ListboxItemIndicatorProps } from '@/Listbox'
3
+
4
+ export interface ColorSwatchPickerItemIndicatorProps extends ListboxItemIndicatorProps { }
5
+ </script>
6
+
7
+ <script setup lang="ts">
8
+ import { ListboxItemIndicator } from '@/Listbox'
9
+
10
+ const props = defineProps<ColorSwatchPickerItemIndicatorProps>()
11
+ </script>
12
+
13
+ <template>
14
+ <ListboxItemIndicator v-bind="props">
15
+ <slot />
16
+ </ListboxItemIndicator>
17
+ </template>
@@ -0,0 +1,21 @@
1
+ <script lang="ts">
2
+ import type { ColorSwatchProps } from '@/ColorSwatch/ColorSwatch.vue'
3
+
4
+ export interface ColorSwatchPickerItemSwatchProps extends Omit<ColorSwatchProps, 'color'> { }
5
+ </script>
6
+
7
+ <script setup lang="ts">
8
+ import { ColorSwatch } from '@/ColorSwatch'
9
+ import { injectColorSwatchPickerItemContext } from './ColorSwatchPickerItem.vue'
10
+
11
+ const props = defineProps<ColorSwatchPickerItemSwatchProps>()
12
+
13
+ const colorSwatchPickerItemContext = injectColorSwatchPickerItemContext()
14
+ </script>
15
+
16
+ <template>
17
+ <ColorSwatch
18
+ v-bind="props"
19
+ :color="colorSwatchPickerItemContext.color.value"
20
+ />
21
+ </template>
@@ -0,0 +1,50 @@
1
+ <script lang="ts">
2
+ import type { ListboxRootEmits, ListboxRootProps } from '@/Listbox'
3
+ import { useVModel } from '@vueuse/core'
4
+ import { useForwardPropsEmits } from '@/shared'
5
+
6
+ export interface ColorSwatchPickerRootProps extends Omit<ListboxRootProps, 'by'> {
7
+ defaultValue?: string | string[]
8
+ modelValue?: string | string[]
9
+ }
10
+
11
+ export type ColorSwatchPickerRootEmits = ListboxRootEmits
12
+ </script>
13
+
14
+ <script setup lang="ts">
15
+ import { ListboxContent, ListboxRoot } from '@/Listbox'
16
+
17
+ const props = withDefaults(defineProps<ColorSwatchPickerRootProps>(), {
18
+ as: 'div',
19
+ defaultValue: undefined,
20
+ dir: 'ltr',
21
+ disabled: false,
22
+ loop: false,
23
+ orientation: 'horizontal',
24
+ })
25
+
26
+ const emits = defineEmits<ColorSwatchPickerRootEmits>()
27
+
28
+ const modelValue = useVModel(props, 'modelValue', emits, {
29
+ defaultValue: props.defaultValue ?? (props.multiple ? [] : ''),
30
+ // Cast required for VueUse's passive option type; enables passive sync when modelValue is undefined
31
+ passive: (props.modelValue === undefined) as false,
32
+ })
33
+
34
+ const forwarded = useForwardPropsEmits(props, emits)
35
+ </script>
36
+
37
+ <template>
38
+ <ListboxRoot
39
+ v-bind="forwarded"
40
+ v-model="modelValue"
41
+ as-child
42
+ >
43
+ <ListboxContent
44
+ :as-child="asChild"
45
+ :as="as"
46
+ >
47
+ <slot :model-value="modelValue" />
48
+ </ListboxContent>
49
+ </ListboxRoot>
50
+ </template>
@@ -0,0 +1,17 @@
1
+ export {
2
+ default as ColorSwatchPickerItem,
3
+ type ColorSwatchPickerItemProps,
4
+ } from './ColorSwatchPickerItem.vue'
5
+ export {
6
+ default as ColorSwatchPickerItemIndicator,
7
+ type ColorSwatchPickerItemIndicatorProps,
8
+ } from './ColorSwatchPickerItemIndicator.vue'
9
+ export {
10
+ default as ColorSwatchPickerItemSwatch,
11
+ type ColorSwatchPickerItemSwatchProps,
12
+ } from './ColorSwatchPickerItemSwatch.vue'
13
+ export {
14
+ default as ColorSwatchPickerRoot,
15
+ type ColorSwatchPickerRootEmits,
16
+ type ColorSwatchPickerRootProps,
17
+ } from './ColorSwatchPickerRoot.vue'
@@ -17,6 +17,11 @@ export interface ComboboxContentImplProps extends PopperContentProps, Dismissabl
17
17
  position?: 'inline' | 'popper'
18
18
  /** The document.body will be lock, and scrolling will be disabled. */
19
19
  bodyLock?: boolean
20
+ /**
21
+ * When `true`, hides the content when there are no items matching the filter.
22
+ * @defaultValue false
23
+ */
24
+ hideWhenEmpty?: boolean
20
25
  }
21
26
 
22
27
  export const [injectComboboxContentContext, provideComboboxContentContext]
@@ -42,6 +47,11 @@ const emits = defineEmits<ComboboxContentImplEmits>()
42
47
  const { position } = toRefs(props)
43
48
  const rootContext = injectComboboxRootContext()
44
49
 
50
+ const isEmpty = computed(() => rootContext.ignoreFilter.value
51
+ ? rootContext.allItems.value.size === 0
52
+ : rootContext.filterState.value.count === 0,
53
+ )
54
+
45
55
  const { forwardRef, currentElement } = useForwardExpose()
46
56
  useBodyScrollLock(props.bodyLock)
47
57
  useFocusGuards()
@@ -94,6 +104,7 @@ onUnmounted(() => {
94
104
  <FocusScope
95
105
  as-child
96
106
  @mount-auto-focus.prevent
107
+ @unmount-auto-focus.prevent
97
108
  >
98
109
  <DismissableLayer
99
110
  as-child
@@ -118,9 +129,11 @@ onUnmounted(() => {
118
129
  :id="rootContext.contentId"
119
130
  :ref="forwardRef"
120
131
  :data-state="rootContext.open.value ? 'open' : 'closed'"
132
+ :data-empty="isEmpty ? '' : undefined"
121
133
  :style="{
122
134
  // flex layout so we can place the scroll buttons properly
123
- display: 'flex',
135
+ // When hideWhenEmpty is true, hide the content when no items match
136
+ display: (props.hideWhenEmpty && isEmpty) ? 'none' : 'flex',
124
137
  flexDirection: 'column',
125
138
  // reset the outline by default as the content MAY get focused
126
139
  outline: 'none',
@@ -44,7 +44,7 @@ export interface DateFieldRootProps extends PrimitiveProps, FormFieldProps {
44
44
  defaultPlaceholder?: DateValue
45
45
  /** The placeholder date, which is used to determine what month to display when no date is selected. This updates as the user navigates the calendar and can be used to programmatically control the calendar view */
46
46
  placeholder?: DateValue
47
- /** The controlled checked state of the calendar. Can be bound as `v-model`. */
47
+ /** The controlled value of the field. Can be bound as `v-model`. */
48
48
  modelValue?: DateValue | null
49
49
  /** The hour cycle used for formatting times. Defaults to the local preference */
50
50
  hourCycle?: HourCycle
@@ -3,10 +3,11 @@ import type { DateValue } from '@internationalized/date'
3
3
 
4
4
  import type { Ref } from 'vue'
5
5
  import type { CalendarRootProps, DateFieldRoot, DateFieldRootProps, PopoverRootEmits, PopoverRootProps } from '..'
6
- import type { Matcher, WeekDayFormat } from '@/date'
6
+ import type { Matcher, WeekDayFormat, WeekStartsOn } from '@/date'
7
7
  import type { DateStep, Granularity, HourCycle } from '@/shared/date'
8
8
  import type { Direction } from '@/shared/types'
9
9
  import { computed, ref, toRefs, watch } from 'vue'
10
+ import { getWeekStartsOn } from '@/date'
10
11
  import { createContext, useDirection, useLocale } from '@/shared'
11
12
  import { getDefaultDate } from '@/shared/date'
12
13
  import { PopoverRoot } from '..'
@@ -26,7 +27,7 @@ type DatePickerRootContext = {
26
27
  placeholder: Ref<DateValue>
27
28
  pagedNavigation: Ref<boolean>
28
29
  preventDeselect: Ref<boolean>
29
- weekStartsOn: Ref<0 | 1 | 2 | 3 | 4 | 5 | 6>
30
+ weekStartsOn: Ref<WeekStartsOn>
30
31
  weekdayFormat: Ref<WeekDayFormat>
31
32
  fixedWeeks: Ref<boolean>
32
33
  numberOfMonths: Ref<number>
@@ -73,7 +74,6 @@ const props = withDefaults(defineProps<DatePickerRootProps>(), {
73
74
  modal: false,
74
75
  pagedNavigation: false,
75
76
  preventDeselect: false,
76
- weekStartsOn: 0,
77
77
  weekdayFormat: 'narrow',
78
78
  fixedWeeks: false,
79
79
  numberOfMonths: 1,
@@ -90,7 +90,6 @@ const {
90
90
  disabled,
91
91
  readonly,
92
92
  pagedNavigation,
93
- weekStartsOn,
94
93
  weekdayFormat,
95
94
  fixedWeeks,
96
95
  numberOfMonths,
@@ -115,6 +114,7 @@ const {
115
114
 
116
115
  const dir = useDirection(propDir)
117
116
  const locale = useLocale(propLocale)
117
+ const weekStartsOn = computed(() => props.weekStartsOn ?? getWeekStartsOn(locale.value))
118
118
 
119
119
  const modelValue = useVModel(props, 'modelValue', emits, {
120
120
  defaultValue: defaultValue.value,
@@ -12,15 +12,12 @@ import {
12
12
  hasTime,
13
13
  isBefore,
14
14
  isBeforeOrSame,
15
-
16
15
  } from '@/date'
17
16
  import { createContext, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'
18
17
  import {
19
18
  createContent,
20
-
21
19
  getDefaultDate,
22
20
  getSegmentElements,
23
-
24
21
  initializeSegmentValues,
25
22
  isSegmentNavigationKey,
26
23
  normalizeDateStep,
@@ -57,7 +54,7 @@ export interface DateRangeFieldRootProps extends PrimitiveProps, FormFieldProps
57
54
  defaultPlaceholder?: DateValue
58
55
  /** The placeholder date, which is used to determine what month to display when no date is selected. This updates as the user navigates the calendar and can be used to programmatically control the calendar view */
59
56
  placeholder?: DateValue
60
- /** The controlled checked state of the calendar. Can be bound as `v-model`. */
57
+ /** The controlled value of the field. Can be bound as `v-model`. */
61
58
  modelValue?: DateRange | null
62
59
  /** The hour cycle used for formatting times. Defaults to the local preference */
63
60
  hourCycle?: HourCycle
@@ -114,6 +111,16 @@ const props = withDefaults(defineProps<DateRangeFieldRootProps>(), {
114
111
  isDateUnavailable: undefined,
115
112
  })
116
113
  const emits = defineEmits<DateRangeFieldRootEmits>()
114
+ defineSlots<{
115
+ default?: (props: {
116
+ /** The current date range of the field */
117
+ modelValue: DateRange | null
118
+ /** The date field segment contents */
119
+ segments: { start: { part: SegmentPart, value: string }[], end: { part: SegmentPart, value: string }[] }
120
+ /** Value if the input is invalid */
121
+ isInvalid: boolean
122
+ }) => any
123
+ }>()
117
124
  const { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, dir: propDir, locale: propLocale } = toRefs(props)
118
125
  const locale = useLocale(propLocale)
119
126
  const dir = useDirection(propDir)
@@ -3,10 +3,11 @@ import type { DateValue } from '@internationalized/date'
3
3
 
4
4
  import type { Ref } from 'vue'
5
5
  import type { DateRangeFieldRoot, DateRangeFieldRootProps, PopoverRootEmits, PopoverRootProps, RangeCalendarRootProps } from '..'
6
- import type { Matcher, WeekDayFormat } from '@/date'
6
+ import type { Matcher, WeekDayFormat, WeekStartsOn } from '@/date'
7
7
  import type { DateRange, DateStep, Granularity, HourCycle } from '@/shared/date'
8
8
 
9
9
  import type { Direction } from '@/shared/types'
10
+ import { getWeekStartsOn } from '@/date'
10
11
  import { createContext, useDirection, useLocale } from '@/shared'
11
12
  import { getDefaultDate } from '@/shared/date'
12
13
  import { PopoverRoot } from '..'
@@ -26,7 +27,7 @@ type DateRangePickerRootContext = {
26
27
  placeholder: Ref<DateValue>
27
28
  pagedNavigation: Ref<boolean>
28
29
  preventDeselect: Ref<boolean>
29
- weekStartsOn: Ref<0 | 1 | 2 | 3 | 4 | 5 | 6>
30
+ weekStartsOn: Ref<WeekStartsOn>
30
31
  weekdayFormat: Ref<WeekDayFormat>
31
32
  fixedWeeks: Ref<boolean>
32
33
  numberOfMonths: Ref<number>
@@ -69,7 +70,7 @@ export const [injectDateRangePickerRootContext, provideDateRangePickerRootContex
69
70
 
70
71
  <script setup lang="ts">
71
72
  import { useVModel } from '@vueuse/core'
72
- import { ref, toRefs, watch } from 'vue'
73
+ import { computed, ref, toRefs, watch } from 'vue'
73
74
 
74
75
  defineOptions({
75
76
  inheritAttrs: false,
@@ -81,7 +82,6 @@ const props = withDefaults(defineProps<DateRangePickerRootProps>(), {
81
82
  modal: false,
82
83
  pagedNavigation: false,
83
84
  preventDeselect: false,
84
- weekStartsOn: 0,
85
85
  weekdayFormat: 'narrow',
86
86
  fixedWeeks: false,
87
87
  numberOfMonths: 1,
@@ -101,7 +101,6 @@ const {
101
101
  disabled,
102
102
  readonly,
103
103
  pagedNavigation,
104
- weekStartsOn,
105
104
  weekdayFormat,
106
105
  fixedWeeks,
107
106
  numberOfMonths,
@@ -129,6 +128,7 @@ const {
129
128
 
130
129
  const dir = useDirection(propsDir)
131
130
  const locale = useLocale(propLocale)
131
+ const weekStartsOn = computed(() => props.weekStartsOn ?? getWeekStartsOn(locale.value))
132
132
 
133
133
  const modelValue = useVModel(props, 'modelValue', emits, {
134
134
  defaultValue: props.defaultValue ?? { start: undefined, end: undefined },
@@ -28,8 +28,7 @@ function isLayerExist(layerElement: HTMLElement, targetElement: HTMLElement) {
28
28
  layerElement.ownerDocument.querySelectorAll('[data-dismissable-layer]'),
29
29
  )
30
30
 
31
- if (targetLayer && (mainLayer === targetLayer || nodeList.indexOf(mainLayer) < nodeList.indexOf(targetLayer))
32
- ) {
31
+ if (targetLayer && (mainLayer === targetLayer || nodeList.indexOf(mainLayer) < nodeList.indexOf(targetLayer))) {
33
32
  return true
34
33
  }
35
34
  else {