reka-ui 2.2.1 → 2.3.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 (556) hide show
  1. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  2. package/dist/Accordion/AccordionItem.js.map +1 -1
  3. package/dist/Accordion/AccordionRoot.cjs.map +1 -1
  4. package/dist/Accordion/AccordionRoot.js.map +1 -1
  5. package/dist/AlertDialog/AlertDialogCancel.cjs.map +1 -1
  6. package/dist/AlertDialog/AlertDialogCancel.js.map +1 -1
  7. package/dist/AlertDialog/AlertDialogContent.cjs.map +1 -1
  8. package/dist/AlertDialog/AlertDialogContent.js.map +1 -1
  9. package/dist/AspectRatio/AspectRatio.cjs.map +1 -1
  10. package/dist/AspectRatio/AspectRatio.js.map +1 -1
  11. package/dist/Avatar/AvatarFallback.cjs +11 -14
  12. package/dist/Avatar/AvatarFallback.cjs.map +1 -1
  13. package/dist/Avatar/AvatarFallback.js +12 -15
  14. package/dist/Avatar/AvatarFallback.js.map +1 -1
  15. package/dist/Avatar/AvatarImage.cjs +3 -2
  16. package/dist/Avatar/AvatarImage.cjs.map +1 -1
  17. package/dist/Avatar/AvatarImage.js +3 -2
  18. package/dist/Avatar/AvatarImage.js.map +1 -1
  19. package/dist/Avatar/AvatarRoot.cjs +1 -1
  20. package/dist/Avatar/AvatarRoot.cjs.map +1 -1
  21. package/dist/Avatar/AvatarRoot.js +1 -1
  22. package/dist/Avatar/AvatarRoot.js.map +1 -1
  23. package/dist/Avatar/utils.cjs +43 -16
  24. package/dist/Avatar/utils.cjs.map +1 -1
  25. package/dist/Avatar/utils.js +44 -17
  26. package/dist/Avatar/utils.js.map +1 -1
  27. package/dist/Calendar/CalendarCell.cjs +2 -2
  28. package/dist/Calendar/CalendarCell.cjs.map +1 -1
  29. package/dist/Calendar/CalendarCell.js +2 -2
  30. package/dist/Calendar/CalendarCell.js.map +1 -1
  31. package/dist/Calendar/CalendarCellTrigger.cjs +5 -1
  32. package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
  33. package/dist/Calendar/CalendarCellTrigger.js +5 -1
  34. package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
  35. package/dist/Calendar/CalendarGrid.cjs.map +1 -1
  36. package/dist/Calendar/CalendarGrid.js.map +1 -1
  37. package/dist/Calendar/CalendarHeading.cjs.map +1 -1
  38. package/dist/Calendar/CalendarHeading.js.map +1 -1
  39. package/dist/Calendar/CalendarNext.cjs.map +1 -1
  40. package/dist/Calendar/CalendarNext.js.map +1 -1
  41. package/dist/Calendar/CalendarPrev.cjs.map +1 -1
  42. package/dist/Calendar/CalendarPrev.js.map +1 -1
  43. package/dist/Calendar/CalendarRoot.cjs +7 -4
  44. package/dist/Calendar/CalendarRoot.cjs.map +1 -1
  45. package/dist/Calendar/CalendarRoot.js +7 -4
  46. package/dist/Calendar/CalendarRoot.js.map +1 -1
  47. package/dist/Calendar/useCalendar.cjs +2 -2
  48. package/dist/Calendar/useCalendar.cjs.map +1 -1
  49. package/dist/Calendar/useCalendar.js +2 -2
  50. package/dist/Calendar/useCalendar.js.map +1 -1
  51. package/dist/Checkbox/CheckboxGroupRoot.cjs.map +1 -1
  52. package/dist/Checkbox/CheckboxGroupRoot.js.map +1 -1
  53. package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
  54. package/dist/Checkbox/CheckboxRoot.js.map +1 -1
  55. package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
  56. package/dist/Collapsible/CollapsibleContent.js.map +1 -1
  57. package/dist/Collapsible/CollapsibleRoot.cjs +2 -0
  58. package/dist/Collapsible/CollapsibleRoot.cjs.map +1 -1
  59. package/dist/Collapsible/CollapsibleRoot.js +2 -0
  60. package/dist/Collapsible/CollapsibleRoot.js.map +1 -1
  61. package/dist/Collection/Collection.cjs.map +1 -1
  62. package/dist/Collection/Collection.js.map +1 -1
  63. package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
  64. package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
  65. package/dist/Combobox/ComboboxGroup.cjs.map +1 -1
  66. package/dist/Combobox/ComboboxGroup.js.map +1 -1
  67. package/dist/Combobox/ComboboxInput.cjs.map +1 -1
  68. package/dist/Combobox/ComboboxInput.js.map +1 -1
  69. package/dist/Combobox/ComboboxItem.cjs.map +1 -1
  70. package/dist/Combobox/ComboboxItem.js.map +1 -1
  71. package/dist/Combobox/ComboboxRoot.cjs +1 -2
  72. package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
  73. package/dist/Combobox/ComboboxRoot.js +1 -2
  74. package/dist/Combobox/ComboboxRoot.js.map +1 -1
  75. package/dist/Combobox/ComboboxTrigger.cjs.map +1 -1
  76. package/dist/Combobox/ComboboxTrigger.js.map +1 -1
  77. package/dist/Combobox/ComboboxViewport.cjs.map +1 -1
  78. package/dist/Combobox/ComboboxViewport.js.map +1 -1
  79. package/dist/Combobox/ComboboxVirtualizer.cjs.map +1 -1
  80. package/dist/Combobox/ComboboxVirtualizer.js.map +1 -1
  81. package/dist/ConfigProvider/ConfigProvider.cjs.map +1 -1
  82. package/dist/ConfigProvider/ConfigProvider.js.map +1 -1
  83. package/dist/ContextMenu/ContextMenuContent.cjs.map +1 -1
  84. package/dist/ContextMenu/ContextMenuContent.js.map +1 -1
  85. package/dist/ContextMenu/ContextMenuRoot.cjs.map +1 -1
  86. package/dist/ContextMenu/ContextMenuRoot.js.map +1 -1
  87. package/dist/ContextMenu/ContextMenuSub.cjs +1 -1
  88. package/dist/ContextMenu/ContextMenuSub.cjs.map +1 -1
  89. package/dist/ContextMenu/ContextMenuSub.js +1 -1
  90. package/dist/ContextMenu/ContextMenuSub.js.map +1 -1
  91. package/dist/ContextMenu/ContextMenuTrigger.cjs.map +1 -1
  92. package/dist/ContextMenu/ContextMenuTrigger.js.map +1 -1
  93. package/dist/DateField/DateFieldInput.cjs +1 -0
  94. package/dist/DateField/DateFieldInput.cjs.map +1 -1
  95. package/dist/DateField/DateFieldInput.js +1 -0
  96. package/dist/DateField/DateFieldInput.js.map +1 -1
  97. package/dist/DateField/DateFieldRoot.cjs +7 -1
  98. package/dist/DateField/DateFieldRoot.cjs.map +1 -1
  99. package/dist/DateField/DateFieldRoot.js +7 -1
  100. package/dist/DateField/DateFieldRoot.js.map +1 -1
  101. package/dist/DatePicker/DatePickerCellTrigger.cjs.map +1 -1
  102. package/dist/DatePicker/DatePickerCellTrigger.js.map +1 -1
  103. package/dist/DatePicker/DatePickerContent.cjs +8 -3
  104. package/dist/DatePicker/DatePickerContent.cjs.map +1 -1
  105. package/dist/DatePicker/DatePickerContent.js +9 -4
  106. package/dist/DatePicker/DatePickerContent.js.map +1 -1
  107. package/dist/DatePicker/DatePickerHeading.cjs.map +1 -1
  108. package/dist/DatePicker/DatePickerHeading.js.map +1 -1
  109. package/dist/DatePicker/DatePickerNext.cjs.map +1 -1
  110. package/dist/DatePicker/DatePickerNext.js.map +1 -1
  111. package/dist/DatePicker/DatePickerPrev.cjs.map +1 -1
  112. package/dist/DatePicker/DatePickerPrev.js.map +1 -1
  113. package/dist/DatePicker/DatePickerRoot.cjs +1 -0
  114. package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
  115. package/dist/DatePicker/DatePickerRoot.js +1 -0
  116. package/dist/DatePicker/DatePickerRoot.js.map +1 -1
  117. package/dist/DateRangeField/DateRangeFieldInput.cjs +1 -0
  118. package/dist/DateRangeField/DateRangeFieldInput.cjs.map +1 -1
  119. package/dist/DateRangeField/DateRangeFieldInput.js +1 -0
  120. package/dist/DateRangeField/DateRangeFieldInput.js.map +1 -1
  121. package/dist/DateRangeField/DateRangeFieldRoot.cjs +13 -9
  122. package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
  123. package/dist/DateRangeField/DateRangeFieldRoot.js +13 -9
  124. package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
  125. package/dist/DateRangePicker/DateRangePickerCalendar.cjs +2 -1
  126. package/dist/DateRangePicker/DateRangePickerCalendar.cjs.map +1 -1
  127. package/dist/DateRangePicker/DateRangePickerCalendar.js +2 -1
  128. package/dist/DateRangePicker/DateRangePickerCalendar.js.map +1 -1
  129. package/dist/DateRangePicker/DateRangePickerContent.cjs +8 -3
  130. package/dist/DateRangePicker/DateRangePickerContent.cjs.map +1 -1
  131. package/dist/DateRangePicker/DateRangePickerContent.js +9 -4
  132. package/dist/DateRangePicker/DateRangePickerContent.js.map +1 -1
  133. package/dist/DateRangePicker/DateRangePickerHeading.cjs.map +1 -1
  134. package/dist/DateRangePicker/DateRangePickerHeading.js.map +1 -1
  135. package/dist/DateRangePicker/DateRangePickerNext.cjs.map +1 -1
  136. package/dist/DateRangePicker/DateRangePickerNext.js.map +1 -1
  137. package/dist/DateRangePicker/DateRangePickerPrev.cjs.map +1 -1
  138. package/dist/DateRangePicker/DateRangePickerPrev.js.map +1 -1
  139. package/dist/DateRangePicker/DateRangePickerRoot.cjs +6 -2
  140. package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
  141. package/dist/DateRangePicker/DateRangePickerRoot.js +6 -2
  142. package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
  143. package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
  144. package/dist/Dialog/DialogContentImpl.js.map +1 -1
  145. package/dist/Dialog/DialogContentNonModal.cjs.map +1 -1
  146. package/dist/Dialog/DialogContentNonModal.js.map +1 -1
  147. package/dist/Dialog/DialogRoot.cjs +4 -1
  148. package/dist/Dialog/DialogRoot.cjs.map +1 -1
  149. package/dist/Dialog/DialogRoot.js +4 -1
  150. package/dist/Dialog/DialogRoot.js.map +1 -1
  151. package/dist/Dialog/DialogTrigger.cjs.map +1 -1
  152. package/dist/Dialog/DialogTrigger.js.map +1 -1
  153. package/dist/DismissableLayer/DismissableLayer.cjs.map +1 -1
  154. package/dist/DismissableLayer/DismissableLayer.js.map +1 -1
  155. package/dist/DismissableLayer/DismissableLayerBranch.cjs.map +1 -1
  156. package/dist/DismissableLayer/DismissableLayerBranch.js.map +1 -1
  157. package/dist/DismissableLayer/utils.cjs +7 -3
  158. package/dist/DismissableLayer/utils.cjs.map +1 -1
  159. package/dist/DismissableLayer/utils.js +8 -4
  160. package/dist/DismissableLayer/utils.js.map +1 -1
  161. package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
  162. package/dist/DropdownMenu/DropdownMenuContent.js.map +1 -1
  163. package/dist/DropdownMenu/DropdownMenuRoot.cjs +1 -1
  164. package/dist/DropdownMenu/DropdownMenuRoot.cjs.map +1 -1
  165. package/dist/DropdownMenu/DropdownMenuRoot.js +1 -1
  166. package/dist/DropdownMenu/DropdownMenuRoot.js.map +1 -1
  167. package/dist/DropdownMenu/DropdownMenuSub.cjs +1 -1
  168. package/dist/DropdownMenu/DropdownMenuSub.cjs.map +1 -1
  169. package/dist/DropdownMenu/DropdownMenuSub.js +1 -1
  170. package/dist/DropdownMenu/DropdownMenuSub.js.map +1 -1
  171. package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
  172. package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
  173. package/dist/Editable/EditableInput.cjs.map +1 -1
  174. package/dist/Editable/EditableInput.js.map +1 -1
  175. package/dist/Editable/EditableRoot.cjs +1 -1
  176. package/dist/Editable/EditableRoot.cjs.map +1 -1
  177. package/dist/Editable/EditableRoot.js +1 -1
  178. package/dist/Editable/EditableRoot.js.map +1 -1
  179. package/dist/FocusScope/FocusScope.cjs.map +1 -1
  180. package/dist/FocusScope/FocusScope.js.map +1 -1
  181. package/dist/HoverCard/HoverCardContentImpl.cjs.map +1 -1
  182. package/dist/HoverCard/HoverCardContentImpl.js.map +1 -1
  183. package/dist/HoverCard/HoverCardRoot.cjs +1 -1
  184. package/dist/HoverCard/HoverCardRoot.cjs.map +1 -1
  185. package/dist/HoverCard/HoverCardRoot.js +1 -1
  186. package/dist/HoverCard/HoverCardRoot.js.map +1 -1
  187. package/dist/Listbox/ListboxFilter.cjs.map +1 -1
  188. package/dist/Listbox/ListboxFilter.js.map +1 -1
  189. package/dist/Listbox/ListboxItem.cjs.map +1 -1
  190. package/dist/Listbox/ListboxItem.js.map +1 -1
  191. package/dist/Listbox/ListboxRoot.cjs +1 -1
  192. package/dist/Listbox/ListboxRoot.cjs.map +1 -1
  193. package/dist/Listbox/ListboxRoot.js +1 -1
  194. package/dist/Listbox/ListboxRoot.js.map +1 -1
  195. package/dist/Listbox/ListboxVirtualizer.cjs +3 -3
  196. package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
  197. package/dist/Listbox/ListboxVirtualizer.js +3 -3
  198. package/dist/Listbox/ListboxVirtualizer.js.map +1 -1
  199. package/dist/Menu/MenuCheckboxItem.cjs.map +1 -1
  200. package/dist/Menu/MenuCheckboxItem.js.map +1 -1
  201. package/dist/Menu/MenuContentImpl.cjs.map +1 -1
  202. package/dist/Menu/MenuContentImpl.js.map +1 -1
  203. package/dist/Menu/MenuItemImpl.cjs.map +1 -1
  204. package/dist/Menu/MenuItemImpl.js.map +1 -1
  205. package/dist/Menu/MenuItemIndicator.cjs.map +1 -1
  206. package/dist/Menu/MenuItemIndicator.js.map +1 -1
  207. package/dist/Menu/MenuRadioGroup.cjs.map +1 -1
  208. package/dist/Menu/MenuRadioGroup.js.map +1 -1
  209. package/dist/Menu/MenuRoot.cjs +1 -1
  210. package/dist/Menu/MenuRoot.cjs.map +1 -1
  211. package/dist/Menu/MenuRoot.js +1 -1
  212. package/dist/Menu/MenuRoot.js.map +1 -1
  213. package/dist/Menu/MenuSub.cjs +1 -1
  214. package/dist/Menu/MenuSub.cjs.map +1 -1
  215. package/dist/Menu/MenuSub.js +1 -1
  216. package/dist/Menu/MenuSub.js.map +1 -1
  217. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  218. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  219. package/dist/Menubar/MenubarContent.cjs.map +1 -1
  220. package/dist/Menubar/MenubarContent.js.map +1 -1
  221. package/dist/Menubar/MenubarMenu.cjs.map +1 -1
  222. package/dist/Menubar/MenubarMenu.js.map +1 -1
  223. package/dist/Menubar/MenubarRoot.cjs.map +1 -1
  224. package/dist/Menubar/MenubarRoot.js.map +1 -1
  225. package/dist/Menubar/MenubarSub.cjs +1 -1
  226. package/dist/Menubar/MenubarSub.cjs.map +1 -1
  227. package/dist/Menubar/MenubarSub.js +1 -1
  228. package/dist/Menubar/MenubarSub.js.map +1 -1
  229. package/dist/Menubar/MenubarTrigger.cjs.map +1 -1
  230. package/dist/Menubar/MenubarTrigger.js.map +1 -1
  231. package/dist/NavigationMenu/NavigationMenuContent.cjs.map +1 -1
  232. package/dist/NavigationMenu/NavigationMenuContent.js.map +1 -1
  233. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
  234. package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
  235. package/dist/NavigationMenu/NavigationMenuIndicator.cjs.map +1 -1
  236. package/dist/NavigationMenu/NavigationMenuIndicator.js.map +1 -1
  237. package/dist/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
  238. package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
  239. package/dist/NavigationMenu/NavigationMenuList.cjs.map +1 -1
  240. package/dist/NavigationMenu/NavigationMenuList.js.map +1 -1
  241. package/dist/NavigationMenu/NavigationMenuRoot.cjs.map +1 -1
  242. package/dist/NavigationMenu/NavigationMenuRoot.js.map +1 -1
  243. package/dist/NavigationMenu/NavigationMenuSub.cjs.map +1 -1
  244. package/dist/NavigationMenu/NavigationMenuSub.js.map +1 -1
  245. package/dist/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
  246. package/dist/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
  247. package/dist/NavigationMenu/NavigationMenuViewport.cjs.map +1 -1
  248. package/dist/NavigationMenu/NavigationMenuViewport.js.map +1 -1
  249. package/dist/NumberField/NumberFieldInput.cjs +2 -2
  250. package/dist/NumberField/NumberFieldInput.cjs.map +1 -1
  251. package/dist/NumberField/NumberFieldInput.js +2 -2
  252. package/dist/NumberField/NumberFieldInput.js.map +1 -1
  253. package/dist/NumberField/NumberFieldRoot.cjs +8 -5
  254. package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
  255. package/dist/NumberField/NumberFieldRoot.js +8 -5
  256. package/dist/NumberField/NumberFieldRoot.js.map +1 -1
  257. package/dist/Pagination/PaginationFirst.cjs.map +1 -1
  258. package/dist/Pagination/PaginationFirst.js.map +1 -1
  259. package/dist/Pagination/PaginationLast.cjs.map +1 -1
  260. package/dist/Pagination/PaginationLast.js.map +1 -1
  261. package/dist/Pagination/PaginationList.cjs.map +1 -1
  262. package/dist/Pagination/PaginationList.js.map +1 -1
  263. package/dist/Pagination/PaginationListItem.cjs.map +1 -1
  264. package/dist/Pagination/PaginationListItem.js.map +1 -1
  265. package/dist/Pagination/PaginationNext.cjs.map +1 -1
  266. package/dist/Pagination/PaginationNext.js.map +1 -1
  267. package/dist/Pagination/PaginationPrev.cjs.map +1 -1
  268. package/dist/Pagination/PaginationPrev.js.map +1 -1
  269. package/dist/Pagination/PaginationRoot.cjs.map +1 -1
  270. package/dist/Pagination/PaginationRoot.js.map +1 -1
  271. package/dist/PinInput/PinInputInput.cjs +1 -1
  272. package/dist/PinInput/PinInputInput.cjs.map +1 -1
  273. package/dist/PinInput/PinInputInput.js +1 -1
  274. package/dist/PinInput/PinInputInput.js.map +1 -1
  275. package/dist/PinInput/PinInputRoot.cjs.map +1 -1
  276. package/dist/PinInput/PinInputRoot.js.map +1 -1
  277. package/dist/Popover/PopoverAnchor.cjs.map +1 -1
  278. package/dist/Popover/PopoverAnchor.js.map +1 -1
  279. package/dist/Popover/PopoverContentModal.cjs.map +1 -1
  280. package/dist/Popover/PopoverContentModal.js.map +1 -1
  281. package/dist/Popover/PopoverContentNonModal.cjs.map +1 -1
  282. package/dist/Popover/PopoverContentNonModal.js.map +1 -1
  283. package/dist/Popover/PopoverRoot.cjs +1 -1
  284. package/dist/Popover/PopoverRoot.cjs.map +1 -1
  285. package/dist/Popover/PopoverRoot.js +1 -1
  286. package/dist/Popover/PopoverRoot.js.map +1 -1
  287. package/dist/Popover/PopoverTrigger.cjs.map +1 -1
  288. package/dist/Popover/PopoverTrigger.js.map +1 -1
  289. package/dist/Popper/PopperAnchor.cjs.map +1 -1
  290. package/dist/Popper/PopperAnchor.js.map +1 -1
  291. package/dist/Popper/PopperArrow.cjs.map +1 -1
  292. package/dist/Popper/PopperArrow.js.map +1 -1
  293. package/dist/Popper/PopperContent.cjs.map +1 -1
  294. package/dist/Popper/PopperContent.js.map +1 -1
  295. package/dist/Presence/Presence.cjs.map +1 -1
  296. package/dist/Presence/Presence.js.map +1 -1
  297. package/dist/Presence/usePresence.cjs.map +1 -1
  298. package/dist/Presence/usePresence.js.map +1 -1
  299. package/dist/Primitive/Slot.cjs +1 -9
  300. package/dist/Primitive/Slot.cjs.map +1 -1
  301. package/dist/Primitive/Slot.js +1 -9
  302. package/dist/Primitive/Slot.js.map +1 -1
  303. package/dist/Progress/ProgressRoot.cjs +3 -2
  304. package/dist/Progress/ProgressRoot.cjs.map +1 -1
  305. package/dist/Progress/ProgressRoot.js +3 -2
  306. package/dist/Progress/ProgressRoot.js.map +1 -1
  307. package/dist/RadioGroup/Radio.cjs.map +1 -1
  308. package/dist/RadioGroup/Radio.js.map +1 -1
  309. package/dist/RadioGroup/RadioGroupItem.cjs.map +1 -1
  310. package/dist/RadioGroup/RadioGroupItem.js.map +1 -1
  311. package/dist/RadioGroup/RadioGroupRoot.cjs.map +1 -1
  312. package/dist/RadioGroup/RadioGroupRoot.js.map +1 -1
  313. package/dist/RangeCalendar/RangeCalendarCell.cjs +2 -2
  314. package/dist/RangeCalendar/RangeCalendarCell.cjs.map +1 -1
  315. package/dist/RangeCalendar/RangeCalendarCell.js +2 -2
  316. package/dist/RangeCalendar/RangeCalendarCell.js.map +1 -1
  317. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +28 -9
  318. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
  319. package/dist/RangeCalendar/RangeCalendarCellTrigger.js +28 -9
  320. package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
  321. package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
  322. package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
  323. package/dist/RangeCalendar/RangeCalendarHeading.cjs.map +1 -1
  324. package/dist/RangeCalendar/RangeCalendarHeading.js.map +1 -1
  325. package/dist/RangeCalendar/RangeCalendarNext.cjs.map +1 -1
  326. package/dist/RangeCalendar/RangeCalendarNext.js.map +1 -1
  327. package/dist/RangeCalendar/RangeCalendarPrev.cjs.map +1 -1
  328. package/dist/RangeCalendar/RangeCalendarPrev.js.map +1 -1
  329. package/dist/RangeCalendar/RangeCalendarRoot.cjs +26 -9
  330. package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
  331. package/dist/RangeCalendar/RangeCalendarRoot.js +26 -9
  332. package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
  333. package/dist/RangeCalendar/useRangeCalendar.cjs +21 -4
  334. package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
  335. package/dist/RangeCalendar/useRangeCalendar.js +21 -4
  336. package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
  337. package/dist/RovingFocus/RovingFocusGroup.cjs +1 -1
  338. package/dist/RovingFocus/RovingFocusGroup.cjs.map +1 -1
  339. package/dist/RovingFocus/RovingFocusGroup.js +1 -1
  340. package/dist/RovingFocus/RovingFocusGroup.js.map +1 -1
  341. package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
  342. package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
  343. package/dist/ScrollArea/ScrollAreaCornerImpl.cjs.map +1 -1
  344. package/dist/ScrollArea/ScrollAreaCornerImpl.js.map +1 -1
  345. package/dist/ScrollArea/ScrollAreaRoot.cjs.map +1 -1
  346. package/dist/ScrollArea/ScrollAreaRoot.js.map +1 -1
  347. package/dist/ScrollArea/ScrollAreaScrollbar.cjs.map +1 -1
  348. package/dist/ScrollArea/ScrollAreaScrollbar.js.map +1 -1
  349. package/dist/ScrollArea/ScrollAreaScrollbarAuto.cjs.map +1 -1
  350. package/dist/ScrollArea/ScrollAreaScrollbarAuto.js.map +1 -1
  351. package/dist/ScrollArea/ScrollAreaScrollbarHover.cjs.map +1 -1
  352. package/dist/ScrollArea/ScrollAreaScrollbarHover.js.map +1 -1
  353. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs.map +1 -1
  354. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js.map +1 -1
  355. package/dist/ScrollArea/ScrollAreaScrollbarScroll.cjs.map +1 -1
  356. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js.map +1 -1
  357. package/dist/ScrollArea/ScrollAreaScrollbarX.cjs.map +1 -1
  358. package/dist/ScrollArea/ScrollAreaScrollbarX.js.map +1 -1
  359. package/dist/ScrollArea/ScrollAreaScrollbarY.cjs.map +1 -1
  360. package/dist/ScrollArea/ScrollAreaScrollbarY.js.map +1 -1
  361. package/dist/ScrollArea/ScrollAreaThumb.cjs.map +1 -1
  362. package/dist/ScrollArea/ScrollAreaThumb.js.map +1 -1
  363. package/dist/ScrollArea/ScrollAreaViewport.cjs.map +1 -1
  364. package/dist/ScrollArea/ScrollAreaViewport.js.map +1 -1
  365. package/dist/Select/BubbleSelect.cjs.map +1 -1
  366. package/dist/Select/BubbleSelect.js.map +1 -1
  367. package/dist/Select/SelectContent.cjs.map +1 -1
  368. package/dist/Select/SelectContent.js.map +1 -1
  369. package/dist/Select/SelectContentImpl.cjs +1 -1
  370. package/dist/Select/SelectContentImpl.cjs.map +1 -1
  371. package/dist/Select/SelectContentImpl.js +1 -1
  372. package/dist/Select/SelectContentImpl.js.map +1 -1
  373. package/dist/Select/SelectItem.cjs.map +1 -1
  374. package/dist/Select/SelectItem.js.map +1 -1
  375. package/dist/Select/SelectItemAlignedPosition.cjs +1 -1
  376. package/dist/Select/SelectItemAlignedPosition.cjs.map +1 -1
  377. package/dist/Select/SelectItemAlignedPosition.js +1 -1
  378. package/dist/Select/SelectItemAlignedPosition.js.map +1 -1
  379. package/dist/Select/SelectItemText.cjs.map +1 -1
  380. package/dist/Select/SelectItemText.js.map +1 -1
  381. package/dist/Select/SelectProvider.cjs.map +1 -1
  382. package/dist/Select/SelectProvider.js.map +1 -1
  383. package/dist/Select/SelectRoot.cjs +3 -1
  384. package/dist/Select/SelectRoot.cjs.map +1 -1
  385. package/dist/Select/SelectRoot.js +3 -1
  386. package/dist/Select/SelectRoot.js.map +1 -1
  387. package/dist/Select/SelectScrollButtonImpl.cjs.map +1 -1
  388. package/dist/Select/SelectScrollButtonImpl.js.map +1 -1
  389. package/dist/Select/SelectTrigger.cjs.map +1 -1
  390. package/dist/Select/SelectTrigger.js.map +1 -1
  391. package/dist/Select/SelectValue.cjs.map +1 -1
  392. package/dist/Select/SelectValue.js.map +1 -1
  393. package/dist/Select/SelectViewport.cjs.map +1 -1
  394. package/dist/Select/SelectViewport.js.map +1 -1
  395. package/dist/Slider/SliderHorizontal.cjs +7 -4
  396. package/dist/Slider/SliderHorizontal.cjs.map +1 -1
  397. package/dist/Slider/SliderHorizontal.js +7 -4
  398. package/dist/Slider/SliderHorizontal.js.map +1 -1
  399. package/dist/Slider/SliderRange.cjs +2 -2
  400. package/dist/Slider/SliderRange.cjs.map +1 -1
  401. package/dist/Slider/SliderRange.js +2 -2
  402. package/dist/Slider/SliderRange.js.map +1 -1
  403. package/dist/Slider/SliderRoot.cjs.map +1 -1
  404. package/dist/Slider/SliderRoot.js.map +1 -1
  405. package/dist/Slider/SliderThumb.cjs.map +1 -1
  406. package/dist/Slider/SliderThumb.js.map +1 -1
  407. package/dist/Slider/SliderThumbImpl.cjs +3 -3
  408. package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
  409. package/dist/Slider/SliderThumbImpl.js +3 -3
  410. package/dist/Slider/SliderThumbImpl.js.map +1 -1
  411. package/dist/Slider/SliderVertical.cjs +7 -4
  412. package/dist/Slider/SliderVertical.cjs.map +1 -1
  413. package/dist/Slider/SliderVertical.js +7 -4
  414. package/dist/Slider/SliderVertical.js.map +1 -1
  415. package/dist/Slider/utils.cjs +1 -1
  416. package/dist/Slider/utils.cjs.map +1 -1
  417. package/dist/Slider/utils.js +1 -1
  418. package/dist/Slider/utils.js.map +1 -1
  419. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  420. package/dist/Splitter/SplitterGroup.js.map +1 -1
  421. package/dist/Splitter/SplitterPanel.cjs +16 -10
  422. package/dist/Splitter/SplitterPanel.cjs.map +1 -1
  423. package/dist/Splitter/SplitterPanel.js +16 -10
  424. package/dist/Splitter/SplitterPanel.js.map +1 -1
  425. package/dist/Stepper/StepperIndicator.cjs.map +1 -1
  426. package/dist/Stepper/StepperIndicator.js.map +1 -1
  427. package/dist/Stepper/StepperItem.cjs.map +1 -1
  428. package/dist/Stepper/StepperItem.js.map +1 -1
  429. package/dist/Stepper/StepperRoot.cjs +30 -3
  430. package/dist/Stepper/StepperRoot.cjs.map +1 -1
  431. package/dist/Stepper/StepperRoot.js +30 -3
  432. package/dist/Stepper/StepperRoot.js.map +1 -1
  433. package/dist/Stepper/StepperTrigger.cjs.map +1 -1
  434. package/dist/Stepper/StepperTrigger.js.map +1 -1
  435. package/dist/Switch/SwitchRoot.cjs.map +1 -1
  436. package/dist/Switch/SwitchRoot.js.map +1 -1
  437. package/dist/Tabs/TabsContent.cjs.map +1 -1
  438. package/dist/Tabs/TabsContent.js.map +1 -1
  439. package/dist/Tabs/TabsIndicator.cjs.map +1 -1
  440. package/dist/Tabs/TabsIndicator.js.map +1 -1
  441. package/dist/Tabs/TabsList.cjs.map +1 -1
  442. package/dist/Tabs/TabsList.js.map +1 -1
  443. package/dist/Tabs/TabsRoot.cjs.map +1 -1
  444. package/dist/Tabs/TabsRoot.js.map +1 -1
  445. package/dist/Tabs/TabsTrigger.cjs.map +1 -1
  446. package/dist/Tabs/TabsTrigger.js.map +1 -1
  447. package/dist/TagsInput/TagsInputInput.cjs +1 -0
  448. package/dist/TagsInput/TagsInputInput.cjs.map +1 -1
  449. package/dist/TagsInput/TagsInputInput.js +1 -0
  450. package/dist/TagsInput/TagsInputInput.js.map +1 -1
  451. package/dist/TagsInput/TagsInputItem.cjs.map +1 -1
  452. package/dist/TagsInput/TagsInputItem.js.map +1 -1
  453. package/dist/TagsInput/TagsInputItemDelete.cjs.map +1 -1
  454. package/dist/TagsInput/TagsInputItemDelete.js.map +1 -1
  455. package/dist/TagsInput/TagsInputRoot.cjs +1 -1
  456. package/dist/TagsInput/TagsInputRoot.cjs.map +1 -1
  457. package/dist/TagsInput/TagsInputRoot.js +1 -1
  458. package/dist/TagsInput/TagsInputRoot.js.map +1 -1
  459. package/dist/TimeField/TimeFieldInput.cjs +1 -0
  460. package/dist/TimeField/TimeFieldInput.cjs.map +1 -1
  461. package/dist/TimeField/TimeFieldInput.js +1 -0
  462. package/dist/TimeField/TimeFieldInput.js.map +1 -1
  463. package/dist/TimeField/TimeFieldRoot.cjs +13 -4
  464. package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
  465. package/dist/TimeField/TimeFieldRoot.js +13 -4
  466. package/dist/TimeField/TimeFieldRoot.js.map +1 -1
  467. package/dist/Toast/ToastAnnounce.cjs.map +1 -1
  468. package/dist/Toast/ToastAnnounce.js.map +1 -1
  469. package/dist/Toast/ToastRoot.cjs.map +1 -1
  470. package/dist/Toast/ToastRoot.js.map +1 -1
  471. package/dist/Toast/ToastRootImpl.cjs +1 -1
  472. package/dist/Toast/ToastRootImpl.cjs.map +1 -1
  473. package/dist/Toast/ToastRootImpl.js +1 -1
  474. package/dist/Toast/ToastRootImpl.js.map +1 -1
  475. package/dist/Toast/ToastViewport.cjs +1 -1
  476. package/dist/Toast/ToastViewport.cjs.map +1 -1
  477. package/dist/Toast/ToastViewport.js +1 -1
  478. package/dist/Toast/ToastViewport.js.map +1 -1
  479. package/dist/Toggle/Toggle.cjs.map +1 -1
  480. package/dist/Toggle/Toggle.js.map +1 -1
  481. package/dist/ToggleGroup/ToggleGroupItem.cjs.map +1 -1
  482. package/dist/ToggleGroup/ToggleGroupItem.js.map +1 -1
  483. package/dist/ToggleGroup/ToggleGroupRoot.cjs.map +1 -1
  484. package/dist/ToggleGroup/ToggleGroupRoot.js.map +1 -1
  485. package/dist/Toolbar/ToolbarRoot.cjs.map +1 -1
  486. package/dist/Toolbar/ToolbarRoot.js.map +1 -1
  487. package/dist/Tooltip/TooltipContentImpl.cjs +1 -1
  488. package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
  489. package/dist/Tooltip/TooltipContentImpl.js +1 -1
  490. package/dist/Tooltip/TooltipContentImpl.js.map +1 -1
  491. package/dist/Tooltip/TooltipRoot.cjs +1 -1
  492. package/dist/Tooltip/TooltipRoot.cjs.map +1 -1
  493. package/dist/Tooltip/TooltipRoot.js +1 -1
  494. package/dist/Tooltip/TooltipRoot.js.map +1 -1
  495. package/dist/Tooltip/TooltipTrigger.cjs +1 -1
  496. package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
  497. package/dist/Tooltip/TooltipTrigger.js +1 -1
  498. package/dist/Tooltip/TooltipTrigger.js.map +1 -1
  499. package/dist/Tree/TreeItem.cjs +4 -1
  500. package/dist/Tree/TreeItem.cjs.map +1 -1
  501. package/dist/Tree/TreeItem.js +4 -1
  502. package/dist/Tree/TreeItem.js.map +1 -1
  503. package/dist/Tree/TreeRoot.cjs +29 -3
  504. package/dist/Tree/TreeRoot.cjs.map +1 -1
  505. package/dist/Tree/TreeRoot.js +29 -3
  506. package/dist/Tree/TreeRoot.js.map +1 -1
  507. package/dist/Tree/TreeVirtualizer.cjs +2 -2
  508. package/dist/Tree/TreeVirtualizer.cjs.map +1 -1
  509. package/dist/Tree/TreeVirtualizer.js +2 -2
  510. package/dist/Tree/TreeVirtualizer.js.map +1 -1
  511. package/dist/Viewport/Viewport.cjs.map +1 -1
  512. package/dist/Viewport/Viewport.js.map +1 -1
  513. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.cjs.map +1 -1
  514. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js.map +1 -1
  515. package/dist/component/BaseSeparator.cjs.map +1 -1
  516. package/dist/component/BaseSeparator.js.map +1 -1
  517. package/dist/date/calendar.cjs.map +1 -1
  518. package/dist/date/calendar.js.map +1 -1
  519. package/dist/date/parser.cjs +22 -7
  520. package/dist/date/parser.cjs.map +1 -1
  521. package/dist/date/parser.js +23 -8
  522. package/dist/date/parser.js.map +1 -1
  523. package/dist/date/useDateField.cjs +21 -6
  524. package/dist/date/useDateField.cjs.map +1 -1
  525. package/dist/date/useDateField.js +21 -6
  526. package/dist/date/useDateField.js.map +1 -1
  527. package/dist/date/utils.cjs +31 -2
  528. package/dist/date/utils.cjs.map +1 -1
  529. package/dist/date/utils.js +30 -3
  530. package/dist/date/utils.js.map +1 -1
  531. package/dist/index.d.ts +492 -351
  532. package/dist/shared/useBodyScrollLock.cjs +2 -2
  533. package/dist/shared/useBodyScrollLock.cjs.map +1 -1
  534. package/dist/shared/useBodyScrollLock.js +2 -2
  535. package/dist/shared/useBodyScrollLock.js.map +1 -1
  536. package/dist/shared/useDateFormatter.cjs +12 -10
  537. package/dist/shared/useDateFormatter.cjs.map +1 -1
  538. package/dist/shared/useDateFormatter.js +12 -10
  539. package/dist/shared/useDateFormatter.js.map +1 -1
  540. package/dist/shared/useDirection.cjs.map +1 -1
  541. package/dist/shared/useDirection.js.map +1 -1
  542. package/dist/shared/useForwardProps.cjs +4 -2
  543. package/dist/shared/useForwardProps.cjs.map +1 -1
  544. package/dist/shared/useForwardProps.js +5 -3
  545. package/dist/shared/useForwardProps.js.map +1 -1
  546. package/dist/shared/useGraceArea.cjs.map +1 -1
  547. package/dist/shared/useGraceArea.js.map +1 -1
  548. package/dist/shared/useId.cjs +2 -2
  549. package/dist/shared/useId.cjs.map +1 -1
  550. package/dist/shared/useId.js +2 -2
  551. package/dist/shared/useId.js.map +1 -1
  552. package/dist/shared/useLocale.cjs.map +1 -1
  553. package/dist/shared/useLocale.js.map +1 -1
  554. package/dist/shared/useNonce.cjs.map +1 -1
  555. package/dist/shared/useNonce.js.map +1 -1
  556. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerContent.js","sources":["../../src/DatePicker/DatePickerContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopoverContentEmits, PopoverContentProps } from '..'\nimport { PopoverContent, PopoverPortal, useForwardPropsEmits } from '..'\n\nexport interface DatePickerContentProps extends PopoverContentProps {}\nexport interface DatePickerContentEmits extends PopoverContentEmits {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerContentProps>()\nconst emits = defineEmits<DatePickerContentEmits>()\n\nconst forwarded = useForwardPropsEmits(props, emits)\n</script>\n\n<template>\n <PopoverPortal>\n <PopoverContent\n v-bind=\"{ ...forwarded, ...$attrs }\"\n >\n <slot />\n </PopoverContent>\n </PopoverPortal>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,SAAA,GAAY,oBAAqB,CAAA,KAAA,EAAO,KAAK,CAAA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerContent.js","sources":["../../src/DatePicker/DatePickerContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopoverContentEmits, PopoverContentProps, PopoverPortalProps } from '..'\nimport { computed } from 'vue'\nimport { PopoverContent, PopoverPortal, useForwardPropsEmits } from '..'\n\nexport interface DatePickerContentProps extends PopoverContentProps {\n /**\n * Props to control the portal wrapped around the content.\n */\n portal?: PopoverPortalProps\n}\nexport interface DatePickerContentEmits extends PopoverContentEmits {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerContentProps>()\nconst emits = defineEmits<DatePickerContentEmits>()\n\nconst propsToForward = computed(() => ({\n ...props,\n portal: undefined,\n}))\nconst forwarded = useForwardPropsEmits(propsToForward, emits)\n</script>\n\n<template>\n <PopoverPortal v-bind=\"portal\">\n <PopoverContent\n v-bind=\"{ ...forwarded, ...$attrs }\"\n >\n <slot />\n </PopoverContent>\n </PopoverPortal>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,cAAA,GAAiB,SAAS,OAAO;AAAA,MACrC,GAAG,KAAA;AAAA,MACH,MAAQ,EAAA;AAAA,KACR,CAAA,CAAA;AACF,IAAM,MAAA,SAAA,GAAY,oBAAqB,CAAA,cAAA,EAAgB,KAAK,CAAA;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerHeading.cjs","sources":["../../src/DatePicker/DatePickerHeading.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarHeadingProps } from '..'\nimport { CalendarHeading } from '..'\n\nexport interface DatePickerHeadingProps extends CalendarHeadingProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerHeadingProps>()\ndefineSlots<{\n default: (props: {\n /** Current month and year */\n headingValue: string\n }) => any\n}>()\n</script>\n\n<template>\n <CalendarHeading\n v-slot=\"{ headingValue }\"\n v-bind=\"props\"\n >\n <slot :heading-value=\"headingValue\">\n {{ headingValue }}\n </slot>\n </CalendarHeading>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerHeading.cjs","sources":["../../src/DatePicker/DatePickerHeading.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarHeadingProps } from '..'\nimport { CalendarHeading } from '..'\n\nexport interface DatePickerHeadingProps extends CalendarHeadingProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerHeadingProps>()\ndefineSlots<{\n default?: (props: {\n /** Current month and year */\n headingValue: string\n }) => any\n}>()\n</script>\n\n<template>\n <CalendarHeading\n v-slot=\"{ headingValue }\"\n v-bind=\"props\"\n >\n <slot :heading-value=\"headingValue\">\n {{ headingValue }}\n </slot>\n </CalendarHeading>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerHeading.js","sources":["../../src/DatePicker/DatePickerHeading.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarHeadingProps } from '..'\nimport { CalendarHeading } from '..'\n\nexport interface DatePickerHeadingProps extends CalendarHeadingProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerHeadingProps>()\ndefineSlots<{\n default: (props: {\n /** Current month and year */\n headingValue: string\n }) => any\n}>()\n</script>\n\n<template>\n <CalendarHeading\n v-slot=\"{ headingValue }\"\n v-bind=\"props\"\n >\n <slot :heading-value=\"headingValue\">\n {{ headingValue }}\n </slot>\n </CalendarHeading>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerHeading.js","sources":["../../src/DatePicker/DatePickerHeading.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarHeadingProps } from '..'\nimport { CalendarHeading } from '..'\n\nexport interface DatePickerHeadingProps extends CalendarHeadingProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerHeadingProps>()\ndefineSlots<{\n default?: (props: {\n /** Current month and year */\n headingValue: string\n }) => any\n}>()\n</script>\n\n<template>\n <CalendarHeading\n v-slot=\"{ headingValue }\"\n v-bind=\"props\"\n >\n <slot :heading-value=\"headingValue\">\n {{ headingValue }}\n </slot>\n </CalendarHeading>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerNext.cjs","sources":["../../src/DatePicker/DatePickerNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarNextSlot } from '@/Calendar/CalendarNext.vue'\nimport type { CalendarNextProps } from '..'\nimport { CalendarNext } from '..'\n\nexport interface DatePickerNextProps extends CalendarNextProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerNextProps>()\n\ndefineSlots<CalendarNextSlot>()\n</script>\n\n<template>\n <CalendarNext\n v-slot=\"slotProps\"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </CalendarNext>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerNext.cjs","sources":["../../src/DatePicker/DatePickerNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarNextProps } from '..'\nimport type { CalendarNextSlot } from '@/Calendar/CalendarNext.vue'\nimport { CalendarNext } from '..'\n\nexport interface DatePickerNextProps extends CalendarNextProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerNextProps>()\n\ndefineSlots<CalendarNextSlot>()\n</script>\n\n<template>\n <CalendarNext\n v-slot=\"slotProps\"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </CalendarNext>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerNext.js","sources":["../../src/DatePicker/DatePickerNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarNextSlot } from '@/Calendar/CalendarNext.vue'\nimport type { CalendarNextProps } from '..'\nimport { CalendarNext } from '..'\n\nexport interface DatePickerNextProps extends CalendarNextProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerNextProps>()\n\ndefineSlots<CalendarNextSlot>()\n</script>\n\n<template>\n <CalendarNext\n v-slot=\"slotProps\"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </CalendarNext>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerNext.js","sources":["../../src/DatePicker/DatePickerNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarNextProps } from '..'\nimport type { CalendarNextSlot } from '@/Calendar/CalendarNext.vue'\nimport { CalendarNext } from '..'\n\nexport interface DatePickerNextProps extends CalendarNextProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerNextProps>()\n\ndefineSlots<CalendarNextSlot>()\n</script>\n\n<template>\n <CalendarNext\n v-slot=\"slotProps\"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </CalendarNext>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerPrev.cjs","sources":["../../src/DatePicker/DatePickerPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarPrevSlot } from '@/Calendar/CalendarPrev.vue'\nimport type { CalendarPrevProps } from '..'\nimport { CalendarPrev } from '..'\n\nexport interface DatePickerPrevProps extends CalendarPrevProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerPrevProps>()\ndefineSlots<CalendarPrevSlot>()\n</script>\n\n<template>\n <CalendarPrev\n v-slot=\"slotProps\"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </CalendarPrev>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerPrev.cjs","sources":["../../src/DatePicker/DatePickerPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarPrevProps } from '..'\nimport type { CalendarPrevSlot } from '@/Calendar/CalendarPrev.vue'\nimport { CalendarPrev } from '..'\n\nexport interface DatePickerPrevProps extends CalendarPrevProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerPrevProps>()\ndefineSlots<CalendarPrevSlot>()\n</script>\n\n<template>\n <CalendarPrev\n v-slot=\"slotProps\"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </CalendarPrev>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerPrev.js","sources":["../../src/DatePicker/DatePickerPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarPrevSlot } from '@/Calendar/CalendarPrev.vue'\nimport type { CalendarPrevProps } from '..'\nimport { CalendarPrev } from '..'\n\nexport interface DatePickerPrevProps extends CalendarPrevProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerPrevProps>()\ndefineSlots<CalendarPrevSlot>()\n</script>\n\n<template>\n <CalendarPrev\n v-slot=\"slotProps\"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </CalendarPrev>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerPrev.js","sources":["../../src/DatePicker/DatePickerPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarPrevProps } from '..'\nimport type { CalendarPrevSlot } from '@/Calendar/CalendarPrev.vue'\nimport { CalendarPrev } from '..'\n\nexport interface DatePickerPrevProps extends CalendarPrevProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerPrevProps>()\ndefineSlots<CalendarPrevSlot>()\n</script>\n\n<template>\n <CalendarPrev\n v-slot=\"slotProps\"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </CalendarPrev>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
@@ -20,6 +20,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
20
  placeholder: { default: void 0 },
21
21
  modelValue: {},
22
22
  hourCycle: {},
23
+ step: {},
23
24
  granularity: {},
24
25
  hideTimeZone: { type: Boolean },
25
26
  maxValue: {},
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerRoot.cjs","sources":["../../src/DatePicker/DatePickerRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Matcher, WeekDayFormat } from '@/date'\n\nimport type { Granularity, HourCycle } from '@/shared/date'\nimport type { Direction } from '@/shared/types'\nimport type { DateValue } from '@internationalized/date'\nimport type { Ref } from 'vue'\nimport type { CalendarRootProps, DateFieldRoot, DateFieldRootProps, PopoverRootEmits, PopoverRootProps } from '..'\nimport { createContext, useDirection } from '@/shared'\nimport { getDefaultDate } from '@/shared/date'\nimport { computed, ref, toRefs, watch } from 'vue'\nimport { PopoverRoot } from '..'\n\ntype DatePickerRootContext = {\n id: Ref<string | undefined>\n name: Ref<string | undefined>\n minValue: Ref<DateValue | undefined>\n maxValue: Ref<DateValue | undefined>\n hourCycle: Ref<HourCycle | undefined>\n granularity: Ref<Granularity | undefined>\n hideTimeZone: Ref<boolean>\n required: Ref<boolean>\n locale: Ref<string>\n dateFieldRef: Ref<InstanceType<typeof DateFieldRoot> | undefined>\n modelValue: Ref<DateValue | undefined>\n placeholder: Ref<DateValue>\n pagedNavigation: Ref<boolean>\n preventDeselect: Ref<boolean>\n weekStartsOn: Ref<0 | 1 | 2 | 3 | 4 | 5 | 6>\n weekdayFormat: Ref<WeekDayFormat>\n fixedWeeks: Ref<boolean>\n numberOfMonths: Ref<number>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n isDateDisabled?: Matcher\n isDateUnavailable?: Matcher\n defaultOpen: Ref<boolean>\n open: Ref<boolean>\n modal: Ref<boolean>\n onDateChange: (date: DateValue | undefined) => void\n onPlaceholderChange: (date: DateValue) => void\n dir: Ref<Direction>\n}\n\nexport type DatePickerRootProps = DateFieldRootProps & PopoverRootProps & Pick<CalendarRootProps, 'isDateDisabled' | 'pagedNavigation' | 'weekStartsOn' | 'weekdayFormat' | 'fixedWeeks' | 'numberOfMonths' | 'preventDeselect'>\n\nexport type DatePickerRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [date: DateValue | undefined]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n}\n\nexport const [injectDatePickerRootContext, provideDatePickerRootContext]\n = createContext<DatePickerRootContext>('DatePickerRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst props = withDefaults(defineProps<DatePickerRootProps>(), {\n defaultValue: undefined,\n defaultOpen: false,\n open: undefined,\n modal: false,\n pagedNavigation: false,\n preventDeselect: false,\n weekStartsOn: 0,\n weekdayFormat: 'narrow',\n fixedWeeks: false,\n numberOfMonths: 1,\n disabled: false,\n readonly: false,\n initialFocus: false,\n placeholder: undefined,\n locale: 'en',\n isDateDisabled: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DatePickerRootEmits & PopoverRootEmits>()\nconst {\n locale,\n disabled,\n readonly,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n numberOfMonths,\n preventDeselect,\n isDateDisabled: propsIsDateDisabled,\n isDateUnavailable: propsIsDateUnavailable,\n defaultOpen,\n modal,\n id,\n name,\n required,\n minValue,\n maxValue,\n granularity,\n hideTimeZone,\n hourCycle,\n defaultValue,\n dir: propDir,\n} = toRefs(props)\n\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: defaultValue.value,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateValue | undefined>\n\nconst defaultDate = computed(() => getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: props.granularity,\n defaultValue: modelValue.value,\n locale: props.locale,\n}))\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.value.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst open = useVModel(props, 'open', emits, {\n defaultValue: defaultOpen.value,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nconst dateFieldRef = ref<InstanceType<typeof DateFieldRoot> | undefined>()\n\nwatch(modelValue, (value) => {\n if (value && value.compare(placeholder.value) !== 0) {\n placeholder.value = value.copy()\n }\n})\n\nprovideDatePickerRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n isDateDisabled: propsIsDateDisabled.value,\n locale,\n disabled,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n numberOfMonths,\n readonly,\n preventDeselect,\n modelValue,\n placeholder,\n defaultOpen,\n modal,\n open,\n id,\n name,\n required,\n minValue,\n maxValue,\n granularity,\n hideTimeZone,\n hourCycle,\n dateFieldRef,\n dir,\n onDateChange(date: DateValue | undefined) {\n if (!date || !modelValue.value) {\n modelValue.value = date?.copy() ?? undefined\n }\n else if (!preventDeselect.value && date && modelValue.value.compare(date) === 0) {\n modelValue.value = undefined\n }\n else {\n modelValue.value = date.copy()\n }\n },\n onPlaceholderChange(date: DateValue) {\n placeholder.value = date.copy()\n },\n})\n</script>\n\n<template>\n <PopoverRoot\n v-model:open=\"open\"\n :default-open=\"defaultOpen\"\n :modal=\"modal\"\n >\n <slot />\n </PopoverRoot>\n</template>\n"],"names":["createContext","toRefs","useDirection","useVModel","computed","getDefaultDate","ref","watch"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerRoot.cjs","sources":["../../src/DatePicker/DatePickerRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\n\nimport type { Ref } from 'vue'\nimport type { CalendarRootProps, DateFieldRoot, DateFieldRootProps, PopoverRootEmits, PopoverRootProps } from '..'\nimport type { Matcher, WeekDayFormat } from '@/date'\nimport type { Granularity, HourCycle } from '@/shared/date'\nimport type { Direction } from '@/shared/types'\nimport { computed, ref, toRefs, watch } from 'vue'\nimport { createContext, useDirection } from '@/shared'\nimport { getDefaultDate } from '@/shared/date'\nimport { PopoverRoot } from '..'\n\ntype DatePickerRootContext = {\n id: Ref<string | undefined>\n name: Ref<string | undefined>\n minValue: Ref<DateValue | undefined>\n maxValue: Ref<DateValue | undefined>\n hourCycle: Ref<HourCycle | undefined>\n granularity: Ref<Granularity | undefined>\n hideTimeZone: Ref<boolean>\n required: Ref<boolean>\n locale: Ref<string>\n dateFieldRef: Ref<InstanceType<typeof DateFieldRoot> | undefined>\n modelValue: Ref<DateValue | undefined>\n placeholder: Ref<DateValue>\n pagedNavigation: Ref<boolean>\n preventDeselect: Ref<boolean>\n weekStartsOn: Ref<0 | 1 | 2 | 3 | 4 | 5 | 6>\n weekdayFormat: Ref<WeekDayFormat>\n fixedWeeks: Ref<boolean>\n numberOfMonths: Ref<number>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n isDateDisabled?: Matcher\n isDateUnavailable?: Matcher\n defaultOpen: Ref<boolean>\n open: Ref<boolean>\n modal: Ref<boolean>\n onDateChange: (date: DateValue | undefined) => void\n onPlaceholderChange: (date: DateValue) => void\n dir: Ref<Direction>\n}\n\nexport type DatePickerRootProps = DateFieldRootProps & PopoverRootProps & Pick<CalendarRootProps, 'isDateDisabled' | 'pagedNavigation' | 'weekStartsOn' | 'weekdayFormat' | 'fixedWeeks' | 'numberOfMonths' | 'preventDeselect'>\n\nexport type DatePickerRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [date: DateValue | undefined]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n}\n\nexport const [injectDatePickerRootContext, provideDatePickerRootContext]\n = createContext<DatePickerRootContext>('DatePickerRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst props = withDefaults(defineProps<DatePickerRootProps>(), {\n defaultValue: undefined,\n defaultOpen: false,\n open: undefined,\n modal: false,\n pagedNavigation: false,\n preventDeselect: false,\n weekStartsOn: 0,\n weekdayFormat: 'narrow',\n fixedWeeks: false,\n numberOfMonths: 1,\n disabled: false,\n readonly: false,\n initialFocus: false,\n placeholder: undefined,\n locale: 'en',\n isDateDisabled: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DatePickerRootEmits & PopoverRootEmits>()\nconst {\n locale,\n disabled,\n readonly,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n numberOfMonths,\n preventDeselect,\n isDateDisabled: propsIsDateDisabled,\n isDateUnavailable: propsIsDateUnavailable,\n defaultOpen,\n modal,\n id,\n name,\n required,\n minValue,\n maxValue,\n granularity,\n hideTimeZone,\n hourCycle,\n defaultValue,\n dir: propDir,\n} = toRefs(props)\n\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: defaultValue.value,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateValue | undefined>\n\nconst defaultDate = computed(() => getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: props.granularity,\n defaultValue: modelValue.value,\n locale: props.locale,\n}))\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.value.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst open = useVModel(props, 'open', emits, {\n defaultValue: defaultOpen.value,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nconst dateFieldRef = ref<InstanceType<typeof DateFieldRoot> | undefined>()\n\nwatch(modelValue, (value) => {\n if (value && value.compare(placeholder.value) !== 0) {\n placeholder.value = value.copy()\n }\n})\n\nprovideDatePickerRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n isDateDisabled: propsIsDateDisabled.value,\n locale,\n disabled,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n numberOfMonths,\n readonly,\n preventDeselect,\n modelValue,\n placeholder,\n defaultOpen,\n modal,\n open,\n id,\n name,\n required,\n minValue,\n maxValue,\n granularity,\n hideTimeZone,\n hourCycle,\n dateFieldRef,\n dir,\n onDateChange(date: DateValue | undefined) {\n if (!date || !modelValue.value) {\n modelValue.value = date?.copy() ?? undefined\n }\n else if (!preventDeselect.value && date && modelValue.value.compare(date) === 0) {\n modelValue.value = undefined\n }\n else {\n modelValue.value = date.copy()\n }\n },\n onPlaceholderChange(date: DateValue) {\n placeholder.value = date.copy()\n },\n})\n</script>\n\n<template>\n <PopoverRoot\n v-model:open=\"open\"\n :default-open=\"defaultOpen\"\n :modal=\"modal\"\n >\n <slot />\n </PopoverRoot>\n</template>\n"],"names":["createContext","toRefs","useDirection","useVModel","computed","getDefaultDate","ref","watch"],"mappings":"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"}
@@ -18,6 +18,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
18
18
  placeholder: { default: void 0 },
19
19
  modelValue: {},
20
20
  hourCycle: {},
21
+ step: {},
21
22
  granularity: {},
22
23
  hideTimeZone: { type: Boolean },
23
24
  maxValue: {},
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerRoot.js","sources":["../../src/DatePicker/DatePickerRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Matcher, WeekDayFormat } from '@/date'\n\nimport type { Granularity, HourCycle } from '@/shared/date'\nimport type { Direction } from '@/shared/types'\nimport type { DateValue } from '@internationalized/date'\nimport type { Ref } from 'vue'\nimport type { CalendarRootProps, DateFieldRoot, DateFieldRootProps, PopoverRootEmits, PopoverRootProps } from '..'\nimport { createContext, useDirection } from '@/shared'\nimport { getDefaultDate } from '@/shared/date'\nimport { computed, ref, toRefs, watch } from 'vue'\nimport { PopoverRoot } from '..'\n\ntype DatePickerRootContext = {\n id: Ref<string | undefined>\n name: Ref<string | undefined>\n minValue: Ref<DateValue | undefined>\n maxValue: Ref<DateValue | undefined>\n hourCycle: Ref<HourCycle | undefined>\n granularity: Ref<Granularity | undefined>\n hideTimeZone: Ref<boolean>\n required: Ref<boolean>\n locale: Ref<string>\n dateFieldRef: Ref<InstanceType<typeof DateFieldRoot> | undefined>\n modelValue: Ref<DateValue | undefined>\n placeholder: Ref<DateValue>\n pagedNavigation: Ref<boolean>\n preventDeselect: Ref<boolean>\n weekStartsOn: Ref<0 | 1 | 2 | 3 | 4 | 5 | 6>\n weekdayFormat: Ref<WeekDayFormat>\n fixedWeeks: Ref<boolean>\n numberOfMonths: Ref<number>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n isDateDisabled?: Matcher\n isDateUnavailable?: Matcher\n defaultOpen: Ref<boolean>\n open: Ref<boolean>\n modal: Ref<boolean>\n onDateChange: (date: DateValue | undefined) => void\n onPlaceholderChange: (date: DateValue) => void\n dir: Ref<Direction>\n}\n\nexport type DatePickerRootProps = DateFieldRootProps & PopoverRootProps & Pick<CalendarRootProps, 'isDateDisabled' | 'pagedNavigation' | 'weekStartsOn' | 'weekdayFormat' | 'fixedWeeks' | 'numberOfMonths' | 'preventDeselect'>\n\nexport type DatePickerRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [date: DateValue | undefined]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n}\n\nexport const [injectDatePickerRootContext, provideDatePickerRootContext]\n = createContext<DatePickerRootContext>('DatePickerRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst props = withDefaults(defineProps<DatePickerRootProps>(), {\n defaultValue: undefined,\n defaultOpen: false,\n open: undefined,\n modal: false,\n pagedNavigation: false,\n preventDeselect: false,\n weekStartsOn: 0,\n weekdayFormat: 'narrow',\n fixedWeeks: false,\n numberOfMonths: 1,\n disabled: false,\n readonly: false,\n initialFocus: false,\n placeholder: undefined,\n locale: 'en',\n isDateDisabled: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DatePickerRootEmits & PopoverRootEmits>()\nconst {\n locale,\n disabled,\n readonly,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n numberOfMonths,\n preventDeselect,\n isDateDisabled: propsIsDateDisabled,\n isDateUnavailable: propsIsDateUnavailable,\n defaultOpen,\n modal,\n id,\n name,\n required,\n minValue,\n maxValue,\n granularity,\n hideTimeZone,\n hourCycle,\n defaultValue,\n dir: propDir,\n} = toRefs(props)\n\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: defaultValue.value,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateValue | undefined>\n\nconst defaultDate = computed(() => getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: props.granularity,\n defaultValue: modelValue.value,\n locale: props.locale,\n}))\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.value.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst open = useVModel(props, 'open', emits, {\n defaultValue: defaultOpen.value,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nconst dateFieldRef = ref<InstanceType<typeof DateFieldRoot> | undefined>()\n\nwatch(modelValue, (value) => {\n if (value && value.compare(placeholder.value) !== 0) {\n placeholder.value = value.copy()\n }\n})\n\nprovideDatePickerRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n isDateDisabled: propsIsDateDisabled.value,\n locale,\n disabled,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n numberOfMonths,\n readonly,\n preventDeselect,\n modelValue,\n placeholder,\n defaultOpen,\n modal,\n open,\n id,\n name,\n required,\n minValue,\n maxValue,\n granularity,\n hideTimeZone,\n hourCycle,\n dateFieldRef,\n dir,\n onDateChange(date: DateValue | undefined) {\n if (!date || !modelValue.value) {\n modelValue.value = date?.copy() ?? undefined\n }\n else if (!preventDeselect.value && date && modelValue.value.compare(date) === 0) {\n modelValue.value = undefined\n }\n else {\n modelValue.value = date.copy()\n }\n },\n onPlaceholderChange(date: DateValue) {\n placeholder.value = date.copy()\n },\n})\n</script>\n\n<template>\n <PopoverRoot\n v-model:open=\"open\"\n :default-open=\"defaultOpen\"\n :modal=\"modal\"\n >\n <slot />\n </PopoverRoot>\n</template>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerRoot.js","sources":["../../src/DatePicker/DatePickerRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\n\nimport type { Ref } from 'vue'\nimport type { CalendarRootProps, DateFieldRoot, DateFieldRootProps, PopoverRootEmits, PopoverRootProps } from '..'\nimport type { Matcher, WeekDayFormat } from '@/date'\nimport type { Granularity, HourCycle } from '@/shared/date'\nimport type { Direction } from '@/shared/types'\nimport { computed, ref, toRefs, watch } from 'vue'\nimport { createContext, useDirection } from '@/shared'\nimport { getDefaultDate } from '@/shared/date'\nimport { PopoverRoot } from '..'\n\ntype DatePickerRootContext = {\n id: Ref<string | undefined>\n name: Ref<string | undefined>\n minValue: Ref<DateValue | undefined>\n maxValue: Ref<DateValue | undefined>\n hourCycle: Ref<HourCycle | undefined>\n granularity: Ref<Granularity | undefined>\n hideTimeZone: Ref<boolean>\n required: Ref<boolean>\n locale: Ref<string>\n dateFieldRef: Ref<InstanceType<typeof DateFieldRoot> | undefined>\n modelValue: Ref<DateValue | undefined>\n placeholder: Ref<DateValue>\n pagedNavigation: Ref<boolean>\n preventDeselect: Ref<boolean>\n weekStartsOn: Ref<0 | 1 | 2 | 3 | 4 | 5 | 6>\n weekdayFormat: Ref<WeekDayFormat>\n fixedWeeks: Ref<boolean>\n numberOfMonths: Ref<number>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n isDateDisabled?: Matcher\n isDateUnavailable?: Matcher\n defaultOpen: Ref<boolean>\n open: Ref<boolean>\n modal: Ref<boolean>\n onDateChange: (date: DateValue | undefined) => void\n onPlaceholderChange: (date: DateValue) => void\n dir: Ref<Direction>\n}\n\nexport type DatePickerRootProps = DateFieldRootProps & PopoverRootProps & Pick<CalendarRootProps, 'isDateDisabled' | 'pagedNavigation' | 'weekStartsOn' | 'weekdayFormat' | 'fixedWeeks' | 'numberOfMonths' | 'preventDeselect'>\n\nexport type DatePickerRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [date: DateValue | undefined]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n}\n\nexport const [injectDatePickerRootContext, provideDatePickerRootContext]\n = createContext<DatePickerRootContext>('DatePickerRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst props = withDefaults(defineProps<DatePickerRootProps>(), {\n defaultValue: undefined,\n defaultOpen: false,\n open: undefined,\n modal: false,\n pagedNavigation: false,\n preventDeselect: false,\n weekStartsOn: 0,\n weekdayFormat: 'narrow',\n fixedWeeks: false,\n numberOfMonths: 1,\n disabled: false,\n readonly: false,\n initialFocus: false,\n placeholder: undefined,\n locale: 'en',\n isDateDisabled: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DatePickerRootEmits & PopoverRootEmits>()\nconst {\n locale,\n disabled,\n readonly,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n numberOfMonths,\n preventDeselect,\n isDateDisabled: propsIsDateDisabled,\n isDateUnavailable: propsIsDateUnavailable,\n defaultOpen,\n modal,\n id,\n name,\n required,\n minValue,\n maxValue,\n granularity,\n hideTimeZone,\n hourCycle,\n defaultValue,\n dir: propDir,\n} = toRefs(props)\n\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: defaultValue.value,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateValue | undefined>\n\nconst defaultDate = computed(() => getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: props.granularity,\n defaultValue: modelValue.value,\n locale: props.locale,\n}))\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.value.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst open = useVModel(props, 'open', emits, {\n defaultValue: defaultOpen.value,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nconst dateFieldRef = ref<InstanceType<typeof DateFieldRoot> | undefined>()\n\nwatch(modelValue, (value) => {\n if (value && value.compare(placeholder.value) !== 0) {\n placeholder.value = value.copy()\n }\n})\n\nprovideDatePickerRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n isDateDisabled: propsIsDateDisabled.value,\n locale,\n disabled,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n numberOfMonths,\n readonly,\n preventDeselect,\n modelValue,\n placeholder,\n defaultOpen,\n modal,\n open,\n id,\n name,\n required,\n minValue,\n maxValue,\n granularity,\n hideTimeZone,\n hourCycle,\n dateFieldRef,\n dir,\n onDateChange(date: DateValue | undefined) {\n if (!date || !modelValue.value) {\n modelValue.value = date?.copy() ?? undefined\n }\n else if (!preventDeselect.value && date && modelValue.value.compare(date) === 0) {\n modelValue.value = undefined\n }\n else {\n modelValue.value = date.copy()\n }\n },\n onPlaceholderChange(date: DateValue) {\n placeholder.value = date.copy()\n },\n})\n</script>\n\n<template>\n <PopoverRoot\n v-model:open=\"open\"\n :default-open=\"defaultOpen\"\n :modal=\"modal\"\n >\n <slot />\n </PopoverRoot>\n</template>\n"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
27
27
  lastKeyZero,
28
28
  placeholder: rootContext.placeholder,
29
29
  hourCycle: rootContext.hourCycle,
30
+ step: rootContext.step,
30
31
  segmentValues: rootContext.segmentValues[props.type],
31
32
  formatter: rootContext.formatter,
32
33
  part: props.part,
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeFieldInput.cjs","sources":["../../src/DateRangeField/DateRangeFieldInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { SegmentPart } from '@/shared/date'\nimport type { DateRangeType } from './DateRangeFieldRoot.vue'\nimport { Primitive } from '@/Primitive'\nimport { useDateField } from '@/shared/date/useDateField'\nimport { computed, ref } from 'vue'\nimport { injectDateRangeFieldRootContext } from './DateRangeFieldRoot.vue'\n\nexport interface DateRangeFieldInputProps extends PrimitiveProps {\n /** The part of the date to render */\n part: SegmentPart\n /** The type of field to render (start or end) */\n type: DateRangeType\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangeFieldInputProps>()\n\nconst rootContext = injectDateRangeFieldRootContext()\n\nconst hasLeftFocus = ref(true)\nconst lastKeyZero = ref(false)\n\nconst {\n handleSegmentClick,\n handleSegmentKeydown,\n attributes,\n} = useDateField({\n hasLeftFocus,\n lastKeyZero,\n placeholder: rootContext.placeholder,\n hourCycle: rootContext.hourCycle,\n segmentValues: rootContext.segmentValues[props.type],\n formatter: rootContext.formatter,\n part: props.part,\n disabled: rootContext.disabled,\n readonly: rootContext.readonly,\n focusNext: rootContext.focusNext,\n modelValue: props.type === 'start' ? rootContext.startValue : rootContext.endValue,\n})\n\nconst disabled = computed(() => rootContext.disabled.value)\nconst readonly = computed(() => rootContext.readonly.value)\nconst isInvalid = computed(() => rootContext.isInvalid.value)\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"asChild\"\n v-bind=\"attributes\"\n :contenteditable=\"disabled || readonly ? false : part !== 'literal'\"\n :data-reka-date-field-segment=\"part\"\n :aria-disabled=\"disabled ? true : undefined\"\n :aria-readonly=\"readonly ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-reka-date-range-field-segment-type=\"type\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :aria-invalid=\"isInvalid ? true : undefined\"\n v-on=\"part !== 'literal' ? {\n mousedown: handleSegmentClick,\n keydown: handleSegmentKeydown,\n focusout: () => { hasLeftFocus = true },\n focusin: (e: FocusEvent) => {\n rootContext.setFocusedElement(e.target as HTMLElement)\n },\n } : {}\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectDateRangeFieldRootContext","ref","useDateField","computed"],"mappings":";;;;;;;;;;;;;;;;AAkBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAcA,iEAAgC,EAAA;AAEpD,IAAM,MAAA,YAAA,GAAeC,QAAI,IAAI,CAAA;AAC7B,IAAM,MAAA,WAAA,GAAcA,QAAI,KAAK,CAAA;AAE7B,IAAM,MAAA;AAAA,MACJ,kBAAA;AAAA,MACA,oBAAA;AAAA,MACA;AAAA,QACEC,8BAAa,CAAA;AAAA,MACf,YAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAa,WAAY,CAAA,WAAA;AAAA,MACzB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,aAAe,EAAA,WAAA,CAAY,aAAc,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACnD,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,YAAY,KAAM,CAAA,IAAA,KAAS,OAAU,GAAA,WAAA,CAAY,aAAa,WAAY,CAAA;AAAA,KAC3E,CAAA;AAED,IAAA,MAAM,QAAW,GAAAC,YAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,QAAW,GAAAA,YAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,SAAY,GAAAA,YAAA,CAAS,MAAM,WAAA,CAAY,UAAU,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DateRangeFieldInput.cjs","sources":["../../src/DateRangeField/DateRangeFieldInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateRangeType } from './DateRangeFieldRoot.vue'\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { SegmentPart } from '@/shared/date'\nimport { computed, ref } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { useDateField } from '@/shared/date/useDateField'\nimport { injectDateRangeFieldRootContext } from './DateRangeFieldRoot.vue'\n\nexport interface DateRangeFieldInputProps extends PrimitiveProps {\n /** The part of the date to render */\n part: SegmentPart\n /** The type of field to render (start or end) */\n type: DateRangeType\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangeFieldInputProps>()\n\nconst rootContext = injectDateRangeFieldRootContext()\n\nconst hasLeftFocus = ref(true)\nconst lastKeyZero = ref(false)\n\nconst {\n handleSegmentClick,\n handleSegmentKeydown,\n attributes,\n} = useDateField({\n hasLeftFocus,\n lastKeyZero,\n placeholder: rootContext.placeholder,\n hourCycle: rootContext.hourCycle,\n step: rootContext.step,\n segmentValues: rootContext.segmentValues[props.type],\n formatter: rootContext.formatter,\n part: props.part,\n disabled: rootContext.disabled,\n readonly: rootContext.readonly,\n focusNext: rootContext.focusNext,\n modelValue: props.type === 'start' ? rootContext.startValue : rootContext.endValue,\n})\n\nconst disabled = computed(() => rootContext.disabled.value)\nconst readonly = computed(() => rootContext.readonly.value)\nconst isInvalid = computed(() => rootContext.isInvalid.value)\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"asChild\"\n v-bind=\"attributes\"\n :contenteditable=\"disabled || readonly ? false : part !== 'literal'\"\n :data-reka-date-field-segment=\"part\"\n :aria-disabled=\"disabled ? true : undefined\"\n :aria-readonly=\"readonly ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-reka-date-range-field-segment-type=\"type\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :aria-invalid=\"isInvalid ? true : undefined\"\n v-on=\"part !== 'literal' ? {\n mousedown: handleSegmentClick,\n keydown: handleSegmentKeydown,\n focusout: () => { hasLeftFocus = true },\n focusin: (e: FocusEvent) => {\n rootContext.setFocusedElement(e.target as HTMLElement)\n },\n } : {}\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectDateRangeFieldRootContext","ref","useDateField","computed"],"mappings":";;;;;;;;;;;;;;;;AAkBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAcA,iEAAgC,EAAA;AAEpD,IAAM,MAAA,YAAA,GAAeC,QAAI,IAAI,CAAA;AAC7B,IAAM,MAAA,WAAA,GAAcA,QAAI,KAAK,CAAA;AAE7B,IAAM,MAAA;AAAA,MACJ,kBAAA;AAAA,MACA,oBAAA;AAAA,MACA;AAAA,QACEC,8BAAa,CAAA;AAAA,MACf,YAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAa,WAAY,CAAA,WAAA;AAAA,MACzB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,MAAM,WAAY,CAAA,IAAA;AAAA,MAClB,aAAe,EAAA,WAAA,CAAY,aAAc,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACnD,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,YAAY,KAAM,CAAA,IAAA,KAAS,OAAU,GAAA,WAAA,CAAY,aAAa,WAAY,CAAA;AAAA,KAC3E,CAAA;AAED,IAAA,MAAM,QAAW,GAAAC,YAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,QAAW,GAAAA,YAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,SAAY,GAAAA,YAAA,CAAS,MAAM,WAAA,CAAY,UAAU,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -25,6 +25,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
25
25
  lastKeyZero,
26
26
  placeholder: rootContext.placeholder,
27
27
  hourCycle: rootContext.hourCycle,
28
+ step: rootContext.step,
28
29
  segmentValues: rootContext.segmentValues[props.type],
29
30
  formatter: rootContext.formatter,
30
31
  part: props.part,
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeFieldInput.js","sources":["../../src/DateRangeField/DateRangeFieldInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { SegmentPart } from '@/shared/date'\nimport type { DateRangeType } from './DateRangeFieldRoot.vue'\nimport { Primitive } from '@/Primitive'\nimport { useDateField } from '@/shared/date/useDateField'\nimport { computed, ref } from 'vue'\nimport { injectDateRangeFieldRootContext } from './DateRangeFieldRoot.vue'\n\nexport interface DateRangeFieldInputProps extends PrimitiveProps {\n /** The part of the date to render */\n part: SegmentPart\n /** The type of field to render (start or end) */\n type: DateRangeType\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangeFieldInputProps>()\n\nconst rootContext = injectDateRangeFieldRootContext()\n\nconst hasLeftFocus = ref(true)\nconst lastKeyZero = ref(false)\n\nconst {\n handleSegmentClick,\n handleSegmentKeydown,\n attributes,\n} = useDateField({\n hasLeftFocus,\n lastKeyZero,\n placeholder: rootContext.placeholder,\n hourCycle: rootContext.hourCycle,\n segmentValues: rootContext.segmentValues[props.type],\n formatter: rootContext.formatter,\n part: props.part,\n disabled: rootContext.disabled,\n readonly: rootContext.readonly,\n focusNext: rootContext.focusNext,\n modelValue: props.type === 'start' ? rootContext.startValue : rootContext.endValue,\n})\n\nconst disabled = computed(() => rootContext.disabled.value)\nconst readonly = computed(() => rootContext.readonly.value)\nconst isInvalid = computed(() => rootContext.isInvalid.value)\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"asChild\"\n v-bind=\"attributes\"\n :contenteditable=\"disabled || readonly ? false : part !== 'literal'\"\n :data-reka-date-field-segment=\"part\"\n :aria-disabled=\"disabled ? true : undefined\"\n :aria-readonly=\"readonly ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-reka-date-range-field-segment-type=\"type\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :aria-invalid=\"isInvalid ? true : undefined\"\n v-on=\"part !== 'literal' ? {\n mousedown: handleSegmentClick,\n keydown: handleSegmentKeydown,\n focusout: () => { hasLeftFocus = true },\n focusin: (e: FocusEvent) => {\n rootContext.setFocusedElement(e.target as HTMLElement)\n },\n } : {}\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAkBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAc,+BAAgC,EAAA;AAEpD,IAAM,MAAA,YAAA,GAAe,IAAI,IAAI,CAAA;AAC7B,IAAM,MAAA,WAAA,GAAc,IAAI,KAAK,CAAA;AAE7B,IAAM,MAAA;AAAA,MACJ,kBAAA;AAAA,MACA,oBAAA;AAAA,MACA;AAAA,QACE,YAAa,CAAA;AAAA,MACf,YAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAa,WAAY,CAAA,WAAA;AAAA,MACzB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,aAAe,EAAA,WAAA,CAAY,aAAc,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACnD,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,YAAY,KAAM,CAAA,IAAA,KAAS,OAAU,GAAA,WAAA,CAAY,aAAa,WAAY,CAAA;AAAA,KAC3E,CAAA;AAED,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,SAAY,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,UAAU,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DateRangeFieldInput.js","sources":["../../src/DateRangeField/DateRangeFieldInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateRangeType } from './DateRangeFieldRoot.vue'\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { SegmentPart } from '@/shared/date'\nimport { computed, ref } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { useDateField } from '@/shared/date/useDateField'\nimport { injectDateRangeFieldRootContext } from './DateRangeFieldRoot.vue'\n\nexport interface DateRangeFieldInputProps extends PrimitiveProps {\n /** The part of the date to render */\n part: SegmentPart\n /** The type of field to render (start or end) */\n type: DateRangeType\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangeFieldInputProps>()\n\nconst rootContext = injectDateRangeFieldRootContext()\n\nconst hasLeftFocus = ref(true)\nconst lastKeyZero = ref(false)\n\nconst {\n handleSegmentClick,\n handleSegmentKeydown,\n attributes,\n} = useDateField({\n hasLeftFocus,\n lastKeyZero,\n placeholder: rootContext.placeholder,\n hourCycle: rootContext.hourCycle,\n step: rootContext.step,\n segmentValues: rootContext.segmentValues[props.type],\n formatter: rootContext.formatter,\n part: props.part,\n disabled: rootContext.disabled,\n readonly: rootContext.readonly,\n focusNext: rootContext.focusNext,\n modelValue: props.type === 'start' ? rootContext.startValue : rootContext.endValue,\n})\n\nconst disabled = computed(() => rootContext.disabled.value)\nconst readonly = computed(() => rootContext.readonly.value)\nconst isInvalid = computed(() => rootContext.isInvalid.value)\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"asChild\"\n v-bind=\"attributes\"\n :contenteditable=\"disabled || readonly ? false : part !== 'literal'\"\n :data-reka-date-field-segment=\"part\"\n :aria-disabled=\"disabled ? true : undefined\"\n :aria-readonly=\"readonly ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-reka-date-range-field-segment-type=\"type\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :aria-invalid=\"isInvalid ? true : undefined\"\n v-on=\"part !== 'literal' ? {\n mousedown: handleSegmentClick,\n keydown: handleSegmentKeydown,\n focusout: () => { hasLeftFocus = true },\n focusin: (e: FocusEvent) => {\n rootContext.setFocusedElement(e.target as HTMLElement)\n },\n } : {}\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAkBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAc,+BAAgC,EAAA;AAEpD,IAAM,MAAA,YAAA,GAAe,IAAI,IAAI,CAAA;AAC7B,IAAM,MAAA,WAAA,GAAc,IAAI,KAAK,CAAA;AAE7B,IAAM,MAAA;AAAA,MACJ,kBAAA;AAAA,MACA,oBAAA;AAAA,MACA;AAAA,QACE,YAAa,CAAA;AAAA,MACf,YAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAa,WAAY,CAAA,WAAA;AAAA,MACzB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,MAAM,WAAY,CAAA,IAAA;AAAA,MAClB,aAAe,EAAA,WAAA,CAAY,aAAc,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACnD,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,YAAY,KAAM,CAAA,IAAA,KAAS,OAAU,GAAA,WAAA,CAAY,aAAa,WAAY,CAAA;AAAA,KAC3E,CAAA;AAED,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,SAAY,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,UAAU,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -11,6 +11,7 @@ const Primitive_usePrimitiveElement = require('../Primitive/usePrimitiveElement.
11
11
  const Primitive_Primitive = require('../Primitive/Primitive.cjs');
12
12
  const VisuallyHidden_VisuallyHidden = require('../VisuallyHidden/VisuallyHidden.cjs');
13
13
  const shared_useKbd = require('../shared/useKbd.cjs');
14
+ const date_utils = require('../date/utils.cjs');
14
15
  const date_segment = require('../date/segment.cjs');
15
16
  const date_parser = require('../date/parser.cjs');
16
17
 
@@ -26,6 +27,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
26
27
  placeholder: { default: void 0 },
27
28
  modelValue: {},
28
29
  hourCycle: {},
30
+ step: {},
29
31
  granularity: {},
30
32
  hideTimeZone: { type: Boolean },
31
33
  maxValue: {},
@@ -48,7 +50,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
48
50
  const { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, dir: propDir, locale: propLocale } = vue.toRefs(props);
49
51
  const locale = shared_useLocale.useLocale(propLocale);
50
52
  const dir = shared_useDirection.useDirection(propDir);
51
- const formatter = shared_useDateFormatter.useDateFormatter(locale.value);
53
+ const formatter = shared_useDateFormatter.useDateFormatter(locale.value, {
54
+ hourCycle: date_utils.normalizeHourCycle(props.hourCycle)
55
+ });
52
56
  const { primitiveElement, currentElement: parentElement } = Primitive_usePrimitiveElement.usePrimitiveElement();
53
57
  const segmentElements = vue.ref(/* @__PURE__ */ new Set());
54
58
  vue.onMounted(() => {
@@ -68,6 +72,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
68
72
  defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),
69
73
  passive: props.placeholder === void 0
70
74
  });
75
+ const step = vue.computed(() => date_utils.normalizeDateStep(props));
71
76
  const inferredGranularity = vue.computed(() => {
72
77
  if (props.granularity)
73
78
  return !date_comparators.hasTime(placeholder.value) ? "day" : props.granularity;
@@ -146,15 +151,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
146
151
  modelValue.value = { start: _startValue?.copy(), end: _endValue?.copy() };
147
152
  });
148
153
  vue.watch(modelValue, (_modelValue) => {
149
- if (_modelValue && _modelValue.start && _modelValue.end) {
150
- if (!startValue.value || _modelValue.start.compare(startValue.value) !== 0)
151
- startValue.value = _modelValue.start.copy();
152
- if (!endValue.value || _modelValue.end.compare(endValue.value) !== 0)
153
- endValue.value = _modelValue.end.copy();
154
+ const isStartChanged = _modelValue?.start && startValue.value ? _modelValue.start.compare(startValue.value) !== 0 : _modelValue?.start !== startValue.value;
155
+ if (isStartChanged) {
156
+ startValue.value = _modelValue?.start?.copy();
154
157
  }
155
- if (!_modelValue) {
156
- startValue.value = void 0;
157
- endValue.value = void 0;
158
+ const isEndChanged = _modelValue?.end && endValue.value ? _modelValue.end.compare(endValue.value) !== 0 : _modelValue?.end !== endValue.value;
159
+ if (isEndChanged) {
160
+ endValue.value = _modelValue?.end?.copy();
158
161
  }
159
162
  });
160
163
  vue.watch([startValue, locale], ([_startValue]) => {
@@ -223,6 +226,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
223
226
  disabled,
224
227
  formatter,
225
228
  hourCycle: props.hourCycle,
229
+ step,
226
230
  readonly,
227
231
  segmentValues: { start: startSegmentValues, end: endSegmentValues },
228
232
  isInvalid,
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeFieldRoot.cjs","sources":["../../src/DateRangeField/DateRangeFieldRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Matcher } from '@/date'\n\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Formatter } from '@/shared'\nimport type { DateRange, Granularity, HourCycle, SegmentPart, SegmentValueObj } from '@/shared/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport type { DateValue } from '@internationalized/date'\nimport type { Ref } from 'vue'\nimport {\n areAllDaysBetweenValid,\n hasTime,\n isBefore,\n isBeforeOrSame,\n\n} from '@/date'\nimport { createContext, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n createContent,\n\n getDefaultDate,\n getSegmentElements,\n\n initializeSegmentValues,\n isSegmentNavigationKey,\n\n syncSegmentValues,\n} from '@/shared/date'\n\nexport type DateRangeType = 'start' | 'end'\n\ntype DateRangeFieldRootContext = {\n locale: Ref<string>\n startValue: Ref<DateValue | undefined>\n endValue: Ref<DateValue | undefined>\n placeholder: Ref<DateValue>\n isDateUnavailable?: Matcher\n isInvalid: Ref<boolean>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n formatter: Formatter\n hourCycle: HourCycle\n segmentValues: Record<DateRangeType, Ref<SegmentValueObj>>\n segmentContents: Ref<{ start: { part: SegmentPart, value: string }[], end: { part: SegmentPart, value: string }[] }>\n elements: Ref<Set<HTMLElement>>\n focusNext: () => void\n setFocusedElement: (el: HTMLElement) => void\n}\n\nexport interface DateRangeFieldRootProps extends PrimitiveProps, FormFieldProps {\n /** The default value for the calendar */\n defaultValue?: DateRange\n /** The default placeholder date */\n defaultPlaceholder?: DateValue\n /** 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 */\n placeholder?: DateValue\n /** The controlled checked state of the calendar. Can be bound as `v-model`. */\n modelValue?: DateRange | null\n /** The hour cycle used for formatting times. Defaults to the local preference */\n hourCycle?: HourCycle\n /** The granularity to use for formatting times. Defaults to day if a CalendarDate is provided, otherwise defaults to minute. The field will render segments for each part of the date up to and including the specified granularity */\n granularity?: Granularity\n /** Whether or not to hide the time zone segment of the field */\n hideTimeZone?: boolean\n /** The maximum date that can be selected */\n maxValue?: DateValue\n /** The minimum date that can be selected */\n minValue?: DateValue\n /** The locale to use for formatting dates */\n locale?: string\n /** Whether or not the date field is disabled */\n disabled?: boolean\n /** Whether or not the date field is readonly */\n readonly?: boolean\n /** A function that returns whether or not a date is unavailable */\n isDateUnavailable?: Matcher\n /** Id of the element */\n id?: string\n /** The reading direction of the date field when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n}\n\nexport type DateRangeFieldRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [DateRange]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n}\n\nexport const [injectDateRangeFieldRootContext, provideDateRangeFieldRootContext]\n = createContext<DateRangeFieldRootContext>('DateRangeFieldRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { VisuallyHidden } from '@/VisuallyHidden'\nimport { useVModel } from '@vueuse/core'\nimport { computed, nextTick, onMounted, ref, toRefs, watch } from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DateRangeFieldRootProps>(), {\n defaultValue: undefined,\n disabled: false,\n readonly: false,\n placeholder: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DateRangeFieldRootEmits>()\nconst { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, dir: propDir, locale: propLocale } = toRefs(props)\nconst locale = useLocale(propLocale)\nconst dir = useDirection(propDir)\n\nconst formatter = useDateFormatter(locale.value)\nconst { primitiveElement, currentElement: parentElement }\n = usePrimitiveElement()\nconst segmentElements = ref<Set<HTMLElement>>(new Set())\n\nonMounted(() => {\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n})\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue ?? { start: undefined, end: undefined },\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateRange | null>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: props.granularity,\n defaultValue: modelValue.value?.start,\n locale: props.locale,\n})\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst inferredGranularity = computed(() => {\n if (props.granularity)\n return !hasTime(placeholder.value) ? 'day' : props.granularity\n\n return hasTime(placeholder.value) ? 'minute' : 'day'\n})\n\nconst isStartInvalid = computed(() => {\n if (!modelValue.value?.start)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value.start))\n return true\n\n if (props.minValue && isBefore(modelValue.value.start, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value.start))\n return true\n\n return false\n})\n\nconst isEndInvalid = computed(() => {\n if (!modelValue.value?.end)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value.end))\n return true\n\n if (props.minValue && isBefore(modelValue.value.end, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value.end))\n return true\n\n return false\n})\n\nconst isInvalid = computed(() => {\n if (isStartInvalid.value || isEndInvalid.value)\n return true\n\n if (!modelValue.value?.start || !modelValue.value?.end)\n return false\n\n if (!isBeforeOrSame(modelValue.value.start, modelValue.value.end))\n return true\n\n if (propsIsDateUnavailable.value !== undefined) {\n const allValid = areAllDaysBetweenValid(\n modelValue.value.start,\n modelValue.value.end,\n propsIsDateUnavailable.value,\n undefined,\n )\n if (!allValid)\n return true\n }\n return false\n})\n\nconst initialSegments = initializeSegmentValues(inferredGranularity.value)\n\nconst startSegmentValues = ref<SegmentValueObj>(modelValue.value?.start ? { ...syncSegmentValues({ value: modelValue.value.start, formatter }) } : { ...initialSegments })\nconst endSegmentValues = ref<SegmentValueObj>(modelValue.value?.end ? { ...syncSegmentValues({ value: modelValue.value.end, formatter }) } : { ...initialSegments })\n\nconst startSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: startSegmentValues.value,\n locale,\n}))\n\nconst endSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: endSegmentValues.value,\n locale,\n}))\n\nconst segmentContents = computed(() => ({\n start: startSegmentContent.value.arr,\n end: endSegmentContent.value.arr,\n}))\n\nconst editableSegmentContents = computed(() => ({ start: segmentContents.value.start.filter(({ part }) => part !== 'literal'), end: segmentContents.value.end.filter(({ part }) => part !== 'literal') }))\n\nconst startValue = ref(modelValue.value?.start?.copy()) as Ref<DateValue | undefined>\nconst endValue = ref(modelValue.value?.end?.copy()) as Ref<DateValue | undefined>\n\nwatch([startValue, endValue], ([_startValue, _endValue]) => {\n modelValue.value = { start: _startValue?.copy(), end: _endValue?.copy() }\n})\n\nwatch(modelValue, (_modelValue) => {\n if (_modelValue && _modelValue.start && _modelValue.end) {\n if (!startValue.value || _modelValue.start.compare(startValue.value) !== 0)\n startValue.value = _modelValue.start.copy()\n if (!endValue.value || _modelValue.end.compare(endValue.value) !== 0)\n endValue.value = _modelValue.end.copy()\n }\n if (!_modelValue) {\n startValue.value = undefined\n endValue.value = undefined\n }\n})\n\nwatch([startValue, locale], ([_startValue]) => {\n if (_startValue !== undefined) {\n startSegmentValues.value = { ...syncSegmentValues({ value: _startValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(startSegmentValues.value).every(value => value !== null) && _startValue === undefined) {\n startSegmentValues.value = { ...initialSegments }\n }\n})\n\nwatch(locale, (value) => {\n if (formatter.getLocale() !== value) {\n formatter.setLocale(value)\n // Locale changed, so we need to clear the segment elements and re-get them (different order)\n // Get the focusable elements again on the next tick\n nextTick(() => {\n segmentElements.value.clear()\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n })\n }\n})\n\nwatch(modelValue, (_modelValue) => {\n if (_modelValue && _modelValue.start !== undefined && placeholder.value.compare(_modelValue.start) !== 0)\n placeholder.value = _modelValue.start.copy()\n})\n\nwatch([endValue, locale], ([_endValue]) => {\n if (_endValue !== undefined) {\n endSegmentValues.value = { ...syncSegmentValues({ value: _endValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(endSegmentValues.value).every(value => value !== null) && _endValue === undefined) {\n endSegmentValues.value = { ...initialSegments }\n }\n})\n\nconst currentFocusedElement = ref<HTMLElement | null>(null)\n\nconst currentSegmentIndex = computed(() => Array.from(segmentElements.value).findIndex(el =>\n el.getAttribute('data-reka-date-field-segment') === currentFocusedElement.value?.getAttribute('data-reka-date-field-segment')\n && el.getAttribute('data-reka-date-range-field-segment-type') === currentFocusedElement.value?.getAttribute('data-reka-date-range-field-segment-type')))\n\nconst nextFocusableSegment = computed(() => {\n const sign = dir.value === 'rtl' ? -1 : 1\n const nextCondition = sign < 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1\n if (nextCondition)\n return null\n const segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value + sign]\n return segmentToFocus\n})\n\nconst prevFocusableSegment = computed(() => {\n const sign = dir.value === 'rtl' ? -1 : 1\n const prevCondition = sign > 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1\n if (prevCondition)\n return null\n\n const segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value - sign]\n return segmentToFocus\n})\n\nconst kbd = useKbd()\n\nfunction handleKeydown(e: KeyboardEvent) {\n if (!isSegmentNavigationKey(e.key))\n return\n if (e.key === kbd.ARROW_LEFT)\n prevFocusableSegment.value?.focus()\n if (e.key === kbd.ARROW_RIGHT)\n nextFocusableSegment.value?.focus()\n}\n\nfunction setFocusedElement(el: HTMLElement) {\n currentFocusedElement.value = el\n}\n\nprovideDateRangeFieldRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n locale,\n startValue,\n endValue,\n placeholder,\n disabled,\n formatter,\n hourCycle: props.hourCycle,\n readonly,\n segmentValues: { start: startSegmentValues, end: endSegmentValues },\n isInvalid,\n segmentContents: editableSegmentContents,\n elements: segmentElements,\n setFocusedElement,\n focusNext() {\n nextFocusableSegment.value?.focus()\n },\n})\n\ndefineExpose({\n setFocusedElement,\n})\n</script>\n\n<template>\n <Primitive\n v-bind=\"$attrs\"\n ref=\"primitiveElement\"\n role=\"group\"\n :aria-disabled=\"disabled ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-readonly=\"readonly ? '' : undefined\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :dir=\"dir\"\n @keydown.left.right=\"handleKeydown\"\n >\n <slot\n :model-value=\"modelValue\"\n :segments=\"segmentContents\"\n />\n\n <VisuallyHidden\n :id=\"id\"\n as=\"input\"\n feature=\"focusable\"\n tabindex=\"-1\"\n :value=\"`${modelValue?.start?.toString()} - ${modelValue?.end?.toString()}`\"\n :name=\"name\"\n :disabled=\"disabled\"\n :required=\"required\"\n @focus=\"Array.from(segmentElements)?.[0]?.focus()\"\n />\n </Primitive>\n</template>\n"],"names":["createContext","toRefs","useLocale","useDirection","useDateFormatter","usePrimitiveElement","ref","onMounted","getSegmentElements","useVModel","getDefaultDate","computed","hasTime","isBefore","isBeforeOrSame","areAllDaysBetweenValid","initializeSegmentValues","syncSegmentValues","createContent","watch","nextTick","useKbd","isSegmentNavigationKey"],"mappings":"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"}
1
+ {"version":3,"file":"DateRangeFieldRoot.cjs","sources":["../../src/DateRangeField/DateRangeFieldRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\n\nimport type { Ref } from 'vue'\nimport type { Matcher } from '@/date'\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Formatter } from '@/shared'\nimport type { DateRange, DateStep, Granularity, HourCycle, SegmentPart, SegmentValueObj } from '@/shared/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport {\n areAllDaysBetweenValid,\n hasTime,\n isBefore,\n isBeforeOrSame,\n\n} from '@/date'\nimport { createContext, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n createContent,\n\n getDefaultDate,\n getSegmentElements,\n\n initializeSegmentValues,\n isSegmentNavigationKey,\n normalizeDateStep,\n normalizeHourCycle,\n\n syncSegmentValues,\n} from '@/shared/date'\n\nexport type DateRangeType = 'start' | 'end'\n\ntype DateRangeFieldRootContext = {\n locale: Ref<string>\n startValue: Ref<DateValue | undefined>\n endValue: Ref<DateValue | undefined>\n placeholder: Ref<DateValue>\n isDateUnavailable?: Matcher\n isInvalid: Ref<boolean>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n formatter: Formatter\n hourCycle: HourCycle\n step: Ref<DateStep>\n segmentValues: Record<DateRangeType, Ref<SegmentValueObj>>\n segmentContents: Ref<{ start: { part: SegmentPart, value: string }[], end: { part: SegmentPart, value: string }[] }>\n elements: Ref<Set<HTMLElement>>\n focusNext: () => void\n setFocusedElement: (el: HTMLElement) => void\n}\n\nexport interface DateRangeFieldRootProps extends PrimitiveProps, FormFieldProps {\n /** The default value for the calendar */\n defaultValue?: DateRange\n /** The default placeholder date */\n defaultPlaceholder?: DateValue\n /** 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 */\n placeholder?: DateValue\n /** The controlled checked state of the calendar. Can be bound as `v-model`. */\n modelValue?: DateRange | null\n /** The hour cycle used for formatting times. Defaults to the local preference */\n hourCycle?: HourCycle\n /** The stepping interval for the time fields. Defaults to `1`. */\n step?: DateStep\n /** The granularity to use for formatting times. Defaults to day if a CalendarDate is provided, otherwise defaults to minute. The field will render segments for each part of the date up to and including the specified granularity */\n granularity?: Granularity\n /** Whether or not to hide the time zone segment of the field */\n hideTimeZone?: boolean\n /** The maximum date that can be selected */\n maxValue?: DateValue\n /** The minimum date that can be selected */\n minValue?: DateValue\n /** The locale to use for formatting dates */\n locale?: string\n /** Whether or not the date field is disabled */\n disabled?: boolean\n /** Whether or not the date field is readonly */\n readonly?: boolean\n /** A function that returns whether or not a date is unavailable */\n isDateUnavailable?: Matcher\n /** Id of the element */\n id?: string\n /** The reading direction of the date field when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n}\n\nexport type DateRangeFieldRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [DateRange]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n}\n\nexport const [injectDateRangeFieldRootContext, provideDateRangeFieldRootContext]\n = createContext<DateRangeFieldRootContext>('DateRangeFieldRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\nimport { computed, nextTick, onMounted, ref, toRefs, watch } from 'vue'\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { VisuallyHidden } from '@/VisuallyHidden'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DateRangeFieldRootProps>(), {\n defaultValue: undefined,\n disabled: false,\n readonly: false,\n placeholder: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DateRangeFieldRootEmits>()\nconst { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, dir: propDir, locale: propLocale } = toRefs(props)\nconst locale = useLocale(propLocale)\nconst dir = useDirection(propDir)\n\nconst formatter = useDateFormatter(locale.value, {\n hourCycle: normalizeHourCycle(props.hourCycle),\n})\nconst { primitiveElement, currentElement: parentElement }\n = usePrimitiveElement()\nconst segmentElements = ref<Set<HTMLElement>>(new Set())\n\nonMounted(() => {\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n})\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue ?? { start: undefined, end: undefined },\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateRange | null>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: props.granularity,\n defaultValue: modelValue.value?.start,\n locale: props.locale,\n})\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst step = computed(() => normalizeDateStep(props))\n\nconst inferredGranularity = computed(() => {\n if (props.granularity)\n return !hasTime(placeholder.value) ? 'day' : props.granularity\n\n return hasTime(placeholder.value) ? 'minute' : 'day'\n})\n\nconst isStartInvalid = computed(() => {\n if (!modelValue.value?.start)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value.start))\n return true\n\n if (props.minValue && isBefore(modelValue.value.start, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value.start))\n return true\n\n return false\n})\n\nconst isEndInvalid = computed(() => {\n if (!modelValue.value?.end)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value.end))\n return true\n\n if (props.minValue && isBefore(modelValue.value.end, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value.end))\n return true\n\n return false\n})\n\nconst isInvalid = computed(() => {\n if (isStartInvalid.value || isEndInvalid.value)\n return true\n\n if (!modelValue.value?.start || !modelValue.value?.end)\n return false\n\n if (!isBeforeOrSame(modelValue.value.start, modelValue.value.end))\n return true\n\n if (propsIsDateUnavailable.value !== undefined) {\n const allValid = areAllDaysBetweenValid(\n modelValue.value.start,\n modelValue.value.end,\n propsIsDateUnavailable.value,\n undefined,\n )\n if (!allValid)\n return true\n }\n return false\n})\n\nconst initialSegments = initializeSegmentValues(inferredGranularity.value)\n\nconst startSegmentValues = ref<SegmentValueObj>(modelValue.value?.start ? { ...syncSegmentValues({ value: modelValue.value.start, formatter }) } : { ...initialSegments })\nconst endSegmentValues = ref<SegmentValueObj>(modelValue.value?.end ? { ...syncSegmentValues({ value: modelValue.value.end, formatter }) } : { ...initialSegments })\n\nconst startSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: startSegmentValues.value,\n locale,\n}))\n\nconst endSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: endSegmentValues.value,\n locale,\n}))\n\nconst segmentContents = computed(() => ({\n start: startSegmentContent.value.arr,\n end: endSegmentContent.value.arr,\n}))\n\nconst editableSegmentContents = computed(() => ({ start: segmentContents.value.start.filter(({ part }) => part !== 'literal'), end: segmentContents.value.end.filter(({ part }) => part !== 'literal') }))\n\nconst startValue = ref(modelValue.value?.start?.copy()) as Ref<DateValue | undefined>\nconst endValue = ref(modelValue.value?.end?.copy()) as Ref<DateValue | undefined>\n\nwatch([startValue, endValue], ([_startValue, _endValue]) => {\n modelValue.value = { start: _startValue?.copy(), end: _endValue?.copy() }\n})\n\nwatch(modelValue, (_modelValue) => {\n const isStartChanged = _modelValue?.start && startValue.value\n ? _modelValue.start.compare(startValue.value) !== 0\n : _modelValue?.start !== startValue.value\n if (isStartChanged) {\n startValue.value = _modelValue?.start?.copy()\n }\n\n const isEndChanged = _modelValue?.end && endValue.value\n ? _modelValue.end.compare(endValue.value) !== 0\n : _modelValue?.end !== endValue.value\n if (isEndChanged) {\n endValue.value = _modelValue?.end?.copy()\n }\n})\n\nwatch([startValue, locale], ([_startValue]) => {\n if (_startValue !== undefined) {\n startSegmentValues.value = { ...syncSegmentValues({ value: _startValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(startSegmentValues.value).every(value => value !== null) && _startValue === undefined) {\n startSegmentValues.value = { ...initialSegments }\n }\n})\n\nwatch(locale, (value) => {\n if (formatter.getLocale() !== value) {\n formatter.setLocale(value)\n // Locale changed, so we need to clear the segment elements and re-get them (different order)\n // Get the focusable elements again on the next tick\n nextTick(() => {\n segmentElements.value.clear()\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n })\n }\n})\n\nwatch(modelValue, (_modelValue) => {\n if (_modelValue && _modelValue.start !== undefined && placeholder.value.compare(_modelValue.start) !== 0)\n placeholder.value = _modelValue.start.copy()\n})\n\nwatch([endValue, locale], ([_endValue]) => {\n if (_endValue !== undefined) {\n endSegmentValues.value = { ...syncSegmentValues({ value: _endValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(endSegmentValues.value).every(value => value !== null) && _endValue === undefined) {\n endSegmentValues.value = { ...initialSegments }\n }\n})\n\nconst currentFocusedElement = ref<HTMLElement | null>(null)\n\nconst currentSegmentIndex = computed(() => Array.from(segmentElements.value).findIndex(el =>\n el.getAttribute('data-reka-date-field-segment') === currentFocusedElement.value?.getAttribute('data-reka-date-field-segment')\n && el.getAttribute('data-reka-date-range-field-segment-type') === currentFocusedElement.value?.getAttribute('data-reka-date-range-field-segment-type')))\n\nconst nextFocusableSegment = computed(() => {\n const sign = dir.value === 'rtl' ? -1 : 1\n const nextCondition = sign < 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1\n if (nextCondition)\n return null\n const segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value + sign]\n return segmentToFocus\n})\n\nconst prevFocusableSegment = computed(() => {\n const sign = dir.value === 'rtl' ? -1 : 1\n const prevCondition = sign > 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1\n if (prevCondition)\n return null\n\n const segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value - sign]\n return segmentToFocus\n})\n\nconst kbd = useKbd()\n\nfunction handleKeydown(e: KeyboardEvent) {\n if (!isSegmentNavigationKey(e.key))\n return\n if (e.key === kbd.ARROW_LEFT)\n prevFocusableSegment.value?.focus()\n if (e.key === kbd.ARROW_RIGHT)\n nextFocusableSegment.value?.focus()\n}\n\nfunction setFocusedElement(el: HTMLElement) {\n currentFocusedElement.value = el\n}\n\nprovideDateRangeFieldRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n locale,\n startValue,\n endValue,\n placeholder,\n disabled,\n formatter,\n hourCycle: props.hourCycle,\n step,\n readonly,\n segmentValues: { start: startSegmentValues, end: endSegmentValues },\n isInvalid,\n segmentContents: editableSegmentContents,\n elements: segmentElements,\n setFocusedElement,\n focusNext() {\n nextFocusableSegment.value?.focus()\n },\n})\n\ndefineExpose({\n setFocusedElement,\n})\n</script>\n\n<template>\n <Primitive\n v-bind=\"$attrs\"\n ref=\"primitiveElement\"\n role=\"group\"\n :aria-disabled=\"disabled ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-readonly=\"readonly ? '' : undefined\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :dir=\"dir\"\n @keydown.left.right=\"handleKeydown\"\n >\n <slot\n :model-value=\"modelValue\"\n :segments=\"segmentContents\"\n />\n\n <VisuallyHidden\n :id=\"id\"\n as=\"input\"\n feature=\"focusable\"\n tabindex=\"-1\"\n :value=\"`${modelValue?.start?.toString()} - ${modelValue?.end?.toString()}`\"\n :name=\"name\"\n :disabled=\"disabled\"\n :required=\"required\"\n @focus=\"Array.from(segmentElements)?.[0]?.focus()\"\n />\n </Primitive>\n</template>\n"],"names":["createContext","toRefs","useLocale","useDirection","useDateFormatter","normalizeHourCycle","usePrimitiveElement","ref","onMounted","getSegmentElements","useVModel","getDefaultDate","computed","normalizeDateStep","hasTime","isBefore","isBeforeOrSame","areAllDaysBetweenValid","initializeSegmentValues","syncSegmentValues","createContent","watch","nextTick","useKbd","isSegmentNavigationKey"],"mappings":"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"}
@@ -9,6 +9,7 @@ import { u as usePrimitiveElement } from '../Primitive/usePrimitiveElement.js';
9
9
  import { P as Primitive } from '../Primitive/Primitive.js';
10
10
  import { _ as _sfc_main$1 } from '../VisuallyHidden/VisuallyHidden.js';
11
11
  import { u as useKbd } from '../shared/useKbd.js';
12
+ import { n as normalizeHourCycle, a as normalizeDateStep } from '../date/utils.js';
12
13
  import { g as getSegmentElements, i as isSegmentNavigationKey } from '../date/segment.js';
13
14
  import { i as initializeSegmentValues, s as syncSegmentValues, c as createContent } from '../date/parser.js';
14
15
 
@@ -24,6 +25,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
25
  placeholder: { default: void 0 },
25
26
  modelValue: {},
26
27
  hourCycle: {},
28
+ step: {},
27
29
  granularity: {},
28
30
  hideTimeZone: { type: Boolean },
29
31
  maxValue: {},
@@ -46,7 +48,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
48
  const { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, dir: propDir, locale: propLocale } = toRefs(props);
47
49
  const locale = useLocale(propLocale);
48
50
  const dir = useDirection(propDir);
49
- const formatter = useDateFormatter(locale.value);
51
+ const formatter = useDateFormatter(locale.value, {
52
+ hourCycle: normalizeHourCycle(props.hourCycle)
53
+ });
50
54
  const { primitiveElement, currentElement: parentElement } = usePrimitiveElement();
51
55
  const segmentElements = ref(/* @__PURE__ */ new Set());
52
56
  onMounted(() => {
@@ -66,6 +70,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
66
70
  defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),
67
71
  passive: props.placeholder === void 0
68
72
  });
73
+ const step = computed(() => normalizeDateStep(props));
69
74
  const inferredGranularity = computed(() => {
70
75
  if (props.granularity)
71
76
  return !hasTime(placeholder.value) ? "day" : props.granularity;
@@ -144,15 +149,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
144
149
  modelValue.value = { start: _startValue?.copy(), end: _endValue?.copy() };
145
150
  });
146
151
  watch(modelValue, (_modelValue) => {
147
- if (_modelValue && _modelValue.start && _modelValue.end) {
148
- if (!startValue.value || _modelValue.start.compare(startValue.value) !== 0)
149
- startValue.value = _modelValue.start.copy();
150
- if (!endValue.value || _modelValue.end.compare(endValue.value) !== 0)
151
- endValue.value = _modelValue.end.copy();
152
+ const isStartChanged = _modelValue?.start && startValue.value ? _modelValue.start.compare(startValue.value) !== 0 : _modelValue?.start !== startValue.value;
153
+ if (isStartChanged) {
154
+ startValue.value = _modelValue?.start?.copy();
152
155
  }
153
- if (!_modelValue) {
154
- startValue.value = void 0;
155
- endValue.value = void 0;
156
+ const isEndChanged = _modelValue?.end && endValue.value ? _modelValue.end.compare(endValue.value) !== 0 : _modelValue?.end !== endValue.value;
157
+ if (isEndChanged) {
158
+ endValue.value = _modelValue?.end?.copy();
156
159
  }
157
160
  });
158
161
  watch([startValue, locale], ([_startValue]) => {
@@ -221,6 +224,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
221
224
  disabled,
222
225
  formatter,
223
226
  hourCycle: props.hourCycle,
227
+ step,
224
228
  readonly,
225
229
  segmentValues: { start: startSegmentValues, end: endSegmentValues },
226
230
  isInvalid,
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeFieldRoot.js","sources":["../../src/DateRangeField/DateRangeFieldRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Matcher } from '@/date'\n\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Formatter } from '@/shared'\nimport type { DateRange, Granularity, HourCycle, SegmentPart, SegmentValueObj } from '@/shared/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport type { DateValue } from '@internationalized/date'\nimport type { Ref } from 'vue'\nimport {\n areAllDaysBetweenValid,\n hasTime,\n isBefore,\n isBeforeOrSame,\n\n} from '@/date'\nimport { createContext, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n createContent,\n\n getDefaultDate,\n getSegmentElements,\n\n initializeSegmentValues,\n isSegmentNavigationKey,\n\n syncSegmentValues,\n} from '@/shared/date'\n\nexport type DateRangeType = 'start' | 'end'\n\ntype DateRangeFieldRootContext = {\n locale: Ref<string>\n startValue: Ref<DateValue | undefined>\n endValue: Ref<DateValue | undefined>\n placeholder: Ref<DateValue>\n isDateUnavailable?: Matcher\n isInvalid: Ref<boolean>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n formatter: Formatter\n hourCycle: HourCycle\n segmentValues: Record<DateRangeType, Ref<SegmentValueObj>>\n segmentContents: Ref<{ start: { part: SegmentPart, value: string }[], end: { part: SegmentPart, value: string }[] }>\n elements: Ref<Set<HTMLElement>>\n focusNext: () => void\n setFocusedElement: (el: HTMLElement) => void\n}\n\nexport interface DateRangeFieldRootProps extends PrimitiveProps, FormFieldProps {\n /** The default value for the calendar */\n defaultValue?: DateRange\n /** The default placeholder date */\n defaultPlaceholder?: DateValue\n /** 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 */\n placeholder?: DateValue\n /** The controlled checked state of the calendar. Can be bound as `v-model`. */\n modelValue?: DateRange | null\n /** The hour cycle used for formatting times. Defaults to the local preference */\n hourCycle?: HourCycle\n /** The granularity to use for formatting times. Defaults to day if a CalendarDate is provided, otherwise defaults to minute. The field will render segments for each part of the date up to and including the specified granularity */\n granularity?: Granularity\n /** Whether or not to hide the time zone segment of the field */\n hideTimeZone?: boolean\n /** The maximum date that can be selected */\n maxValue?: DateValue\n /** The minimum date that can be selected */\n minValue?: DateValue\n /** The locale to use for formatting dates */\n locale?: string\n /** Whether or not the date field is disabled */\n disabled?: boolean\n /** Whether or not the date field is readonly */\n readonly?: boolean\n /** A function that returns whether or not a date is unavailable */\n isDateUnavailable?: Matcher\n /** Id of the element */\n id?: string\n /** The reading direction of the date field when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n}\n\nexport type DateRangeFieldRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [DateRange]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n}\n\nexport const [injectDateRangeFieldRootContext, provideDateRangeFieldRootContext]\n = createContext<DateRangeFieldRootContext>('DateRangeFieldRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { VisuallyHidden } from '@/VisuallyHidden'\nimport { useVModel } from '@vueuse/core'\nimport { computed, nextTick, onMounted, ref, toRefs, watch } from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DateRangeFieldRootProps>(), {\n defaultValue: undefined,\n disabled: false,\n readonly: false,\n placeholder: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DateRangeFieldRootEmits>()\nconst { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, dir: propDir, locale: propLocale } = toRefs(props)\nconst locale = useLocale(propLocale)\nconst dir = useDirection(propDir)\n\nconst formatter = useDateFormatter(locale.value)\nconst { primitiveElement, currentElement: parentElement }\n = usePrimitiveElement()\nconst segmentElements = ref<Set<HTMLElement>>(new Set())\n\nonMounted(() => {\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n})\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue ?? { start: undefined, end: undefined },\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateRange | null>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: props.granularity,\n defaultValue: modelValue.value?.start,\n locale: props.locale,\n})\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst inferredGranularity = computed(() => {\n if (props.granularity)\n return !hasTime(placeholder.value) ? 'day' : props.granularity\n\n return hasTime(placeholder.value) ? 'minute' : 'day'\n})\n\nconst isStartInvalid = computed(() => {\n if (!modelValue.value?.start)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value.start))\n return true\n\n if (props.minValue && isBefore(modelValue.value.start, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value.start))\n return true\n\n return false\n})\n\nconst isEndInvalid = computed(() => {\n if (!modelValue.value?.end)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value.end))\n return true\n\n if (props.minValue && isBefore(modelValue.value.end, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value.end))\n return true\n\n return false\n})\n\nconst isInvalid = computed(() => {\n if (isStartInvalid.value || isEndInvalid.value)\n return true\n\n if (!modelValue.value?.start || !modelValue.value?.end)\n return false\n\n if (!isBeforeOrSame(modelValue.value.start, modelValue.value.end))\n return true\n\n if (propsIsDateUnavailable.value !== undefined) {\n const allValid = areAllDaysBetweenValid(\n modelValue.value.start,\n modelValue.value.end,\n propsIsDateUnavailable.value,\n undefined,\n )\n if (!allValid)\n return true\n }\n return false\n})\n\nconst initialSegments = initializeSegmentValues(inferredGranularity.value)\n\nconst startSegmentValues = ref<SegmentValueObj>(modelValue.value?.start ? { ...syncSegmentValues({ value: modelValue.value.start, formatter }) } : { ...initialSegments })\nconst endSegmentValues = ref<SegmentValueObj>(modelValue.value?.end ? { ...syncSegmentValues({ value: modelValue.value.end, formatter }) } : { ...initialSegments })\n\nconst startSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: startSegmentValues.value,\n locale,\n}))\n\nconst endSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: endSegmentValues.value,\n locale,\n}))\n\nconst segmentContents = computed(() => ({\n start: startSegmentContent.value.arr,\n end: endSegmentContent.value.arr,\n}))\n\nconst editableSegmentContents = computed(() => ({ start: segmentContents.value.start.filter(({ part }) => part !== 'literal'), end: segmentContents.value.end.filter(({ part }) => part !== 'literal') }))\n\nconst startValue = ref(modelValue.value?.start?.copy()) as Ref<DateValue | undefined>\nconst endValue = ref(modelValue.value?.end?.copy()) as Ref<DateValue | undefined>\n\nwatch([startValue, endValue], ([_startValue, _endValue]) => {\n modelValue.value = { start: _startValue?.copy(), end: _endValue?.copy() }\n})\n\nwatch(modelValue, (_modelValue) => {\n if (_modelValue && _modelValue.start && _modelValue.end) {\n if (!startValue.value || _modelValue.start.compare(startValue.value) !== 0)\n startValue.value = _modelValue.start.copy()\n if (!endValue.value || _modelValue.end.compare(endValue.value) !== 0)\n endValue.value = _modelValue.end.copy()\n }\n if (!_modelValue) {\n startValue.value = undefined\n endValue.value = undefined\n }\n})\n\nwatch([startValue, locale], ([_startValue]) => {\n if (_startValue !== undefined) {\n startSegmentValues.value = { ...syncSegmentValues({ value: _startValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(startSegmentValues.value).every(value => value !== null) && _startValue === undefined) {\n startSegmentValues.value = { ...initialSegments }\n }\n})\n\nwatch(locale, (value) => {\n if (formatter.getLocale() !== value) {\n formatter.setLocale(value)\n // Locale changed, so we need to clear the segment elements and re-get them (different order)\n // Get the focusable elements again on the next tick\n nextTick(() => {\n segmentElements.value.clear()\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n })\n }\n})\n\nwatch(modelValue, (_modelValue) => {\n if (_modelValue && _modelValue.start !== undefined && placeholder.value.compare(_modelValue.start) !== 0)\n placeholder.value = _modelValue.start.copy()\n})\n\nwatch([endValue, locale], ([_endValue]) => {\n if (_endValue !== undefined) {\n endSegmentValues.value = { ...syncSegmentValues({ value: _endValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(endSegmentValues.value).every(value => value !== null) && _endValue === undefined) {\n endSegmentValues.value = { ...initialSegments }\n }\n})\n\nconst currentFocusedElement = ref<HTMLElement | null>(null)\n\nconst currentSegmentIndex = computed(() => Array.from(segmentElements.value).findIndex(el =>\n el.getAttribute('data-reka-date-field-segment') === currentFocusedElement.value?.getAttribute('data-reka-date-field-segment')\n && el.getAttribute('data-reka-date-range-field-segment-type') === currentFocusedElement.value?.getAttribute('data-reka-date-range-field-segment-type')))\n\nconst nextFocusableSegment = computed(() => {\n const sign = dir.value === 'rtl' ? -1 : 1\n const nextCondition = sign < 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1\n if (nextCondition)\n return null\n const segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value + sign]\n return segmentToFocus\n})\n\nconst prevFocusableSegment = computed(() => {\n const sign = dir.value === 'rtl' ? -1 : 1\n const prevCondition = sign > 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1\n if (prevCondition)\n return null\n\n const segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value - sign]\n return segmentToFocus\n})\n\nconst kbd = useKbd()\n\nfunction handleKeydown(e: KeyboardEvent) {\n if (!isSegmentNavigationKey(e.key))\n return\n if (e.key === kbd.ARROW_LEFT)\n prevFocusableSegment.value?.focus()\n if (e.key === kbd.ARROW_RIGHT)\n nextFocusableSegment.value?.focus()\n}\n\nfunction setFocusedElement(el: HTMLElement) {\n currentFocusedElement.value = el\n}\n\nprovideDateRangeFieldRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n locale,\n startValue,\n endValue,\n placeholder,\n disabled,\n formatter,\n hourCycle: props.hourCycle,\n readonly,\n segmentValues: { start: startSegmentValues, end: endSegmentValues },\n isInvalid,\n segmentContents: editableSegmentContents,\n elements: segmentElements,\n setFocusedElement,\n focusNext() {\n nextFocusableSegment.value?.focus()\n },\n})\n\ndefineExpose({\n setFocusedElement,\n})\n</script>\n\n<template>\n <Primitive\n v-bind=\"$attrs\"\n ref=\"primitiveElement\"\n role=\"group\"\n :aria-disabled=\"disabled ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-readonly=\"readonly ? '' : undefined\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :dir=\"dir\"\n @keydown.left.right=\"handleKeydown\"\n >\n <slot\n :model-value=\"modelValue\"\n :segments=\"segmentContents\"\n />\n\n <VisuallyHidden\n :id=\"id\"\n as=\"input\"\n feature=\"focusable\"\n tabindex=\"-1\"\n :value=\"`${modelValue?.start?.toString()} - ${modelValue?.end?.toString()}`\"\n :name=\"name\"\n :disabled=\"disabled\"\n :required=\"required\"\n @focus=\"Array.from(segmentElements)?.[0]?.focus()\"\n />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAyFO,MAAM,CAAC,+BAAA,EAAiC,gCAAgC,CAAA,GAC3E,cAAyC,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAajE,IAAA,MAAM,KAAQ,GAAA,OAAA;AAOd,IAAA,MAAM,KAAQ,GAAA,MAAA;AACd,IAAM,MAAA,EAAE,QAAU,EAAA,QAAA,EAAU,iBAAmB,EAAA,sBAAA,EAAwB,GAAK,EAAA,OAAA,EAAS,MAAQ,EAAA,UAAA,EAAe,GAAA,MAAA,CAAO,KAAK,CAAA;AACxH,IAAM,MAAA,MAAA,GAAS,UAAU,UAAU,CAAA;AACnC,IAAM,MAAA,GAAA,GAAM,aAAa,OAAO,CAAA;AAEhC,IAAM,MAAA,SAAA,GAAY,gBAAiB,CAAA,MAAA,CAAO,KAAK,CAAA;AAC/C,IAAA,MAAM,EAAE,gBAAA,EAAkB,cAAgB,EAAA,aAAA,KACtC,mBAAoB,EAAA;AACxB,IAAA,MAAM,eAAkB,GAAA,GAAA,iBAA0B,IAAA,GAAA,EAAK,CAAA;AAEvD,IAAA,SAAA,CAAU,MAAM;AACd,MAAmB,kBAAA,CAAA,aAAA,CAAc,KAAK,CAAE,CAAA,OAAA,CAAQ,UAAQ,eAAgB,CAAA,KAAA,CAAM,GAAI,CAAA,IAAmB,CAAC,CAAA;AAAA,KACvG,CAAA;AAED,IAAA,MAAM,UAAa,GAAA,SAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,MACvD,cAAc,KAAM,CAAA,YAAA,IAAgB,EAAE,KAAO,EAAA,MAAA,EAAW,KAAK,MAAU,EAAA;AAAA,MACvE,OAAA,EAAU,MAAM,UAAe,KAAA;AAAA,KAChC,CAAA;AAED,IAAA,MAAM,cAAc,cAAe,CAAA;AAAA,MACjC,oBAAoB,KAAM,CAAA,WAAA;AAAA,MAC1B,aAAa,KAAM,CAAA,WAAA;AAAA,MACnB,YAAA,EAAc,WAAW,KAAO,EAAA,KAAA;AAAA,MAChC,QAAQ,KAAM,CAAA;AAAA,KACf,CAAA;AAED,IAAA,MAAM,WAAc,GAAA,SAAA,CAAU,KAAO,EAAA,aAAA,EAAe,KAAO,EAAA;AAAA,MACzD,YAAc,EAAA,KAAA,CAAM,kBAAsB,IAAA,WAAA,CAAY,IAAK,EAAA;AAAA,MAC3D,OAAA,EAAU,MAAM,WAAgB,KAAA;AAAA,KACjC,CAAA;AAED,IAAM,MAAA,mBAAA,GAAsB,SAAS,MAAM;AACzC,MAAA,IAAI,KAAM,CAAA,WAAA;AACR,QAAA,OAAO,CAAC,OAAQ,CAAA,WAAA,CAAY,KAAK,CAAA,GAAI,QAAQ,KAAM,CAAA,WAAA;AAErD,MAAA,OAAO,OAAQ,CAAA,WAAA,CAAY,KAAK,CAAA,GAAI,QAAW,GAAA,KAAA;AAAA,KAChD,CAAA;AAED,IAAM,MAAA,cAAA,GAAiB,SAAS,MAAM;AACpC,MAAI,IAAA,CAAC,WAAW,KAAO,EAAA,KAAA;AACrB,QAAO,OAAA,KAAA;AAET,MAAA,IAAI,sBAAuB,CAAA,KAAA,GAAQ,UAAW,CAAA,KAAA,CAAM,KAAK,CAAA;AACvD,QAAO,OAAA,IAAA;AAET,MAAA,IAAI,MAAM,QAAY,IAAA,QAAA,CAAS,WAAW,KAAM,CAAA,KAAA,EAAO,MAAM,QAAQ,CAAA;AACnE,QAAO,OAAA,IAAA;AAET,MAAA,IAAI,MAAM,QAAY,IAAA,QAAA,CAAS,MAAM,QAAU,EAAA,UAAA,CAAW,MAAM,KAAK,CAAA;AACnE,QAAO,OAAA,IAAA;AAET,MAAO,OAAA,KAAA;AAAA,KACR,CAAA;AAED,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAI,IAAA,CAAC,WAAW,KAAO,EAAA,GAAA;AACrB,QAAO,OAAA,KAAA;AAET,MAAA,IAAI,sBAAuB,CAAA,KAAA,GAAQ,UAAW,CAAA,KAAA,CAAM,GAAG,CAAA;AACrD,QAAO,OAAA,IAAA;AAET,MAAA,IAAI,MAAM,QAAY,IAAA,QAAA,CAAS,WAAW,KAAM,CAAA,GAAA,EAAK,MAAM,QAAQ,CAAA;AACjE,QAAO,OAAA,IAAA;AAET,MAAA,IAAI,MAAM,QAAY,IAAA,QAAA,CAAS,MAAM,QAAU,EAAA,UAAA,CAAW,MAAM,GAAG,CAAA;AACjE,QAAO,OAAA,IAAA;AAET,MAAO,OAAA,KAAA;AAAA,KACR,CAAA;AAED,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAC/B,MAAI,IAAA,cAAA,CAAe,SAAS,YAAa,CAAA,KAAA;AACvC,QAAO,OAAA,IAAA;AAET,MAAA,IAAI,CAAC,UAAW,CAAA,KAAA,EAAO,KAAS,IAAA,CAAC,WAAW,KAAO,EAAA,GAAA;AACjD,QAAO,OAAA,KAAA;AAET,MAAA,IAAI,CAAC,cAAe,CAAA,UAAA,CAAW,MAAM,KAAO,EAAA,UAAA,CAAW,MAAM,GAAG,CAAA;AAC9D,QAAO,OAAA,IAAA;AAET,MAAI,IAAA,sBAAA,CAAuB,UAAU,MAAW,EAAA;AAC9C,QAAA,MAAM,QAAW,GAAA,sBAAA;AAAA,UACf,WAAW,KAAM,CAAA,KAAA;AAAA,UACjB,WAAW,KAAM,CAAA,GAAA;AAAA,UACjB,sBAAuB,CAAA,KAAA;AAAA,UACvB;AAAA,SACF;AACA,QAAA,IAAI,CAAC,QAAA;AACH,UAAO,OAAA,IAAA;AAAA;AAEX,MAAO,OAAA,KAAA;AAAA,KACR,CAAA;AAED,IAAM,MAAA,eAAA,GAAkB,uBAAwB,CAAA,mBAAA,CAAoB,KAAK,CAAA;AAEzE,IAAM,MAAA,kBAAA,GAAqB,IAAqB,UAAW,CAAA,KAAA,EAAO,QAAQ,EAAE,GAAG,kBAAkB,EAAE,KAAA,EAAO,WAAW,KAAM,CAAA,KAAA,EAAO,WAAW,CAAA,KAAM,EAAE,GAAG,iBAAiB,CAAA;AACzK,IAAM,MAAA,gBAAA,GAAmB,IAAqB,UAAW,CAAA,KAAA,EAAO,MAAM,EAAE,GAAG,kBAAkB,EAAE,KAAA,EAAO,WAAW,KAAM,CAAA,GAAA,EAAK,WAAW,CAAA,KAAM,EAAE,GAAG,iBAAiB,CAAA;AAEnK,IAAM,MAAA,mBAAA,GAAsB,QAAS,CAAA,MAAM,aAAc,CAAA;AAAA,MACvD,aAAa,mBAAoB,CAAA,KAAA;AAAA,MACjC,SAAS,WAAY,CAAA,KAAA;AAAA,MACrB,SAAA;AAAA,MACA,cAAc,KAAM,CAAA,YAAA;AAAA,MACpB,WAAW,KAAM,CAAA,SAAA;AAAA,MACjB,eAAe,kBAAmB,CAAA,KAAA;AAAA,MAClC;AAAA,KACD,CAAC,CAAA;AAEF,IAAM,MAAA,iBAAA,GAAoB,QAAS,CAAA,MAAM,aAAc,CAAA;AAAA,MACrD,aAAa,mBAAoB,CAAA,KAAA;AAAA,MACjC,SAAS,WAAY,CAAA,KAAA;AAAA,MACrB,SAAA;AAAA,MACA,cAAc,KAAM,CAAA,YAAA;AAAA,MACpB,WAAW,KAAM,CAAA,SAAA;AAAA,MACjB,eAAe,gBAAiB,CAAA,KAAA;AAAA,MAChC;AAAA,KACD,CAAC,CAAA;AAEF,IAAM,MAAA,eAAA,GAAkB,SAAS,OAAO;AAAA,MACtC,KAAA,EAAO,oBAAoB,KAAM,CAAA,GAAA;AAAA,MACjC,GAAA,EAAK,kBAAkB,KAAM,CAAA;AAAA,KAC7B,CAAA,CAAA;AAEF,IAAA,MAAM,uBAA0B,GAAA,QAAA,CAAS,OAAO,EAAE,KAAO,EAAA,eAAA,CAAgB,KAAM,CAAA,KAAA,CAAM,MAAO,CAAA,CAAC,EAAE,IAAA,EAAW,KAAA,IAAA,KAAS,SAAS,CAAA,EAAG,GAAK,EAAA,eAAA,CAAgB,KAAM,CAAA,GAAA,CAAI,MAAO,CAAA,CAAC,EAAE,IAAA,EAAW,KAAA,IAAA,KAAS,SAAS,CAAA,EAAI,CAAA,CAAA;AAEzM,IAAA,MAAM,aAAa,GAAI,CAAA,UAAA,CAAW,KAAO,EAAA,KAAA,EAAO,MAAM,CAAA;AACtD,IAAA,MAAM,WAAW,GAAI,CAAA,UAAA,CAAW,KAAO,EAAA,GAAA,EAAK,MAAM,CAAA;AAElD,IAAM,KAAA,CAAA,CAAC,YAAY,QAAQ,CAAA,EAAG,CAAC,CAAC,WAAA,EAAa,SAAS,CAAM,KAAA;AAC1D,MAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,KAAO,EAAA,WAAA,EAAa,MAAQ,EAAA,GAAA,EAAK,SAAW,EAAA,IAAA,EAAO,EAAA;AAAA,KACzE,CAAA;AAED,IAAM,KAAA,CAAA,UAAA,EAAY,CAAC,WAAgB,KAAA;AACjC,MAAA,IAAI,WAAe,IAAA,WAAA,CAAY,KAAS,IAAA,WAAA,CAAY,GAAK,EAAA;AACvD,QAAI,IAAA,CAAC,WAAW,KAAS,IAAA,WAAA,CAAY,MAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAM,KAAA,CAAA;AACvE,UAAW,UAAA,CAAA,KAAA,GAAQ,WAAY,CAAA,KAAA,CAAM,IAAK,EAAA;AAC5C,QAAI,IAAA,CAAC,SAAS,KAAS,IAAA,WAAA,CAAY,IAAI,OAAQ,CAAA,QAAA,CAAS,KAAK,CAAM,KAAA,CAAA;AACjE,UAAS,QAAA,CAAA,KAAA,GAAQ,WAAY,CAAA,GAAA,CAAI,IAAK,EAAA;AAAA;AAE1C,MAAA,IAAI,CAAC,WAAa,EAAA;AAChB,QAAA,UAAA,CAAW,KAAQ,GAAA,MAAA;AACnB,QAAA,QAAA,CAAS,KAAQ,GAAA,MAAA;AAAA;AACnB,KACD,CAAA;AAED,IAAA,KAAA,CAAM,CAAC,UAAY,EAAA,MAAM,GAAG,CAAC,CAAC,WAAW,CAAM,KAAA;AAC7C,MAAA,IAAI,gBAAgB,MAAW,EAAA;AAC7B,QAAmB,kBAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,iBAAA,CAAkB,EAAE,KAAO,EAAA,WAAA,EAAa,SAAU,EAAC,CAAE,EAAA;AAAA,OAG9E,MAAA,IAAA,MAAA,CAAO,MAAO,CAAA,kBAAA,CAAmB,KAAK,CAAA,CAAE,KAAM,CAAA,CAAA,KAAA,KAAS,KAAU,KAAA,IAAI,CAAK,IAAA,WAAA,KAAgB,MAAW,EAAA;AAC5G,QAAmB,kBAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,eAAgB,EAAA;AAAA;AAClD,KACD,CAAA;AAED,IAAM,KAAA,CAAA,MAAA,EAAQ,CAAC,KAAU,KAAA;AACvB,MAAI,IAAA,SAAA,CAAU,SAAU,EAAA,KAAM,KAAO,EAAA;AACnC,QAAA,SAAA,CAAU,UAAU,KAAK,CAAA;AAGzB,QAAA,QAAA,CAAS,MAAM;AACb,UAAA,eAAA,CAAgB,MAAM,KAAM,EAAA;AAC5B,UAAmB,kBAAA,CAAA,aAAA,CAAc,KAAK,CAAE,CAAA,OAAA,CAAQ,UAAQ,eAAgB,CAAA,KAAA,CAAM,GAAI,CAAA,IAAmB,CAAC,CAAA;AAAA,SACvG,CAAA;AAAA;AACH,KACD,CAAA;AAED,IAAM,KAAA,CAAA,UAAA,EAAY,CAAC,WAAgB,KAAA;AACjC,MAAI,IAAA,WAAA,IAAe,YAAY,KAAU,KAAA,MAAA,IAAa,YAAY,KAAM,CAAA,OAAA,CAAQ,WAAY,CAAA,KAAK,CAAM,KAAA,CAAA;AACrG,QAAY,WAAA,CAAA,KAAA,GAAQ,WAAY,CAAA,KAAA,CAAM,IAAK,EAAA;AAAA,KAC9C,CAAA;AAED,IAAA,KAAA,CAAM,CAAC,QAAU,EAAA,MAAM,GAAG,CAAC,CAAC,SAAS,CAAM,KAAA;AACzC,MAAA,IAAI,cAAc,MAAW,EAAA;AAC3B,QAAiB,gBAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,iBAAA,CAAkB,EAAE,KAAO,EAAA,SAAA,EAAW,SAAU,EAAC,CAAE,EAAA;AAAA,OAG1E,MAAA,IAAA,MAAA,CAAO,MAAO,CAAA,gBAAA,CAAiB,KAAK,CAAA,CAAE,KAAM,CAAA,CAAA,KAAA,KAAS,KAAU,KAAA,IAAI,CAAK,IAAA,SAAA,KAAc,MAAW,EAAA;AACxG,QAAiB,gBAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,eAAgB,EAAA;AAAA;AAChD,KACD,CAAA;AAED,IAAM,MAAA,qBAAA,GAAwB,IAAwB,IAAI,CAAA;AAE1D,IAAA,MAAM,mBAAsB,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,IAAK,CAAA,eAAA,CAAgB,KAAK,CAAA,CAAE,SAAU,CAAA,CAAA,EAAA,KACrF,EAAG,CAAA,YAAA,CAAa,8BAA8B,CAAA,KAAM,qBAAsB,CAAA,KAAA,EAAO,YAAa,CAAA,8BAA8B,CACzH,IAAA,EAAA,CAAG,YAAa,CAAA,yCAAyC,CAAM,KAAA,qBAAA,CAAsB,KAAO,EAAA,YAAA,CAAa,yCAAyC,CAAC,CAAC,CAAA;AAEzJ,IAAM,MAAA,oBAAA,GAAuB,SAAS,MAAM;AAC1C,MAAA,MAAM,IAAO,GAAA,GAAA,CAAI,KAAU,KAAA,KAAA,GAAQ,EAAK,GAAA,CAAA;AACxC,MAAM,MAAA,aAAA,GAAgB,IAAO,GAAA,CAAA,GAAI,mBAAoB,CAAA,KAAA,GAAQ,IAAI,mBAAoB,CAAA,KAAA,GAAQ,eAAgB,CAAA,KAAA,CAAM,IAAO,GAAA,CAAA;AAC1H,MAAI,IAAA,aAAA;AACF,QAAO,OAAA,IAAA;AACT,MAAM,MAAA,cAAA,GAAiB,MAAM,IAAK,CAAA,eAAA,CAAgB,KAAK,CAAE,CAAA,mBAAA,CAAoB,QAAQ,IAAI,CAAA;AACzF,MAAO,OAAA,cAAA;AAAA,KACR,CAAA;AAED,IAAM,MAAA,oBAAA,GAAuB,SAAS,MAAM;AAC1C,MAAA,MAAM,IAAO,GAAA,GAAA,CAAI,KAAU,KAAA,KAAA,GAAQ,EAAK,GAAA,CAAA;AACxC,MAAM,MAAA,aAAA,GAAgB,IAAO,GAAA,CAAA,GAAI,mBAAoB,CAAA,KAAA,GAAQ,IAAI,mBAAoB,CAAA,KAAA,GAAQ,eAAgB,CAAA,KAAA,CAAM,IAAO,GAAA,CAAA;AAC1H,MAAI,IAAA,aAAA;AACF,QAAO,OAAA,IAAA;AAET,MAAM,MAAA,cAAA,GAAiB,MAAM,IAAK,CAAA,eAAA,CAAgB,KAAK,CAAE,CAAA,mBAAA,CAAoB,QAAQ,IAAI,CAAA;AACzF,MAAO,OAAA,cAAA;AAAA,KACR,CAAA;AAED,IAAA,MAAM,MAAM,MAAO,EAAA;AAEnB,IAAA,SAAS,cAAc,CAAkB,EAAA;AACvC,MAAI,IAAA,CAAC,sBAAuB,CAAA,CAAA,CAAE,GAAG,CAAA;AAC/B,QAAA;AACF,MAAI,IAAA,CAAA,CAAE,QAAQ,GAAI,CAAA,UAAA;AAChB,QAAA,oBAAA,CAAqB,OAAO,KAAM,EAAA;AACpC,MAAI,IAAA,CAAA,CAAE,QAAQ,GAAI,CAAA,WAAA;AAChB,QAAA,oBAAA,CAAqB,OAAO,KAAM,EAAA;AAAA;AAGtC,IAAA,SAAS,kBAAkB,EAAiB,EAAA;AAC1C,MAAA,qBAAA,CAAsB,KAAQ,GAAA,EAAA;AAAA;AAGhC,IAAiC,gCAAA,CAAA;AAAA,MAC/B,mBAAmB,sBAAuB,CAAA,KAAA;AAAA,MAC1C,MAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAW,KAAM,CAAA,SAAA;AAAA,MACjB,QAAA;AAAA,MACA,aAAe,EAAA,EAAE,KAAO,EAAA,kBAAA,EAAoB,KAAK,gBAAiB,EAAA;AAAA,MAClE,SAAA;AAAA,MACA,eAAiB,EAAA,uBAAA;AAAA,MACjB,QAAU,EAAA,eAAA;AAAA,MACV,iBAAA;AAAA,MACA,SAAY,GAAA;AACV,QAAA,oBAAA,CAAqB,OAAO,KAAM,EAAA;AAAA;AACpC,KACD,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DateRangeFieldRoot.js","sources":["../../src/DateRangeField/DateRangeFieldRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\n\nimport type { Ref } from 'vue'\nimport type { Matcher } from '@/date'\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Formatter } from '@/shared'\nimport type { DateRange, DateStep, Granularity, HourCycle, SegmentPart, SegmentValueObj } from '@/shared/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport {\n areAllDaysBetweenValid,\n hasTime,\n isBefore,\n isBeforeOrSame,\n\n} from '@/date'\nimport { createContext, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n createContent,\n\n getDefaultDate,\n getSegmentElements,\n\n initializeSegmentValues,\n isSegmentNavigationKey,\n normalizeDateStep,\n normalizeHourCycle,\n\n syncSegmentValues,\n} from '@/shared/date'\n\nexport type DateRangeType = 'start' | 'end'\n\ntype DateRangeFieldRootContext = {\n locale: Ref<string>\n startValue: Ref<DateValue | undefined>\n endValue: Ref<DateValue | undefined>\n placeholder: Ref<DateValue>\n isDateUnavailable?: Matcher\n isInvalid: Ref<boolean>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n formatter: Formatter\n hourCycle: HourCycle\n step: Ref<DateStep>\n segmentValues: Record<DateRangeType, Ref<SegmentValueObj>>\n segmentContents: Ref<{ start: { part: SegmentPart, value: string }[], end: { part: SegmentPart, value: string }[] }>\n elements: Ref<Set<HTMLElement>>\n focusNext: () => void\n setFocusedElement: (el: HTMLElement) => void\n}\n\nexport interface DateRangeFieldRootProps extends PrimitiveProps, FormFieldProps {\n /** The default value for the calendar */\n defaultValue?: DateRange\n /** The default placeholder date */\n defaultPlaceholder?: DateValue\n /** 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 */\n placeholder?: DateValue\n /** The controlled checked state of the calendar. Can be bound as `v-model`. */\n modelValue?: DateRange | null\n /** The hour cycle used for formatting times. Defaults to the local preference */\n hourCycle?: HourCycle\n /** The stepping interval for the time fields. Defaults to `1`. */\n step?: DateStep\n /** The granularity to use for formatting times. Defaults to day if a CalendarDate is provided, otherwise defaults to minute. The field will render segments for each part of the date up to and including the specified granularity */\n granularity?: Granularity\n /** Whether or not to hide the time zone segment of the field */\n hideTimeZone?: boolean\n /** The maximum date that can be selected */\n maxValue?: DateValue\n /** The minimum date that can be selected */\n minValue?: DateValue\n /** The locale to use for formatting dates */\n locale?: string\n /** Whether or not the date field is disabled */\n disabled?: boolean\n /** Whether or not the date field is readonly */\n readonly?: boolean\n /** A function that returns whether or not a date is unavailable */\n isDateUnavailable?: Matcher\n /** Id of the element */\n id?: string\n /** The reading direction of the date field when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n}\n\nexport type DateRangeFieldRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [DateRange]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n}\n\nexport const [injectDateRangeFieldRootContext, provideDateRangeFieldRootContext]\n = createContext<DateRangeFieldRootContext>('DateRangeFieldRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\nimport { computed, nextTick, onMounted, ref, toRefs, watch } from 'vue'\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { VisuallyHidden } from '@/VisuallyHidden'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DateRangeFieldRootProps>(), {\n defaultValue: undefined,\n disabled: false,\n readonly: false,\n placeholder: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DateRangeFieldRootEmits>()\nconst { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, dir: propDir, locale: propLocale } = toRefs(props)\nconst locale = useLocale(propLocale)\nconst dir = useDirection(propDir)\n\nconst formatter = useDateFormatter(locale.value, {\n hourCycle: normalizeHourCycle(props.hourCycle),\n})\nconst { primitiveElement, currentElement: parentElement }\n = usePrimitiveElement()\nconst segmentElements = ref<Set<HTMLElement>>(new Set())\n\nonMounted(() => {\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n})\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue ?? { start: undefined, end: undefined },\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateRange | null>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: props.granularity,\n defaultValue: modelValue.value?.start,\n locale: props.locale,\n})\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst step = computed(() => normalizeDateStep(props))\n\nconst inferredGranularity = computed(() => {\n if (props.granularity)\n return !hasTime(placeholder.value) ? 'day' : props.granularity\n\n return hasTime(placeholder.value) ? 'minute' : 'day'\n})\n\nconst isStartInvalid = computed(() => {\n if (!modelValue.value?.start)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value.start))\n return true\n\n if (props.minValue && isBefore(modelValue.value.start, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value.start))\n return true\n\n return false\n})\n\nconst isEndInvalid = computed(() => {\n if (!modelValue.value?.end)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value.end))\n return true\n\n if (props.minValue && isBefore(modelValue.value.end, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value.end))\n return true\n\n return false\n})\n\nconst isInvalid = computed(() => {\n if (isStartInvalid.value || isEndInvalid.value)\n return true\n\n if (!modelValue.value?.start || !modelValue.value?.end)\n return false\n\n if (!isBeforeOrSame(modelValue.value.start, modelValue.value.end))\n return true\n\n if (propsIsDateUnavailable.value !== undefined) {\n const allValid = areAllDaysBetweenValid(\n modelValue.value.start,\n modelValue.value.end,\n propsIsDateUnavailable.value,\n undefined,\n )\n if (!allValid)\n return true\n }\n return false\n})\n\nconst initialSegments = initializeSegmentValues(inferredGranularity.value)\n\nconst startSegmentValues = ref<SegmentValueObj>(modelValue.value?.start ? { ...syncSegmentValues({ value: modelValue.value.start, formatter }) } : { ...initialSegments })\nconst endSegmentValues = ref<SegmentValueObj>(modelValue.value?.end ? { ...syncSegmentValues({ value: modelValue.value.end, formatter }) } : { ...initialSegments })\n\nconst startSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: startSegmentValues.value,\n locale,\n}))\n\nconst endSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: endSegmentValues.value,\n locale,\n}))\n\nconst segmentContents = computed(() => ({\n start: startSegmentContent.value.arr,\n end: endSegmentContent.value.arr,\n}))\n\nconst editableSegmentContents = computed(() => ({ start: segmentContents.value.start.filter(({ part }) => part !== 'literal'), end: segmentContents.value.end.filter(({ part }) => part !== 'literal') }))\n\nconst startValue = ref(modelValue.value?.start?.copy()) as Ref<DateValue | undefined>\nconst endValue = ref(modelValue.value?.end?.copy()) as Ref<DateValue | undefined>\n\nwatch([startValue, endValue], ([_startValue, _endValue]) => {\n modelValue.value = { start: _startValue?.copy(), end: _endValue?.copy() }\n})\n\nwatch(modelValue, (_modelValue) => {\n const isStartChanged = _modelValue?.start && startValue.value\n ? _modelValue.start.compare(startValue.value) !== 0\n : _modelValue?.start !== startValue.value\n if (isStartChanged) {\n startValue.value = _modelValue?.start?.copy()\n }\n\n const isEndChanged = _modelValue?.end && endValue.value\n ? _modelValue.end.compare(endValue.value) !== 0\n : _modelValue?.end !== endValue.value\n if (isEndChanged) {\n endValue.value = _modelValue?.end?.copy()\n }\n})\n\nwatch([startValue, locale], ([_startValue]) => {\n if (_startValue !== undefined) {\n startSegmentValues.value = { ...syncSegmentValues({ value: _startValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(startSegmentValues.value).every(value => value !== null) && _startValue === undefined) {\n startSegmentValues.value = { ...initialSegments }\n }\n})\n\nwatch(locale, (value) => {\n if (formatter.getLocale() !== value) {\n formatter.setLocale(value)\n // Locale changed, so we need to clear the segment elements and re-get them (different order)\n // Get the focusable elements again on the next tick\n nextTick(() => {\n segmentElements.value.clear()\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n })\n }\n})\n\nwatch(modelValue, (_modelValue) => {\n if (_modelValue && _modelValue.start !== undefined && placeholder.value.compare(_modelValue.start) !== 0)\n placeholder.value = _modelValue.start.copy()\n})\n\nwatch([endValue, locale], ([_endValue]) => {\n if (_endValue !== undefined) {\n endSegmentValues.value = { ...syncSegmentValues({ value: _endValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(endSegmentValues.value).every(value => value !== null) && _endValue === undefined) {\n endSegmentValues.value = { ...initialSegments }\n }\n})\n\nconst currentFocusedElement = ref<HTMLElement | null>(null)\n\nconst currentSegmentIndex = computed(() => Array.from(segmentElements.value).findIndex(el =>\n el.getAttribute('data-reka-date-field-segment') === currentFocusedElement.value?.getAttribute('data-reka-date-field-segment')\n && el.getAttribute('data-reka-date-range-field-segment-type') === currentFocusedElement.value?.getAttribute('data-reka-date-range-field-segment-type')))\n\nconst nextFocusableSegment = computed(() => {\n const sign = dir.value === 'rtl' ? -1 : 1\n const nextCondition = sign < 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1\n if (nextCondition)\n return null\n const segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value + sign]\n return segmentToFocus\n})\n\nconst prevFocusableSegment = computed(() => {\n const sign = dir.value === 'rtl' ? -1 : 1\n const prevCondition = sign > 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1\n if (prevCondition)\n return null\n\n const segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value - sign]\n return segmentToFocus\n})\n\nconst kbd = useKbd()\n\nfunction handleKeydown(e: KeyboardEvent) {\n if (!isSegmentNavigationKey(e.key))\n return\n if (e.key === kbd.ARROW_LEFT)\n prevFocusableSegment.value?.focus()\n if (e.key === kbd.ARROW_RIGHT)\n nextFocusableSegment.value?.focus()\n}\n\nfunction setFocusedElement(el: HTMLElement) {\n currentFocusedElement.value = el\n}\n\nprovideDateRangeFieldRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n locale,\n startValue,\n endValue,\n placeholder,\n disabled,\n formatter,\n hourCycle: props.hourCycle,\n step,\n readonly,\n segmentValues: { start: startSegmentValues, end: endSegmentValues },\n isInvalid,\n segmentContents: editableSegmentContents,\n elements: segmentElements,\n setFocusedElement,\n focusNext() {\n nextFocusableSegment.value?.focus()\n },\n})\n\ndefineExpose({\n setFocusedElement,\n})\n</script>\n\n<template>\n <Primitive\n v-bind=\"$attrs\"\n ref=\"primitiveElement\"\n role=\"group\"\n :aria-disabled=\"disabled ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-readonly=\"readonly ? '' : undefined\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :dir=\"dir\"\n @keydown.left.right=\"handleKeydown\"\n >\n <slot\n :model-value=\"modelValue\"\n :segments=\"segmentContents\"\n />\n\n <VisuallyHidden\n :id=\"id\"\n as=\"input\"\n feature=\"focusable\"\n tabindex=\"-1\"\n :value=\"`${modelValue?.start?.toString()} - ${modelValue?.end?.toString()}`\"\n :name=\"name\"\n :disabled=\"disabled\"\n :required=\"required\"\n @focus=\"Array.from(segmentElements)?.[0]?.focus()\"\n />\n </Primitive>\n</template>\n"],"names":[],"mappings":"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"}
@@ -27,7 +27,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
27
27
  preventDeselect: vue.unref(rootContext).preventDeselect.value,
28
28
  minValue: vue.unref(rootContext).minValue.value,
29
29
  maxValue: vue.unref(rootContext).maxValue.value,
30
- dir: vue.unref(rootContext).dir.value
30
+ dir: vue.unref(rootContext).dir.value,
31
+ fixedDate: vue.unref(rootContext).fixedDate.value
31
32
  }, {
32
33
  "initial-focus": "",
33
34
  "model-value": vue.unref(rootContext).modelValue.value,