reka-ui 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (902) hide show
  1. package/dist/Accordion/AccordionHeader.cjs.map +1 -1
  2. package/dist/Accordion/AccordionHeader.js.map +1 -1
  3. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  4. package/dist/Accordion/AccordionItem.js.map +1 -1
  5. package/dist/Accordion/AccordionRoot.cjs.map +1 -1
  6. package/dist/Accordion/AccordionRoot.js.map +1 -1
  7. package/dist/Accordion/AccordionTrigger.cjs.map +1 -1
  8. package/dist/Accordion/AccordionTrigger.js.map +1 -1
  9. package/dist/AlertDialog/AlertDialogCancel.cjs.map +1 -1
  10. package/dist/AlertDialog/AlertDialogCancel.js.map +1 -1
  11. package/dist/AspectRatio/AspectRatio.cjs.map +1 -1
  12. package/dist/AspectRatio/AspectRatio.js.map +1 -1
  13. package/dist/Avatar/AvatarFallback.cjs +11 -14
  14. package/dist/Avatar/AvatarFallback.cjs.map +1 -1
  15. package/dist/Avatar/AvatarFallback.js +12 -15
  16. package/dist/Avatar/AvatarFallback.js.map +1 -1
  17. package/dist/Avatar/AvatarImage.cjs +3 -2
  18. package/dist/Avatar/AvatarImage.cjs.map +1 -1
  19. package/dist/Avatar/AvatarImage.js +3 -2
  20. package/dist/Avatar/AvatarImage.js.map +1 -1
  21. package/dist/Avatar/AvatarRoot.cjs +1 -1
  22. package/dist/Avatar/AvatarRoot.cjs.map +1 -1
  23. package/dist/Avatar/AvatarRoot.js +1 -1
  24. package/dist/Avatar/AvatarRoot.js.map +1 -1
  25. package/dist/Avatar/utils.cjs +43 -16
  26. package/dist/Avatar/utils.cjs.map +1 -1
  27. package/dist/Avatar/utils.js +44 -17
  28. package/dist/Avatar/utils.js.map +1 -1
  29. package/dist/Calendar/CalendarCell.cjs +3 -3
  30. package/dist/Calendar/CalendarCell.cjs.map +1 -1
  31. package/dist/Calendar/CalendarCell.js +3 -3
  32. package/dist/Calendar/CalendarCell.js.map +1 -1
  33. package/dist/Calendar/CalendarCellTrigger.cjs +5 -1
  34. package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
  35. package/dist/Calendar/CalendarCellTrigger.js +5 -1
  36. package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
  37. package/dist/Calendar/CalendarGrid.cjs.map +1 -1
  38. package/dist/Calendar/CalendarGrid.js.map +1 -1
  39. package/dist/Calendar/CalendarHeading.cjs +1 -1
  40. package/dist/Calendar/CalendarHeading.cjs.map +1 -1
  41. package/dist/Calendar/CalendarHeading.js +1 -1
  42. package/dist/Calendar/CalendarHeading.js.map +1 -1
  43. package/dist/Calendar/CalendarNext.cjs.map +1 -1
  44. package/dist/Calendar/CalendarNext.js.map +1 -1
  45. package/dist/Calendar/CalendarPrev.cjs.map +1 -1
  46. package/dist/Calendar/CalendarPrev.js.map +1 -1
  47. package/dist/Calendar/CalendarRoot.cjs +7 -4
  48. package/dist/Calendar/CalendarRoot.cjs.map +1 -1
  49. package/dist/Calendar/CalendarRoot.js +7 -4
  50. package/dist/Calendar/CalendarRoot.js.map +1 -1
  51. package/dist/Calendar/useCalendar.cjs.map +1 -1
  52. package/dist/Calendar/useCalendar.js.map +1 -1
  53. package/dist/Checkbox/CheckboxGroupRoot.cjs +1 -1
  54. package/dist/Checkbox/CheckboxGroupRoot.cjs.map +1 -1
  55. package/dist/Checkbox/CheckboxGroupRoot.js +1 -1
  56. package/dist/Checkbox/CheckboxGroupRoot.js.map +1 -1
  57. package/dist/Checkbox/CheckboxIndicator.cjs.map +1 -1
  58. package/dist/Checkbox/CheckboxIndicator.js.map +1 -1
  59. package/dist/Checkbox/CheckboxRoot.cjs +1 -1
  60. package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
  61. package/dist/Checkbox/CheckboxRoot.js +1 -1
  62. package/dist/Checkbox/CheckboxRoot.js.map +1 -1
  63. package/dist/Collapsible/CollapsibleContent.cjs +1 -1
  64. package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
  65. package/dist/Collapsible/CollapsibleContent.js +1 -1
  66. package/dist/Collapsible/CollapsibleContent.js.map +1 -1
  67. package/dist/Collapsible/CollapsibleRoot.cjs +2 -0
  68. package/dist/Collapsible/CollapsibleRoot.cjs.map +1 -1
  69. package/dist/Collapsible/CollapsibleRoot.js +2 -0
  70. package/dist/Collapsible/CollapsibleRoot.js.map +1 -1
  71. package/dist/Collapsible/CollapsibleTrigger.cjs +1 -1
  72. package/dist/Collapsible/CollapsibleTrigger.js +1 -1
  73. package/dist/Collection/Collection.cjs.map +1 -1
  74. package/dist/Collection/Collection.js.map +1 -1
  75. package/dist/Combobox/ComboboxAnchor.cjs.map +1 -1
  76. package/dist/Combobox/ComboboxAnchor.js.map +1 -1
  77. package/dist/Combobox/ComboboxArrow.cjs.map +1 -1
  78. package/dist/Combobox/ComboboxArrow.js.map +1 -1
  79. package/dist/Combobox/ComboboxCancel.cjs +1 -0
  80. package/dist/Combobox/ComboboxCancel.cjs.map +1 -1
  81. package/dist/Combobox/ComboboxCancel.js +1 -0
  82. package/dist/Combobox/ComboboxCancel.js.map +1 -1
  83. package/dist/Combobox/ComboboxContent.cjs.map +1 -1
  84. package/dist/Combobox/ComboboxContent.js.map +1 -1
  85. package/dist/Combobox/ComboboxContentImpl.cjs +2 -2
  86. package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
  87. package/dist/Combobox/ComboboxContentImpl.js +2 -2
  88. package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
  89. package/dist/Combobox/ComboboxEmpty.cjs.map +1 -1
  90. package/dist/Combobox/ComboboxEmpty.js.map +1 -1
  91. package/dist/Combobox/ComboboxGroup.cjs +1 -1
  92. package/dist/Combobox/ComboboxGroup.cjs.map +1 -1
  93. package/dist/Combobox/ComboboxGroup.js +1 -1
  94. package/dist/Combobox/ComboboxGroup.js.map +1 -1
  95. package/dist/Combobox/ComboboxInput.cjs +9 -1
  96. package/dist/Combobox/ComboboxInput.cjs.map +1 -1
  97. package/dist/Combobox/ComboboxInput.js +9 -1
  98. package/dist/Combobox/ComboboxInput.js.map +1 -1
  99. package/dist/Combobox/ComboboxItem.cjs +4 -3
  100. package/dist/Combobox/ComboboxItem.cjs.map +1 -1
  101. package/dist/Combobox/ComboboxItem.js +4 -3
  102. package/dist/Combobox/ComboboxItem.js.map +1 -1
  103. package/dist/Combobox/ComboboxLabel.cjs +1 -1
  104. package/dist/Combobox/ComboboxLabel.js +1 -1
  105. package/dist/Combobox/ComboboxRoot.cjs +1 -2
  106. package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
  107. package/dist/Combobox/ComboboxRoot.js +1 -2
  108. package/dist/Combobox/ComboboxRoot.js.map +1 -1
  109. package/dist/Combobox/ComboboxTrigger.cjs.map +1 -1
  110. package/dist/Combobox/ComboboxTrigger.js.map +1 -1
  111. package/dist/Combobox/ComboboxViewport.cjs.map +1 -1
  112. package/dist/Combobox/ComboboxViewport.js.map +1 -1
  113. package/dist/Combobox/ComboboxVirtualizer.cjs.map +1 -1
  114. package/dist/Combobox/ComboboxVirtualizer.js.map +1 -1
  115. package/dist/ConfigProvider/ConfigProvider.cjs.map +1 -1
  116. package/dist/ConfigProvider/ConfigProvider.js.map +1 -1
  117. package/dist/ContextMenu/ContextMenuContent.cjs.map +1 -1
  118. package/dist/ContextMenu/ContextMenuContent.js.map +1 -1
  119. package/dist/ContextMenu/ContextMenuPortal.cjs.map +1 -1
  120. package/dist/ContextMenu/ContextMenuPortal.js.map +1 -1
  121. package/dist/ContextMenu/ContextMenuRoot.cjs.map +1 -1
  122. package/dist/ContextMenu/ContextMenuRoot.js.map +1 -1
  123. package/dist/ContextMenu/ContextMenuSub.cjs.map +1 -1
  124. package/dist/ContextMenu/ContextMenuSub.js.map +1 -1
  125. package/dist/ContextMenu/ContextMenuTrigger.cjs +2 -2
  126. package/dist/ContextMenu/ContextMenuTrigger.cjs.map +1 -1
  127. package/dist/ContextMenu/ContextMenuTrigger.js +2 -2
  128. package/dist/ContextMenu/ContextMenuTrigger.js.map +1 -1
  129. package/dist/DateField/DateFieldInput.cjs +1 -0
  130. package/dist/DateField/DateFieldInput.cjs.map +1 -1
  131. package/dist/DateField/DateFieldInput.js +1 -0
  132. package/dist/DateField/DateFieldInput.js.map +1 -1
  133. package/dist/DateField/DateFieldRoot.cjs +7 -1
  134. package/dist/DateField/DateFieldRoot.cjs.map +1 -1
  135. package/dist/DateField/DateFieldRoot.js +7 -1
  136. package/dist/DateField/DateFieldRoot.js.map +1 -1
  137. package/dist/DatePicker/DatePickerArrow.cjs.map +1 -1
  138. package/dist/DatePicker/DatePickerArrow.js.map +1 -1
  139. package/dist/DatePicker/DatePickerCalendar.cjs.map +1 -1
  140. package/dist/DatePicker/DatePickerCalendar.js.map +1 -1
  141. package/dist/DatePicker/DatePickerCell.cjs.map +1 -1
  142. package/dist/DatePicker/DatePickerCell.js.map +1 -1
  143. package/dist/DatePicker/DatePickerCellTrigger.cjs.map +1 -1
  144. package/dist/DatePicker/DatePickerCellTrigger.js.map +1 -1
  145. package/dist/DatePicker/DatePickerClose.cjs.map +1 -1
  146. package/dist/DatePicker/DatePickerClose.js.map +1 -1
  147. package/dist/DatePicker/DatePickerContent.cjs +8 -3
  148. package/dist/DatePicker/DatePickerContent.cjs.map +1 -1
  149. package/dist/DatePicker/DatePickerContent.js +9 -4
  150. package/dist/DatePicker/DatePickerContent.js.map +1 -1
  151. package/dist/DatePicker/DatePickerGrid.cjs.map +1 -1
  152. package/dist/DatePicker/DatePickerGrid.js.map +1 -1
  153. package/dist/DatePicker/DatePickerGridBody.cjs.map +1 -1
  154. package/dist/DatePicker/DatePickerGridBody.js.map +1 -1
  155. package/dist/DatePicker/DatePickerGridHead.cjs.map +1 -1
  156. package/dist/DatePicker/DatePickerGridHead.js.map +1 -1
  157. package/dist/DatePicker/DatePickerGridRow.cjs.map +1 -1
  158. package/dist/DatePicker/DatePickerGridRow.js.map +1 -1
  159. package/dist/DatePicker/DatePickerHeadCell.cjs.map +1 -1
  160. package/dist/DatePicker/DatePickerHeadCell.js.map +1 -1
  161. package/dist/DatePicker/DatePickerHeader.cjs.map +1 -1
  162. package/dist/DatePicker/DatePickerHeader.js.map +1 -1
  163. package/dist/DatePicker/DatePickerHeading.cjs.map +1 -1
  164. package/dist/DatePicker/DatePickerHeading.js.map +1 -1
  165. package/dist/DatePicker/DatePickerInput.cjs.map +1 -1
  166. package/dist/DatePicker/DatePickerInput.js.map +1 -1
  167. package/dist/DatePicker/DatePickerNext.cjs.map +1 -1
  168. package/dist/DatePicker/DatePickerNext.js.map +1 -1
  169. package/dist/DatePicker/DatePickerPrev.cjs.map +1 -1
  170. package/dist/DatePicker/DatePickerPrev.js.map +1 -1
  171. package/dist/DatePicker/DatePickerRoot.cjs +1 -0
  172. package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
  173. package/dist/DatePicker/DatePickerRoot.js +1 -0
  174. package/dist/DatePicker/DatePickerRoot.js.map +1 -1
  175. package/dist/DatePicker/DatePickerTrigger.cjs.map +1 -1
  176. package/dist/DatePicker/DatePickerTrigger.js.map +1 -1
  177. package/dist/DateRangeField/DateRangeFieldInput.cjs +1 -0
  178. package/dist/DateRangeField/DateRangeFieldInput.cjs.map +1 -1
  179. package/dist/DateRangeField/DateRangeFieldInput.js +1 -0
  180. package/dist/DateRangeField/DateRangeFieldInput.js.map +1 -1
  181. package/dist/DateRangeField/DateRangeFieldRoot.cjs +13 -9
  182. package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
  183. package/dist/DateRangeField/DateRangeFieldRoot.js +13 -9
  184. package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
  185. package/dist/DateRangePicker/DateRangePickerAnchor.cjs.map +1 -1
  186. package/dist/DateRangePicker/DateRangePickerAnchor.js.map +1 -1
  187. package/dist/DateRangePicker/DateRangePickerArrow.cjs.map +1 -1
  188. package/dist/DateRangePicker/DateRangePickerArrow.js.map +1 -1
  189. package/dist/DateRangePicker/DateRangePickerCalendar.cjs +3 -1
  190. package/dist/DateRangePicker/DateRangePickerCalendar.cjs.map +1 -1
  191. package/dist/DateRangePicker/DateRangePickerCalendar.js +3 -1
  192. package/dist/DateRangePicker/DateRangePickerCalendar.js.map +1 -1
  193. package/dist/DateRangePicker/DateRangePickerCell.cjs.map +1 -1
  194. package/dist/DateRangePicker/DateRangePickerCell.js.map +1 -1
  195. package/dist/DateRangePicker/DateRangePickerClose.cjs.map +1 -1
  196. package/dist/DateRangePicker/DateRangePickerClose.js.map +1 -1
  197. package/dist/DateRangePicker/DateRangePickerContent.cjs +8 -3
  198. package/dist/DateRangePicker/DateRangePickerContent.cjs.map +1 -1
  199. package/dist/DateRangePicker/DateRangePickerContent.js +9 -4
  200. package/dist/DateRangePicker/DateRangePickerContent.js.map +1 -1
  201. package/dist/DateRangePicker/DateRangePickerGrid.cjs.map +1 -1
  202. package/dist/DateRangePicker/DateRangePickerGrid.js.map +1 -1
  203. package/dist/DateRangePicker/DateRangePickerGridBody.cjs.map +1 -1
  204. package/dist/DateRangePicker/DateRangePickerGridBody.js.map +1 -1
  205. package/dist/DateRangePicker/DateRangePickerGridHead.cjs.map +1 -1
  206. package/dist/DateRangePicker/DateRangePickerGridHead.js.map +1 -1
  207. package/dist/DateRangePicker/DateRangePickerGridRow.cjs.map +1 -1
  208. package/dist/DateRangePicker/DateRangePickerGridRow.js.map +1 -1
  209. package/dist/DateRangePicker/DateRangePickerHeadCell.cjs.map +1 -1
  210. package/dist/DateRangePicker/DateRangePickerHeadCell.js.map +1 -1
  211. package/dist/DateRangePicker/DateRangePickerHeader.cjs.map +1 -1
  212. package/dist/DateRangePicker/DateRangePickerHeader.js.map +1 -1
  213. package/dist/DateRangePicker/DateRangePickerHeading.cjs.map +1 -1
  214. package/dist/DateRangePicker/DateRangePickerHeading.js.map +1 -1
  215. package/dist/DateRangePicker/DateRangePickerInput.cjs.map +1 -1
  216. package/dist/DateRangePicker/DateRangePickerInput.js.map +1 -1
  217. package/dist/DateRangePicker/DateRangePickerNext.cjs.map +1 -1
  218. package/dist/DateRangePicker/DateRangePickerNext.js.map +1 -1
  219. package/dist/DateRangePicker/DateRangePickerPrev.cjs.map +1 -1
  220. package/dist/DateRangePicker/DateRangePickerPrev.js.map +1 -1
  221. package/dist/DateRangePicker/DateRangePickerRoot.cjs +9 -2
  222. package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
  223. package/dist/DateRangePicker/DateRangePickerRoot.js +9 -2
  224. package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
  225. package/dist/DateRangePicker/DateRangePickerTrigger.cjs.map +1 -1
  226. package/dist/DateRangePicker/DateRangePickerTrigger.js.map +1 -1
  227. package/dist/Dialog/DialogClose.cjs +1 -1
  228. package/dist/Dialog/DialogClose.cjs.map +1 -1
  229. package/dist/Dialog/DialogClose.js +1 -1
  230. package/dist/Dialog/DialogClose.js.map +1 -1
  231. package/dist/Dialog/DialogContent.cjs.map +1 -1
  232. package/dist/Dialog/DialogContent.js.map +1 -1
  233. package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
  234. package/dist/Dialog/DialogContentImpl.js.map +1 -1
  235. package/dist/Dialog/DialogContentModal.cjs.map +1 -1
  236. package/dist/Dialog/DialogContentModal.js.map +1 -1
  237. package/dist/Dialog/DialogContentNonModal.cjs.map +1 -1
  238. package/dist/Dialog/DialogContentNonModal.js.map +1 -1
  239. package/dist/Dialog/DialogDescription.cjs.map +1 -1
  240. package/dist/Dialog/DialogDescription.js.map +1 -1
  241. package/dist/Dialog/DialogOverlay.cjs.map +1 -1
  242. package/dist/Dialog/DialogOverlay.js.map +1 -1
  243. package/dist/Dialog/DialogOverlayImpl.cjs.map +1 -1
  244. package/dist/Dialog/DialogOverlayImpl.js.map +1 -1
  245. package/dist/Dialog/DialogRoot.cjs +4 -1
  246. package/dist/Dialog/DialogRoot.cjs.map +1 -1
  247. package/dist/Dialog/DialogRoot.js +4 -1
  248. package/dist/Dialog/DialogRoot.js.map +1 -1
  249. package/dist/Dialog/DialogTitle.cjs.map +1 -1
  250. package/dist/Dialog/DialogTitle.js.map +1 -1
  251. package/dist/Dialog/DialogTrigger.cjs +1 -1
  252. package/dist/Dialog/DialogTrigger.cjs.map +1 -1
  253. package/dist/Dialog/DialogTrigger.js +1 -1
  254. package/dist/Dialog/DialogTrigger.js.map +1 -1
  255. package/dist/Dialog/utils.cjs.map +1 -1
  256. package/dist/Dialog/utils.js.map +1 -1
  257. package/dist/DismissableLayer/DismissableLayer.cjs.map +1 -1
  258. package/dist/DismissableLayer/DismissableLayer.js.map +1 -1
  259. package/dist/DismissableLayer/DismissableLayerBranch.cjs.map +1 -1
  260. package/dist/DismissableLayer/DismissableLayerBranch.js.map +1 -1
  261. package/dist/DismissableLayer/utils.cjs +11 -6
  262. package/dist/DismissableLayer/utils.cjs.map +1 -1
  263. package/dist/DismissableLayer/utils.js +12 -7
  264. package/dist/DismissableLayer/utils.js.map +1 -1
  265. package/dist/DropdownMenu/DropdownMenuContent.cjs +1 -1
  266. package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
  267. package/dist/DropdownMenu/DropdownMenuContent.js +1 -1
  268. package/dist/DropdownMenu/DropdownMenuContent.js.map +1 -1
  269. package/dist/DropdownMenu/DropdownMenuRoot.cjs.map +1 -1
  270. package/dist/DropdownMenu/DropdownMenuRoot.js.map +1 -1
  271. package/dist/DropdownMenu/DropdownMenuSub.cjs.map +1 -1
  272. package/dist/DropdownMenu/DropdownMenuSub.js.map +1 -1
  273. package/dist/DropdownMenu/DropdownMenuTrigger.cjs +1 -1
  274. package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
  275. package/dist/DropdownMenu/DropdownMenuTrigger.js +1 -1
  276. package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
  277. package/dist/Editable/EditableInput.cjs.map +1 -1
  278. package/dist/Editable/EditableInput.js.map +1 -1
  279. package/dist/Editable/EditablePreview.cjs.map +1 -1
  280. package/dist/Editable/EditablePreview.js.map +1 -1
  281. package/dist/Editable/EditableRoot.cjs +1 -1
  282. package/dist/Editable/EditableRoot.cjs.map +1 -1
  283. package/dist/Editable/EditableRoot.js +1 -1
  284. package/dist/Editable/EditableRoot.js.map +1 -1
  285. package/dist/FocusScope/FocusScope.cjs +1 -1
  286. package/dist/FocusScope/FocusScope.cjs.map +1 -1
  287. package/dist/FocusScope/FocusScope.js +1 -1
  288. package/dist/FocusScope/FocusScope.js.map +1 -1
  289. package/dist/HoverCard/HoverCardContent.cjs +1 -1
  290. package/dist/HoverCard/HoverCardContent.cjs.map +1 -1
  291. package/dist/HoverCard/HoverCardContent.js +1 -1
  292. package/dist/HoverCard/HoverCardContent.js.map +1 -1
  293. package/dist/HoverCard/HoverCardContentImpl.cjs +3 -3
  294. package/dist/HoverCard/HoverCardContentImpl.cjs.map +1 -1
  295. package/dist/HoverCard/HoverCardContentImpl.js +3 -3
  296. package/dist/HoverCard/HoverCardContentImpl.js.map +1 -1
  297. package/dist/HoverCard/HoverCardRoot.cjs.map +1 -1
  298. package/dist/HoverCard/HoverCardRoot.js.map +1 -1
  299. package/dist/HoverCard/HoverCardTrigger.cjs +1 -1
  300. package/dist/HoverCard/HoverCardTrigger.cjs.map +1 -1
  301. package/dist/HoverCard/HoverCardTrigger.js +1 -1
  302. package/dist/HoverCard/HoverCardTrigger.js.map +1 -1
  303. package/dist/Listbox/ListboxContent.cjs +1 -1
  304. package/dist/Listbox/ListboxContent.cjs.map +1 -1
  305. package/dist/Listbox/ListboxContent.js +1 -1
  306. package/dist/Listbox/ListboxContent.js.map +1 -1
  307. package/dist/Listbox/ListboxFilter.cjs.map +1 -1
  308. package/dist/Listbox/ListboxFilter.js.map +1 -1
  309. package/dist/Listbox/ListboxItem.cjs +2 -2
  310. package/dist/Listbox/ListboxItem.cjs.map +1 -1
  311. package/dist/Listbox/ListboxItem.js +2 -2
  312. package/dist/Listbox/ListboxItem.js.map +1 -1
  313. package/dist/Listbox/ListboxItemIndicator.cjs.map +1 -1
  314. package/dist/Listbox/ListboxItemIndicator.js.map +1 -1
  315. package/dist/Listbox/ListboxRoot.cjs +3 -3
  316. package/dist/Listbox/ListboxRoot.cjs.map +1 -1
  317. package/dist/Listbox/ListboxRoot.js +3 -3
  318. package/dist/Listbox/ListboxRoot.js.map +1 -1
  319. package/dist/Listbox/ListboxVirtualizer.cjs +4 -4
  320. package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
  321. package/dist/Listbox/ListboxVirtualizer.js +4 -4
  322. package/dist/Listbox/ListboxVirtualizer.js.map +1 -1
  323. package/dist/Menu/MenuAnchor.cjs.map +1 -1
  324. package/dist/Menu/MenuAnchor.js.map +1 -1
  325. package/dist/Menu/MenuCheckboxItem.cjs +1 -1
  326. package/dist/Menu/MenuCheckboxItem.cjs.map +1 -1
  327. package/dist/Menu/MenuCheckboxItem.js +1 -1
  328. package/dist/Menu/MenuCheckboxItem.js.map +1 -1
  329. package/dist/Menu/MenuContent.cjs.map +1 -1
  330. package/dist/Menu/MenuContent.js.map +1 -1
  331. package/dist/Menu/MenuContentImpl.cjs +2 -2
  332. package/dist/Menu/MenuContentImpl.cjs.map +1 -1
  333. package/dist/Menu/MenuContentImpl.js +2 -2
  334. package/dist/Menu/MenuContentImpl.js.map +1 -1
  335. package/dist/Menu/MenuItem.cjs.map +1 -1
  336. package/dist/Menu/MenuItem.js.map +1 -1
  337. package/dist/Menu/MenuItemImpl.cjs +1 -1
  338. package/dist/Menu/MenuItemImpl.cjs.map +1 -1
  339. package/dist/Menu/MenuItemImpl.js +1 -1
  340. package/dist/Menu/MenuItemImpl.js.map +1 -1
  341. package/dist/Menu/MenuItemIndicator.cjs.map +1 -1
  342. package/dist/Menu/MenuItemIndicator.js.map +1 -1
  343. package/dist/Menu/MenuRadioGroup.cjs.map +1 -1
  344. package/dist/Menu/MenuRadioGroup.js.map +1 -1
  345. package/dist/Menu/MenuRadioItem.cjs +1 -1
  346. package/dist/Menu/MenuRadioItem.cjs.map +1 -1
  347. package/dist/Menu/MenuRadioItem.js +1 -1
  348. package/dist/Menu/MenuRadioItem.js.map +1 -1
  349. package/dist/Menu/MenuRoot.cjs +1 -1
  350. package/dist/Menu/MenuRoot.cjs.map +1 -1
  351. package/dist/Menu/MenuRoot.js +1 -1
  352. package/dist/Menu/MenuRoot.js.map +1 -1
  353. package/dist/Menu/MenuRootContentModal.cjs.map +1 -1
  354. package/dist/Menu/MenuRootContentModal.js.map +1 -1
  355. package/dist/Menu/MenuRootContentNonModal.cjs.map +1 -1
  356. package/dist/Menu/MenuRootContentNonModal.js.map +1 -1
  357. package/dist/Menu/MenuSub.cjs.map +1 -1
  358. package/dist/Menu/MenuSub.js.map +1 -1
  359. package/dist/Menu/MenuSubContent.cjs.map +1 -1
  360. package/dist/Menu/MenuSubContent.js.map +1 -1
  361. package/dist/Menu/MenuSubTrigger.cjs +1 -1
  362. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  363. package/dist/Menu/MenuSubTrigger.js +1 -1
  364. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  365. package/dist/Menubar/MenubarContent.cjs +1 -1
  366. package/dist/Menubar/MenubarContent.cjs.map +1 -1
  367. package/dist/Menubar/MenubarContent.js +1 -1
  368. package/dist/Menubar/MenubarContent.js.map +1 -1
  369. package/dist/Menubar/MenubarGroup.cjs.map +1 -1
  370. package/dist/Menubar/MenubarGroup.js.map +1 -1
  371. package/dist/Menubar/MenubarMenu.cjs.map +1 -1
  372. package/dist/Menubar/MenubarMenu.js.map +1 -1
  373. package/dist/Menubar/MenubarRoot.cjs.map +1 -1
  374. package/dist/Menubar/MenubarRoot.js.map +1 -1
  375. package/dist/Menubar/MenubarSub.cjs.map +1 -1
  376. package/dist/Menubar/MenubarSub.js.map +1 -1
  377. package/dist/Menubar/MenubarSubContent.cjs.map +1 -1
  378. package/dist/Menubar/MenubarSubContent.js.map +1 -1
  379. package/dist/Menubar/MenubarTrigger.cjs +1 -1
  380. package/dist/Menubar/MenubarTrigger.cjs.map +1 -1
  381. package/dist/Menubar/MenubarTrigger.js +1 -1
  382. package/dist/Menubar/MenubarTrigger.js.map +1 -1
  383. package/dist/NavigationMenu/NavigationMenuContent.cjs +1 -1
  384. package/dist/NavigationMenu/NavigationMenuContent.cjs.map +1 -1
  385. package/dist/NavigationMenu/NavigationMenuContent.js +1 -1
  386. package/dist/NavigationMenu/NavigationMenuContent.js.map +1 -1
  387. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs +1 -1
  388. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
  389. package/dist/NavigationMenu/NavigationMenuContentImpl.js +1 -1
  390. package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
  391. package/dist/NavigationMenu/NavigationMenuIndicator.cjs.map +1 -1
  392. package/dist/NavigationMenu/NavigationMenuIndicator.js.map +1 -1
  393. package/dist/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
  394. package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
  395. package/dist/NavigationMenu/NavigationMenuLink.cjs.map +1 -1
  396. package/dist/NavigationMenu/NavigationMenuLink.js.map +1 -1
  397. package/dist/NavigationMenu/NavigationMenuList.cjs.map +1 -1
  398. package/dist/NavigationMenu/NavigationMenuList.js.map +1 -1
  399. package/dist/NavigationMenu/NavigationMenuRoot.cjs.map +1 -1
  400. package/dist/NavigationMenu/NavigationMenuRoot.js.map +1 -1
  401. package/dist/NavigationMenu/NavigationMenuSub.cjs.map +1 -1
  402. package/dist/NavigationMenu/NavigationMenuSub.js.map +1 -1
  403. package/dist/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
  404. package/dist/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
  405. package/dist/NavigationMenu/NavigationMenuViewport.cjs.map +1 -1
  406. package/dist/NavigationMenu/NavigationMenuViewport.js.map +1 -1
  407. package/dist/NumberField/NumberFieldDecrement.cjs +1 -1
  408. package/dist/NumberField/NumberFieldDecrement.cjs.map +1 -1
  409. package/dist/NumberField/NumberFieldDecrement.js +1 -1
  410. package/dist/NumberField/NumberFieldDecrement.js.map +1 -1
  411. package/dist/NumberField/NumberFieldIncrement.cjs.map +1 -1
  412. package/dist/NumberField/NumberFieldIncrement.js.map +1 -1
  413. package/dist/NumberField/NumberFieldInput.cjs +3 -3
  414. package/dist/NumberField/NumberFieldInput.cjs.map +1 -1
  415. package/dist/NumberField/NumberFieldInput.js +3 -3
  416. package/dist/NumberField/NumberFieldInput.js.map +1 -1
  417. package/dist/NumberField/NumberFieldRoot.cjs +8 -5
  418. package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
  419. package/dist/NumberField/NumberFieldRoot.js +8 -5
  420. package/dist/NumberField/NumberFieldRoot.js.map +1 -1
  421. package/dist/NumberField/utils.cjs.map +1 -1
  422. package/dist/NumberField/utils.js +1 -1
  423. package/dist/NumberField/utils.js.map +1 -1
  424. package/dist/Pagination/PaginationList.cjs.map +1 -1
  425. package/dist/Pagination/PaginationList.js.map +1 -1
  426. package/dist/Pagination/PaginationRoot.cjs.map +1 -1
  427. package/dist/Pagination/PaginationRoot.js.map +1 -1
  428. package/dist/Pagination/utils.cjs.map +1 -1
  429. package/dist/Pagination/utils.js.map +1 -1
  430. package/dist/PinInput/PinInputInput.cjs +1 -1
  431. package/dist/PinInput/PinInputInput.cjs.map +1 -1
  432. package/dist/PinInput/PinInputInput.js +1 -1
  433. package/dist/PinInput/PinInputInput.js.map +1 -1
  434. package/dist/PinInput/PinInputRoot.cjs.map +1 -1
  435. package/dist/PinInput/PinInputRoot.js.map +1 -1
  436. package/dist/Popover/PopoverAnchor.cjs.map +1 -1
  437. package/dist/Popover/PopoverAnchor.js.map +1 -1
  438. package/dist/Popover/PopoverClose.cjs.map +1 -1
  439. package/dist/Popover/PopoverClose.js.map +1 -1
  440. package/dist/Popover/PopoverContent.cjs.map +1 -1
  441. package/dist/Popover/PopoverContent.js.map +1 -1
  442. package/dist/Popover/PopoverContentImpl.cjs +1 -1
  443. package/dist/Popover/PopoverContentImpl.cjs.map +1 -1
  444. package/dist/Popover/PopoverContentImpl.js +1 -1
  445. package/dist/Popover/PopoverContentImpl.js.map +1 -1
  446. package/dist/Popover/PopoverContentModal.cjs +1 -1
  447. package/dist/Popover/PopoverContentModal.cjs.map +1 -1
  448. package/dist/Popover/PopoverContentModal.js +1 -1
  449. package/dist/Popover/PopoverContentModal.js.map +1 -1
  450. package/dist/Popover/PopoverContentNonModal.cjs.map +1 -1
  451. package/dist/Popover/PopoverContentNonModal.js.map +1 -1
  452. package/dist/Popover/PopoverRoot.cjs.map +1 -1
  453. package/dist/Popover/PopoverRoot.js.map +1 -1
  454. package/dist/Popover/PopoverTrigger.cjs +1 -1
  455. package/dist/Popover/PopoverTrigger.cjs.map +1 -1
  456. package/dist/Popover/PopoverTrigger.js +1 -1
  457. package/dist/Popover/PopoverTrigger.js.map +1 -1
  458. package/dist/Popper/PopperAnchor.cjs.map +1 -1
  459. package/dist/Popper/PopperAnchor.js.map +1 -1
  460. package/dist/Popper/PopperArrow.cjs.map +1 -1
  461. package/dist/Popper/PopperArrow.js.map +1 -1
  462. package/dist/Popper/PopperContent.cjs +2 -2
  463. package/dist/Popper/PopperContent.cjs.map +1 -1
  464. package/dist/Popper/PopperContent.js +2 -2
  465. package/dist/Popper/PopperContent.js.map +1 -1
  466. package/dist/Popper/PopperRoot.cjs.map +1 -1
  467. package/dist/Popper/PopperRoot.js.map +1 -1
  468. package/dist/Presence/Presence.cjs +1 -1
  469. package/dist/Presence/Presence.cjs.map +1 -1
  470. package/dist/Presence/Presence.js +1 -1
  471. package/dist/Presence/Presence.js.map +1 -1
  472. package/dist/Presence/usePresence.cjs +2 -2
  473. package/dist/Presence/usePresence.cjs.map +1 -1
  474. package/dist/Presence/usePresence.js +2 -2
  475. package/dist/Presence/usePresence.js.map +1 -1
  476. package/dist/Primitive/Primitive.cjs.map +1 -1
  477. package/dist/Primitive/Primitive.js.map +1 -1
  478. package/dist/Primitive/Slot.cjs +1 -9
  479. package/dist/Primitive/Slot.cjs.map +1 -1
  480. package/dist/Primitive/Slot.js +1 -9
  481. package/dist/Primitive/Slot.js.map +1 -1
  482. package/dist/Primitive/usePrimitiveElement.cjs.map +1 -1
  483. package/dist/Primitive/usePrimitiveElement.js.map +1 -1
  484. package/dist/Progress/ProgressIndicator.cjs.map +1 -1
  485. package/dist/Progress/ProgressIndicator.js.map +1 -1
  486. package/dist/Progress/ProgressRoot.cjs +3 -2
  487. package/dist/Progress/ProgressRoot.cjs.map +1 -1
  488. package/dist/Progress/ProgressRoot.js +3 -2
  489. package/dist/Progress/ProgressRoot.js.map +1 -1
  490. package/dist/RadioGroup/Radio.cjs.map +1 -1
  491. package/dist/RadioGroup/Radio.js.map +1 -1
  492. package/dist/RadioGroup/RadioGroupIndicator.cjs.map +1 -1
  493. package/dist/RadioGroup/RadioGroupIndicator.js.map +1 -1
  494. package/dist/RadioGroup/RadioGroupItem.cjs +1 -1
  495. package/dist/RadioGroup/RadioGroupItem.cjs.map +1 -1
  496. package/dist/RadioGroup/RadioGroupItem.js +1 -1
  497. package/dist/RadioGroup/RadioGroupItem.js.map +1 -1
  498. package/dist/RadioGroup/RadioGroupRoot.cjs.map +1 -1
  499. package/dist/RadioGroup/RadioGroupRoot.js.map +1 -1
  500. package/dist/RadioGroup/utils.cjs.map +1 -1
  501. package/dist/RadioGroup/utils.js.map +1 -1
  502. package/dist/RangeCalendar/RangeCalendarCell.cjs +3 -3
  503. package/dist/RangeCalendar/RangeCalendarCell.cjs.map +1 -1
  504. package/dist/RangeCalendar/RangeCalendarCell.js +3 -3
  505. package/dist/RangeCalendar/RangeCalendarCell.js.map +1 -1
  506. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +28 -9
  507. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
  508. package/dist/RangeCalendar/RangeCalendarCellTrigger.js +28 -9
  509. package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
  510. package/dist/RangeCalendar/RangeCalendarHeading.cjs +1 -1
  511. package/dist/RangeCalendar/RangeCalendarHeading.cjs.map +1 -1
  512. package/dist/RangeCalendar/RangeCalendarHeading.js +1 -1
  513. package/dist/RangeCalendar/RangeCalendarHeading.js.map +1 -1
  514. package/dist/RangeCalendar/RangeCalendarNext.cjs.map +1 -1
  515. package/dist/RangeCalendar/RangeCalendarNext.js.map +1 -1
  516. package/dist/RangeCalendar/RangeCalendarPrev.cjs.map +1 -1
  517. package/dist/RangeCalendar/RangeCalendarPrev.js.map +1 -1
  518. package/dist/RangeCalendar/RangeCalendarRoot.cjs +32 -10
  519. package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
  520. package/dist/RangeCalendar/RangeCalendarRoot.js +32 -10
  521. package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
  522. package/dist/RangeCalendar/useRangeCalendar.cjs +26 -3
  523. package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
  524. package/dist/RangeCalendar/useRangeCalendar.js +26 -3
  525. package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
  526. package/dist/RovingFocus/RovingFocusGroup.cjs +1 -1
  527. package/dist/RovingFocus/RovingFocusGroup.cjs.map +1 -1
  528. package/dist/RovingFocus/RovingFocusGroup.js +1 -1
  529. package/dist/RovingFocus/RovingFocusGroup.js.map +1 -1
  530. package/dist/RovingFocus/RovingFocusItem.cjs +1 -1
  531. package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
  532. package/dist/RovingFocus/RovingFocusItem.js +1 -1
  533. package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
  534. package/dist/ScrollArea/ScrollAreaCorner.cjs.map +1 -1
  535. package/dist/ScrollArea/ScrollAreaCorner.js.map +1 -1
  536. package/dist/ScrollArea/ScrollAreaCornerImpl.cjs +1 -1
  537. package/dist/ScrollArea/ScrollAreaCornerImpl.cjs.map +1 -1
  538. package/dist/ScrollArea/ScrollAreaCornerImpl.js +1 -1
  539. package/dist/ScrollArea/ScrollAreaCornerImpl.js.map +1 -1
  540. package/dist/ScrollArea/ScrollAreaRoot.cjs.map +1 -1
  541. package/dist/ScrollArea/ScrollAreaRoot.js.map +1 -1
  542. package/dist/ScrollArea/ScrollAreaScrollbar.cjs +1 -1
  543. package/dist/ScrollArea/ScrollAreaScrollbar.cjs.map +1 -1
  544. package/dist/ScrollArea/ScrollAreaScrollbar.js +1 -1
  545. package/dist/ScrollArea/ScrollAreaScrollbar.js.map +1 -1
  546. package/dist/ScrollArea/ScrollAreaScrollbarAuto.cjs.map +1 -1
  547. package/dist/ScrollArea/ScrollAreaScrollbarAuto.js.map +1 -1
  548. package/dist/ScrollArea/ScrollAreaScrollbarHover.cjs.map +1 -1
  549. package/dist/ScrollArea/ScrollAreaScrollbarHover.js.map +1 -1
  550. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs.map +1 -1
  551. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js.map +1 -1
  552. package/dist/ScrollArea/ScrollAreaScrollbarScroll.cjs.map +1 -1
  553. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js.map +1 -1
  554. package/dist/ScrollArea/ScrollAreaScrollbarVisible.cjs.map +1 -1
  555. package/dist/ScrollArea/ScrollAreaScrollbarVisible.js.map +1 -1
  556. package/dist/ScrollArea/ScrollAreaScrollbarX.cjs.map +1 -1
  557. package/dist/ScrollArea/ScrollAreaScrollbarX.js.map +1 -1
  558. package/dist/ScrollArea/ScrollAreaScrollbarY.cjs.map +1 -1
  559. package/dist/ScrollArea/ScrollAreaScrollbarY.js.map +1 -1
  560. package/dist/ScrollArea/ScrollAreaThumb.cjs.map +1 -1
  561. package/dist/ScrollArea/ScrollAreaThumb.js.map +1 -1
  562. package/dist/ScrollArea/ScrollAreaViewport.cjs +1 -1
  563. package/dist/ScrollArea/ScrollAreaViewport.cjs.map +1 -1
  564. package/dist/ScrollArea/ScrollAreaViewport.js +1 -1
  565. package/dist/ScrollArea/ScrollAreaViewport.js.map +1 -1
  566. package/dist/ScrollArea/utils.cjs.map +1 -1
  567. package/dist/ScrollArea/utils.js.map +1 -1
  568. package/dist/Select/SelectArrow.cjs +1 -1
  569. package/dist/Select/SelectArrow.cjs.map +1 -1
  570. package/dist/Select/SelectArrow.js +1 -1
  571. package/dist/Select/SelectArrow.js.map +1 -1
  572. package/dist/Select/SelectContent.cjs.map +1 -1
  573. package/dist/Select/SelectContent.js.map +1 -1
  574. package/dist/Select/SelectContentImpl.cjs +4 -4
  575. package/dist/Select/SelectContentImpl.cjs.map +1 -1
  576. package/dist/Select/SelectContentImpl.js +4 -4
  577. package/dist/Select/SelectContentImpl.js.map +1 -1
  578. package/dist/Select/SelectItem.cjs +1 -1
  579. package/dist/Select/SelectItem.cjs.map +1 -1
  580. package/dist/Select/SelectItem.js +1 -1
  581. package/dist/Select/SelectItem.js.map +1 -1
  582. package/dist/Select/SelectItemAlignedPosition.cjs +2 -2
  583. package/dist/Select/SelectItemAlignedPosition.cjs.map +1 -1
  584. package/dist/Select/SelectItemAlignedPosition.js +2 -2
  585. package/dist/Select/SelectItemAlignedPosition.js.map +1 -1
  586. package/dist/Select/SelectItemIndicator.cjs.map +1 -1
  587. package/dist/Select/SelectItemIndicator.js.map +1 -1
  588. package/dist/Select/SelectItemText.cjs.map +1 -1
  589. package/dist/Select/SelectItemText.js.map +1 -1
  590. package/dist/Select/SelectPopperPosition.cjs +1 -1
  591. package/dist/Select/SelectPopperPosition.cjs.map +1 -1
  592. package/dist/Select/SelectPopperPosition.js +1 -1
  593. package/dist/Select/SelectPopperPosition.js.map +1 -1
  594. package/dist/Select/SelectProvider.cjs.map +1 -1
  595. package/dist/Select/SelectProvider.js.map +1 -1
  596. package/dist/Select/SelectRoot.cjs +5 -3
  597. package/dist/Select/SelectRoot.cjs.map +1 -1
  598. package/dist/Select/SelectRoot.js +5 -3
  599. package/dist/Select/SelectRoot.js.map +1 -1
  600. package/dist/Select/SelectScrollButtonImpl.cjs.map +1 -1
  601. package/dist/Select/SelectScrollButtonImpl.js.map +1 -1
  602. package/dist/Select/SelectScrollDownButton.cjs +1 -1
  603. package/dist/Select/SelectScrollDownButton.cjs.map +1 -1
  604. package/dist/Select/SelectScrollDownButton.js +1 -1
  605. package/dist/Select/SelectScrollDownButton.js.map +1 -1
  606. package/dist/Select/SelectTrigger.cjs +3 -3
  607. package/dist/Select/SelectTrigger.cjs.map +1 -1
  608. package/dist/Select/SelectTrigger.js +3 -3
  609. package/dist/Select/SelectTrigger.js.map +1 -1
  610. package/dist/Select/SelectValue.cjs +2 -1
  611. package/dist/Select/SelectValue.cjs.map +1 -1
  612. package/dist/Select/SelectValue.js +2 -1
  613. package/dist/Select/SelectValue.js.map +1 -1
  614. package/dist/Select/SelectViewport.cjs +1 -1
  615. package/dist/Select/SelectViewport.cjs.map +1 -1
  616. package/dist/Select/SelectViewport.js +1 -1
  617. package/dist/Select/SelectViewport.js.map +1 -1
  618. package/dist/Select/utils.cjs +4 -0
  619. package/dist/Select/utils.cjs.map +1 -1
  620. package/dist/Select/utils.js +4 -1
  621. package/dist/Select/utils.js.map +1 -1
  622. package/dist/Slider/SliderHorizontal.cjs +7 -4
  623. package/dist/Slider/SliderHorizontal.cjs.map +1 -1
  624. package/dist/Slider/SliderHorizontal.js +7 -4
  625. package/dist/Slider/SliderHorizontal.js.map +1 -1
  626. package/dist/Slider/SliderRange.cjs +2 -2
  627. package/dist/Slider/SliderRange.cjs.map +1 -1
  628. package/dist/Slider/SliderRange.js +2 -2
  629. package/dist/Slider/SliderRange.js.map +1 -1
  630. package/dist/Slider/SliderRoot.cjs +1 -1
  631. package/dist/Slider/SliderRoot.cjs.map +1 -1
  632. package/dist/Slider/SliderRoot.js +1 -1
  633. package/dist/Slider/SliderRoot.js.map +1 -1
  634. package/dist/Slider/SliderThumb.cjs +1 -1
  635. package/dist/Slider/SliderThumb.cjs.map +1 -1
  636. package/dist/Slider/SliderThumb.js +1 -1
  637. package/dist/Slider/SliderThumb.js.map +1 -1
  638. package/dist/Slider/SliderThumbImpl.cjs +2 -2
  639. package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
  640. package/dist/Slider/SliderThumbImpl.js +2 -2
  641. package/dist/Slider/SliderThumbImpl.js.map +1 -1
  642. package/dist/Slider/SliderVertical.cjs +7 -4
  643. package/dist/Slider/SliderVertical.cjs.map +1 -1
  644. package/dist/Slider/SliderVertical.js +7 -4
  645. package/dist/Slider/SliderVertical.js.map +1 -1
  646. package/dist/Slider/utils.cjs +1 -1
  647. package/dist/Slider/utils.cjs.map +1 -1
  648. package/dist/Slider/utils.js +1 -1
  649. package/dist/Slider/utils.js.map +1 -1
  650. package/dist/Splitter/SplitterGroup.cjs +5 -5
  651. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  652. package/dist/Splitter/SplitterGroup.js +5 -5
  653. package/dist/Splitter/SplitterGroup.js.map +1 -1
  654. package/dist/Splitter/SplitterPanel.cjs +16 -10
  655. package/dist/Splitter/SplitterPanel.cjs.map +1 -1
  656. package/dist/Splitter/SplitterPanel.js +16 -10
  657. package/dist/Splitter/SplitterPanel.js.map +1 -1
  658. package/dist/Splitter/SplitterResizeHandle.cjs +1 -1
  659. package/dist/Splitter/SplitterResizeHandle.cjs.map +1 -1
  660. package/dist/Splitter/SplitterResizeHandle.js +1 -1
  661. package/dist/Splitter/SplitterResizeHandle.js.map +1 -1
  662. package/dist/Stepper/StepperDescription.cjs +1 -1
  663. package/dist/Stepper/StepperDescription.cjs.map +1 -1
  664. package/dist/Stepper/StepperDescription.js +1 -1
  665. package/dist/Stepper/StepperDescription.js.map +1 -1
  666. package/dist/Stepper/StepperIndicator.cjs.map +1 -1
  667. package/dist/Stepper/StepperIndicator.js.map +1 -1
  668. package/dist/Stepper/StepperItem.cjs.map +1 -1
  669. package/dist/Stepper/StepperItem.js.map +1 -1
  670. package/dist/Stepper/StepperRoot.cjs +30 -3
  671. package/dist/Stepper/StepperRoot.cjs.map +1 -1
  672. package/dist/Stepper/StepperRoot.js +30 -3
  673. package/dist/Stepper/StepperRoot.js.map +1 -1
  674. package/dist/Stepper/StepperSeparator.cjs.map +1 -1
  675. package/dist/Stepper/StepperSeparator.js.map +1 -1
  676. package/dist/Stepper/StepperTitle.cjs.map +1 -1
  677. package/dist/Stepper/StepperTitle.js.map +1 -1
  678. package/dist/Stepper/StepperTrigger.cjs +1 -1
  679. package/dist/Stepper/StepperTrigger.cjs.map +1 -1
  680. package/dist/Stepper/StepperTrigger.js +1 -1
  681. package/dist/Stepper/StepperTrigger.js.map +1 -1
  682. package/dist/Switch/SwitchRoot.cjs.map +1 -1
  683. package/dist/Switch/SwitchRoot.js.map +1 -1
  684. package/dist/Switch/SwitchThumb.cjs.map +1 -1
  685. package/dist/Switch/SwitchThumb.js.map +1 -1
  686. package/dist/Tabs/TabsContent.cjs +1 -1
  687. package/dist/Tabs/TabsContent.cjs.map +1 -1
  688. package/dist/Tabs/TabsContent.js +1 -1
  689. package/dist/Tabs/TabsContent.js.map +1 -1
  690. package/dist/Tabs/TabsIndicator.cjs.map +1 -1
  691. package/dist/Tabs/TabsIndicator.js.map +1 -1
  692. package/dist/Tabs/TabsList.cjs +1 -1
  693. package/dist/Tabs/TabsList.cjs.map +1 -1
  694. package/dist/Tabs/TabsList.js +1 -1
  695. package/dist/Tabs/TabsList.js.map +1 -1
  696. package/dist/Tabs/TabsRoot.cjs.map +1 -1
  697. package/dist/Tabs/TabsRoot.js.map +1 -1
  698. package/dist/Tabs/TabsTrigger.cjs.map +1 -1
  699. package/dist/Tabs/TabsTrigger.js.map +1 -1
  700. package/dist/TagsInput/TagsInputClear.cjs +1 -1
  701. package/dist/TagsInput/TagsInputClear.cjs.map +1 -1
  702. package/dist/TagsInput/TagsInputClear.js +1 -1
  703. package/dist/TagsInput/TagsInputClear.js.map +1 -1
  704. package/dist/TagsInput/TagsInputInput.cjs +2 -1
  705. package/dist/TagsInput/TagsInputInput.cjs.map +1 -1
  706. package/dist/TagsInput/TagsInputInput.js +2 -1
  707. package/dist/TagsInput/TagsInputInput.js.map +1 -1
  708. package/dist/TagsInput/TagsInputItem.cjs.map +1 -1
  709. package/dist/TagsInput/TagsInputItem.js.map +1 -1
  710. package/dist/TagsInput/TagsInputItemDelete.cjs +1 -1
  711. package/dist/TagsInput/TagsInputItemDelete.cjs.map +1 -1
  712. package/dist/TagsInput/TagsInputItemDelete.js +1 -1
  713. package/dist/TagsInput/TagsInputItemDelete.js.map +1 -1
  714. package/dist/TagsInput/TagsInputItemText.cjs +1 -1
  715. package/dist/TagsInput/TagsInputItemText.cjs.map +1 -1
  716. package/dist/TagsInput/TagsInputItemText.js +1 -1
  717. package/dist/TagsInput/TagsInputItemText.js.map +1 -1
  718. package/dist/TagsInput/TagsInputRoot.cjs +1 -1
  719. package/dist/TagsInput/TagsInputRoot.cjs.map +1 -1
  720. package/dist/TagsInput/TagsInputRoot.js +1 -1
  721. package/dist/TagsInput/TagsInputRoot.js.map +1 -1
  722. package/dist/TimeField/TimeFieldInput.cjs +1 -0
  723. package/dist/TimeField/TimeFieldInput.cjs.map +1 -1
  724. package/dist/TimeField/TimeFieldInput.js +1 -0
  725. package/dist/TimeField/TimeFieldInput.js.map +1 -1
  726. package/dist/TimeField/TimeFieldRoot.cjs +12 -3
  727. package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
  728. package/dist/TimeField/TimeFieldRoot.js +12 -3
  729. package/dist/TimeField/TimeFieldRoot.js.map +1 -1
  730. package/dist/Toast/ToastAnnounce.cjs +1 -1
  731. package/dist/Toast/ToastAnnounce.cjs.map +1 -1
  732. package/dist/Toast/ToastAnnounce.js +1 -1
  733. package/dist/Toast/ToastAnnounce.js.map +1 -1
  734. package/dist/Toast/ToastProvider.cjs.map +1 -1
  735. package/dist/Toast/ToastProvider.js.map +1 -1
  736. package/dist/Toast/ToastRoot.cjs +28 -20
  737. package/dist/Toast/ToastRoot.cjs.map +1 -1
  738. package/dist/Toast/ToastRoot.js +28 -20
  739. package/dist/Toast/ToastRoot.js.map +1 -1
  740. package/dist/Toast/ToastRootImpl.cjs +2 -2
  741. package/dist/Toast/ToastRootImpl.cjs.map +1 -1
  742. package/dist/Toast/ToastRootImpl.js +2 -2
  743. package/dist/Toast/ToastRootImpl.js.map +1 -1
  744. package/dist/Toast/ToastViewport.cjs +2 -2
  745. package/dist/Toast/ToastViewport.cjs.map +1 -1
  746. package/dist/Toast/ToastViewport.js +2 -2
  747. package/dist/Toast/ToastViewport.js.map +1 -1
  748. package/dist/Toggle/Toggle.cjs.map +1 -1
  749. package/dist/Toggle/Toggle.js.map +1 -1
  750. package/dist/ToggleGroup/ToggleGroupItem.cjs.map +1 -1
  751. package/dist/ToggleGroup/ToggleGroupItem.js.map +1 -1
  752. package/dist/ToggleGroup/ToggleGroupRoot.cjs.map +1 -1
  753. package/dist/ToggleGroup/ToggleGroupRoot.js.map +1 -1
  754. package/dist/Toolbar/ToolbarSeparator.cjs +1 -1
  755. package/dist/Toolbar/ToolbarSeparator.js +1 -1
  756. package/dist/Toolbar/ToolbarToggleGroup.cjs +1 -1
  757. package/dist/Toolbar/ToolbarToggleGroup.cjs.map +1 -1
  758. package/dist/Toolbar/ToolbarToggleGroup.js +1 -1
  759. package/dist/Toolbar/ToolbarToggleGroup.js.map +1 -1
  760. package/dist/Toolbar/ToolbarToggleItem.cjs.map +1 -1
  761. package/dist/Toolbar/ToolbarToggleItem.js.map +1 -1
  762. package/dist/Tooltip/TooltipContent.cjs +1 -1
  763. package/dist/Tooltip/TooltipContent.cjs.map +1 -1
  764. package/dist/Tooltip/TooltipContent.js +1 -1
  765. package/dist/Tooltip/TooltipContent.js.map +1 -1
  766. package/dist/Tooltip/TooltipContentHoverable.cjs.map +1 -1
  767. package/dist/Tooltip/TooltipContentHoverable.js.map +1 -1
  768. package/dist/Tooltip/TooltipContentImpl.cjs +3 -3
  769. package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
  770. package/dist/Tooltip/TooltipContentImpl.js +3 -3
  771. package/dist/Tooltip/TooltipContentImpl.js.map +1 -1
  772. package/dist/Tooltip/TooltipRoot.cjs.map +1 -1
  773. package/dist/Tooltip/TooltipRoot.js.map +1 -1
  774. package/dist/Tooltip/TooltipTrigger.cjs +4 -1
  775. package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
  776. package/dist/Tooltip/TooltipTrigger.js +4 -1
  777. package/dist/Tooltip/TooltipTrigger.js.map +1 -1
  778. package/dist/Tree/TreeItem.cjs +4 -1
  779. package/dist/Tree/TreeItem.cjs.map +1 -1
  780. package/dist/Tree/TreeItem.js +4 -1
  781. package/dist/Tree/TreeItem.js.map +1 -1
  782. package/dist/Tree/TreeRoot.cjs +28 -2
  783. package/dist/Tree/TreeRoot.cjs.map +1 -1
  784. package/dist/Tree/TreeRoot.js +28 -2
  785. package/dist/Tree/TreeRoot.js.map +1 -1
  786. package/dist/Tree/TreeVirtualizer.cjs +2 -2
  787. package/dist/Tree/TreeVirtualizer.cjs.map +1 -1
  788. package/dist/Tree/TreeVirtualizer.js +2 -2
  789. package/dist/Tree/TreeVirtualizer.js.map +1 -1
  790. package/dist/Tree/utils.cjs.map +1 -1
  791. package/dist/Tree/utils.js.map +1 -1
  792. package/dist/Viewport/Viewport.cjs.map +1 -1
  793. package/dist/Viewport/Viewport.js.map +1 -1
  794. package/dist/VisuallyHidden/VisuallyHiddenInput.cjs.map +1 -1
  795. package/dist/VisuallyHidden/VisuallyHiddenInput.js.map +1 -1
  796. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.cjs.map +1 -1
  797. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js.map +1 -1
  798. package/dist/composables/useWindowSplitterBehavior.cjs.map +1 -1
  799. package/dist/composables/useWindowSplitterBehavior.js.map +1 -1
  800. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs +3 -3
  801. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs.map +1 -1
  802. package/dist/composables/useWindowSplitterPanelGroupBehavior.js +3 -3
  803. package/dist/composables/useWindowSplitterPanelGroupBehavior.js.map +1 -1
  804. package/dist/date/calendar.cjs +1 -1
  805. package/dist/date/calendar.cjs.map +1 -1
  806. package/dist/date/calendar.js +1 -1
  807. package/dist/date/calendar.js.map +1 -1
  808. package/dist/date/comparators.cjs +6 -4
  809. package/dist/date/comparators.cjs.map +1 -1
  810. package/dist/date/comparators.js +6 -4
  811. package/dist/date/comparators.js.map +1 -1
  812. package/dist/date/parser.cjs +22 -7
  813. package/dist/date/parser.cjs.map +1 -1
  814. package/dist/date/parser.js +23 -8
  815. package/dist/date/parser.js.map +1 -1
  816. package/dist/date/useDateField.cjs +21 -6
  817. package/dist/date/useDateField.cjs.map +1 -1
  818. package/dist/date/useDateField.js +21 -6
  819. package/dist/date/useDateField.js.map +1 -1
  820. package/dist/date/utils.cjs +37 -8
  821. package/dist/date/utils.cjs.map +1 -1
  822. package/dist/date/utils.js +36 -9
  823. package/dist/date/utils.js.map +1 -1
  824. package/dist/date.d.ts +2 -2
  825. package/dist/index.cjs +347 -347
  826. package/dist/index.cjs.map +1 -1
  827. package/dist/index.d.ts +1558 -1552
  828. package/dist/index.js +161 -161
  829. package/dist/index.js.map +1 -1
  830. package/dist/shared/createContext.cjs.map +1 -1
  831. package/dist/shared/createContext.js.map +1 -1
  832. package/dist/shared/renderSlotFragments.cjs.map +1 -1
  833. package/dist/shared/renderSlotFragments.js.map +1 -1
  834. package/dist/shared/useArrowNavigation.cjs.map +1 -1
  835. package/dist/shared/useArrowNavigation.js.map +1 -1
  836. package/dist/shared/useBodyScrollLock.cjs +3 -3
  837. package/dist/shared/useBodyScrollLock.cjs.map +1 -1
  838. package/dist/shared/useBodyScrollLock.js +3 -3
  839. package/dist/shared/useBodyScrollLock.js.map +1 -1
  840. package/dist/shared/useDateFormatter.cjs +12 -10
  841. package/dist/shared/useDateFormatter.cjs.map +1 -1
  842. package/dist/shared/useDateFormatter.js +12 -10
  843. package/dist/shared/useDateFormatter.js.map +1 -1
  844. package/dist/shared/useDirection.cjs.map +1 -1
  845. package/dist/shared/useDirection.js.map +1 -1
  846. package/dist/shared/useFilter.cjs.map +1 -1
  847. package/dist/shared/useFilter.js.map +1 -1
  848. package/dist/shared/useFormControl.cjs.map +1 -1
  849. package/dist/shared/useFormControl.js.map +1 -1
  850. package/dist/shared/useForwardExpose.cjs.map +1 -1
  851. package/dist/shared/useForwardExpose.js.map +1 -1
  852. package/dist/shared/useForwardProps.cjs +4 -2
  853. package/dist/shared/useForwardProps.cjs.map +1 -1
  854. package/dist/shared/useForwardProps.js +5 -3
  855. package/dist/shared/useForwardProps.js.map +1 -1
  856. package/dist/shared/useForwardPropsEmits.cjs.map +1 -1
  857. package/dist/shared/useForwardPropsEmits.js.map +1 -1
  858. package/dist/shared/useGraceArea.cjs +1 -1
  859. package/dist/shared/useGraceArea.cjs.map +1 -1
  860. package/dist/shared/useGraceArea.js +1 -1
  861. package/dist/shared/useGraceArea.js.map +1 -1
  862. package/dist/shared/useHideOthers.cjs.map +1 -1
  863. package/dist/shared/useHideOthers.js.map +1 -1
  864. package/dist/shared/useId.cjs +2 -2
  865. package/dist/shared/useId.cjs.map +1 -1
  866. package/dist/shared/useId.js +2 -2
  867. package/dist/shared/useId.js.map +1 -1
  868. package/dist/shared/useLocale.cjs.map +1 -1
  869. package/dist/shared/useLocale.js.map +1 -1
  870. package/dist/shared/useNonce.cjs.map +1 -1
  871. package/dist/shared/useNonce.js.map +1 -1
  872. package/dist/shared/useSelectionBehavior.cjs +2 -2
  873. package/dist/shared/useSelectionBehavior.cjs.map +1 -1
  874. package/dist/shared/useSelectionBehavior.js +2 -2
  875. package/dist/shared/useSelectionBehavior.js.map +1 -1
  876. package/dist/shared/useSingleOrMultipleValue.cjs +1 -1
  877. package/dist/shared/useSingleOrMultipleValue.cjs.map +1 -1
  878. package/dist/shared/useSingleOrMultipleValue.js +1 -1
  879. package/dist/shared/useSingleOrMultipleValue.js.map +1 -1
  880. package/dist/shared/useSize.cjs.map +1 -1
  881. package/dist/shared/useSize.js.map +1 -1
  882. package/dist/shared/useStateMachine.cjs.map +1 -1
  883. package/dist/shared/useStateMachine.js.map +1 -1
  884. package/dist/shared/withDefault.cjs.map +1 -1
  885. package/dist/shared/withDefault.js.map +1 -1
  886. package/dist/utils/calculate.cjs +1 -1
  887. package/dist/utils/calculate.cjs.map +1 -1
  888. package/dist/utils/calculate.js +1 -1
  889. package/dist/utils/calculate.js.map +1 -1
  890. package/dist/utils/dom.cjs.map +1 -1
  891. package/dist/utils/dom.js.map +1 -1
  892. package/dist/utils/registry.cjs +1 -1
  893. package/dist/utils/registry.cjs.map +1 -1
  894. package/dist/utils/registry.js +1 -1
  895. package/dist/utils/registry.js.map +1 -1
  896. package/dist/utils/resizePanel.cjs +1 -1
  897. package/dist/utils/resizePanel.cjs.map +1 -1
  898. package/dist/utils/resizePanel.js +1 -1
  899. package/dist/utils/resizePanel.js.map +1 -1
  900. package/dist/utils/style.cjs.map +1 -1
  901. package/dist/utils/style.js.map +1 -1
  902. package/package.json +7 -8
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  const vue = require('vue');
4
- const ContextMenu_utils = require('./utils.cjs');
5
4
  const Menu_MenuAnchor = require('../Menu/MenuAnchor.cjs');
5
+ const ContextMenu_utils = require('./utils.cjs');
6
6
  const shared_useForwardExpose = require('../shared/useForwardExpose.cjs');
7
- const ContextMenu_ContextMenuRoot = require('./ContextMenuRoot.cjs');
8
7
  const Primitive_Primitive = require('../Primitive/Primitive.cjs');
8
+ const ContextMenu_ContextMenuRoot = require('./ContextMenuRoot.cjs');
9
9
 
10
10
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
11
11
  ...{
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuTrigger.cjs","sources":["../../src/ContextMenu/ContextMenuTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Point } from '@/Menu/utils'\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ContextMenuTriggerProps extends PrimitiveProps {\n /**\n * When `true`, the context menu would not open when right-clicking.\n *\n * Note that this will also restore the native context menu.\n */\n disabled?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, toRefs } from 'vue'\nimport { injectContextMenuRootContext } from './ContextMenuRoot.vue'\nimport { isTouchOrPen } from './utils'\nimport { useForwardExpose } from '@/shared'\nimport { Primitive } from '@/Primitive'\nimport { MenuAnchor } from '@/Menu'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ContextMenuTriggerProps>(), {\n as: 'span',\n disabled: false,\n})\nconst { disabled } = toRefs(props)\n\nconst { forwardRef, currentElement } = useForwardExpose()\nconst rootContext = injectContextMenuRootContext()\nconst point = ref<Point>({ x: 0, y: 0 })\nconst virtualEl = computed(() => ({\n getBoundingClientRect: () =>\n ({\n width: 0,\n height: 0,\n left: point.value.x,\n right: point.value.x,\n top: point.value.y,\n bottom: point.value.y,\n ...point.value,\n } as DOMRect),\n}))\n\nconst longPressTimer = ref(0)\nfunction clearLongPress() {\n window.clearTimeout(longPressTimer.value)\n}\n\nfunction handleOpen(event: MouseEvent | PointerEvent) {\n point.value = { x: event.clientX, y: event.clientY }\n rootContext.onOpenChange(true)\n}\n\nasync function handleContextMenu(event: PointerEvent) {\n if (!disabled.value) {\n await nextTick()\n if (!event.defaultPrevented) {\n clearLongPress()\n handleOpen(event)\n event.preventDefault()\n }\n }\n}\n\nasync function handlePointerDown(event: PointerEvent) {\n if (!disabled.value) {\n await nextTick()\n\n if (isTouchOrPen(event) && !event.defaultPrevented) {\n // clear the long press here in case there's multiple touch points\n clearLongPress()\n longPressTimer.value = window.setTimeout(() => handleOpen(event), 700)\n }\n }\n}\n\nasync function handlePointerEvent(event: PointerEvent) {\n if (!disabled.value) {\n await nextTick()\n if (isTouchOrPen(event) && !event.defaultPrevented)\n clearLongPress()\n }\n}\n\nonMounted(() => {\n if (currentElement.value) {\n rootContext.triggerElement.value = currentElement.value\n }\n})\n</script>\n\n<template>\n <MenuAnchor\n as=\"template\"\n :reference=\"virtualEl\"\n />\n\n <Primitive\n :ref=\"forwardRef\"\n :as=\"as\"\n :as-child=\"asChild\"\n :data-state=\"rootContext.open.value ? 'open' : 'closed'\"\n :data-disabled=\"disabled ? '' : undefined\"\n :style=\"{\n WebkitTouchCallout: 'none',\n pointerEvents: 'auto',\n }\"\n v-bind=\"$attrs\"\n @contextmenu=\"handleContextMenu\"\n @pointerdown=\"handlePointerDown\"\n @pointermove=\"handlePointerEvent\"\n @pointercancel=\"handlePointerEvent\"\n @pointerup=\"handlePointerEvent\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["toRefs","useForwardExpose","injectContextMenuRootContext","ref","computed","nextTick","isTouchOrPen","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;AA0BA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,EAAE,QAAA,EAAa,GAAAA,UAAA,CAAO,KAAK,CAAA;AAEjC,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAIC,wCAAiB,EAAA;AACxD,IAAA,MAAM,cAAcC,wDAA6B,EAAA;AACjD,IAAA,MAAM,QAAQC,OAAW,CAAA,EAAE,GAAG,CAAG,EAAA,CAAA,EAAG,GAAG,CAAA;AACvC,IAAM,MAAA,SAAA,GAAYC,aAAS,OAAO;AAAA,MAChC,uBAAuB,OACpB;AAAA,QACC,KAAO,EAAA,CAAA;AAAA,QACP,MAAQ,EAAA,CAAA;AAAA,QACR,IAAA,EAAM,MAAM,KAAM,CAAA,CAAA;AAAA,QAClB,KAAA,EAAO,MAAM,KAAM,CAAA,CAAA;AAAA,QACnB,GAAA,EAAK,MAAM,KAAM,CAAA,CAAA;AAAA,QACjB,MAAA,EAAQ,MAAM,KAAM,CAAA,CAAA;AAAA,QACpB,GAAG,KAAM,CAAA;AAAA,OACX;AAAA,KACF,CAAA,CAAA;AAEF,IAAM,MAAA,cAAA,GAAiBD,QAAI,CAAC,CAAA;AAC5B,IAAA,SAAS,cAAiB,GAAA;AACxB,MAAO,MAAA,CAAA,YAAA,CAAa,eAAe,KAAK,CAAA;AAAA;AAG1C,IAAA,SAAS,WAAW,KAAkC,EAAA;AACpD,MAAA,KAAA,CAAM,QAAQ,EAAE,CAAA,EAAG,MAAM,OAAS,EAAA,CAAA,EAAG,MAAM,OAAQ,EAAA;AACnD,MAAA,WAAA,CAAY,aAAa,IAAI,CAAA;AAAA;AAG/B,IAAA,eAAe,kBAAkB,KAAqB,EAAA;AACpD,MAAI,IAAA,CAAC,SAAS,KAAO,EAAA;AACnB,QAAA,MAAME,YAAS,EAAA;AACf,QAAI,IAAA,CAAC,MAAM,gBAAkB,EAAA;AAC3B,UAAe,cAAA,EAAA;AACf,UAAA,UAAA,CAAW,KAAK,CAAA;AAChB,UAAA,KAAA,CAAM,cAAe,EAAA;AAAA;AACvB;AACF;AAGF,IAAA,eAAe,kBAAkB,KAAqB,EAAA;AACpD,MAAI,IAAA,CAAC,SAAS,KAAO,EAAA;AACnB,QAAA,MAAMA,YAAS,EAAA;AAEf,QAAA,IAAIC,8BAAa,CAAA,KAAK,CAAK,IAAA,CAAC,MAAM,gBAAkB,EAAA;AAElD,UAAe,cAAA,EAAA;AACf,UAAA,cAAA,CAAe,QAAQ,MAAO,CAAA,UAAA,CAAW,MAAM,UAAW,CAAA,KAAK,GAAG,GAAG,CAAA;AAAA;AACvE;AACF;AAGF,IAAA,eAAe,mBAAmB,KAAqB,EAAA;AACrD,MAAI,IAAA,CAAC,SAAS,KAAO,EAAA;AACnB,QAAA,MAAMD,YAAS,EAAA;AACf,QAAA,IAAIC,8BAAa,CAAA,KAAK,CAAK,IAAA,CAAC,KAAM,CAAA,gBAAA;AAChC,UAAe,cAAA,EAAA;AAAA;AACnB;AAGF,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,IAAI,eAAe,KAAO,EAAA;AACxB,QAAY,WAAA,CAAA,cAAA,CAAe,QAAQ,cAAe,CAAA,KAAA;AAAA;AACpD,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ContextMenuTrigger.cjs","sources":["../../src/ContextMenu/ContextMenuTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Point } from '@/Menu/utils'\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ContextMenuTriggerProps extends PrimitiveProps {\n /**\n * When `true`, the context menu would not open when right-clicking.\n *\n * Note that this will also restore the native context menu.\n */\n disabled?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, toRefs } from 'vue'\nimport { MenuAnchor } from '@/Menu'\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { injectContextMenuRootContext } from './ContextMenuRoot.vue'\nimport { isTouchOrPen } from './utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ContextMenuTriggerProps>(), {\n as: 'span',\n disabled: false,\n})\nconst { disabled } = toRefs(props)\n\nconst { forwardRef, currentElement } = useForwardExpose()\nconst rootContext = injectContextMenuRootContext()\nconst point = ref<Point>({ x: 0, y: 0 })\nconst virtualEl = computed(() => ({\n getBoundingClientRect: () =>\n ({\n width: 0,\n height: 0,\n left: point.value.x,\n right: point.value.x,\n top: point.value.y,\n bottom: point.value.y,\n ...point.value,\n } as DOMRect),\n}))\n\nconst longPressTimer = ref(0)\nfunction clearLongPress() {\n window.clearTimeout(longPressTimer.value)\n}\n\nfunction handleOpen(event: MouseEvent | PointerEvent) {\n point.value = { x: event.clientX, y: event.clientY }\n rootContext.onOpenChange(true)\n}\n\nasync function handleContextMenu(event: PointerEvent) {\n if (!disabled.value) {\n await nextTick()\n if (!event.defaultPrevented) {\n clearLongPress()\n handleOpen(event)\n event.preventDefault()\n }\n }\n}\n\nasync function handlePointerDown(event: PointerEvent) {\n if (!disabled.value) {\n await nextTick()\n\n if (isTouchOrPen(event) && !event.defaultPrevented) {\n // clear the long press here in case there's multiple touch points\n clearLongPress()\n longPressTimer.value = window.setTimeout(() => handleOpen(event), 700)\n }\n }\n}\n\nasync function handlePointerEvent(event: PointerEvent) {\n if (!disabled.value) {\n await nextTick()\n if (isTouchOrPen(event) && !event.defaultPrevented)\n clearLongPress()\n }\n}\n\nonMounted(() => {\n if (currentElement.value) {\n rootContext.triggerElement.value = currentElement.value\n }\n})\n</script>\n\n<template>\n <MenuAnchor\n as=\"template\"\n :reference=\"virtualEl\"\n />\n\n <Primitive\n :ref=\"forwardRef\"\n :as=\"as\"\n :as-child=\"asChild\"\n :data-state=\"rootContext.open.value ? 'open' : 'closed'\"\n :data-disabled=\"disabled ? '' : undefined\"\n :style=\"{\n WebkitTouchCallout: 'none',\n pointerEvents: 'auto',\n }\"\n v-bind=\"$attrs\"\n @contextmenu=\"handleContextMenu\"\n @pointerdown=\"handlePointerDown\"\n @pointermove=\"handlePointerEvent\"\n @pointercancel=\"handlePointerEvent\"\n @pointerup=\"handlePointerEvent\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["toRefs","useForwardExpose","injectContextMenuRootContext","ref","computed","nextTick","isTouchOrPen","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;AA0BA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,EAAE,QAAA,EAAa,GAAAA,UAAA,CAAO,KAAK,CAAA;AAEjC,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAIC,wCAAiB,EAAA;AACxD,IAAA,MAAM,cAAcC,wDAA6B,EAAA;AACjD,IAAA,MAAM,QAAQC,OAAW,CAAA,EAAE,GAAG,CAAG,EAAA,CAAA,EAAG,GAAG,CAAA;AACvC,IAAM,MAAA,SAAA,GAAYC,aAAS,OAAO;AAAA,MAChC,uBAAuB,OACpB;AAAA,QACC,KAAO,EAAA,CAAA;AAAA,QACP,MAAQ,EAAA,CAAA;AAAA,QACR,IAAA,EAAM,MAAM,KAAM,CAAA,CAAA;AAAA,QAClB,KAAA,EAAO,MAAM,KAAM,CAAA,CAAA;AAAA,QACnB,GAAA,EAAK,MAAM,KAAM,CAAA,CAAA;AAAA,QACjB,MAAA,EAAQ,MAAM,KAAM,CAAA,CAAA;AAAA,QACpB,GAAG,KAAM,CAAA;AAAA,OACX;AAAA,KACF,CAAA,CAAA;AAEF,IAAM,MAAA,cAAA,GAAiBD,QAAI,CAAC,CAAA;AAC5B,IAAA,SAAS,cAAiB,GAAA;AACxB,MAAO,MAAA,CAAA,YAAA,CAAa,eAAe,KAAK,CAAA;AAAA;AAG1C,IAAA,SAAS,WAAW,KAAkC,EAAA;AACpD,MAAA,KAAA,CAAM,QAAQ,EAAE,CAAA,EAAG,MAAM,OAAS,EAAA,CAAA,EAAG,MAAM,OAAQ,EAAA;AACnD,MAAA,WAAA,CAAY,aAAa,IAAI,CAAA;AAAA;AAG/B,IAAA,eAAe,kBAAkB,KAAqB,EAAA;AACpD,MAAI,IAAA,CAAC,SAAS,KAAO,EAAA;AACnB,QAAA,MAAME,YAAS,EAAA;AACf,QAAI,IAAA,CAAC,MAAM,gBAAkB,EAAA;AAC3B,UAAe,cAAA,EAAA;AACf,UAAA,UAAA,CAAW,KAAK,CAAA;AAChB,UAAA,KAAA,CAAM,cAAe,EAAA;AAAA;AACvB;AACF;AAGF,IAAA,eAAe,kBAAkB,KAAqB,EAAA;AACpD,MAAI,IAAA,CAAC,SAAS,KAAO,EAAA;AACnB,QAAA,MAAMA,YAAS,EAAA;AAEf,QAAA,IAAIC,8BAAa,CAAA,KAAK,CAAK,IAAA,CAAC,MAAM,gBAAkB,EAAA;AAElD,UAAe,cAAA,EAAA;AACf,UAAA,cAAA,CAAe,QAAQ,MAAO,CAAA,UAAA,CAAW,MAAM,UAAW,CAAA,KAAK,GAAG,GAAG,CAAA;AAAA;AACvE;AACF;AAGF,IAAA,eAAe,mBAAmB,KAAqB,EAAA;AACrD,MAAI,IAAA,CAAC,SAAS,KAAO,EAAA;AACnB,QAAA,MAAMD,YAAS,EAAA;AACf,QAAA,IAAIC,8BAAa,CAAA,KAAK,CAAK,IAAA,CAAC,KAAM,CAAA,gBAAA;AAChC,UAAe,cAAA,EAAA;AAAA;AACnB;AAGF,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,IAAI,eAAe,KAAO,EAAA;AACxB,QAAY,WAAA,CAAA,cAAA,CAAe,QAAQ,cAAe,CAAA,KAAA;AAAA;AACpD,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { defineComponent, toRefs, ref, computed, onMounted, createElementBlock, openBlock, Fragment, createVNode, unref, mergeProps, withCtx, renderSlot, nextTick } from 'vue';
2
- import { i as isTouchOrPen } from './utils.js';
3
2
  import { _ as _sfc_main$1 } from '../Menu/MenuAnchor.js';
3
+ import { i as isTouchOrPen } from './utils.js';
4
4
  import { u as useForwardExpose } from '../shared/useForwardExpose.js';
5
- import { i as injectContextMenuRootContext } from './ContextMenuRoot.js';
6
5
  import { P as Primitive } from '../Primitive/Primitive.js';
6
+ import { i as injectContextMenuRootContext } from './ContextMenuRoot.js';
7
7
 
8
8
  const _sfc_main = /* @__PURE__ */ defineComponent({
9
9
  ...{
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuTrigger.js","sources":["../../src/ContextMenu/ContextMenuTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Point } from '@/Menu/utils'\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ContextMenuTriggerProps extends PrimitiveProps {\n /**\n * When `true`, the context menu would not open when right-clicking.\n *\n * Note that this will also restore the native context menu.\n */\n disabled?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, toRefs } from 'vue'\nimport { injectContextMenuRootContext } from './ContextMenuRoot.vue'\nimport { isTouchOrPen } from './utils'\nimport { useForwardExpose } from '@/shared'\nimport { Primitive } from '@/Primitive'\nimport { MenuAnchor } from '@/Menu'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ContextMenuTriggerProps>(), {\n as: 'span',\n disabled: false,\n})\nconst { disabled } = toRefs(props)\n\nconst { forwardRef, currentElement } = useForwardExpose()\nconst rootContext = injectContextMenuRootContext()\nconst point = ref<Point>({ x: 0, y: 0 })\nconst virtualEl = computed(() => ({\n getBoundingClientRect: () =>\n ({\n width: 0,\n height: 0,\n left: point.value.x,\n right: point.value.x,\n top: point.value.y,\n bottom: point.value.y,\n ...point.value,\n } as DOMRect),\n}))\n\nconst longPressTimer = ref(0)\nfunction clearLongPress() {\n window.clearTimeout(longPressTimer.value)\n}\n\nfunction handleOpen(event: MouseEvent | PointerEvent) {\n point.value = { x: event.clientX, y: event.clientY }\n rootContext.onOpenChange(true)\n}\n\nasync function handleContextMenu(event: PointerEvent) {\n if (!disabled.value) {\n await nextTick()\n if (!event.defaultPrevented) {\n clearLongPress()\n handleOpen(event)\n event.preventDefault()\n }\n }\n}\n\nasync function handlePointerDown(event: PointerEvent) {\n if (!disabled.value) {\n await nextTick()\n\n if (isTouchOrPen(event) && !event.defaultPrevented) {\n // clear the long press here in case there's multiple touch points\n clearLongPress()\n longPressTimer.value = window.setTimeout(() => handleOpen(event), 700)\n }\n }\n}\n\nasync function handlePointerEvent(event: PointerEvent) {\n if (!disabled.value) {\n await nextTick()\n if (isTouchOrPen(event) && !event.defaultPrevented)\n clearLongPress()\n }\n}\n\nonMounted(() => {\n if (currentElement.value) {\n rootContext.triggerElement.value = currentElement.value\n }\n})\n</script>\n\n<template>\n <MenuAnchor\n as=\"template\"\n :reference=\"virtualEl\"\n />\n\n <Primitive\n :ref=\"forwardRef\"\n :as=\"as\"\n :as-child=\"asChild\"\n :data-state=\"rootContext.open.value ? 'open' : 'closed'\"\n :data-disabled=\"disabled ? '' : undefined\"\n :style=\"{\n WebkitTouchCallout: 'none',\n pointerEvents: 'auto',\n }\"\n v-bind=\"$attrs\"\n @contextmenu=\"handleContextMenu\"\n @pointerdown=\"handlePointerDown\"\n @pointermove=\"handlePointerEvent\"\n @pointercancel=\"handlePointerEvent\"\n @pointerup=\"handlePointerEvent\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA0BA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,EAAE,QAAA,EAAa,GAAA,MAAA,CAAO,KAAK,CAAA;AAEjC,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAI,gBAAiB,EAAA;AACxD,IAAA,MAAM,cAAc,4BAA6B,EAAA;AACjD,IAAA,MAAM,QAAQ,GAAW,CAAA,EAAE,GAAG,CAAG,EAAA,CAAA,EAAG,GAAG,CAAA;AACvC,IAAM,MAAA,SAAA,GAAY,SAAS,OAAO;AAAA,MAChC,uBAAuB,OACpB;AAAA,QACC,KAAO,EAAA,CAAA;AAAA,QACP,MAAQ,EAAA,CAAA;AAAA,QACR,IAAA,EAAM,MAAM,KAAM,CAAA,CAAA;AAAA,QAClB,KAAA,EAAO,MAAM,KAAM,CAAA,CAAA;AAAA,QACnB,GAAA,EAAK,MAAM,KAAM,CAAA,CAAA;AAAA,QACjB,MAAA,EAAQ,MAAM,KAAM,CAAA,CAAA;AAAA,QACpB,GAAG,KAAM,CAAA;AAAA,OACX;AAAA,KACF,CAAA,CAAA;AAEF,IAAM,MAAA,cAAA,GAAiB,IAAI,CAAC,CAAA;AAC5B,IAAA,SAAS,cAAiB,GAAA;AACxB,MAAO,MAAA,CAAA,YAAA,CAAa,eAAe,KAAK,CAAA;AAAA;AAG1C,IAAA,SAAS,WAAW,KAAkC,EAAA;AACpD,MAAA,KAAA,CAAM,QAAQ,EAAE,CAAA,EAAG,MAAM,OAAS,EAAA,CAAA,EAAG,MAAM,OAAQ,EAAA;AACnD,MAAA,WAAA,CAAY,aAAa,IAAI,CAAA;AAAA;AAG/B,IAAA,eAAe,kBAAkB,KAAqB,EAAA;AACpD,MAAI,IAAA,CAAC,SAAS,KAAO,EAAA;AACnB,QAAA,MAAM,QAAS,EAAA;AACf,QAAI,IAAA,CAAC,MAAM,gBAAkB,EAAA;AAC3B,UAAe,cAAA,EAAA;AACf,UAAA,UAAA,CAAW,KAAK,CAAA;AAChB,UAAA,KAAA,CAAM,cAAe,EAAA;AAAA;AACvB;AACF;AAGF,IAAA,eAAe,kBAAkB,KAAqB,EAAA;AACpD,MAAI,IAAA,CAAC,SAAS,KAAO,EAAA;AACnB,QAAA,MAAM,QAAS,EAAA;AAEf,QAAA,IAAI,YAAa,CAAA,KAAK,CAAK,IAAA,CAAC,MAAM,gBAAkB,EAAA;AAElD,UAAe,cAAA,EAAA;AACf,UAAA,cAAA,CAAe,QAAQ,MAAO,CAAA,UAAA,CAAW,MAAM,UAAW,CAAA,KAAK,GAAG,GAAG,CAAA;AAAA;AACvE;AACF;AAGF,IAAA,eAAe,mBAAmB,KAAqB,EAAA;AACrD,MAAI,IAAA,CAAC,SAAS,KAAO,EAAA;AACnB,QAAA,MAAM,QAAS,EAAA;AACf,QAAA,IAAI,YAAa,CAAA,KAAK,CAAK,IAAA,CAAC,KAAM,CAAA,gBAAA;AAChC,UAAe,cAAA,EAAA;AAAA;AACnB;AAGF,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,eAAe,KAAO,EAAA;AACxB,QAAY,WAAA,CAAA,cAAA,CAAe,QAAQ,cAAe,CAAA,KAAA;AAAA;AACpD,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ContextMenuTrigger.js","sources":["../../src/ContextMenu/ContextMenuTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Point } from '@/Menu/utils'\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ContextMenuTriggerProps extends PrimitiveProps {\n /**\n * When `true`, the context menu would not open when right-clicking.\n *\n * Note that this will also restore the native context menu.\n */\n disabled?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, toRefs } from 'vue'\nimport { MenuAnchor } from '@/Menu'\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { injectContextMenuRootContext } from './ContextMenuRoot.vue'\nimport { isTouchOrPen } from './utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ContextMenuTriggerProps>(), {\n as: 'span',\n disabled: false,\n})\nconst { disabled } = toRefs(props)\n\nconst { forwardRef, currentElement } = useForwardExpose()\nconst rootContext = injectContextMenuRootContext()\nconst point = ref<Point>({ x: 0, y: 0 })\nconst virtualEl = computed(() => ({\n getBoundingClientRect: () =>\n ({\n width: 0,\n height: 0,\n left: point.value.x,\n right: point.value.x,\n top: point.value.y,\n bottom: point.value.y,\n ...point.value,\n } as DOMRect),\n}))\n\nconst longPressTimer = ref(0)\nfunction clearLongPress() {\n window.clearTimeout(longPressTimer.value)\n}\n\nfunction handleOpen(event: MouseEvent | PointerEvent) {\n point.value = { x: event.clientX, y: event.clientY }\n rootContext.onOpenChange(true)\n}\n\nasync function handleContextMenu(event: PointerEvent) {\n if (!disabled.value) {\n await nextTick()\n if (!event.defaultPrevented) {\n clearLongPress()\n handleOpen(event)\n event.preventDefault()\n }\n }\n}\n\nasync function handlePointerDown(event: PointerEvent) {\n if (!disabled.value) {\n await nextTick()\n\n if (isTouchOrPen(event) && !event.defaultPrevented) {\n // clear the long press here in case there's multiple touch points\n clearLongPress()\n longPressTimer.value = window.setTimeout(() => handleOpen(event), 700)\n }\n }\n}\n\nasync function handlePointerEvent(event: PointerEvent) {\n if (!disabled.value) {\n await nextTick()\n if (isTouchOrPen(event) && !event.defaultPrevented)\n clearLongPress()\n }\n}\n\nonMounted(() => {\n if (currentElement.value) {\n rootContext.triggerElement.value = currentElement.value\n }\n})\n</script>\n\n<template>\n <MenuAnchor\n as=\"template\"\n :reference=\"virtualEl\"\n />\n\n <Primitive\n :ref=\"forwardRef\"\n :as=\"as\"\n :as-child=\"asChild\"\n :data-state=\"rootContext.open.value ? 'open' : 'closed'\"\n :data-disabled=\"disabled ? '' : undefined\"\n :style=\"{\n WebkitTouchCallout: 'none',\n pointerEvents: 'auto',\n }\"\n v-bind=\"$attrs\"\n @contextmenu=\"handleContextMenu\"\n @pointerdown=\"handlePointerDown\"\n @pointermove=\"handlePointerEvent\"\n @pointercancel=\"handlePointerEvent\"\n @pointerup=\"handlePointerEvent\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA0BA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,EAAE,QAAA,EAAa,GAAA,MAAA,CAAO,KAAK,CAAA;AAEjC,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAI,gBAAiB,EAAA;AACxD,IAAA,MAAM,cAAc,4BAA6B,EAAA;AACjD,IAAA,MAAM,QAAQ,GAAW,CAAA,EAAE,GAAG,CAAG,EAAA,CAAA,EAAG,GAAG,CAAA;AACvC,IAAM,MAAA,SAAA,GAAY,SAAS,OAAO;AAAA,MAChC,uBAAuB,OACpB;AAAA,QACC,KAAO,EAAA,CAAA;AAAA,QACP,MAAQ,EAAA,CAAA;AAAA,QACR,IAAA,EAAM,MAAM,KAAM,CAAA,CAAA;AAAA,QAClB,KAAA,EAAO,MAAM,KAAM,CAAA,CAAA;AAAA,QACnB,GAAA,EAAK,MAAM,KAAM,CAAA,CAAA;AAAA,QACjB,MAAA,EAAQ,MAAM,KAAM,CAAA,CAAA;AAAA,QACpB,GAAG,KAAM,CAAA;AAAA,OACX;AAAA,KACF,CAAA,CAAA;AAEF,IAAM,MAAA,cAAA,GAAiB,IAAI,CAAC,CAAA;AAC5B,IAAA,SAAS,cAAiB,GAAA;AACxB,MAAO,MAAA,CAAA,YAAA,CAAa,eAAe,KAAK,CAAA;AAAA;AAG1C,IAAA,SAAS,WAAW,KAAkC,EAAA;AACpD,MAAA,KAAA,CAAM,QAAQ,EAAE,CAAA,EAAG,MAAM,OAAS,EAAA,CAAA,EAAG,MAAM,OAAQ,EAAA;AACnD,MAAA,WAAA,CAAY,aAAa,IAAI,CAAA;AAAA;AAG/B,IAAA,eAAe,kBAAkB,KAAqB,EAAA;AACpD,MAAI,IAAA,CAAC,SAAS,KAAO,EAAA;AACnB,QAAA,MAAM,QAAS,EAAA;AACf,QAAI,IAAA,CAAC,MAAM,gBAAkB,EAAA;AAC3B,UAAe,cAAA,EAAA;AACf,UAAA,UAAA,CAAW,KAAK,CAAA;AAChB,UAAA,KAAA,CAAM,cAAe,EAAA;AAAA;AACvB;AACF;AAGF,IAAA,eAAe,kBAAkB,KAAqB,EAAA;AACpD,MAAI,IAAA,CAAC,SAAS,KAAO,EAAA;AACnB,QAAA,MAAM,QAAS,EAAA;AAEf,QAAA,IAAI,YAAa,CAAA,KAAK,CAAK,IAAA,CAAC,MAAM,gBAAkB,EAAA;AAElD,UAAe,cAAA,EAAA;AACf,UAAA,cAAA,CAAe,QAAQ,MAAO,CAAA,UAAA,CAAW,MAAM,UAAW,CAAA,KAAK,GAAG,GAAG,CAAA;AAAA;AACvE;AACF;AAGF,IAAA,eAAe,mBAAmB,KAAqB,EAAA;AACrD,MAAI,IAAA,CAAC,SAAS,KAAO,EAAA;AACnB,QAAA,MAAM,QAAS,EAAA;AACf,QAAA,IAAI,YAAa,CAAA,KAAK,CAAK,IAAA,CAAC,KAAM,CAAA,gBAAA;AAChC,UAAe,cAAA,EAAA;AAAA;AACnB;AAGF,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,eAAe,KAAO,EAAA;AACxB,QAAY,WAAA,CAAA,cAAA,CAAe,QAAQ,cAAe,CAAA,KAAA;AAAA;AACpD,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -26,6 +26,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
26
26
  lastKeyZero,
27
27
  placeholder: rootContext.placeholder,
28
28
  hourCycle: rootContext.hourCycle,
29
+ step: rootContext.step,
29
30
  segmentValues: rootContext.segmentValues,
30
31
  formatter: rootContext.formatter,
31
32
  part: props.part,
@@ -1 +1 @@
1
- {"version":3,"file":"DateFieldInput.cjs","sources":["../../src/DateField/DateFieldInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { Primitive, type PrimitiveProps } from '@/Primitive'\nimport type { SegmentPart } from '@/shared/date'\nimport { useDateField } from '@/shared/date/useDateField'\nimport { injectDateFieldRootContext } from './DateFieldRoot.vue'\nimport { computed, ref } from 'vue'\n\nexport interface DateFieldInputProps extends PrimitiveProps {\n /** The part of the date to render */\n part: SegmentPart\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateFieldInputProps>()\n\nconst rootContext = injectDateFieldRootContext()\n\nconst hasLeftFocus = ref(true)\nconst lastKeyZero = ref(false)\n\nconst {\n handleSegmentClick,\n handleSegmentKeydown,\n attributes,\n} = useDateField({\n hasLeftFocus,\n lastKeyZero,\n placeholder: rootContext.placeholder,\n hourCycle: rootContext.hourCycle,\n segmentValues: rootContext.segmentValues,\n formatter: rootContext.formatter,\n part: props.part,\n disabled: rootContext.disabled,\n readonly: rootContext.readonly,\n focusNext: rootContext.focusNext,\n modelValue: rootContext.modelValue,\n})\n\nconst disabled = computed(() => rootContext.disabled.value)\nconst readonly = computed(() => rootContext.readonly.value)\nconst isInvalid = computed(() => rootContext.isInvalid.value)\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"asChild\"\n v-bind=\"attributes\"\n :contenteditable=\"disabled || readonly ? false : part !== 'literal'\"\n :data-reka-date-field-segment=\"part\"\n :aria-disabled=\"disabled ? true : undefined\"\n :aria-readonly=\"readonly ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :aria-invalid=\"isInvalid ? true : undefined\"\n v-on=\"part !== 'literal' ? {\n mousedown: handleSegmentClick,\n keydown: handleSegmentKeydown,\n focusout: () => { hasLeftFocus = true },\n focusin: (e: FocusEvent) => {\n rootContext.setFocusedElement(e.target as HTMLElement)\n },\n } : {}\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectDateFieldRootContext","ref","useDateField","computed"],"mappings":";;;;;;;;;;;;;;;AAcA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAcA,kDAA2B,EAAA;AAE/C,IAAM,MAAA,YAAA,GAAeC,QAAI,IAAI,CAAA;AAC7B,IAAM,MAAA,WAAA,GAAcA,QAAI,KAAK,CAAA;AAE7B,IAAM,MAAA;AAAA,MACJ,kBAAA;AAAA,MACA,oBAAA;AAAA,MACA;AAAA,QACEC,8BAAa,CAAA;AAAA,MACf,YAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAa,WAAY,CAAA,WAAA;AAAA,MACzB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,eAAe,WAAY,CAAA,aAAA;AAAA,MAC3B,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,YAAY,WAAY,CAAA;AAAA,KACzB,CAAA;AAED,IAAA,MAAM,QAAW,GAAAC,YAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,QAAW,GAAAA,YAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,SAAY,GAAAA,YAAA,CAAS,MAAM,WAAA,CAAY,UAAU,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DateFieldInput.cjs","sources":["../../src/DateField/DateFieldInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { SegmentPart } from '@/shared/date'\nimport { computed, ref } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { useDateField } from '@/shared/date/useDateField'\nimport { injectDateFieldRootContext } from './DateFieldRoot.vue'\n\nexport interface DateFieldInputProps extends PrimitiveProps {\n /** The part of the date to render */\n part: SegmentPart\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateFieldInputProps>()\n\nconst rootContext = injectDateFieldRootContext()\n\nconst hasLeftFocus = ref(true)\nconst lastKeyZero = ref(false)\n\nconst {\n handleSegmentClick,\n handleSegmentKeydown,\n attributes,\n} = useDateField({\n hasLeftFocus,\n lastKeyZero,\n placeholder: rootContext.placeholder,\n hourCycle: rootContext.hourCycle,\n step: rootContext.step,\n segmentValues: rootContext.segmentValues,\n formatter: rootContext.formatter,\n part: props.part,\n disabled: rootContext.disabled,\n readonly: rootContext.readonly,\n focusNext: rootContext.focusNext,\n modelValue: rootContext.modelValue,\n})\n\nconst disabled = computed(() => rootContext.disabled.value)\nconst readonly = computed(() => rootContext.readonly.value)\nconst isInvalid = computed(() => rootContext.isInvalid.value)\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"asChild\"\n v-bind=\"attributes\"\n :contenteditable=\"disabled || readonly ? false : part !== 'literal'\"\n :data-reka-date-field-segment=\"part\"\n :aria-disabled=\"disabled ? true : undefined\"\n :aria-readonly=\"readonly ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :aria-invalid=\"isInvalid ? true : undefined\"\n v-on=\"part !== 'literal' ? {\n mousedown: handleSegmentClick,\n keydown: handleSegmentKeydown,\n focusout: () => { hasLeftFocus = true },\n focusin: (e: FocusEvent) => {\n rootContext.setFocusedElement(e.target as HTMLElement)\n },\n } : {}\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectDateFieldRootContext","ref","useDateField","computed"],"mappings":";;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAcA,kDAA2B,EAAA;AAE/C,IAAM,MAAA,YAAA,GAAeC,QAAI,IAAI,CAAA;AAC7B,IAAM,MAAA,WAAA,GAAcA,QAAI,KAAK,CAAA;AAE7B,IAAM,MAAA;AAAA,MACJ,kBAAA;AAAA,MACA,oBAAA;AAAA,MACA;AAAA,QACEC,8BAAa,CAAA;AAAA,MACf,YAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAa,WAAY,CAAA,WAAA;AAAA,MACzB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,MAAM,WAAY,CAAA,IAAA;AAAA,MAClB,eAAe,WAAY,CAAA,aAAA;AAAA,MAC3B,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,YAAY,WAAY,CAAA;AAAA,KACzB,CAAA;AAED,IAAA,MAAM,QAAW,GAAAC,YAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,QAAW,GAAAA,YAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,SAAY,GAAAA,YAAA,CAAS,MAAM,WAAA,CAAY,UAAU,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -24,6 +24,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
24
  lastKeyZero,
25
25
  placeholder: rootContext.placeholder,
26
26
  hourCycle: rootContext.hourCycle,
27
+ step: rootContext.step,
27
28
  segmentValues: rootContext.segmentValues,
28
29
  formatter: rootContext.formatter,
29
30
  part: props.part,
@@ -1 +1 @@
1
- {"version":3,"file":"DateFieldInput.js","sources":["../../src/DateField/DateFieldInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { Primitive, type PrimitiveProps } from '@/Primitive'\nimport type { SegmentPart } from '@/shared/date'\nimport { useDateField } from '@/shared/date/useDateField'\nimport { injectDateFieldRootContext } from './DateFieldRoot.vue'\nimport { computed, ref } from 'vue'\n\nexport interface DateFieldInputProps extends PrimitiveProps {\n /** The part of the date to render */\n part: SegmentPart\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateFieldInputProps>()\n\nconst rootContext = injectDateFieldRootContext()\n\nconst hasLeftFocus = ref(true)\nconst lastKeyZero = ref(false)\n\nconst {\n handleSegmentClick,\n handleSegmentKeydown,\n attributes,\n} = useDateField({\n hasLeftFocus,\n lastKeyZero,\n placeholder: rootContext.placeholder,\n hourCycle: rootContext.hourCycle,\n segmentValues: rootContext.segmentValues,\n formatter: rootContext.formatter,\n part: props.part,\n disabled: rootContext.disabled,\n readonly: rootContext.readonly,\n focusNext: rootContext.focusNext,\n modelValue: rootContext.modelValue,\n})\n\nconst disabled = computed(() => rootContext.disabled.value)\nconst readonly = computed(() => rootContext.readonly.value)\nconst isInvalid = computed(() => rootContext.isInvalid.value)\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"asChild\"\n v-bind=\"attributes\"\n :contenteditable=\"disabled || readonly ? false : part !== 'literal'\"\n :data-reka-date-field-segment=\"part\"\n :aria-disabled=\"disabled ? true : undefined\"\n :aria-readonly=\"readonly ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :aria-invalid=\"isInvalid ? true : undefined\"\n v-on=\"part !== 'literal' ? {\n mousedown: handleSegmentClick,\n keydown: handleSegmentKeydown,\n focusout: () => { hasLeftFocus = true },\n focusin: (e: FocusEvent) => {\n rootContext.setFocusedElement(e.target as HTMLElement)\n },\n } : {}\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAcA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAc,0BAA2B,EAAA;AAE/C,IAAM,MAAA,YAAA,GAAe,IAAI,IAAI,CAAA;AAC7B,IAAM,MAAA,WAAA,GAAc,IAAI,KAAK,CAAA;AAE7B,IAAM,MAAA;AAAA,MACJ,kBAAA;AAAA,MACA,oBAAA;AAAA,MACA;AAAA,QACE,YAAa,CAAA;AAAA,MACf,YAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAa,WAAY,CAAA,WAAA;AAAA,MACzB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,eAAe,WAAY,CAAA,aAAA;AAAA,MAC3B,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,YAAY,WAAY,CAAA;AAAA,KACzB,CAAA;AAED,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,SAAY,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,UAAU,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DateFieldInput.js","sources":["../../src/DateField/DateFieldInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { SegmentPart } from '@/shared/date'\nimport { computed, ref } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { useDateField } from '@/shared/date/useDateField'\nimport { injectDateFieldRootContext } from './DateFieldRoot.vue'\n\nexport interface DateFieldInputProps extends PrimitiveProps {\n /** The part of the date to render */\n part: SegmentPart\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateFieldInputProps>()\n\nconst rootContext = injectDateFieldRootContext()\n\nconst hasLeftFocus = ref(true)\nconst lastKeyZero = ref(false)\n\nconst {\n handleSegmentClick,\n handleSegmentKeydown,\n attributes,\n} = useDateField({\n hasLeftFocus,\n lastKeyZero,\n placeholder: rootContext.placeholder,\n hourCycle: rootContext.hourCycle,\n step: rootContext.step,\n segmentValues: rootContext.segmentValues,\n formatter: rootContext.formatter,\n part: props.part,\n disabled: rootContext.disabled,\n readonly: rootContext.readonly,\n focusNext: rootContext.focusNext,\n modelValue: rootContext.modelValue,\n})\n\nconst disabled = computed(() => rootContext.disabled.value)\nconst readonly = computed(() => rootContext.readonly.value)\nconst isInvalid = computed(() => rootContext.isInvalid.value)\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"asChild\"\n v-bind=\"attributes\"\n :contenteditable=\"disabled || readonly ? false : part !== 'literal'\"\n :data-reka-date-field-segment=\"part\"\n :aria-disabled=\"disabled ? true : undefined\"\n :aria-readonly=\"readonly ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :aria-invalid=\"isInvalid ? true : undefined\"\n v-on=\"part !== 'literal' ? {\n mousedown: handleSegmentClick,\n keydown: handleSegmentKeydown,\n focusout: () => { hasLeftFocus = true },\n focusin: (e: FocusEvent) => {\n rootContext.setFocusedElement(e.target as HTMLElement)\n },\n } : {}\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAc,0BAA2B,EAAA;AAE/C,IAAM,MAAA,YAAA,GAAe,IAAI,IAAI,CAAA;AAC7B,IAAM,MAAA,WAAA,GAAc,IAAI,KAAK,CAAA;AAE7B,IAAM,MAAA;AAAA,MACJ,kBAAA;AAAA,MACA,oBAAA;AAAA,MACA;AAAA,QACE,YAAa,CAAA;AAAA,MACf,YAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAa,WAAY,CAAA,WAAA;AAAA,MACzB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,MAAM,WAAY,CAAA,IAAA;AAAA,MAClB,eAAe,WAAY,CAAA,aAAA;AAAA,MAC3B,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,UAAU,WAAY,CAAA,QAAA;AAAA,MACtB,WAAW,WAAY,CAAA,SAAA;AAAA,MACvB,YAAY,WAAY,CAAA;AAAA,KACzB,CAAA;AAED,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAC1D,IAAA,MAAM,SAAY,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,UAAU,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -9,6 +9,7 @@ const shared_useDirection = require('../shared/useDirection.cjs');
9
9
  const shared_useDateFormatter = require('../shared/useDateFormatter.cjs');
10
10
  const Primitive_usePrimitiveElement = require('../Primitive/usePrimitiveElement.cjs');
11
11
  const date_segment = require('../date/segment.cjs');
12
+ const date_utils = require('../date/utils.cjs');
12
13
  const date_parser = require('../date/parser.cjs');
13
14
  const Primitive_Primitive = require('../Primitive/Primitive.cjs');
14
15
  const VisuallyHidden_VisuallyHidden = require('../VisuallyHidden/VisuallyHidden.cjs');
@@ -27,6 +28,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
27
28
  placeholder: { default: void 0 },
28
29
  modelValue: {},
29
30
  hourCycle: {},
31
+ step: {},
30
32
  granularity: {},
31
33
  hideTimeZone: { type: Boolean },
32
34
  maxValue: {},
@@ -49,7 +51,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
49
51
  const { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, granularity, defaultValue, dir: propDir, locale: propLocale } = vue.toRefs(props);
50
52
  const locale = shared_useLocale.useLocale(propLocale);
51
53
  const dir = shared_useDirection.useDirection(propDir);
52
- const formatter = shared_useDateFormatter.useDateFormatter(locale.value);
54
+ const formatter = shared_useDateFormatter.useDateFormatter(locale.value, {
55
+ hourCycle: date_utils.normalizeHourCycle(props.hourCycle)
56
+ });
53
57
  const { primitiveElement, currentElement: parentElement } = Primitive_usePrimitiveElement.usePrimitiveElement();
54
58
  const segmentElements = vue.ref(/* @__PURE__ */ new Set());
55
59
  vue.onMounted(() => {
@@ -69,6 +73,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
69
73
  defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),
70
74
  passive: props.placeholder === void 0
71
75
  });
76
+ const step = vue.computed(() => date_utils.normalizeDateStep(props));
72
77
  const inferredGranularity = vue.computed(() => {
73
78
  if (props.granularity)
74
79
  return !date_comparators.hasTime(placeholder.value) ? "day" : props.granularity;
@@ -157,6 +162,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
157
162
  disabled,
158
163
  formatter,
159
164
  hourCycle: props.hourCycle,
165
+ step,
160
166
  readonly,
161
167
  segmentValues,
162
168
  isInvalid,
@@ -1 +1 @@
1
- {"version":3,"file":"DateFieldRoot.cjs","sources":["../../src/DateField/DateFieldRoot.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, isNullish, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n type Granularity,\n type HourCycle,\n type SegmentPart,\n type SegmentValueObj,\n getDefaultDate,\n} from '@/shared/date'\nimport { type Matcher, hasTime, isBefore } from '@/date'\nimport { createContent, getSegmentElements, initializeSegmentValues, isSegmentNavigationKey, syncSegmentValues } from '@/shared/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\n\ntype DateFieldRootContext = {\n locale: Ref<string>\n modelValue: 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: Ref<SegmentValueObj>\n segmentContents: Ref<{ part: SegmentPart, value: string }[]>\n elements: Ref<Set<HTMLElement>>\n focusNext: () => void\n setFocusedElement: (el: HTMLElement) => void\n}\n\nexport interface DateFieldRootProps extends PrimitiveProps, FormFieldProps {\n /** The default value for the calendar */\n defaultValue?: DateValue\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?: DateValue | 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 DateFieldRootEmits = {\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 [injectDateFieldRootContext, provideDateFieldRootContext]\n = createContext<DateFieldRootContext>('DateFieldRoot')\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<DateFieldRootProps>(), {\n defaultValue: undefined,\n disabled: false,\n readonly: false,\n placeholder: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DateFieldRootEmits>()\ndefineSlots<{\n default: (props: {\n /** The current date of the field */\n modelValue: DateValue | undefined\n /** The date field segment contents */\n segments: { part: SegmentPart, value: string }[]\n /** Value if the input is invalid */\n isInvalid: boolean\n }) => any\n}>()\n\nconst { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, granularity, defaultValue, 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: defaultValue.value,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateValue>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: granularity.value,\n defaultValue: modelValue.value,\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 isInvalid = computed(() => {\n if (!modelValue.value)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value))\n return true\n\n if (props.minValue && isBefore(modelValue.value, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value))\n return true\n\n return false\n})\n\nconst initialSegments = initializeSegmentValues(inferredGranularity.value)\n\nconst segmentValues = ref<SegmentValueObj>(modelValue.value ? { ...syncSegmentValues({ value: modelValue.value, formatter }) } : { ...initialSegments })\n\nconst allSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: segmentValues.value,\n locale,\n}))\n\nconst segmentContents = computed(() => allSegmentContent.value.arr)\n\nconst editableSegmentContents = computed(() => segmentContents.value.filter(({ part }) => part !== 'literal'))\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 (!isNullish(_modelValue) && placeholder.value.compare(_modelValue) !== 0) {\n placeholder.value = _modelValue.copy()\n }\n})\n\nwatch([modelValue, locale], ([_modelValue]) => {\n if (!isNullish(_modelValue)) {\n segmentValues.value = { ...syncSegmentValues({ value: _modelValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(segmentValues.value).every(value => value !== null) && isNullish(_modelValue)) {\n segmentValues.value = { ...initialSegments }\n }\n})\n\nconst currentFocusedElement = ref<HTMLElement | null>(null)\n\nconst currentSegmentIndex = computed(() =>\n Array.from(segmentElements.value).findIndex(el =>\n el.getAttribute('data-reka-date-field-segment')\n === currentFocusedElement.value?.getAttribute('data-reka-date-field-segment')))\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\nprovideDateFieldRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n locale,\n modelValue,\n placeholder,\n disabled,\n formatter,\n hourCycle: props.hourCycle,\n readonly,\n segmentValues,\n isInvalid,\n segmentContents: editableSegmentContents,\n elements: segmentElements,\n setFocusedElement,\n focusNext() {\n nextFocusableSegment.value?.focus()\n },\n})\n\ndefineExpose({\n /** Helper to set the focused element inside the DateField */\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 :is-invalid=\"isInvalid\"\n />\n\n <VisuallyHidden\n :id=\"id\"\n as=\"input\"\n feature=\"focusable\"\n tabindex=\"-1\"\n :value=\"modelValue ? modelValue.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","initializeSegmentValues","syncSegmentValues","createContent","watch","nextTick","isNullish","useKbd","isSegmentNavigationKey"],"mappings":"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"}
1
+ {"version":3,"file":"DateFieldRoot.cjs","sources":["../../src/DateField/DateFieldRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\nimport type { Ref } from 'vue'\nimport type { Matcher } from '@/date'\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { DateStep, Formatter } from '@/shared'\nimport type { Granularity, HourCycle, SegmentPart, SegmentValueObj } from '@/shared/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport { hasTime, isBefore } from '@/date'\nimport { createContext, isNullish, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n createContent,\n getDefaultDate,\n getSegmentElements,\n initializeSegmentValues,\n isSegmentNavigationKey,\n normalizeDateStep,\n normalizeHourCycle,\n syncSegmentValues,\n} from '@/shared/date'\n\ntype DateFieldRootContext = {\n locale: Ref<string>\n modelValue: Ref<DateValue | undefined>\n placeholder: Ref<DateValue>\n isDateUnavailable?: Matcher\n isInvalid: Ref<boolean>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n formatter: Formatter\n hourCycle: HourCycle\n step: Ref<DateStep>\n segmentValues: Ref<SegmentValueObj>\n segmentContents: Ref<{ part: SegmentPart, value: string }[]>\n elements: Ref<Set<HTMLElement>>\n focusNext: () => void\n setFocusedElement: (el: HTMLElement) => void\n}\n\nexport interface DateFieldRootProps extends PrimitiveProps, FormFieldProps {\n /** The default value for the calendar */\n defaultValue?: DateValue\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?: DateValue | null\n /** The hour cycle used for formatting times. Defaults to the local preference */\n hourCycle?: HourCycle\n /** The stepping interval for the time fields. Defaults to `1`. */\n step?: DateStep\n /** The granularity to use for formatting times. Defaults to day if a CalendarDate is provided, otherwise defaults to minute. The field will render segments for each part of the date up to and including the specified granularity */\n granularity?: Granularity\n /** Whether or not to hide the time zone segment of the field */\n hideTimeZone?: boolean\n /** The maximum date that can be selected */\n maxValue?: DateValue\n /** The minimum date that can be selected */\n minValue?: DateValue\n /** The locale to use for formatting dates */\n locale?: string\n /** Whether or not the date field is disabled */\n disabled?: boolean\n /** Whether or not the date field is readonly */\n readonly?: boolean\n /** A function that returns whether or not a date is unavailable */\n isDateUnavailable?: Matcher\n /** Id of the element */\n id?: string\n /** The reading direction of the date field when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n}\n\nexport type DateFieldRootEmits = {\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 [injectDateFieldRootContext, provideDateFieldRootContext]\n = createContext<DateFieldRootContext>('DateFieldRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\nimport { computed, nextTick, onMounted, ref, toRefs, watch } from 'vue'\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { VisuallyHidden } from '@/VisuallyHidden'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DateFieldRootProps>(), {\n defaultValue: undefined,\n disabled: false,\n readonly: false,\n placeholder: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DateFieldRootEmits>()\ndefineSlots<{\n default?: (props: {\n /** The current date of the field */\n modelValue: DateValue | undefined\n /** The date field segment contents */\n segments: { part: SegmentPart, value: string }[]\n /** Value if the input is invalid */\n isInvalid: boolean\n }) => any\n}>()\n\nconst { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, granularity, defaultValue, dir: propDir, locale: propLocale } = toRefs(props)\nconst locale = useLocale(propLocale)\nconst dir = useDirection(propDir)\n\nconst formatter = useDateFormatter(locale.value, {\n hourCycle: normalizeHourCycle(props.hourCycle),\n})\nconst { primitiveElement, currentElement: parentElement }\n = usePrimitiveElement()\nconst segmentElements = ref<Set<HTMLElement>>(new Set())\n\nonMounted(() => {\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n})\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: defaultValue.value,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateValue>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: granularity.value,\n defaultValue: modelValue.value,\n locale: props.locale,\n})\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst step = computed(() => normalizeDateStep(props))\n\nconst inferredGranularity = computed(() => {\n if (props.granularity)\n return !hasTime(placeholder.value) ? 'day' : props.granularity\n\n return hasTime(placeholder.value) ? 'minute' : 'day'\n})\n\nconst isInvalid = computed(() => {\n if (!modelValue.value)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value))\n return true\n\n if (props.minValue && isBefore(modelValue.value, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value))\n return true\n\n return false\n})\n\nconst initialSegments = initializeSegmentValues(inferredGranularity.value)\n\nconst segmentValues = ref<SegmentValueObj>(modelValue.value ? { ...syncSegmentValues({ value: modelValue.value, formatter }) } : { ...initialSegments })\n\nconst allSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: segmentValues.value,\n locale,\n}))\n\nconst segmentContents = computed(() => allSegmentContent.value.arr)\n\nconst editableSegmentContents = computed(() => segmentContents.value.filter(({ part }) => part !== 'literal'))\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 (!isNullish(_modelValue) && placeholder.value.compare(_modelValue) !== 0) {\n placeholder.value = _modelValue.copy()\n }\n})\n\nwatch([modelValue, locale], ([_modelValue]) => {\n if (!isNullish(_modelValue)) {\n segmentValues.value = { ...syncSegmentValues({ value: _modelValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(segmentValues.value).every(value => value !== null) && isNullish(_modelValue)) {\n segmentValues.value = { ...initialSegments }\n }\n})\n\nconst currentFocusedElement = ref<HTMLElement | null>(null)\n\nconst currentSegmentIndex = computed(() =>\n Array.from(segmentElements.value).findIndex(el =>\n el.getAttribute('data-reka-date-field-segment')\n === currentFocusedElement.value?.getAttribute('data-reka-date-field-segment')))\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\nprovideDateFieldRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n locale,\n modelValue,\n placeholder,\n disabled,\n formatter,\n hourCycle: props.hourCycle,\n step,\n readonly,\n segmentValues,\n isInvalid,\n segmentContents: editableSegmentContents,\n elements: segmentElements,\n setFocusedElement,\n focusNext() {\n nextFocusableSegment.value?.focus()\n },\n})\n\ndefineExpose({\n /** Helper to set the focused element inside the DateField */\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 :is-invalid=\"isInvalid\"\n />\n\n <VisuallyHidden\n :id=\"id\"\n as=\"input\"\n feature=\"focusable\"\n tabindex=\"-1\"\n :value=\"modelValue ? modelValue.toString() : ''\"\n :name=\"name\"\n :disabled=\"disabled\"\n :required=\"required\"\n @focus=\"Array.from(segmentElements)?.[0]?.focus()\"\n />\n </Primitive>\n</template>\n"],"names":["createContext","toRefs","useLocale","useDirection","useDateFormatter","normalizeHourCycle","usePrimitiveElement","ref","onMounted","getSegmentElements","useVModel","getDefaultDate","computed","normalizeDateStep","hasTime","isBefore","initializeSegmentValues","syncSegmentValues","createContent","watch","nextTick","isNullish","useKbd","isSegmentNavigationKey"],"mappings":"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"}
@@ -7,6 +7,7 @@ import { u as useDirection } from '../shared/useDirection.js';
7
7
  import { u as useDateFormatter } from '../shared/useDateFormatter.js';
8
8
  import { u as usePrimitiveElement } from '../Primitive/usePrimitiveElement.js';
9
9
  import { g as getSegmentElements, i as isSegmentNavigationKey } from '../date/segment.js';
10
+ import { n as normalizeHourCycle, a as normalizeDateStep } from '../date/utils.js';
10
11
  import { i as initializeSegmentValues, s as syncSegmentValues, c as createContent } from '../date/parser.js';
11
12
  import { P as Primitive } from '../Primitive/Primitive.js';
12
13
  import { _ as _sfc_main$1 } from '../VisuallyHidden/VisuallyHidden.js';
@@ -25,6 +26,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
25
26
  placeholder: { default: void 0 },
26
27
  modelValue: {},
27
28
  hourCycle: {},
29
+ step: {},
28
30
  granularity: {},
29
31
  hideTimeZone: { type: Boolean },
30
32
  maxValue: {},
@@ -47,7 +49,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
47
49
  const { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, granularity, defaultValue, dir: propDir, locale: propLocale } = toRefs(props);
48
50
  const locale = useLocale(propLocale);
49
51
  const dir = useDirection(propDir);
50
- const formatter = useDateFormatter(locale.value);
52
+ const formatter = useDateFormatter(locale.value, {
53
+ hourCycle: normalizeHourCycle(props.hourCycle)
54
+ });
51
55
  const { primitiveElement, currentElement: parentElement } = usePrimitiveElement();
52
56
  const segmentElements = ref(/* @__PURE__ */ new Set());
53
57
  onMounted(() => {
@@ -67,6 +71,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
67
71
  defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),
68
72
  passive: props.placeholder === void 0
69
73
  });
74
+ const step = computed(() => normalizeDateStep(props));
70
75
  const inferredGranularity = computed(() => {
71
76
  if (props.granularity)
72
77
  return !hasTime(placeholder.value) ? "day" : props.granularity;
@@ -155,6 +160,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
155
160
  disabled,
156
161
  formatter,
157
162
  hourCycle: props.hourCycle,
163
+ step,
158
164
  readonly,
159
165
  segmentValues,
160
166
  isInvalid,
@@ -1 +1 @@
1
- {"version":3,"file":"DateFieldRoot.js","sources":["../../src/DateField/DateFieldRoot.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, isNullish, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n type Granularity,\n type HourCycle,\n type SegmentPart,\n type SegmentValueObj,\n getDefaultDate,\n} from '@/shared/date'\nimport { type Matcher, hasTime, isBefore } from '@/date'\nimport { createContent, getSegmentElements, initializeSegmentValues, isSegmentNavigationKey, syncSegmentValues } from '@/shared/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\n\ntype DateFieldRootContext = {\n locale: Ref<string>\n modelValue: 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: Ref<SegmentValueObj>\n segmentContents: Ref<{ part: SegmentPart, value: string }[]>\n elements: Ref<Set<HTMLElement>>\n focusNext: () => void\n setFocusedElement: (el: HTMLElement) => void\n}\n\nexport interface DateFieldRootProps extends PrimitiveProps, FormFieldProps {\n /** The default value for the calendar */\n defaultValue?: DateValue\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?: DateValue | 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 DateFieldRootEmits = {\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 [injectDateFieldRootContext, provideDateFieldRootContext]\n = createContext<DateFieldRootContext>('DateFieldRoot')\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<DateFieldRootProps>(), {\n defaultValue: undefined,\n disabled: false,\n readonly: false,\n placeholder: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DateFieldRootEmits>()\ndefineSlots<{\n default: (props: {\n /** The current date of the field */\n modelValue: DateValue | undefined\n /** The date field segment contents */\n segments: { part: SegmentPart, value: string }[]\n /** Value if the input is invalid */\n isInvalid: boolean\n }) => any\n}>()\n\nconst { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, granularity, defaultValue, 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: defaultValue.value,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateValue>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: granularity.value,\n defaultValue: modelValue.value,\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 isInvalid = computed(() => {\n if (!modelValue.value)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value))\n return true\n\n if (props.minValue && isBefore(modelValue.value, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value))\n return true\n\n return false\n})\n\nconst initialSegments = initializeSegmentValues(inferredGranularity.value)\n\nconst segmentValues = ref<SegmentValueObj>(modelValue.value ? { ...syncSegmentValues({ value: modelValue.value, formatter }) } : { ...initialSegments })\n\nconst allSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: segmentValues.value,\n locale,\n}))\n\nconst segmentContents = computed(() => allSegmentContent.value.arr)\n\nconst editableSegmentContents = computed(() => segmentContents.value.filter(({ part }) => part !== 'literal'))\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 (!isNullish(_modelValue) && placeholder.value.compare(_modelValue) !== 0) {\n placeholder.value = _modelValue.copy()\n }\n})\n\nwatch([modelValue, locale], ([_modelValue]) => {\n if (!isNullish(_modelValue)) {\n segmentValues.value = { ...syncSegmentValues({ value: _modelValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(segmentValues.value).every(value => value !== null) && isNullish(_modelValue)) {\n segmentValues.value = { ...initialSegments }\n }\n})\n\nconst currentFocusedElement = ref<HTMLElement | null>(null)\n\nconst currentSegmentIndex = computed(() =>\n Array.from(segmentElements.value).findIndex(el =>\n el.getAttribute('data-reka-date-field-segment')\n === currentFocusedElement.value?.getAttribute('data-reka-date-field-segment')))\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\nprovideDateFieldRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n locale,\n modelValue,\n placeholder,\n disabled,\n formatter,\n hourCycle: props.hourCycle,\n readonly,\n segmentValues,\n isInvalid,\n segmentContents: editableSegmentContents,\n elements: segmentElements,\n setFocusedElement,\n focusNext() {\n nextFocusableSegment.value?.focus()\n },\n})\n\ndefineExpose({\n /** Helper to set the focused element inside the DateField */\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 :is-invalid=\"isInvalid\"\n />\n\n <VisuallyHidden\n :id=\"id\"\n as=\"input\"\n feature=\"focusable\"\n tabindex=\"-1\"\n :value=\"modelValue ? modelValue.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":"DateFieldRoot.js","sources":["../../src/DateField/DateFieldRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\nimport type { Ref } from 'vue'\nimport type { Matcher } from '@/date'\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { DateStep, Formatter } from '@/shared'\nimport type { Granularity, HourCycle, SegmentPart, SegmentValueObj } from '@/shared/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport { hasTime, isBefore } from '@/date'\nimport { createContext, isNullish, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n createContent,\n getDefaultDate,\n getSegmentElements,\n initializeSegmentValues,\n isSegmentNavigationKey,\n normalizeDateStep,\n normalizeHourCycle,\n syncSegmentValues,\n} from '@/shared/date'\n\ntype DateFieldRootContext = {\n locale: Ref<string>\n modelValue: Ref<DateValue | undefined>\n placeholder: Ref<DateValue>\n isDateUnavailable?: Matcher\n isInvalid: Ref<boolean>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n formatter: Formatter\n hourCycle: HourCycle\n step: Ref<DateStep>\n segmentValues: Ref<SegmentValueObj>\n segmentContents: Ref<{ part: SegmentPart, value: string }[]>\n elements: Ref<Set<HTMLElement>>\n focusNext: () => void\n setFocusedElement: (el: HTMLElement) => void\n}\n\nexport interface DateFieldRootProps extends PrimitiveProps, FormFieldProps {\n /** The default value for the calendar */\n defaultValue?: DateValue\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?: DateValue | null\n /** The hour cycle used for formatting times. Defaults to the local preference */\n hourCycle?: HourCycle\n /** The stepping interval for the time fields. Defaults to `1`. */\n step?: DateStep\n /** The granularity to use for formatting times. Defaults to day if a CalendarDate is provided, otherwise defaults to minute. The field will render segments for each part of the date up to and including the specified granularity */\n granularity?: Granularity\n /** Whether or not to hide the time zone segment of the field */\n hideTimeZone?: boolean\n /** The maximum date that can be selected */\n maxValue?: DateValue\n /** The minimum date that can be selected */\n minValue?: DateValue\n /** The locale to use for formatting dates */\n locale?: string\n /** Whether or not the date field is disabled */\n disabled?: boolean\n /** Whether or not the date field is readonly */\n readonly?: boolean\n /** A function that returns whether or not a date is unavailable */\n isDateUnavailable?: Matcher\n /** Id of the element */\n id?: string\n /** The reading direction of the date field when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n}\n\nexport type DateFieldRootEmits = {\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 [injectDateFieldRootContext, provideDateFieldRootContext]\n = createContext<DateFieldRootContext>('DateFieldRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\nimport { computed, nextTick, onMounted, ref, toRefs, watch } from 'vue'\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { VisuallyHidden } from '@/VisuallyHidden'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DateFieldRootProps>(), {\n defaultValue: undefined,\n disabled: false,\n readonly: false,\n placeholder: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DateFieldRootEmits>()\ndefineSlots<{\n default?: (props: {\n /** The current date of the field */\n modelValue: DateValue | undefined\n /** The date field segment contents */\n segments: { part: SegmentPart, value: string }[]\n /** Value if the input is invalid */\n isInvalid: boolean\n }) => any\n}>()\n\nconst { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, granularity, defaultValue, dir: propDir, locale: propLocale } = toRefs(props)\nconst locale = useLocale(propLocale)\nconst dir = useDirection(propDir)\n\nconst formatter = useDateFormatter(locale.value, {\n hourCycle: normalizeHourCycle(props.hourCycle),\n})\nconst { primitiveElement, currentElement: parentElement }\n = usePrimitiveElement()\nconst segmentElements = ref<Set<HTMLElement>>(new Set())\n\nonMounted(() => {\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n})\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: defaultValue.value,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateValue>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: granularity.value,\n defaultValue: modelValue.value,\n locale: props.locale,\n})\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst step = computed(() => normalizeDateStep(props))\n\nconst inferredGranularity = computed(() => {\n if (props.granularity)\n return !hasTime(placeholder.value) ? 'day' : props.granularity\n\n return hasTime(placeholder.value) ? 'minute' : 'day'\n})\n\nconst isInvalid = computed(() => {\n if (!modelValue.value)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value))\n return true\n\n if (props.minValue && isBefore(modelValue.value, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value))\n return true\n\n return false\n})\n\nconst initialSegments = initializeSegmentValues(inferredGranularity.value)\n\nconst segmentValues = ref<SegmentValueObj>(modelValue.value ? { ...syncSegmentValues({ value: modelValue.value, formatter }) } : { ...initialSegments })\n\nconst allSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: segmentValues.value,\n locale,\n}))\n\nconst segmentContents = computed(() => allSegmentContent.value.arr)\n\nconst editableSegmentContents = computed(() => segmentContents.value.filter(({ part }) => part !== 'literal'))\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 (!isNullish(_modelValue) && placeholder.value.compare(_modelValue) !== 0) {\n placeholder.value = _modelValue.copy()\n }\n})\n\nwatch([modelValue, locale], ([_modelValue]) => {\n if (!isNullish(_modelValue)) {\n segmentValues.value = { ...syncSegmentValues({ value: _modelValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(segmentValues.value).every(value => value !== null) && isNullish(_modelValue)) {\n segmentValues.value = { ...initialSegments }\n }\n})\n\nconst currentFocusedElement = ref<HTMLElement | null>(null)\n\nconst currentSegmentIndex = computed(() =>\n Array.from(segmentElements.value).findIndex(el =>\n el.getAttribute('data-reka-date-field-segment')\n === currentFocusedElement.value?.getAttribute('data-reka-date-field-segment')))\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\nprovideDateFieldRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n locale,\n modelValue,\n placeholder,\n disabled,\n formatter,\n hourCycle: props.hourCycle,\n step,\n readonly,\n segmentValues,\n isInvalid,\n segmentContents: editableSegmentContents,\n elements: segmentElements,\n setFocusedElement,\n focusNext() {\n nextFocusableSegment.value?.focus()\n },\n})\n\ndefineExpose({\n /** Helper to set the focused element inside the DateField */\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 :is-invalid=\"isInvalid\"\n />\n\n <VisuallyHidden\n :id=\"id\"\n as=\"input\"\n feature=\"focusable\"\n tabindex=\"-1\"\n :value=\"modelValue ? modelValue.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 +1 @@
1
- {"version":3,"file":"DatePickerArrow.cjs","sources":["../../src/DatePicker/DatePickerArrow.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { PopoverArrow, type PopoverArrowProps } from '..'\n\nexport interface DatePickerArrowProps extends PopoverArrowProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerArrowProps>()\n</script>\n\n<template>\n <PopoverArrow v-bind=\"props\">\n <slot />\n </PopoverArrow>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAOA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerArrow.cjs","sources":["../../src/DatePicker/DatePickerArrow.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopoverArrowProps } from '..'\nimport { PopoverArrow } from '..'\n\nexport interface DatePickerArrowProps extends PopoverArrowProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerArrowProps>()\n</script>\n\n<template>\n <PopoverArrow v-bind=\"props\">\n <slot />\n </PopoverArrow>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerArrow.js","sources":["../../src/DatePicker/DatePickerArrow.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { PopoverArrow, type PopoverArrowProps } from '..'\n\nexport interface DatePickerArrowProps extends PopoverArrowProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerArrowProps>()\n</script>\n\n<template>\n <PopoverArrow v-bind=\"props\">\n <slot />\n </PopoverArrow>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAOA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerArrow.js","sources":["../../src/DatePicker/DatePickerArrow.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopoverArrowProps } from '..'\nimport { PopoverArrow } from '..'\n\nexport interface DatePickerArrowProps extends PopoverArrowProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerArrowProps>()\n</script>\n\n<template>\n <PopoverArrow v-bind=\"props\">\n <slot />\n </PopoverArrow>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCalendar.cjs","sources":["../../src/DatePicker/DatePickerCalendar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { type DateValue, isEqualDay } from '@internationalized/date'\nimport { CalendarRoot } from '..'\nimport { injectDatePickerRootContext } from './DatePickerRoot.vue'\n</script>\n\n<script setup lang=\"ts\">\nconst rootContext = injectDatePickerRootContext()\n</script>\n\n<template>\n <CalendarRoot\n v-slot=\"{ weekDays, grid, date, weekStartsOn, locale, fixedWeeks }\"\n v-bind=\"{\n isDateDisabled: rootContext.isDateDisabled,\n isDateUnavailable: rootContext.isDateUnavailable,\n minValue: rootContext.minValue.value,\n maxValue: rootContext.maxValue.value,\n locale: rootContext.locale.value,\n disabled: rootContext.disabled.value,\n pagedNavigation: rootContext.pagedNavigation.value,\n weekStartsOn: rootContext.weekStartsOn.value,\n weekdayFormat: rootContext.weekdayFormat.value,\n fixedWeeks: rootContext.fixedWeeks.value,\n numberOfMonths: rootContext.numberOfMonths.value,\n readonly: rootContext.readonly.value,\n preventDeselect: rootContext.preventDeselect.value,\n dir: rootContext.dir.value,\n }\"\n :model-value=\"rootContext.modelValue.value\"\n :placeholder=\"rootContext.placeholder.value\"\n initial-focus\n :multiple=\"false\"\n @update:model-value=\"(date: DateValue | undefined) => {\n if (date && rootContext.modelValue.value && isEqualDay(date, rootContext.modelValue.value)) return\n rootContext.onDateChange(date)\n }\"\n @update:placeholder=\"(date: DateValue) => {\n if (isEqualDay(date, rootContext.placeholder.value)) return\n rootContext.onPlaceholderChange(date)\n }\"\n >\n <slot\n :date=\"date\"\n :grid=\"grid\"\n :week-days=\"weekDays\"\n :week-starts-on=\"weekStartsOn\"\n :locale=\"locale\"\n :fixed-weeks=\"fixedWeeks\"\n />\n </CalendarRoot>\n</template>\n"],"names":["injectDatePickerRootContext"],"mappings":";;;;;;;;;;;AAOA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerCalendar.cjs","sources":["../../src/DatePicker/DatePickerCalendar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\nimport { isEqualDay } from '@internationalized/date'\nimport { CalendarRoot } from '..'\nimport { injectDatePickerRootContext } from './DatePickerRoot.vue'\n</script>\n\n<script setup lang=\"ts\">\nconst rootContext = injectDatePickerRootContext()\n</script>\n\n<template>\n <CalendarRoot\n v-slot=\"{ weekDays, grid, date, weekStartsOn, locale, fixedWeeks }\"\n v-bind=\"{\n isDateDisabled: rootContext.isDateDisabled,\n isDateUnavailable: rootContext.isDateUnavailable,\n minValue: rootContext.minValue.value,\n maxValue: rootContext.maxValue.value,\n locale: rootContext.locale.value,\n disabled: rootContext.disabled.value,\n pagedNavigation: rootContext.pagedNavigation.value,\n weekStartsOn: rootContext.weekStartsOn.value,\n weekdayFormat: rootContext.weekdayFormat.value,\n fixedWeeks: rootContext.fixedWeeks.value,\n numberOfMonths: rootContext.numberOfMonths.value,\n readonly: rootContext.readonly.value,\n preventDeselect: rootContext.preventDeselect.value,\n dir: rootContext.dir.value,\n }\"\n :model-value=\"rootContext.modelValue.value\"\n :placeholder=\"rootContext.placeholder.value\"\n initial-focus\n :multiple=\"false\"\n @update:model-value=\"(date: DateValue | undefined) => {\n if (date && rootContext.modelValue.value && isEqualDay(date, rootContext.modelValue.value)) return\n rootContext.onDateChange(date)\n }\"\n @update:placeholder=\"(date: DateValue) => {\n if (isEqualDay(date, rootContext.placeholder.value)) return\n rootContext.onPlaceholderChange(date)\n }\"\n >\n <slot\n :date=\"date\"\n :grid=\"grid\"\n :week-days=\"weekDays\"\n :week-starts-on=\"weekStartsOn\"\n :locale=\"locale\"\n :fixed-weeks=\"fixedWeeks\"\n />\n </CalendarRoot>\n</template>\n"],"names":["injectDatePickerRootContext"],"mappings":";;;;;;;;;;;AAQA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCalendar.js","sources":["../../src/DatePicker/DatePickerCalendar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { type DateValue, isEqualDay } from '@internationalized/date'\nimport { CalendarRoot } from '..'\nimport { injectDatePickerRootContext } from './DatePickerRoot.vue'\n</script>\n\n<script setup lang=\"ts\">\nconst rootContext = injectDatePickerRootContext()\n</script>\n\n<template>\n <CalendarRoot\n v-slot=\"{ weekDays, grid, date, weekStartsOn, locale, fixedWeeks }\"\n v-bind=\"{\n isDateDisabled: rootContext.isDateDisabled,\n isDateUnavailable: rootContext.isDateUnavailable,\n minValue: rootContext.minValue.value,\n maxValue: rootContext.maxValue.value,\n locale: rootContext.locale.value,\n disabled: rootContext.disabled.value,\n pagedNavigation: rootContext.pagedNavigation.value,\n weekStartsOn: rootContext.weekStartsOn.value,\n weekdayFormat: rootContext.weekdayFormat.value,\n fixedWeeks: rootContext.fixedWeeks.value,\n numberOfMonths: rootContext.numberOfMonths.value,\n readonly: rootContext.readonly.value,\n preventDeselect: rootContext.preventDeselect.value,\n dir: rootContext.dir.value,\n }\"\n :model-value=\"rootContext.modelValue.value\"\n :placeholder=\"rootContext.placeholder.value\"\n initial-focus\n :multiple=\"false\"\n @update:model-value=\"(date: DateValue | undefined) => {\n if (date && rootContext.modelValue.value && isEqualDay(date, rootContext.modelValue.value)) return\n rootContext.onDateChange(date)\n }\"\n @update:placeholder=\"(date: DateValue) => {\n if (isEqualDay(date, rootContext.placeholder.value)) return\n rootContext.onPlaceholderChange(date)\n }\"\n >\n <slot\n :date=\"date\"\n :grid=\"grid\"\n :week-days=\"weekDays\"\n :week-starts-on=\"weekStartsOn\"\n :locale=\"locale\"\n :fixed-weeks=\"fixedWeeks\"\n />\n </CalendarRoot>\n</template>\n"],"names":[],"mappings":";;;;;;;;;AAOA,IAAA,MAAM,cAAc,2BAA4B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerCalendar.js","sources":["../../src/DatePicker/DatePickerCalendar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\nimport { isEqualDay } from '@internationalized/date'\nimport { CalendarRoot } from '..'\nimport { injectDatePickerRootContext } from './DatePickerRoot.vue'\n</script>\n\n<script setup lang=\"ts\">\nconst rootContext = injectDatePickerRootContext()\n</script>\n\n<template>\n <CalendarRoot\n v-slot=\"{ weekDays, grid, date, weekStartsOn, locale, fixedWeeks }\"\n v-bind=\"{\n isDateDisabled: rootContext.isDateDisabled,\n isDateUnavailable: rootContext.isDateUnavailable,\n minValue: rootContext.minValue.value,\n maxValue: rootContext.maxValue.value,\n locale: rootContext.locale.value,\n disabled: rootContext.disabled.value,\n pagedNavigation: rootContext.pagedNavigation.value,\n weekStartsOn: rootContext.weekStartsOn.value,\n weekdayFormat: rootContext.weekdayFormat.value,\n fixedWeeks: rootContext.fixedWeeks.value,\n numberOfMonths: rootContext.numberOfMonths.value,\n readonly: rootContext.readonly.value,\n preventDeselect: rootContext.preventDeselect.value,\n dir: rootContext.dir.value,\n }\"\n :model-value=\"rootContext.modelValue.value\"\n :placeholder=\"rootContext.placeholder.value\"\n initial-focus\n :multiple=\"false\"\n @update:model-value=\"(date: DateValue | undefined) => {\n if (date && rootContext.modelValue.value && isEqualDay(date, rootContext.modelValue.value)) return\n rootContext.onDateChange(date)\n }\"\n @update:placeholder=\"(date: DateValue) => {\n if (isEqualDay(date, rootContext.placeholder.value)) return\n rootContext.onPlaceholderChange(date)\n }\"\n >\n <slot\n :date=\"date\"\n :grid=\"grid\"\n :week-days=\"weekDays\"\n :week-starts-on=\"weekStartsOn\"\n :locale=\"locale\"\n :fixed-weeks=\"fixedWeeks\"\n />\n </CalendarRoot>\n</template>\n"],"names":[],"mappings":";;;;;;;;;AAQA,IAAA,MAAM,cAAc,2BAA4B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCell.cjs","sources":["../../src/DatePicker/DatePickerCell.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { CalendarCell, type CalendarCellProps } from '..'\n\nexport interface DatePickerCellProps extends CalendarCellProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerCellProps>()\n</script>\n\n<template>\n <CalendarCell v-bind=\"props\">\n <slot />\n </CalendarCell>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAOA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerCell.cjs","sources":["../../src/DatePicker/DatePickerCell.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarCellProps } from '..'\nimport { CalendarCell } from '..'\n\nexport interface DatePickerCellProps extends CalendarCellProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerCellProps>()\n</script>\n\n<template>\n <CalendarCell v-bind=\"props\">\n <slot />\n </CalendarCell>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCell.js","sources":["../../src/DatePicker/DatePickerCell.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { CalendarCell, type CalendarCellProps } from '..'\n\nexport interface DatePickerCellProps extends CalendarCellProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerCellProps>()\n</script>\n\n<template>\n <CalendarCell v-bind=\"props\">\n <slot />\n </CalendarCell>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAOA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerCell.js","sources":["../../src/DatePicker/DatePickerCell.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarCellProps } from '..'\nimport { CalendarCell } from '..'\n\nexport interface DatePickerCellProps extends CalendarCellProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerCellProps>()\n</script>\n\n<template>\n <CalendarCell v-bind=\"props\">\n <slot />\n </CalendarCell>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCellTrigger.cjs","sources":["../../src/DatePicker/DatePickerCellTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarCellTriggerSlot } from '@/Calendar/CalendarCellTrigger.vue'\nimport { CalendarCellTrigger, type CalendarCellTriggerProps } from '..'\n\nexport interface DatePickerCellTriggerProps extends CalendarCellTriggerProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerCellTriggerProps>()\ndefineSlots<CalendarCellTriggerSlot>()\n</script>\n\n<template>\n <CalendarCellTrigger\n v-slot=\"slotProps\"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </CalendarCellTrigger>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerCellTrigger.cjs","sources":["../../src/DatePicker/DatePickerCellTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarCellTriggerProps } from '..'\nimport type { CalendarCellTriggerSlot } from '@/Calendar/CalendarCellTrigger.vue'\nimport { CalendarCellTrigger } from '..'\n\nexport interface DatePickerCellTriggerProps extends CalendarCellTriggerProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerCellTriggerProps>()\ndefineSlots<CalendarCellTriggerSlot>()\n</script>\n\n<template>\n <CalendarCellTrigger\n v-slot=\"slotProps\"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </CalendarCellTrigger>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCellTrigger.js","sources":["../../src/DatePicker/DatePickerCellTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarCellTriggerSlot } from '@/Calendar/CalendarCellTrigger.vue'\nimport { CalendarCellTrigger, type CalendarCellTriggerProps } from '..'\n\nexport interface DatePickerCellTriggerProps extends CalendarCellTriggerProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerCellTriggerProps>()\ndefineSlots<CalendarCellTriggerSlot>()\n</script>\n\n<template>\n <CalendarCellTrigger\n v-slot=\"slotProps\"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </CalendarCellTrigger>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerCellTrigger.js","sources":["../../src/DatePicker/DatePickerCellTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarCellTriggerProps } from '..'\nimport type { CalendarCellTriggerSlot } from '@/Calendar/CalendarCellTrigger.vue'\nimport { CalendarCellTrigger } from '..'\n\nexport interface DatePickerCellTriggerProps extends CalendarCellTriggerProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerCellTriggerProps>()\ndefineSlots<CalendarCellTriggerSlot>()\n</script>\n\n<template>\n <CalendarCellTrigger\n v-slot=\"slotProps\"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </CalendarCellTrigger>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerClose.cjs","sources":["../../src/DatePicker/DatePickerClose.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { PopoverClose, type PopoverCloseProps } from '..'\n\nexport interface DatePickerCloseProps extends PopoverCloseProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerCloseProps>()\n</script>\n\n<template>\n <PopoverClose v-bind=\"props\">\n <slot />\n </PopoverClose>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAOA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerClose.cjs","sources":["../../src/DatePicker/DatePickerClose.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopoverCloseProps } from '..'\nimport { PopoverClose } from '..'\n\nexport interface DatePickerCloseProps extends PopoverCloseProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerCloseProps>()\n</script>\n\n<template>\n <PopoverClose v-bind=\"props\">\n <slot />\n </PopoverClose>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerClose.js","sources":["../../src/DatePicker/DatePickerClose.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { PopoverClose, type PopoverCloseProps } from '..'\n\nexport interface DatePickerCloseProps extends PopoverCloseProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerCloseProps>()\n</script>\n\n<template>\n <PopoverClose v-bind=\"props\">\n <slot />\n </PopoverClose>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;AAOA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerClose.js","sources":["../../src/DatePicker/DatePickerClose.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopoverCloseProps } from '..'\nimport { PopoverClose } from '..'\n\nexport interface DatePickerCloseProps extends PopoverCloseProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerCloseProps>()\n</script>\n\n<template>\n <PopoverClose v-bind=\"props\">\n <slot />\n </PopoverClose>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
@@ -9,6 +9,7 @@ const Popover_PopoverContent = require('../Popover/PopoverContent.cjs');
9
9
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
10
10
  __name: "DatePickerContent",
11
11
  props: {
12
+ portal: {},
12
13
  forceMount: { type: Boolean },
13
14
  side: {},
14
15
  sideOffset: {},
@@ -33,9 +34,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
33
34
  setup(__props, { emit: __emit }) {
34
35
  const props = __props;
35
36
  const emits = __emit;
36
- const forwarded = shared_useForwardPropsEmits.useForwardPropsEmits(props, emits);
37
+ const propsToForward = vue.computed(() => ({
38
+ ...props,
39
+ portal: void 0
40
+ }));
41
+ const forwarded = shared_useForwardPropsEmits.useForwardPropsEmits(propsToForward, emits);
37
42
  return (_ctx, _cache) => {
38
- return vue.openBlock(), vue.createBlock(vue.unref(Popover_PopoverPortal._sfc_main), null, {
43
+ return vue.openBlock(), vue.createBlock(vue.unref(Popover_PopoverPortal._sfc_main), vue.normalizeProps(vue.guardReactiveProps(_ctx.portal)), {
39
44
  default: vue.withCtx(() => [
40
45
  vue.createVNode(vue.unref(Popover_PopoverContent._sfc_main), vue.normalizeProps(vue.guardReactiveProps({ ...vue.unref(forwarded), ..._ctx.$attrs })), {
41
46
  default: vue.withCtx(() => [
@@ -45,7 +50,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
45
50
  }, 16)
46
51
  ]),
47
52
  _: 3
48
- });
53
+ }, 16);
49
54
  };
50
55
  }
51
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerContent.cjs","sources":["../../src/DatePicker/DatePickerContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { PopoverContent, type PopoverContentEmits, type PopoverContentProps, PopoverPortal, useForwardPropsEmits } from '..'\n\nexport interface DatePickerContentProps extends PopoverContentProps {}\nexport interface DatePickerContentEmits extends PopoverContentEmits {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerContentProps>()\nconst emits = defineEmits<DatePickerContentEmits>()\n\nconst forwarded = useForwardPropsEmits(props, emits)\n</script>\n\n<template>\n <PopoverPortal>\n <PopoverContent\n v-bind=\"{ ...forwarded, ...$attrs }\"\n >\n <slot />\n </PopoverContent>\n </PopoverPortal>\n</template>\n"],"names":["useForwardPropsEmits"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,SAAA,GAAYA,gDAAqB,CAAA,KAAA,EAAO,KAAK,CAAA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerContent.cjs","sources":["../../src/DatePicker/DatePickerContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopoverContentEmits, PopoverContentProps, PopoverPortalProps } from '..'\nimport { computed } from 'vue'\nimport { PopoverContent, PopoverPortal, useForwardPropsEmits } from '..'\n\nexport interface DatePickerContentProps extends PopoverContentProps {\n /**\n * Props to control the portal wrapped around the content.\n */\n portal?: PopoverPortalProps\n}\nexport interface DatePickerContentEmits extends PopoverContentEmits {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerContentProps>()\nconst emits = defineEmits<DatePickerContentEmits>()\n\nconst propsToForward = computed(() => ({\n ...props,\n portal: undefined,\n}))\nconst forwarded = useForwardPropsEmits(propsToForward, emits)\n</script>\n\n<template>\n <PopoverPortal v-bind=\"portal\">\n <PopoverContent\n v-bind=\"{ ...forwarded, ...$attrs }\"\n >\n <slot />\n </PopoverContent>\n </PopoverPortal>\n</template>\n"],"names":["computed","useForwardPropsEmits"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,cAAA,GAAiBA,aAAS,OAAO;AAAA,MACrC,GAAG,KAAA;AAAA,MACH,MAAQ,EAAA;AAAA,KACR,CAAA,CAAA;AACF,IAAM,MAAA,SAAA,GAAYC,gDAAqB,CAAA,cAAA,EAAgB,KAAK,CAAA;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, createBlock, openBlock, unref, withCtx, createVNode, normalizeProps, guardReactiveProps, renderSlot } from 'vue';
1
+ import { defineComponent, computed, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, createVNode, 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';
@@ -7,6 +7,7 @@ import { _ as _sfc_main$2 } from '../Popover/PopoverContent.js';
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  __name: "DatePickerContent",
9
9
  props: {
10
+ portal: {},
10
11
  forceMount: { type: Boolean },
11
12
  side: {},
12
13
  sideOffset: {},
@@ -31,9 +32,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
31
32
  setup(__props, { emit: __emit }) {
32
33
  const props = __props;
33
34
  const emits = __emit;
34
- const forwarded = useForwardPropsEmits(props, emits);
35
+ const propsToForward = computed(() => ({
36
+ ...props,
37
+ portal: void 0
38
+ }));
39
+ const forwarded = useForwardPropsEmits(propsToForward, emits);
35
40
  return (_ctx, _cache) => {
36
- return openBlock(), createBlock(unref(_sfc_main$1), null, {
41
+ return openBlock(), createBlock(unref(_sfc_main$1), normalizeProps(guardReactiveProps(_ctx.portal)), {
37
42
  default: withCtx(() => [
38
43
  createVNode(unref(_sfc_main$2), normalizeProps(guardReactiveProps({ ...unref(forwarded), ..._ctx.$attrs })), {
39
44
  default: withCtx(() => [
@@ -43,7 +48,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
43
48
  }, 16)
44
49
  ]),
45
50
  _: 3
46
- });
51
+ }, 16);
47
52
  };
48
53
  }
49
54
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerContent.js","sources":["../../src/DatePicker/DatePickerContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { PopoverContent, type PopoverContentEmits, type PopoverContentProps, PopoverPortal, useForwardPropsEmits } from '..'\n\nexport interface DatePickerContentProps extends PopoverContentProps {}\nexport interface DatePickerContentEmits extends PopoverContentEmits {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerContentProps>()\nconst emits = defineEmits<DatePickerContentEmits>()\n\nconst forwarded = useForwardPropsEmits(props, emits)\n</script>\n\n<template>\n <PopoverPortal>\n <PopoverContent\n v-bind=\"{ ...forwarded, ...$attrs }\"\n >\n <slot />\n </PopoverContent>\n </PopoverPortal>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,SAAA,GAAY,oBAAqB,CAAA,KAAA,EAAO,KAAK,CAAA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerContent.js","sources":["../../src/DatePicker/DatePickerContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopoverContentEmits, PopoverContentProps, PopoverPortalProps } from '..'\nimport { computed } from 'vue'\nimport { PopoverContent, PopoverPortal, useForwardPropsEmits } from '..'\n\nexport interface DatePickerContentProps extends PopoverContentProps {\n /**\n * Props to control the portal wrapped around the content.\n */\n portal?: PopoverPortalProps\n}\nexport interface DatePickerContentEmits extends PopoverContentEmits {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerContentProps>()\nconst emits = defineEmits<DatePickerContentEmits>()\n\nconst propsToForward = computed(() => ({\n ...props,\n portal: undefined,\n}))\nconst forwarded = useForwardPropsEmits(propsToForward, emits)\n</script>\n\n<template>\n <PopoverPortal v-bind=\"portal\">\n <PopoverContent\n v-bind=\"{ ...forwarded, ...$attrs }\"\n >\n <slot />\n </PopoverContent>\n </PopoverPortal>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,cAAA,GAAiB,SAAS,OAAO;AAAA,MACrC,GAAG,KAAA;AAAA,MACH,MAAQ,EAAA;AAAA,KACR,CAAA,CAAA;AACF,IAAM,MAAA,SAAA,GAAY,oBAAqB,CAAA,cAAA,EAAgB,KAAK,CAAA;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerGrid.cjs","sources":["../../src/DatePicker/DatePickerGrid.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { CalendarGrid, type CalendarGridProps } from '..'\n\nexport interface DatePickerGridProps extends CalendarGridProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerGridProps>()\n</script>\n\n<template>\n <CalendarGrid v-bind=\"props\">\n <slot />\n </CalendarGrid>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAOA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DatePickerGrid.cjs","sources":["../../src/DatePicker/DatePickerGrid.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CalendarGridProps } from '..'\nimport { CalendarGrid } from '..'\n\nexport interface DatePickerGridProps extends CalendarGridProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DatePickerGridProps>()\n</script>\n\n<template>\n <CalendarGrid v-bind=\"props\">\n <slot />\n </CalendarGrid>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}