reka-ui 2.1.1 → 2.2.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 (796) hide show
  1. package/README.md +1 -1
  2. package/dist/Accordion/AccordionContent.cjs +2 -1
  3. package/dist/Accordion/AccordionContent.cjs.map +1 -1
  4. package/dist/Accordion/AccordionContent.js +3 -2
  5. package/dist/Accordion/AccordionContent.js.map +1 -1
  6. package/dist/Accordion/AccordionHeader.js +1 -1
  7. package/dist/Accordion/AccordionItem.cjs +2 -2
  8. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  9. package/dist/Accordion/AccordionItem.js +3 -3
  10. package/dist/Accordion/AccordionItem.js.map +1 -1
  11. package/dist/Accordion/AccordionRoot.cjs +1 -1
  12. package/dist/Accordion/AccordionRoot.js +2 -2
  13. package/dist/Accordion/AccordionTrigger.cjs +2 -2
  14. package/dist/Accordion/AccordionTrigger.cjs.map +1 -1
  15. package/dist/Accordion/AccordionTrigger.js +3 -3
  16. package/dist/Accordion/AccordionTrigger.js.map +1 -1
  17. package/dist/AlertDialog/AlertDialogAction.js +1 -1
  18. package/dist/AlertDialog/AlertDialogCancel.js +1 -1
  19. package/dist/AlertDialog/AlertDialogContent.cjs +1 -1
  20. package/dist/AlertDialog/AlertDialogContent.js +2 -2
  21. package/dist/AlertDialog/AlertDialogDescription.js +1 -1
  22. package/dist/AlertDialog/AlertDialogOverlay.js +1 -1
  23. package/dist/AlertDialog/AlertDialogPortal.js +1 -1
  24. package/dist/AlertDialog/AlertDialogRoot.js +1 -1
  25. package/dist/AlertDialog/AlertDialogTitle.js +1 -1
  26. package/dist/AlertDialog/AlertDialogTrigger.js +1 -1
  27. package/dist/AspectRatio/AspectRatio.js +1 -1
  28. package/dist/Avatar/AvatarFallback.js +1 -1
  29. package/dist/Avatar/AvatarImage.js +1 -1
  30. package/dist/Avatar/AvatarRoot.cjs +1 -1
  31. package/dist/Avatar/AvatarRoot.js +2 -2
  32. package/dist/Calendar/CalendarCell.cjs +2 -2
  33. package/dist/Calendar/CalendarCell.js +3 -3
  34. package/dist/Calendar/CalendarCellTrigger.cjs +74 -50
  35. package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
  36. package/dist/Calendar/CalendarCellTrigger.js +75 -51
  37. package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
  38. package/dist/Calendar/CalendarGrid.cjs +2 -2
  39. package/dist/Calendar/CalendarGrid.cjs.map +1 -1
  40. package/dist/Calendar/CalendarGrid.js +3 -3
  41. package/dist/Calendar/CalendarGrid.js.map +1 -1
  42. package/dist/Calendar/CalendarGridBody.js +1 -1
  43. package/dist/Calendar/CalendarGridHead.js +1 -1
  44. package/dist/Calendar/CalendarGridRow.js +1 -1
  45. package/dist/Calendar/CalendarHeadCell.js +1 -1
  46. package/dist/Calendar/CalendarHeader.js +1 -1
  47. package/dist/Calendar/CalendarHeading.cjs +1 -1
  48. package/dist/Calendar/CalendarHeading.js +2 -2
  49. package/dist/Calendar/CalendarNext.cjs +3 -3
  50. package/dist/Calendar/CalendarNext.js +4 -4
  51. package/dist/Calendar/CalendarPrev.cjs +3 -3
  52. package/dist/Calendar/CalendarPrev.js +4 -4
  53. package/dist/Calendar/CalendarRoot.cjs +14 -12
  54. package/dist/Calendar/CalendarRoot.cjs.map +1 -1
  55. package/dist/Calendar/CalendarRoot.js +15 -13
  56. package/dist/Calendar/CalendarRoot.js.map +1 -1
  57. package/dist/Calendar/useCalendar.js +1 -1
  58. package/dist/Calendar/utils.cjs +9 -0
  59. package/dist/Calendar/utils.cjs.map +1 -0
  60. package/dist/Calendar/utils.js +7 -0
  61. package/dist/Calendar/utils.js.map +1 -0
  62. package/dist/Checkbox/CheckboxGroupRoot.cjs +3 -3
  63. package/dist/Checkbox/CheckboxGroupRoot.js +4 -4
  64. package/dist/Checkbox/CheckboxIndicator.cjs +1 -1
  65. package/dist/Checkbox/CheckboxIndicator.js +2 -2
  66. package/dist/Checkbox/CheckboxRoot.cjs +8 -8
  67. package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
  68. package/dist/Checkbox/CheckboxRoot.js +10 -10
  69. package/dist/Checkbox/CheckboxRoot.js.map +1 -1
  70. package/dist/Collapsible/CollapsibleContent.cjs +4 -4
  71. package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
  72. package/dist/Collapsible/CollapsibleContent.js +5 -5
  73. package/dist/Collapsible/CollapsibleContent.js.map +1 -1
  74. package/dist/Collapsible/CollapsibleRoot.cjs +4 -4
  75. package/dist/Collapsible/CollapsibleRoot.js +5 -5
  76. package/dist/Collapsible/CollapsibleTrigger.cjs +2 -2
  77. package/dist/Collapsible/CollapsibleTrigger.js +3 -3
  78. package/dist/Combobox/ComboboxAnchor.js +1 -1
  79. package/dist/Combobox/ComboboxArrow.js +1 -1
  80. package/dist/Combobox/ComboboxCancel.cjs +1 -1
  81. package/dist/Combobox/ComboboxCancel.js +2 -2
  82. package/dist/Combobox/ComboboxContent.cjs +1 -1
  83. package/dist/Combobox/ComboboxContent.cjs.map +1 -1
  84. package/dist/Combobox/ComboboxContent.js +2 -2
  85. package/dist/Combobox/ComboboxContent.js.map +1 -1
  86. package/dist/Combobox/ComboboxContentImpl.cjs +1 -1
  87. package/dist/Combobox/ComboboxContentImpl.js +2 -2
  88. package/dist/Combobox/ComboboxEmpty.js +1 -1
  89. package/dist/Combobox/ComboboxGroup.cjs +3 -3
  90. package/dist/Combobox/ComboboxGroup.cjs.map +1 -1
  91. package/dist/Combobox/ComboboxGroup.js +4 -4
  92. package/dist/Combobox/ComboboxGroup.js.map +1 -1
  93. package/dist/Combobox/ComboboxInput.cjs +1 -1
  94. package/dist/Combobox/ComboboxInput.js +2 -2
  95. package/dist/Combobox/ComboboxItem.cjs +2 -2
  96. package/dist/Combobox/ComboboxItem.cjs.map +1 -1
  97. package/dist/Combobox/ComboboxItem.js +3 -3
  98. package/dist/Combobox/ComboboxItem.js.map +1 -1
  99. package/dist/Combobox/ComboboxItemIndicator.js +1 -1
  100. package/dist/Combobox/ComboboxLabel.cjs +1 -1
  101. package/dist/Combobox/ComboboxLabel.cjs.map +1 -1
  102. package/dist/Combobox/ComboboxLabel.js +2 -2
  103. package/dist/Combobox/ComboboxLabel.js.map +1 -1
  104. package/dist/Combobox/ComboboxPortal.js +1 -1
  105. package/dist/Combobox/ComboboxRoot.cjs +7 -7
  106. package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
  107. package/dist/Combobox/ComboboxRoot.js +8 -8
  108. package/dist/Combobox/ComboboxRoot.js.map +1 -1
  109. package/dist/Combobox/ComboboxSeparator.js +1 -1
  110. package/dist/Combobox/ComboboxTrigger.cjs +3 -3
  111. package/dist/Combobox/ComboboxTrigger.js +4 -4
  112. package/dist/Combobox/ComboboxViewport.cjs +1 -1
  113. package/dist/Combobox/ComboboxViewport.js +2 -2
  114. package/dist/Combobox/ComboboxVirtualizer.js +1 -1
  115. package/dist/ConfigProvider/ConfigProvider.cjs +2 -2
  116. package/dist/ConfigProvider/ConfigProvider.js +2 -2
  117. package/dist/ContextMenu/ContextMenuArrow.js +1 -1
  118. package/dist/ContextMenu/ContextMenuCheckboxItem.js +1 -1
  119. package/dist/ContextMenu/ContextMenuContent.js +1 -1
  120. package/dist/ContextMenu/ContextMenuGroup.js +1 -1
  121. package/dist/ContextMenu/ContextMenuItem.js +1 -1
  122. package/dist/ContextMenu/ContextMenuItemIndicator.js +1 -1
  123. package/dist/ContextMenu/ContextMenuLabel.js +1 -1
  124. package/dist/ContextMenu/ContextMenuPortal.js +1 -1
  125. package/dist/ContextMenu/ContextMenuRadioGroup.js +1 -1
  126. package/dist/ContextMenu/ContextMenuRadioItem.js +1 -1
  127. package/dist/ContextMenu/ContextMenuRoot.cjs +1 -1
  128. package/dist/ContextMenu/ContextMenuRoot.js +2 -2
  129. package/dist/ContextMenu/ContextMenuSeparator.js +1 -1
  130. package/dist/ContextMenu/ContextMenuSub.cjs +2 -2
  131. package/dist/ContextMenu/ContextMenuSub.js +3 -3
  132. package/dist/ContextMenu/ContextMenuSubContent.js +1 -1
  133. package/dist/ContextMenu/ContextMenuSubTrigger.js +1 -1
  134. package/dist/ContextMenu/ContextMenuTrigger.cjs +1 -1
  135. package/dist/ContextMenu/ContextMenuTrigger.js +2 -2
  136. package/dist/DateField/DateFieldInput.cjs +5 -5
  137. package/dist/DateField/DateFieldInput.js +6 -6
  138. package/dist/DateField/DateFieldRoot.cjs +10 -10
  139. package/dist/DateField/DateFieldRoot.js +11 -11
  140. package/dist/DatePicker/DatePickerArrow.js +1 -1
  141. package/dist/DatePicker/DatePickerCalendar.js +1 -1
  142. package/dist/DatePicker/DatePickerCell.js +1 -1
  143. package/dist/DatePicker/DatePickerCellTrigger.js +1 -1
  144. package/dist/DatePicker/DatePickerClose.js +1 -1
  145. package/dist/DatePicker/DatePickerContent.js +1 -1
  146. package/dist/DatePicker/DatePickerField.js +1 -1
  147. package/dist/DatePicker/DatePickerGrid.js +1 -1
  148. package/dist/DatePicker/DatePickerGridBody.js +1 -1
  149. package/dist/DatePicker/DatePickerGridHead.js +1 -1
  150. package/dist/DatePicker/DatePickerGridRow.js +1 -1
  151. package/dist/DatePicker/DatePickerHeadCell.js +1 -1
  152. package/dist/DatePicker/DatePickerHeader.js +1 -1
  153. package/dist/DatePicker/DatePickerHeading.js +1 -1
  154. package/dist/DatePicker/DatePickerInput.js +1 -1
  155. package/dist/DatePicker/DatePickerNext.js +1 -1
  156. package/dist/DatePicker/DatePickerPrev.js +1 -1
  157. package/dist/DatePicker/DatePickerRoot.cjs +11 -11
  158. package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
  159. package/dist/DatePicker/DatePickerRoot.js +12 -12
  160. package/dist/DatePicker/DatePickerRoot.js.map +1 -1
  161. package/dist/DatePicker/DatePickerTrigger.js +1 -1
  162. package/dist/DateRangeField/DateRangeFieldInput.cjs +5 -5
  163. package/dist/DateRangeField/DateRangeFieldInput.js +6 -6
  164. package/dist/DateRangeField/DateRangeFieldRoot.cjs +22 -18
  165. package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
  166. package/dist/DateRangeField/DateRangeFieldRoot.js +23 -19
  167. package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
  168. package/dist/DateRangePicker/DateRangePickerAnchor.js +1 -1
  169. package/dist/DateRangePicker/DateRangePickerArrow.js +1 -1
  170. package/dist/DateRangePicker/DateRangePickerCalendar.js +1 -1
  171. package/dist/DateRangePicker/DateRangePickerCell.js +1 -1
  172. package/dist/DateRangePicker/DateRangePickerCellTrigger.js +1 -1
  173. package/dist/DateRangePicker/DateRangePickerClose.js +1 -1
  174. package/dist/DateRangePicker/DateRangePickerContent.js +1 -1
  175. package/dist/DateRangePicker/DateRangePickerField.js +1 -1
  176. package/dist/DateRangePicker/DateRangePickerGrid.js +1 -1
  177. package/dist/DateRangePicker/DateRangePickerGridBody.js +1 -1
  178. package/dist/DateRangePicker/DateRangePickerGridHead.js +1 -1
  179. package/dist/DateRangePicker/DateRangePickerGridRow.js +1 -1
  180. package/dist/DateRangePicker/DateRangePickerHeadCell.js +1 -1
  181. package/dist/DateRangePicker/DateRangePickerHeader.js +1 -1
  182. package/dist/DateRangePicker/DateRangePickerHeading.js +1 -1
  183. package/dist/DateRangePicker/DateRangePickerInput.js +1 -1
  184. package/dist/DateRangePicker/DateRangePickerNext.js +1 -1
  185. package/dist/DateRangePicker/DateRangePickerPrev.js +1 -1
  186. package/dist/DateRangePicker/DateRangePickerRoot.cjs +11 -11
  187. package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
  188. package/dist/DateRangePicker/DateRangePickerRoot.js +12 -12
  189. package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
  190. package/dist/DateRangePicker/DateRangePickerTrigger.js +1 -1
  191. package/dist/Dialog/DialogClose.cjs +1 -1
  192. package/dist/Dialog/DialogClose.js +2 -2
  193. package/dist/Dialog/DialogContent.js +1 -1
  194. package/dist/Dialog/DialogContentImpl.cjs +2 -2
  195. package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
  196. package/dist/Dialog/DialogContentImpl.js +3 -3
  197. package/dist/Dialog/DialogContentImpl.js.map +1 -1
  198. package/dist/Dialog/DialogContentModal.js +1 -1
  199. package/dist/Dialog/DialogContentNonModal.js +1 -1
  200. package/dist/Dialog/DialogDescription.js +1 -1
  201. package/dist/Dialog/DialogOverlay.js +1 -1
  202. package/dist/Dialog/DialogOverlayImpl.js +1 -1
  203. package/dist/Dialog/DialogPortal.js +1 -1
  204. package/dist/Dialog/DialogRoot.cjs +2 -2
  205. package/dist/Dialog/DialogRoot.js +2 -2
  206. package/dist/Dialog/DialogTitle.js +1 -1
  207. package/dist/Dialog/DialogTrigger.cjs +3 -3
  208. package/dist/Dialog/DialogTrigger.cjs.map +1 -1
  209. package/dist/Dialog/DialogTrigger.js +4 -4
  210. package/dist/Dialog/DialogTrigger.js.map +1 -1
  211. package/dist/DismissableLayer/DismissableLayer.cjs +1 -1
  212. package/dist/DismissableLayer/DismissableLayer.js +2 -2
  213. package/dist/DismissableLayer/DismissableLayerBranch.js +1 -1
  214. package/dist/DismissableLayer/utils.cjs +1 -0
  215. package/dist/DismissableLayer/utils.cjs.map +1 -1
  216. package/dist/DismissableLayer/utils.js +1 -0
  217. package/dist/DismissableLayer/utils.js.map +1 -1
  218. package/dist/DropdownMenu/DropdownMenuArrow.js +1 -1
  219. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +1 -1
  220. package/dist/DropdownMenu/DropdownMenuContent.cjs +1 -1
  221. package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
  222. package/dist/DropdownMenu/DropdownMenuContent.js +2 -2
  223. package/dist/DropdownMenu/DropdownMenuContent.js.map +1 -1
  224. package/dist/DropdownMenu/DropdownMenuGroup.js +1 -1
  225. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  226. package/dist/DropdownMenu/DropdownMenuItemIndicator.js +1 -1
  227. package/dist/DropdownMenu/DropdownMenuLabel.js +1 -1
  228. package/dist/DropdownMenu/DropdownMenuPortal.js +1 -1
  229. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +1 -1
  230. package/dist/DropdownMenu/DropdownMenuRadioItem.js +1 -1
  231. package/dist/DropdownMenu/DropdownMenuRoot.cjs +3 -3
  232. package/dist/DropdownMenu/DropdownMenuRoot.js +4 -4
  233. package/dist/DropdownMenu/DropdownMenuSeparator.js +1 -1
  234. package/dist/DropdownMenu/DropdownMenuSub.cjs +2 -2
  235. package/dist/DropdownMenu/DropdownMenuSub.cjs.map +1 -1
  236. package/dist/DropdownMenu/DropdownMenuSub.js +3 -3
  237. package/dist/DropdownMenu/DropdownMenuSub.js.map +1 -1
  238. package/dist/DropdownMenu/DropdownMenuSubContent.js +1 -1
  239. package/dist/DropdownMenu/DropdownMenuSubTrigger.js +1 -1
  240. package/dist/DropdownMenu/DropdownMenuTrigger.cjs +4 -4
  241. package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
  242. package/dist/DropdownMenu/DropdownMenuTrigger.js +5 -5
  243. package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
  244. package/dist/Editable/EditableArea.cjs +7 -7
  245. package/dist/Editable/EditableArea.js +8 -8
  246. package/dist/Editable/EditableCancelTrigger.cjs +4 -4
  247. package/dist/Editable/EditableCancelTrigger.js +5 -5
  248. package/dist/Editable/EditableEditTrigger.cjs +4 -4
  249. package/dist/Editable/EditableEditTrigger.js +5 -5
  250. package/dist/Editable/EditableInput.cjs +4 -4
  251. package/dist/Editable/EditableInput.js +5 -5
  252. package/dist/Editable/EditablePreview.cjs +4 -4
  253. package/dist/Editable/EditablePreview.js +5 -5
  254. package/dist/Editable/EditableRoot.cjs +2 -2
  255. package/dist/Editable/EditableRoot.js +3 -3
  256. package/dist/Editable/EditableSubmitTrigger.cjs +4 -4
  257. package/dist/Editable/EditableSubmitTrigger.js +5 -5
  258. package/dist/FocusScope/FocusScope.js +1 -1
  259. package/dist/FocusScope/utils.cjs +1 -1
  260. package/dist/FocusScope/utils.cjs.map +1 -1
  261. package/dist/FocusScope/utils.js +1 -1
  262. package/dist/FocusScope/utils.js.map +1 -1
  263. package/dist/HoverCard/HoverCardArrow.js +1 -1
  264. package/dist/HoverCard/HoverCardContent.js +1 -1
  265. package/dist/HoverCard/HoverCardContentImpl.cjs +2 -2
  266. package/dist/HoverCard/HoverCardContentImpl.js +3 -3
  267. package/dist/HoverCard/HoverCardPortal.js +1 -1
  268. package/dist/HoverCard/HoverCardRoot.cjs +3 -3
  269. package/dist/HoverCard/HoverCardRoot.js +4 -4
  270. package/dist/HoverCard/HoverCardTrigger.js +1 -1
  271. package/dist/HoverCard/utils.cjs +1 -1
  272. package/dist/HoverCard/utils.cjs.map +1 -1
  273. package/dist/HoverCard/utils.js +1 -1
  274. package/dist/HoverCard/utils.js.map +1 -1
  275. package/dist/Label/Label.js +1 -1
  276. package/dist/Listbox/ListboxContent.cjs +2 -2
  277. package/dist/Listbox/ListboxContent.js +3 -3
  278. package/dist/Listbox/ListboxFilter.cjs +8 -5
  279. package/dist/Listbox/ListboxFilter.cjs.map +1 -1
  280. package/dist/Listbox/ListboxFilter.js +9 -6
  281. package/dist/Listbox/ListboxFilter.js.map +1 -1
  282. package/dist/Listbox/ListboxGroup.cjs +2 -2
  283. package/dist/Listbox/ListboxGroup.cjs.map +1 -1
  284. package/dist/Listbox/ListboxGroup.js +3 -3
  285. package/dist/Listbox/ListboxGroup.js.map +1 -1
  286. package/dist/Listbox/ListboxGroupLabel.js +1 -1
  287. package/dist/Listbox/ListboxItem.cjs +6 -6
  288. package/dist/Listbox/ListboxItem.cjs.map +1 -1
  289. package/dist/Listbox/ListboxItem.js +7 -7
  290. package/dist/Listbox/ListboxItem.js.map +1 -1
  291. package/dist/Listbox/ListboxItemIndicator.js +1 -1
  292. package/dist/Listbox/ListboxRoot.cjs +6 -6
  293. package/dist/Listbox/ListboxRoot.cjs.map +1 -1
  294. package/dist/Listbox/ListboxRoot.js +7 -7
  295. package/dist/Listbox/ListboxRoot.js.map +1 -1
  296. package/dist/Listbox/ListboxVirtualizer.js +1 -1
  297. package/dist/Listbox/utils.cjs +2 -2
  298. package/dist/Listbox/utils.cjs.map +1 -1
  299. package/dist/Listbox/utils.js +2 -2
  300. package/dist/Listbox/utils.js.map +1 -1
  301. package/dist/Menu/MenuAnchor.js +1 -1
  302. package/dist/Menu/MenuArrow.js +1 -1
  303. package/dist/Menu/MenuCheckboxItem.js +1 -1
  304. package/dist/Menu/MenuContent.js +1 -1
  305. package/dist/Menu/MenuContentImpl.cjs +2 -2
  306. package/dist/Menu/MenuContentImpl.js +4 -4
  307. package/dist/Menu/MenuGroup.js +1 -1
  308. package/dist/Menu/MenuItem.js +1 -1
  309. package/dist/Menu/MenuItemImpl.cjs +3 -3
  310. package/dist/Menu/MenuItemImpl.js +4 -4
  311. package/dist/Menu/MenuItemIndicator.cjs +1 -1
  312. package/dist/Menu/MenuItemIndicator.js +2 -2
  313. package/dist/Menu/MenuLabel.js +1 -1
  314. package/dist/Menu/MenuPortal.js +1 -1
  315. package/dist/Menu/MenuRadioGroup.js +1 -1
  316. package/dist/Menu/MenuRadioItem.js +1 -1
  317. package/dist/Menu/MenuRoot.js +1 -1
  318. package/dist/Menu/MenuRootContentModal.js +1 -1
  319. package/dist/Menu/MenuRootContentNonModal.js +1 -1
  320. package/dist/Menu/MenuSeparator.js +1 -1
  321. package/dist/Menu/MenuSub.cjs +2 -2
  322. package/dist/Menu/MenuSub.js +3 -3
  323. package/dist/Menu/MenuSubContent.cjs +1 -1
  324. package/dist/Menu/MenuSubContent.cjs.map +1 -1
  325. package/dist/Menu/MenuSubContent.js +2 -2
  326. package/dist/Menu/MenuSubContent.js.map +1 -1
  327. package/dist/Menu/MenuSubTrigger.cjs +2 -2
  328. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  329. package/dist/Menu/MenuSubTrigger.js +3 -3
  330. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  331. package/dist/Menubar/MenubarArrow.js +1 -1
  332. package/dist/Menubar/MenubarCheckboxItem.js +1 -1
  333. package/dist/Menubar/MenubarContent.cjs +1 -1
  334. package/dist/Menubar/MenubarContent.cjs.map +1 -1
  335. package/dist/Menubar/MenubarContent.js +2 -2
  336. package/dist/Menubar/MenubarContent.js.map +1 -1
  337. package/dist/Menubar/MenubarGroup.js +1 -1
  338. package/dist/Menubar/MenubarItem.js +1 -1
  339. package/dist/Menubar/MenubarItemIndicator.js +1 -1
  340. package/dist/Menubar/MenubarLabel.js +1 -1
  341. package/dist/Menubar/MenubarMenu.cjs +1 -1
  342. package/dist/Menubar/MenubarMenu.js +2 -2
  343. package/dist/Menubar/MenubarPortal.js +1 -1
  344. package/dist/Menubar/MenubarRadioGroup.js +1 -1
  345. package/dist/Menubar/MenubarRadioItem.js +1 -1
  346. package/dist/Menubar/MenubarRoot.cjs +3 -3
  347. package/dist/Menubar/MenubarRoot.js +4 -4
  348. package/dist/Menubar/MenubarSeparator.js +1 -1
  349. package/dist/Menubar/MenubarSub.cjs +2 -2
  350. package/dist/Menubar/MenubarSub.js +3 -3
  351. package/dist/Menubar/MenubarSubContent.js +1 -1
  352. package/dist/Menubar/MenubarSubTrigger.js +1 -1
  353. package/dist/Menubar/MenubarTrigger.cjs +5 -5
  354. package/dist/Menubar/MenubarTrigger.js +6 -6
  355. package/dist/NavigationMenu/NavigationMenuContent.cjs +1 -1
  356. package/dist/NavigationMenu/NavigationMenuContent.js +2 -2
  357. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs +1 -1
  358. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
  359. package/dist/NavigationMenu/NavigationMenuContentImpl.js +2 -2
  360. package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
  361. package/dist/NavigationMenu/NavigationMenuIndicator.js +1 -1
  362. package/dist/NavigationMenu/NavigationMenuItem.cjs +2 -2
  363. package/dist/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
  364. package/dist/NavigationMenu/NavigationMenuItem.js +3 -3
  365. package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
  366. package/dist/NavigationMenu/NavigationMenuLink.cjs +2 -2
  367. package/dist/NavigationMenu/NavigationMenuLink.js +3 -3
  368. package/dist/NavigationMenu/NavigationMenuList.js +1 -1
  369. package/dist/NavigationMenu/NavigationMenuRoot.cjs +4 -4
  370. package/dist/NavigationMenu/NavigationMenuRoot.cjs.map +1 -1
  371. package/dist/NavigationMenu/NavigationMenuRoot.js +5 -5
  372. package/dist/NavigationMenu/NavigationMenuRoot.js.map +1 -1
  373. package/dist/NavigationMenu/NavigationMenuSub.cjs +1 -1
  374. package/dist/NavigationMenu/NavigationMenuSub.js +2 -2
  375. package/dist/NavigationMenu/NavigationMenuTrigger.cjs +2 -2
  376. package/dist/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
  377. package/dist/NavigationMenu/NavigationMenuTrigger.js +3 -3
  378. package/dist/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
  379. package/dist/NavigationMenu/NavigationMenuViewport.cjs +7 -7
  380. package/dist/NavigationMenu/NavigationMenuViewport.js +9 -9
  381. package/dist/NavigationMenu/utils.cjs +1 -1
  382. package/dist/NavigationMenu/utils.cjs.map +1 -1
  383. package/dist/NavigationMenu/utils.js +1 -1
  384. package/dist/NavigationMenu/utils.js.map +1 -1
  385. package/dist/NumberField/NumberFieldDecrement.cjs +5 -5
  386. package/dist/NumberField/NumberFieldDecrement.js +6 -6
  387. package/dist/NumberField/NumberFieldIncrement.cjs +5 -5
  388. package/dist/NumberField/NumberFieldIncrement.js +6 -6
  389. package/dist/NumberField/NumberFieldInput.cjs +3 -3
  390. package/dist/NumberField/NumberFieldInput.js +4 -4
  391. package/dist/NumberField/NumberFieldRoot.cjs +7 -7
  392. package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
  393. package/dist/NumberField/NumberFieldRoot.js +8 -8
  394. package/dist/NumberField/NumberFieldRoot.js.map +1 -1
  395. package/dist/NumberField/utils.js +1 -1
  396. package/dist/Pagination/PaginationEllipsis.js +1 -1
  397. package/dist/Pagination/PaginationFirst.cjs +1 -1
  398. package/dist/Pagination/PaginationFirst.js +2 -2
  399. package/dist/Pagination/PaginationLast.cjs +1 -1
  400. package/dist/Pagination/PaginationLast.js +2 -2
  401. package/dist/Pagination/PaginationList.js +1 -1
  402. package/dist/Pagination/PaginationListItem.cjs +3 -3
  403. package/dist/Pagination/PaginationListItem.js +4 -4
  404. package/dist/Pagination/PaginationNext.cjs +1 -1
  405. package/dist/Pagination/PaginationNext.js +2 -2
  406. package/dist/Pagination/PaginationPrev.cjs +1 -1
  407. package/dist/Pagination/PaginationPrev.js +2 -2
  408. package/dist/Pagination/PaginationRoot.cjs +2 -2
  409. package/dist/Pagination/PaginationRoot.js +3 -3
  410. package/dist/PinInput/PinInputInput.cjs +4 -4
  411. package/dist/PinInput/PinInputInput.cjs.map +1 -1
  412. package/dist/PinInput/PinInputInput.js +5 -5
  413. package/dist/PinInput/PinInputInput.js.map +1 -1
  414. package/dist/PinInput/PinInputRoot.cjs +4 -4
  415. package/dist/PinInput/PinInputRoot.js +5 -5
  416. package/dist/Popover/PopoverAnchor.js +1 -1
  417. package/dist/Popover/PopoverArrow.js +1 -1
  418. package/dist/Popover/PopoverClose.cjs +1 -1
  419. package/dist/Popover/PopoverClose.js +2 -2
  420. package/dist/Popover/PopoverContent.cjs +1 -1
  421. package/dist/Popover/PopoverContent.cjs.map +1 -1
  422. package/dist/Popover/PopoverContent.js +2 -2
  423. package/dist/Popover/PopoverContent.js.map +1 -1
  424. package/dist/Popover/PopoverContentImpl.js +1 -1
  425. package/dist/Popover/PopoverContentModal.js +1 -1
  426. package/dist/Popover/PopoverContentNonModal.js +1 -1
  427. package/dist/Popover/PopoverPortal.js +1 -1
  428. package/dist/Popover/PopoverRoot.cjs +2 -2
  429. package/dist/Popover/PopoverRoot.js +3 -3
  430. package/dist/Popover/PopoverTrigger.cjs +2 -2
  431. package/dist/Popover/PopoverTrigger.cjs.map +1 -1
  432. package/dist/Popover/PopoverTrigger.js +3 -3
  433. package/dist/Popover/PopoverTrigger.js.map +1 -1
  434. package/dist/Popper/PopperAnchor.js +1 -1
  435. package/dist/Popper/PopperArrow.cjs +4 -4
  436. package/dist/Popper/PopperArrow.js +5 -5
  437. package/dist/Popper/PopperContent.cjs +3 -3
  438. package/dist/Popper/PopperContent.cjs.map +1 -1
  439. package/dist/Popper/PopperContent.js +5 -5
  440. package/dist/Popper/PopperContent.js.map +1 -1
  441. package/dist/Presence/usePresence.cjs +2 -2
  442. package/dist/Presence/usePresence.cjs.map +1 -1
  443. package/dist/Presence/usePresence.js +2 -2
  444. package/dist/Presence/usePresence.js.map +1 -1
  445. package/dist/Primitive/Primitive.cjs +1 -1
  446. package/dist/Primitive/Primitive.cjs.map +1 -1
  447. package/dist/Primitive/Primitive.js +1 -1
  448. package/dist/Primitive/Primitive.js.map +1 -1
  449. package/dist/Progress/ProgressIndicator.cjs +1 -1
  450. package/dist/Progress/ProgressIndicator.js +2 -2
  451. package/dist/Progress/ProgressRoot.cjs +5 -5
  452. package/dist/Progress/ProgressRoot.js +6 -6
  453. package/dist/RadioGroup/Radio.cjs +6 -6
  454. package/dist/RadioGroup/Radio.cjs.map +1 -1
  455. package/dist/RadioGroup/Radio.js +7 -7
  456. package/dist/RadioGroup/Radio.js.map +1 -1
  457. package/dist/RadioGroup/RadioGroupIndicator.cjs +1 -1
  458. package/dist/RadioGroup/RadioGroupIndicator.js +2 -2
  459. package/dist/RadioGroup/RadioGroupItem.cjs +2 -2
  460. package/dist/RadioGroup/RadioGroupItem.js +3 -3
  461. package/dist/RadioGroup/RadioGroupRoot.cjs +5 -5
  462. package/dist/RadioGroup/RadioGroupRoot.js +6 -6
  463. package/dist/RangeCalendar/RangeCalendarCell.cjs +2 -2
  464. package/dist/RangeCalendar/RangeCalendarCell.js +3 -3
  465. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +84 -60
  466. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
  467. package/dist/RangeCalendar/RangeCalendarCellTrigger.js +85 -61
  468. package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
  469. package/dist/RangeCalendar/RangeCalendarGrid.cjs +2 -2
  470. package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
  471. package/dist/RangeCalendar/RangeCalendarGrid.js +3 -3
  472. package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
  473. package/dist/RangeCalendar/RangeCalendarGridBody.js +1 -1
  474. package/dist/RangeCalendar/RangeCalendarGridHead.js +1 -1
  475. package/dist/RangeCalendar/RangeCalendarGridRow.js +1 -1
  476. package/dist/RangeCalendar/RangeCalendarHeadCell.js +1 -1
  477. package/dist/RangeCalendar/RangeCalendarHeader.js +1 -1
  478. package/dist/RangeCalendar/RangeCalendarHeading.cjs +1 -1
  479. package/dist/RangeCalendar/RangeCalendarHeading.js +2 -2
  480. package/dist/RangeCalendar/RangeCalendarNext.cjs +3 -3
  481. package/dist/RangeCalendar/RangeCalendarNext.js +4 -4
  482. package/dist/RangeCalendar/RangeCalendarPrev.cjs +3 -3
  483. package/dist/RangeCalendar/RangeCalendarPrev.js +4 -4
  484. package/dist/RangeCalendar/RangeCalendarRoot.cjs +17 -15
  485. package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
  486. package/dist/RangeCalendar/RangeCalendarRoot.js +18 -16
  487. package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
  488. package/dist/RovingFocus/RovingFocusGroup.cjs +4 -4
  489. package/dist/RovingFocus/RovingFocusGroup.cjs.map +1 -1
  490. package/dist/RovingFocus/RovingFocusGroup.js +5 -5
  491. package/dist/RovingFocus/RovingFocusGroup.js.map +1 -1
  492. package/dist/RovingFocus/RovingFocusItem.cjs +4 -4
  493. package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
  494. package/dist/RovingFocus/RovingFocusItem.js +5 -5
  495. package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
  496. package/dist/RovingFocus/utils.cjs +2 -2
  497. package/dist/RovingFocus/utils.cjs.map +1 -1
  498. package/dist/RovingFocus/utils.js +2 -2
  499. package/dist/RovingFocus/utils.js.map +1 -1
  500. package/dist/ScrollArea/ScrollAreaCorner.js +1 -1
  501. package/dist/ScrollArea/ScrollAreaCornerImpl.cjs +2 -2
  502. package/dist/ScrollArea/ScrollAreaCornerImpl.js +3 -3
  503. package/dist/ScrollArea/ScrollAreaRoot.cjs +4 -4
  504. package/dist/ScrollArea/ScrollAreaRoot.cjs.map +1 -1
  505. package/dist/ScrollArea/ScrollAreaRoot.js +5 -5
  506. package/dist/ScrollArea/ScrollAreaRoot.js.map +1 -1
  507. package/dist/ScrollArea/ScrollAreaScrollbar.cjs +1 -1
  508. package/dist/ScrollArea/ScrollAreaScrollbar.js +2 -2
  509. package/dist/ScrollArea/ScrollAreaScrollbarAuto.js +1 -1
  510. package/dist/ScrollArea/ScrollAreaScrollbarHover.js +1 -1
  511. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs +1 -1
  512. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs.map +1 -1
  513. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js +2 -2
  514. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js.map +1 -1
  515. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js +1 -1
  516. package/dist/ScrollArea/ScrollAreaScrollbarVisible.js +1 -1
  517. package/dist/ScrollArea/ScrollAreaScrollbarX.cjs +1 -1
  518. package/dist/ScrollArea/ScrollAreaScrollbarX.js +2 -2
  519. package/dist/ScrollArea/ScrollAreaScrollbarY.cjs +3 -3
  520. package/dist/ScrollArea/ScrollAreaScrollbarY.js +4 -4
  521. package/dist/ScrollArea/ScrollAreaThumb.js +1 -1
  522. package/dist/ScrollArea/ScrollAreaViewport.cjs +1 -1
  523. package/dist/ScrollArea/ScrollAreaViewport.js +2 -2
  524. package/dist/Select/BubbleSelect.cjs +2 -2
  525. package/dist/Select/BubbleSelect.cjs.map +1 -1
  526. package/dist/Select/BubbleSelect.js +3 -3
  527. package/dist/Select/BubbleSelect.js.map +1 -1
  528. package/dist/Select/SelectArrow.js +1 -1
  529. package/dist/Select/SelectContent.js +1 -1
  530. package/dist/Select/SelectContentImpl.cjs +2 -2
  531. package/dist/Select/SelectContentImpl.js +3 -3
  532. package/dist/Select/SelectGroup.cjs +2 -2
  533. package/dist/Select/SelectGroup.cjs.map +1 -1
  534. package/dist/Select/SelectGroup.js +3 -3
  535. package/dist/Select/SelectGroup.js.map +1 -1
  536. package/dist/Select/SelectIcon.js +1 -1
  537. package/dist/Select/SelectItem.cjs +6 -6
  538. package/dist/Select/SelectItem.cjs.map +1 -1
  539. package/dist/Select/SelectItem.js +7 -7
  540. package/dist/Select/SelectItem.js.map +1 -1
  541. package/dist/Select/SelectItemAlignedPosition.cjs +1 -1
  542. package/dist/Select/SelectItemAlignedPosition.js +2 -2
  543. package/dist/Select/SelectItemIndicator.js +1 -1
  544. package/dist/Select/SelectItemText.js +1 -1
  545. package/dist/Select/SelectLabel.js +1 -1
  546. package/dist/Select/SelectPopperPosition.js +1 -1
  547. package/dist/Select/SelectPortal.js +1 -1
  548. package/dist/Select/SelectRoot.cjs +6 -6
  549. package/dist/Select/SelectRoot.cjs.map +1 -1
  550. package/dist/Select/SelectRoot.js +7 -7
  551. package/dist/Select/SelectRoot.js.map +1 -1
  552. package/dist/Select/SelectScrollButtonImpl.js +1 -1
  553. package/dist/Select/SelectScrollDownButton.cjs +1 -1
  554. package/dist/Select/SelectScrollDownButton.cjs.map +1 -1
  555. package/dist/Select/SelectScrollDownButton.js +2 -2
  556. package/dist/Select/SelectScrollDownButton.js.map +1 -1
  557. package/dist/Select/SelectScrollUpButton.cjs +1 -1
  558. package/dist/Select/SelectScrollUpButton.cjs.map +1 -1
  559. package/dist/Select/SelectScrollUpButton.js +2 -2
  560. package/dist/Select/SelectScrollUpButton.js.map +1 -1
  561. package/dist/Select/SelectSeparator.js +1 -1
  562. package/dist/Select/SelectTrigger.cjs +4 -4
  563. package/dist/Select/SelectTrigger.cjs.map +1 -1
  564. package/dist/Select/SelectTrigger.js +5 -5
  565. package/dist/Select/SelectTrigger.js.map +1 -1
  566. package/dist/Select/SelectValue.cjs +1 -1
  567. package/dist/Select/SelectValue.js +2 -2
  568. package/dist/Select/SelectViewport.cjs +1 -1
  569. package/dist/Select/SelectViewport.cjs.map +1 -1
  570. package/dist/Select/SelectViewport.js +2 -2
  571. package/dist/Select/SelectViewport.js.map +1 -1
  572. package/dist/Select/utils.cjs +2 -2
  573. package/dist/Select/utils.cjs.map +1 -1
  574. package/dist/Select/utils.js +2 -2
  575. package/dist/Select/utils.js.map +1 -1
  576. package/dist/Separator/Separator.js +1 -1
  577. package/dist/Slider/SliderHorizontal.cjs +2 -2
  578. package/dist/Slider/SliderHorizontal.js +3 -3
  579. package/dist/Slider/SliderImpl.js +1 -1
  580. package/dist/Slider/SliderRange.cjs +1 -1
  581. package/dist/Slider/SliderRange.js +2 -2
  582. package/dist/Slider/SliderRoot.cjs +3 -3
  583. package/dist/Slider/SliderRoot.js +4 -4
  584. package/dist/Slider/SliderThumb.js +1 -1
  585. package/dist/Slider/SliderThumbImpl.cjs +4 -4
  586. package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
  587. package/dist/Slider/SliderThumbImpl.js +5 -5
  588. package/dist/Slider/SliderThumbImpl.js.map +1 -1
  589. package/dist/Slider/SliderTrack.cjs +1 -1
  590. package/dist/Slider/SliderTrack.js +2 -2
  591. package/dist/Slider/SliderVertical.cjs +2 -2
  592. package/dist/Slider/SliderVertical.js +3 -3
  593. package/dist/Slider/utils.cjs +1 -1
  594. package/dist/Slider/utils.cjs.map +1 -1
  595. package/dist/Slider/utils.js +1 -1
  596. package/dist/Slider/utils.js.map +1 -1
  597. package/dist/Splitter/SplitterGroup.cjs +2 -2
  598. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  599. package/dist/Splitter/SplitterGroup.js +3 -3
  600. package/dist/Splitter/SplitterGroup.js.map +1 -1
  601. package/dist/Splitter/SplitterPanel.cjs +3 -3
  602. package/dist/Splitter/SplitterPanel.cjs.map +1 -1
  603. package/dist/Splitter/SplitterPanel.js +4 -4
  604. package/dist/Splitter/SplitterPanel.js.map +1 -1
  605. package/dist/Splitter/SplitterResizeHandle.cjs +2 -2
  606. package/dist/Splitter/SplitterResizeHandle.js +3 -3
  607. package/dist/Stepper/StepperDescription.js +1 -1
  608. package/dist/Stepper/StepperIndicator.js +1 -1
  609. package/dist/Stepper/StepperItem.cjs +6 -6
  610. package/dist/Stepper/StepperItem.cjs.map +1 -1
  611. package/dist/Stepper/StepperItem.js +7 -7
  612. package/dist/Stepper/StepperItem.js.map +1 -1
  613. package/dist/Stepper/StepperRoot.cjs +3 -3
  614. package/dist/Stepper/StepperRoot.js +4 -4
  615. package/dist/Stepper/StepperSeparator.js +1 -1
  616. package/dist/Stepper/StepperTitle.js +1 -1
  617. package/dist/Stepper/StepperTrigger.cjs +5 -5
  618. package/dist/Stepper/StepperTrigger.cjs.map +1 -1
  619. package/dist/Stepper/StepperTrigger.js +6 -6
  620. package/dist/Stepper/StepperTrigger.js.map +1 -1
  621. package/dist/Switch/SwitchRoot.cjs +6 -6
  622. package/dist/Switch/SwitchRoot.cjs.map +1 -1
  623. package/dist/Switch/SwitchRoot.js +7 -7
  624. package/dist/Switch/SwitchRoot.js.map +1 -1
  625. package/dist/Switch/SwitchThumb.cjs +1 -1
  626. package/dist/Switch/SwitchThumb.js +2 -2
  627. package/dist/Tabs/TabsContent.cjs +1 -1
  628. package/dist/Tabs/TabsContent.js +2 -2
  629. package/dist/Tabs/TabsIndicator.js +1 -1
  630. package/dist/Tabs/TabsList.cjs +1 -1
  631. package/dist/Tabs/TabsList.js +2 -2
  632. package/dist/Tabs/TabsRoot.cjs +3 -3
  633. package/dist/Tabs/TabsRoot.cjs.map +1 -1
  634. package/dist/Tabs/TabsRoot.js +4 -4
  635. package/dist/Tabs/TabsRoot.js.map +1 -1
  636. package/dist/Tabs/TabsTrigger.cjs +3 -3
  637. package/dist/Tabs/TabsTrigger.js +4 -4
  638. package/dist/TagsInput/TagsInputClear.cjs +2 -2
  639. package/dist/TagsInput/TagsInputClear.js +3 -3
  640. package/dist/TagsInput/TagsInputInput.cjs +1 -1
  641. package/dist/TagsInput/TagsInputInput.js +2 -2
  642. package/dist/TagsInput/TagsInputItem.cjs +2 -2
  643. package/dist/TagsInput/TagsInputItem.js +3 -3
  644. package/dist/TagsInput/TagsInputItemDelete.cjs +2 -2
  645. package/dist/TagsInput/TagsInputItemDelete.js +3 -3
  646. package/dist/TagsInput/TagsInputItemText.cjs +1 -1
  647. package/dist/TagsInput/TagsInputItemText.cjs.map +1 -1
  648. package/dist/TagsInput/TagsInputItemText.js +2 -2
  649. package/dist/TagsInput/TagsInputItemText.js.map +1 -1
  650. package/dist/TagsInput/TagsInputRoot.cjs +7 -7
  651. package/dist/TagsInput/TagsInputRoot.cjs.map +1 -1
  652. package/dist/TagsInput/TagsInputRoot.js +8 -8
  653. package/dist/TagsInput/TagsInputRoot.js.map +1 -1
  654. package/dist/Teleport/Teleport.js +1 -1
  655. package/dist/TimeField/TimeFieldInput.cjs +5 -5
  656. package/dist/TimeField/TimeFieldInput.js +6 -6
  657. package/dist/TimeField/TimeFieldRoot.cjs +17 -14
  658. package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
  659. package/dist/TimeField/TimeFieldRoot.js +19 -16
  660. package/dist/TimeField/TimeFieldRoot.js.map +1 -1
  661. package/dist/Toast/FocusProxy.js +1 -1
  662. package/dist/Toast/ToastAction.js +1 -1
  663. package/dist/Toast/ToastAnnounce.js +1 -1
  664. package/dist/Toast/ToastAnnounceExclude.cjs +1 -1
  665. package/dist/Toast/ToastAnnounceExclude.js +2 -2
  666. package/dist/Toast/ToastClose.cjs +1 -1
  667. package/dist/Toast/ToastClose.js +2 -2
  668. package/dist/Toast/ToastDescription.js +1 -1
  669. package/dist/Toast/ToastPortal.js +1 -1
  670. package/dist/Toast/ToastRoot.cjs +2 -2
  671. package/dist/Toast/ToastRoot.js +3 -3
  672. package/dist/Toast/ToastRootImpl.cjs +1 -1
  673. package/dist/Toast/ToastRootImpl.js +3 -3
  674. package/dist/Toast/ToastTitle.js +1 -1
  675. package/dist/Toast/ToastViewport.cjs +3 -3
  676. package/dist/Toast/ToastViewport.js +4 -4
  677. package/dist/Toast/utils.js +1 -1
  678. package/dist/Toggle/Toggle.cjs +4 -4
  679. package/dist/Toggle/Toggle.js +5 -5
  680. package/dist/ToggleGroup/ToggleGroupItem.cjs +1 -1
  681. package/dist/ToggleGroup/ToggleGroupItem.js +2 -2
  682. package/dist/ToggleGroup/ToggleGroupRoot.cjs +4 -4
  683. package/dist/ToggleGroup/ToggleGroupRoot.js +5 -5
  684. package/dist/Toolbar/ToolbarButton.cjs +2 -2
  685. package/dist/Toolbar/ToolbarButton.js +3 -3
  686. package/dist/Toolbar/ToolbarLink.cjs +1 -1
  687. package/dist/Toolbar/ToolbarLink.js +2 -2
  688. package/dist/Toolbar/ToolbarRoot.cjs +2 -2
  689. package/dist/Toolbar/ToolbarRoot.js +3 -3
  690. package/dist/Toolbar/ToolbarSeparator.js +1 -1
  691. package/dist/Toolbar/ToolbarToggleGroup.js +1 -1
  692. package/dist/Toolbar/ToolbarToggleItem.js +1 -1
  693. package/dist/Tooltip/TooltipArrow.js +1 -1
  694. package/dist/Tooltip/TooltipContent.js +1 -1
  695. package/dist/Tooltip/TooltipContentHoverable.js +1 -1
  696. package/dist/Tooltip/TooltipContentImpl.js +1 -1
  697. package/dist/Tooltip/TooltipPortal.js +1 -1
  698. package/dist/Tooltip/TooltipProvider.cjs +1 -1
  699. package/dist/Tooltip/TooltipProvider.js +1 -1
  700. package/dist/Tooltip/TooltipRoot.cjs +8 -8
  701. package/dist/Tooltip/TooltipRoot.js +9 -9
  702. package/dist/Tooltip/TooltipTrigger.cjs +2 -2
  703. package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
  704. package/dist/Tooltip/TooltipTrigger.js +3 -3
  705. package/dist/Tooltip/TooltipTrigger.js.map +1 -1
  706. package/dist/Tree/TreeItem.cjs +5 -5
  707. package/dist/Tree/TreeItem.cjs.map +1 -1
  708. package/dist/Tree/TreeItem.js +6 -6
  709. package/dist/Tree/TreeItem.js.map +1 -1
  710. package/dist/Tree/TreeRoot.cjs +8 -8
  711. package/dist/Tree/TreeRoot.cjs.map +1 -1
  712. package/dist/Tree/TreeRoot.js +9 -9
  713. package/dist/Tree/TreeRoot.js.map +1 -1
  714. package/dist/Tree/TreeVirtualizer.js +1 -1
  715. package/dist/Viewport/Viewport.js +1 -1
  716. package/dist/VisuallyHidden/VisuallyHidden.cjs +3 -3
  717. package/dist/VisuallyHidden/VisuallyHidden.js +4 -4
  718. package/dist/VisuallyHidden/VisuallyHiddenInput.cjs +9 -3
  719. package/dist/VisuallyHidden/VisuallyHiddenInput.cjs.map +1 -1
  720. package/dist/VisuallyHidden/VisuallyHiddenInput.js +10 -4
  721. package/dist/VisuallyHidden/VisuallyHiddenInput.js.map +1 -1
  722. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.cjs +1 -1
  723. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js +2 -2
  724. package/dist/component/Arrow.cjs +2 -2
  725. package/dist/component/Arrow.js +3 -3
  726. package/dist/component/BaseSeparator.cjs +1 -1
  727. package/dist/component/BaseSeparator.js +2 -2
  728. package/dist/constant/components.cjs +4 -0
  729. package/dist/constant/components.cjs.map +1 -1
  730. package/dist/constant/components.js +4 -0
  731. package/dist/constant/components.js.map +1 -1
  732. package/dist/date/comparators.cjs +1 -1
  733. package/dist/date/comparators.cjs.map +1 -1
  734. package/dist/date/comparators.js +2 -2
  735. package/dist/date/comparators.js.map +1 -1
  736. package/dist/date/parser.cjs +2 -2
  737. package/dist/date/parser.js +3 -3
  738. package/dist/date/useDateField.cjs +9 -9
  739. package/dist/date/useDateField.cjs.map +1 -1
  740. package/dist/date/useDateField.js +10 -10
  741. package/dist/date/useDateField.js.map +1 -1
  742. package/dist/date/utils.cjs +2 -2
  743. package/dist/date/utils.cjs.map +1 -1
  744. package/dist/date/utils.js +2 -2
  745. package/dist/date/utils.js.map +1 -1
  746. package/dist/index.cjs +91 -87
  747. package/dist/index.cjs.map +1 -1
  748. package/dist/index.d.ts +66 -2
  749. package/dist/index.js +42 -40
  750. package/dist/index.js.map +1 -1
  751. package/dist/shared/nullish.cjs +1 -1
  752. package/dist/shared/nullish.cjs.map +1 -1
  753. package/dist/shared/nullish.js +1 -1
  754. package/dist/shared/nullish.js.map +1 -1
  755. package/dist/shared/useBodyScrollLock.cjs +2 -2
  756. package/dist/shared/useBodyScrollLock.cjs.map +1 -1
  757. package/dist/shared/useBodyScrollLock.js +4 -4
  758. package/dist/shared/useBodyScrollLock.js.map +1 -1
  759. package/dist/shared/useDateFormatter.js +2 -2
  760. package/dist/shared/useForwardProps.cjs +2 -2
  761. package/dist/shared/useForwardProps.cjs.map +1 -1
  762. package/dist/shared/useForwardProps.js +2 -2
  763. package/dist/shared/useForwardProps.js.map +1 -1
  764. package/dist/shared/useGraceArea.cjs +1 -1
  765. package/dist/shared/useGraceArea.cjs.map +1 -1
  766. package/dist/shared/useGraceArea.js +1 -1
  767. package/dist/shared/useGraceArea.js.map +1 -1
  768. package/dist/shared/useId.cjs +1 -1
  769. package/dist/shared/useId.cjs.map +1 -1
  770. package/dist/shared/useId.js +1 -1
  771. package/dist/shared/useId.js.map +1 -1
  772. package/dist/shared/useSelectionBehavior.cjs +1 -1
  773. package/dist/shared/useSelectionBehavior.cjs.map +1 -1
  774. package/dist/shared/useSelectionBehavior.js +1 -1
  775. package/dist/shared/useSelectionBehavior.js.map +1 -1
  776. package/dist/shared/useSingleOrMultipleValue.cjs +5 -5
  777. package/dist/shared/useSingleOrMultipleValue.cjs.map +1 -1
  778. package/dist/shared/useSingleOrMultipleValue.js +5 -5
  779. package/dist/shared/useSingleOrMultipleValue.js.map +1 -1
  780. package/dist/shared/useSize.cjs +1 -1
  781. package/dist/shared/useSize.cjs.map +1 -1
  782. package/dist/shared/useSize.js +1 -1
  783. package/dist/shared/useSize.js.map +1 -1
  784. package/dist/shared/useTypeahead.cjs +1 -1
  785. package/dist/shared/useTypeahead.cjs.map +1 -1
  786. package/dist/shared/useTypeahead.js +1 -1
  787. package/dist/shared/useTypeahead.js.map +1 -1
  788. package/dist/utils/layout.cjs +1 -1
  789. package/dist/utils/layout.cjs.map +1 -1
  790. package/dist/utils/layout.js +1 -1
  791. package/dist/utils/layout.js.map +1 -1
  792. package/dist/utils/style.cjs +2 -2
  793. package/dist/utils/style.cjs.map +1 -1
  794. package/dist/utils/style.js +3 -3
  795. package/dist/utils/style.js.map +1 -1
  796. package/package.json +2 -2
@@ -1 +1 @@
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 { computed, ref, toRefs, watch } from 'vue'\nimport { createContext, useDirection } from '@/shared'\nimport { type Granularity, type HourCycle, getDefaultDate } from '@/shared/date'\nimport type { Matcher, WeekDayFormat } from '@/date'\nimport { type CalendarRootProps, type DateFieldRoot, type DateFieldRootProps, PopoverRoot, type PopoverRootEmits, type PopoverRootProps } from '..'\nimport type { Direction } from '@/shared/types'\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 { computed, ref, toRefs, watch } from 'vue'\nimport { createContext, useDirection } from '@/shared'\nimport { type Granularity, type HourCycle, getDefaultDate } from '@/shared/date'\nimport type { Matcher, WeekDayFormat } from '@/date'\nimport { type CalendarRootProps, type DateFieldRoot, type DateFieldRootProps, PopoverRoot, type PopoverRootEmits, type PopoverRootProps } from '..'\nimport type { Direction } from '@/shared/types'\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,4 +1,4 @@
1
- import { defineComponent, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
1
+ import { defineComponent, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
2
2
  import '@floating-ui/vue';
3
3
  import { _ as _sfc_main$1 } from '../Popover/PopoverTrigger.js';
4
4
  import { i as injectDatePickerRootContext } from './DatePickerRoot.js';
@@ -45,12 +45,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
45
45
  }, vue.unref(attributes), {
46
46
  contenteditable: disabled.value || readonly.value ? false : _ctx.part !== "literal",
47
47
  "data-reka-date-field-segment": _ctx.part,
48
- "aria-disabled": disabled.value ? true : undefined,
49
- "aria-readonly": readonly.value ? true : undefined,
50
- "data-disabled": disabled.value ? "" : undefined,
48
+ "aria-disabled": disabled.value ? true : void 0,
49
+ "aria-readonly": readonly.value ? true : void 0,
50
+ "data-disabled": disabled.value ? "" : void 0,
51
51
  "data-reka-date-range-field-segment-type": _ctx.type,
52
- "data-invalid": isInvalid.value ? "" : undefined,
53
- "aria-invalid": isInvalid.value ? true : undefined
52
+ "data-invalid": isInvalid.value ? "" : void 0,
53
+ "aria-invalid": isInvalid.value ? true : void 0
54
54
  }, vue.toHandlers(_ctx.part !== "literal" ? {
55
55
  mousedown: vue.unref(handleSegmentClick),
56
56
  keydown: vue.unref(handleSegmentKeydown),
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, computed, openBlock, createBlock, unref, mergeProps, toHandlers, withCtx, renderSlot } from 'vue';
1
+ import { defineComponent, ref, computed, createBlock, openBlock, unref, mergeProps, toHandlers, withCtx, renderSlot } from 'vue';
2
2
  import { u as useDateField } from '../date/useDateField.js';
3
3
  import { i as injectDateRangeFieldRootContext } from './DateRangeFieldRoot.js';
4
4
  import { P as Primitive } from '../Primitive/Primitive.js';
@@ -43,12 +43,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
43
43
  }, unref(attributes), {
44
44
  contenteditable: disabled.value || readonly.value ? false : _ctx.part !== "literal",
45
45
  "data-reka-date-field-segment": _ctx.part,
46
- "aria-disabled": disabled.value ? true : undefined,
47
- "aria-readonly": readonly.value ? true : undefined,
48
- "data-disabled": disabled.value ? "" : undefined,
46
+ "aria-disabled": disabled.value ? true : void 0,
47
+ "aria-readonly": readonly.value ? true : void 0,
48
+ "data-disabled": disabled.value ? "" : void 0,
49
49
  "data-reka-date-range-field-segment-type": _ctx.type,
50
- "data-invalid": isInvalid.value ? "" : undefined,
51
- "aria-invalid": isInvalid.value ? true : undefined
50
+ "data-invalid": isInvalid.value ? "" : void 0,
51
+ "aria-invalid": isInvalid.value ? true : void 0
52
52
  }, toHandlers(_ctx.part !== "literal" ? {
53
53
  mousedown: unref(handleSegmentClick),
54
54
  keydown: unref(handleSegmentKeydown),
@@ -3,13 +3,13 @@
3
3
  const vue = require('vue');
4
4
  const core = require('@vueuse/core');
5
5
  const date_comparators = require('../date/comparators.cjs');
6
+ const shared_createContext = require('../shared/createContext.cjs');
6
7
  const shared_useLocale = require('../shared/useLocale.cjs');
7
8
  const shared_useDirection = require('../shared/useDirection.cjs');
8
9
  const shared_useDateFormatter = require('../shared/useDateFormatter.cjs');
9
10
  const Primitive_usePrimitiveElement = require('../Primitive/usePrimitiveElement.cjs');
10
11
  const Primitive_Primitive = require('../Primitive/Primitive.cjs');
11
12
  const VisuallyHidden_VisuallyHidden = require('../VisuallyHidden/VisuallyHidden.cjs');
12
- const shared_createContext = require('../shared/createContext.cjs');
13
13
  const shared_useKbd = require('../shared/useKbd.cjs');
14
14
  const date_segment = require('../date/segment.cjs');
15
15
  const date_parser = require('../date/parser.cjs');
@@ -21,9 +21,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
21
  },
22
22
  __name: "DateRangeFieldRoot",
23
23
  props: {
24
- defaultValue: { default: undefined },
24
+ defaultValue: { default: void 0 },
25
25
  defaultPlaceholder: {},
26
- placeholder: { default: undefined },
26
+ placeholder: { default: void 0 },
27
27
  modelValue: {},
28
28
  hourCycle: {},
29
29
  granularity: {},
@@ -33,7 +33,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
33
33
  locale: {},
34
34
  disabled: { type: Boolean, default: false },
35
35
  readonly: { type: Boolean, default: false },
36
- isDateUnavailable: { type: Function, default: undefined },
36
+ isDateUnavailable: { type: Function, default: void 0 },
37
37
  id: {},
38
38
  dir: {},
39
39
  asChild: { type: Boolean },
@@ -55,8 +55,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
55
55
  date_segment.getSegmentElements(parentElement.value).forEach((item) => segmentElements.value.add(item));
56
56
  });
57
57
  const modelValue = core.useVModel(props, "modelValue", emits, {
58
- defaultValue: props.defaultValue ?? { start: undefined, end: undefined },
59
- passive: props.modelValue === undefined
58
+ defaultValue: props.defaultValue ?? { start: void 0, end: void 0 },
59
+ passive: props.modelValue === void 0
60
60
  });
61
61
  const defaultDate = date_comparators.getDefaultDate({
62
62
  defaultPlaceholder: props.placeholder,
@@ -66,7 +66,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
66
66
  });
67
67
  const placeholder = core.useVModel(props, "placeholder", emits, {
68
68
  defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),
69
- passive: props.placeholder === undefined
69
+ passive: props.placeholder === void 0
70
70
  });
71
71
  const inferredGranularity = vue.computed(() => {
72
72
  if (props.granularity)
@@ -102,12 +102,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
102
102
  return false;
103
103
  if (!date_comparators.isBeforeOrSame(modelValue.value.start, modelValue.value.end))
104
104
  return true;
105
- if (propsIsDateUnavailable.value !== undefined) {
105
+ if (propsIsDateUnavailable.value !== void 0) {
106
106
  const allValid = date_comparators.areAllDaysBetweenValid(
107
107
  modelValue.value.start,
108
108
  modelValue.value.end,
109
109
  propsIsDateUnavailable.value,
110
- undefined
110
+ void 0
111
111
  );
112
112
  if (!allValid)
113
113
  return true;
@@ -152,11 +152,15 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
152
152
  if (!endValue.value || _modelValue.end.compare(endValue.value) !== 0)
153
153
  endValue.value = _modelValue.end.copy();
154
154
  }
155
+ if (!_modelValue) {
156
+ startValue.value = void 0;
157
+ endValue.value = void 0;
158
+ }
155
159
  });
156
160
  vue.watch([startValue, locale], ([_startValue]) => {
157
- if (_startValue !== undefined) {
161
+ if (_startValue !== void 0) {
158
162
  startSegmentValues.value = { ...date_parser.syncSegmentValues({ value: _startValue, formatter }) };
159
- } else if (Object.values(startSegmentValues.value).every((value) => value !== null) && _startValue === undefined) {
163
+ } else if (Object.values(startSegmentValues.value).every((value) => value !== null) && _startValue === void 0) {
160
164
  startSegmentValues.value = { ...initialSegments };
161
165
  }
162
166
  });
@@ -170,13 +174,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
170
174
  }
171
175
  });
172
176
  vue.watch(modelValue, (_modelValue) => {
173
- if (_modelValue && _modelValue.start !== undefined && placeholder.value.compare(_modelValue.start) !== 0)
177
+ if (_modelValue && _modelValue.start !== void 0 && placeholder.value.compare(_modelValue.start) !== 0)
174
178
  placeholder.value = _modelValue.start.copy();
175
179
  });
176
180
  vue.watch([endValue, locale], ([_endValue]) => {
177
- if (_endValue !== undefined) {
181
+ if (_endValue !== void 0) {
178
182
  endSegmentValues.value = { ...date_parser.syncSegmentValues({ value: _endValue, formatter }) };
179
- } else if (Object.values(endSegmentValues.value).every((value) => value !== null) && _endValue === undefined) {
183
+ } else if (Object.values(endSegmentValues.value).every((value) => value !== null) && _endValue === void 0) {
180
184
  endSegmentValues.value = { ...initialSegments };
181
185
  }
182
186
  });
@@ -237,10 +241,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
237
241
  ref_key: "primitiveElement",
238
242
  ref: primitiveElement,
239
243
  role: "group",
240
- "aria-disabled": vue.unref(disabled) ? true : undefined,
241
- "data-disabled": vue.unref(disabled) ? "" : undefined,
242
- "data-readonly": vue.unref(readonly) ? "" : undefined,
243
- "data-invalid": isInvalid.value ? "" : undefined,
244
+ "aria-disabled": vue.unref(disabled) ? true : void 0,
245
+ "data-disabled": vue.unref(disabled) ? "" : void 0,
246
+ "data-readonly": vue.unref(readonly) ? "" : void 0,
247
+ "data-invalid": isInvalid.value ? "" : void 0,
244
248
  dir: vue.unref(dir),
245
249
  onKeydown: vue.withKeys(handleKeydown, ["left", "right"])
246
250
  }), {
@@ -1 +1 @@
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 { PrimitiveProps } from '@/Primitive'\nimport { type Formatter, createContext, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n type DateRange,\n type Granularity,\n type HourCycle,\n type SegmentPart,\n type SegmentValueObj,\n createContent,\n getDefaultDate,\n getSegmentElements,\n initializeSegmentValues,\n isSegmentNavigationKey,\n syncSegmentValues,\n} from '@/shared/date'\nimport {\n type Matcher,\n areAllDaysBetweenValid,\n hasTime,\n isBefore,\n isBeforeOrSame,\n} from '@/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\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 { computed, nextTick, onMounted, ref, toRefs, watch } from 'vue'\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\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)\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})\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 { PrimitiveProps } from '@/Primitive'\nimport { type Formatter, createContext, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n type DateRange,\n type Granularity,\n type HourCycle,\n type SegmentPart,\n type SegmentValueObj,\n createContent,\n getDefaultDate,\n getSegmentElements,\n initializeSegmentValues,\n isSegmentNavigationKey,\n syncSegmentValues,\n} from '@/shared/date'\nimport {\n type Matcher,\n areAllDaysBetweenValid,\n hasTime,\n isBefore,\n isBeforeOrSame,\n} from '@/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\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 { computed, nextTick, onMounted, ref, toRefs, watch } from 'vue'\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\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)\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,13 +1,13 @@
1
- import { defineComponent, toRefs, ref, onMounted, computed, watch, nextTick, openBlock, createBlock, unref, mergeProps, withKeys, withCtx, renderSlot, createVNode } from 'vue';
1
+ import { defineComponent, toRefs, ref, onMounted, computed, watch, nextTick, createBlock, openBlock, unref, mergeProps, withKeys, withCtx, renderSlot, createVNode } from 'vue';
2
2
  import { useVModel } from '@vueuse/core';
3
3
  import { n as getDefaultDate, h as hasTime, b as isBefore, d as isBeforeOrSame, m as areAllDaysBetweenValid } from '../date/comparators.js';
4
+ import { c as createContext } from '../shared/createContext.js';
4
5
  import { u as useLocale } from '../shared/useLocale.js';
5
6
  import { u as useDirection } from '../shared/useDirection.js';
6
7
  import { u as useDateFormatter } from '../shared/useDateFormatter.js';
7
8
  import { u as usePrimitiveElement } from '../Primitive/usePrimitiveElement.js';
8
9
  import { P as Primitive } from '../Primitive/Primitive.js';
9
10
  import { _ as _sfc_main$1 } from '../VisuallyHidden/VisuallyHidden.js';
10
- import { c as createContext } from '../shared/createContext.js';
11
11
  import { u as useKbd } from '../shared/useKbd.js';
12
12
  import { g as getSegmentElements, i as isSegmentNavigationKey } from '../date/segment.js';
13
13
  import { i as initializeSegmentValues, s as syncSegmentValues, c as createContent } from '../date/parser.js';
@@ -19,9 +19,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
19
19
  },
20
20
  __name: "DateRangeFieldRoot",
21
21
  props: {
22
- defaultValue: { default: undefined },
22
+ defaultValue: { default: void 0 },
23
23
  defaultPlaceholder: {},
24
- placeholder: { default: undefined },
24
+ placeholder: { default: void 0 },
25
25
  modelValue: {},
26
26
  hourCycle: {},
27
27
  granularity: {},
@@ -31,7 +31,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
31
31
  locale: {},
32
32
  disabled: { type: Boolean, default: false },
33
33
  readonly: { type: Boolean, default: false },
34
- isDateUnavailable: { type: Function, default: undefined },
34
+ isDateUnavailable: { type: Function, default: void 0 },
35
35
  id: {},
36
36
  dir: {},
37
37
  asChild: { type: Boolean },
@@ -53,8 +53,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
53
53
  getSegmentElements(parentElement.value).forEach((item) => segmentElements.value.add(item));
54
54
  });
55
55
  const modelValue = useVModel(props, "modelValue", emits, {
56
- defaultValue: props.defaultValue ?? { start: undefined, end: undefined },
57
- passive: props.modelValue === undefined
56
+ defaultValue: props.defaultValue ?? { start: void 0, end: void 0 },
57
+ passive: props.modelValue === void 0
58
58
  });
59
59
  const defaultDate = getDefaultDate({
60
60
  defaultPlaceholder: props.placeholder,
@@ -64,7 +64,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
64
64
  });
65
65
  const placeholder = useVModel(props, "placeholder", emits, {
66
66
  defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),
67
- passive: props.placeholder === undefined
67
+ passive: props.placeholder === void 0
68
68
  });
69
69
  const inferredGranularity = computed(() => {
70
70
  if (props.granularity)
@@ -100,12 +100,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
100
100
  return false;
101
101
  if (!isBeforeOrSame(modelValue.value.start, modelValue.value.end))
102
102
  return true;
103
- if (propsIsDateUnavailable.value !== undefined) {
103
+ if (propsIsDateUnavailable.value !== void 0) {
104
104
  const allValid = areAllDaysBetweenValid(
105
105
  modelValue.value.start,
106
106
  modelValue.value.end,
107
107
  propsIsDateUnavailable.value,
108
- undefined
108
+ void 0
109
109
  );
110
110
  if (!allValid)
111
111
  return true;
@@ -150,11 +150,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
150
150
  if (!endValue.value || _modelValue.end.compare(endValue.value) !== 0)
151
151
  endValue.value = _modelValue.end.copy();
152
152
  }
153
+ if (!_modelValue) {
154
+ startValue.value = void 0;
155
+ endValue.value = void 0;
156
+ }
153
157
  });
154
158
  watch([startValue, locale], ([_startValue]) => {
155
- if (_startValue !== undefined) {
159
+ if (_startValue !== void 0) {
156
160
  startSegmentValues.value = { ...syncSegmentValues({ value: _startValue, formatter }) };
157
- } else if (Object.values(startSegmentValues.value).every((value) => value !== null) && _startValue === undefined) {
161
+ } else if (Object.values(startSegmentValues.value).every((value) => value !== null) && _startValue === void 0) {
158
162
  startSegmentValues.value = { ...initialSegments };
159
163
  }
160
164
  });
@@ -168,13 +172,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
168
172
  }
169
173
  });
170
174
  watch(modelValue, (_modelValue) => {
171
- if (_modelValue && _modelValue.start !== undefined && placeholder.value.compare(_modelValue.start) !== 0)
175
+ if (_modelValue && _modelValue.start !== void 0 && placeholder.value.compare(_modelValue.start) !== 0)
172
176
  placeholder.value = _modelValue.start.copy();
173
177
  });
174
178
  watch([endValue, locale], ([_endValue]) => {
175
- if (_endValue !== undefined) {
179
+ if (_endValue !== void 0) {
176
180
  endSegmentValues.value = { ...syncSegmentValues({ value: _endValue, formatter }) };
177
- } else if (Object.values(endSegmentValues.value).every((value) => value !== null) && _endValue === undefined) {
181
+ } else if (Object.values(endSegmentValues.value).every((value) => value !== null) && _endValue === void 0) {
178
182
  endSegmentValues.value = { ...initialSegments };
179
183
  }
180
184
  });
@@ -235,10 +239,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
235
239
  ref_key: "primitiveElement",
236
240
  ref: primitiveElement,
237
241
  role: "group",
238
- "aria-disabled": unref(disabled) ? true : undefined,
239
- "data-disabled": unref(disabled) ? "" : undefined,
240
- "data-readonly": unref(readonly) ? "" : undefined,
241
- "data-invalid": isInvalid.value ? "" : undefined,
242
+ "aria-disabled": unref(disabled) ? true : void 0,
243
+ "data-disabled": unref(disabled) ? "" : void 0,
244
+ "data-readonly": unref(readonly) ? "" : void 0,
245
+ "data-invalid": isInvalid.value ? "" : void 0,
242
246
  dir: unref(dir),
243
247
  onKeydown: withKeys(handleKeydown, ["left", "right"])
244
248
  }), {
@@ -1 +1 @@
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 { PrimitiveProps } from '@/Primitive'\nimport { type Formatter, createContext, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n type DateRange,\n type Granularity,\n type HourCycle,\n type SegmentPart,\n type SegmentValueObj,\n createContent,\n getDefaultDate,\n getSegmentElements,\n initializeSegmentValues,\n isSegmentNavigationKey,\n syncSegmentValues,\n} from '@/shared/date'\nimport {\n type Matcher,\n areAllDaysBetweenValid,\n hasTime,\n isBefore,\n isBeforeOrSame,\n} from '@/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\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 { computed, nextTick, onMounted, ref, toRefs, watch } from 'vue'\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\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)\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})\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":"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"}
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 { PrimitiveProps } from '@/Primitive'\nimport { type Formatter, createContext, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n type DateRange,\n type Granularity,\n type HourCycle,\n type SegmentPart,\n type SegmentValueObj,\n createContent,\n getDefaultDate,\n getSegmentElements,\n initializeSegmentValues,\n isSegmentNavigationKey,\n syncSegmentValues,\n} from '@/shared/date'\nimport {\n type Matcher,\n areAllDaysBetweenValid,\n hasTime,\n isBefore,\n isBeforeOrSame,\n} from '@/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\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 { computed, nextTick, onMounted, ref, toRefs, watch } from 'vue'\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\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)\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":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
1
+ import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
2
2
  import '@floating-ui/vue';
3
3
  import { _ as _sfc_main$1 } from '../Popover/PopoverAnchor.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
1
+ import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
2
2
  import '@floating-ui/vue';
3
3
  import { _ as _sfc_main$1 } from '../Popover/PopoverArrow.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
1
+ import { defineComponent, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
2
2
  import { isEqualDay } from '@internationalized/date';
3
3
  import '@floating-ui/vue';
4
4
  import { i as injectDateRangePickerRootContext } from './DateRangePickerRoot.js';
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
1
+ import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
2
2
  import '@floating-ui/vue';
3
3
  import { _ as _sfc_main$1 } from '../RangeCalendar/RangeCalendarCell.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
1
+ import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
2
2
  import '@floating-ui/vue';
3
3
  import { _ as _sfc_main$1 } from '../RangeCalendar/RangeCalendarCellTrigger.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
1
+ import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
2
2
  import '@floating-ui/vue';
3
3
  import { _ as _sfc_main$1 } from '../Popover/PopoverClose.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createBlock, unref, withCtx, createVNode, normalizeProps, guardReactiveProps, renderSlot } from 'vue';
1
+ import { defineComponent, createBlock, openBlock, unref, withCtx, createVNode, normalizeProps, guardReactiveProps, renderSlot } from 'vue';
2
2
  import '@floating-ui/vue';
3
3
  import { u as useForwardPropsEmits } from '../shared/useForwardPropsEmits.js';
4
4
  import { _ as _sfc_main$1 } from '../Popover/PopoverPortal.js';
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
1
+ import { defineComponent, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
2
2
  import { isEqualDay } from '@internationalized/date';
3
3
  import '@floating-ui/vue';
4
4
  import { _ as _sfc_main$1 } from '../DateRangeField/DateRangeFieldRoot.js';