@rupe/v-datepicker 1.0.0-alpha.0 → 1.0.0-alpha.1

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 (513) hide show
  1. package/dist/components/Calendar/CalendarCell.vue.d.ts +18 -0
  2. package/dist/components/Calendar/{CalendarCellTrigger.d.ts → CalendarCellTrigger.vue.d.ts} +15 -14
  3. package/dist/components/Calendar/CalendarGrid.vue.d.ts +14 -0
  4. package/dist/components/Calendar/CalendarGridBody.vue.d.ts +14 -0
  5. package/dist/components/Calendar/CalendarGridHead.vue.d.ts +14 -0
  6. package/dist/components/Calendar/CalendarGridRow.vue.d.ts +14 -0
  7. package/dist/components/Calendar/CalendarHeadCell.vue.d.ts +14 -0
  8. package/dist/components/Calendar/CalendarHeader.vue.d.ts +14 -0
  9. package/dist/components/Calendar/CalendarHeading.vue.d.ts +22 -0
  10. package/dist/components/Calendar/CalendarMonthHeading.vue.d.ts +23 -0
  11. package/dist/components/Calendar/{CalendarMonthYearOverlay.d.ts → CalendarMonthYearOverlay.vue.d.ts} +5 -3
  12. package/dist/components/Calendar/{CalendarNext.d.ts → CalendarNext.vue.d.ts} +5 -4
  13. package/dist/components/Calendar/{CalendarOverlayItem.d.ts → CalendarOverlayItem.vue.d.ts} +5 -4
  14. package/dist/components/Calendar/{CalendarPrev.d.ts → CalendarPrev.vue.d.ts} +5 -4
  15. package/dist/components/Calendar/{CalendarRoot.d.ts → CalendarRoot.vue.d.ts} +16 -16
  16. package/dist/components/Calendar/CalendarYearHeading.vue.d.ts +23 -0
  17. package/dist/components/Calendar/index.d.ts +15 -15
  18. package/dist/components/Calendar/useCalendar.d.ts +12 -11
  19. package/dist/components/ConfigProvider/{ConfigProvider.d.ts → ConfigProvider.vue.d.ts} +3 -3
  20. package/dist/components/ConfigProvider/index.d.ts +1 -1
  21. package/dist/components/DateField/DateFieldInput.vue.d.ts +16 -0
  22. package/dist/components/DateField/{DateFieldRoot.d.ts → DateFieldRoot.vue.d.ts} +16 -16
  23. package/dist/components/DateField/index.d.ts +2 -2
  24. package/dist/components/DatePicker/DatePickerAnchor.vue.d.ts +13 -0
  25. package/dist/components/DatePicker/DatePickerArrow.vue.d.ts +13 -0
  26. package/dist/components/DatePicker/DatePickerCalendar.vue.d.ts +19 -0
  27. package/dist/components/DatePicker/DatePickerCell.vue.d.ts +12 -0
  28. package/dist/components/DatePicker/DatePickerCellTrigger.vue.d.ts +11 -0
  29. package/dist/components/DatePicker/DatePickerClose.vue.d.ts +13 -0
  30. package/dist/components/DatePicker/DatePickerContent.vue.d.ts +33 -0
  31. package/dist/components/DatePicker/DatePickerField.vue.d.ts +18 -0
  32. package/dist/components/DatePicker/DatePickerGrid.vue.d.ts +13 -0
  33. package/dist/components/DatePicker/DatePickerGridBody.vue.d.ts +13 -0
  34. package/dist/components/DatePicker/DatePickerGridHead.vue.d.ts +13 -0
  35. package/dist/components/DatePicker/DatePickerGridRow.vue.d.ts +13 -0
  36. package/dist/components/DatePicker/DatePickerHeadCell.vue.d.ts +13 -0
  37. package/dist/components/DatePicker/DatePickerHeader.vue.d.ts +13 -0
  38. package/dist/components/DatePicker/{DatePickerHeading.d.ts → DatePickerHeading.vue.d.ts} +3 -1
  39. package/dist/components/DatePicker/DatePickerInput.vue.d.ts +12 -0
  40. package/dist/components/DatePicker/DatePickerMonthHeading.vue.d.ts +14 -0
  41. package/dist/components/DatePicker/{DatePickerMonthYearOverlay.d.ts → DatePickerMonthYearOverlay.vue.d.ts} +4 -2
  42. package/dist/components/DatePicker/DatePickerNext.vue.d.ts +11 -0
  43. package/dist/components/DatePicker/{DatePickerOverlayItem.d.ts → DatePickerOverlayItem.vue.d.ts} +3 -2
  44. package/dist/components/DatePicker/DatePickerPrev.vue.d.ts +11 -0
  45. package/dist/components/DatePicker/{DatePickerRoot.d.ts → DatePickerRoot.vue.d.ts} +4 -4
  46. package/dist/components/DatePicker/DatePickerTrigger.vue.d.ts +13 -0
  47. package/dist/components/DatePicker/DatePickerYearHeading.vue.d.ts +14 -0
  48. package/dist/components/DatePicker/index.d.ts +24 -24
  49. package/dist/components/DismissableLayer/{DismissableLayer.d.ts → DismissableLayer.vue.d.ts} +4 -3
  50. package/dist/components/DismissableLayer/DismissableLayerBranch.vue.d.ts +12 -0
  51. package/dist/components/DismissableLayer/index.d.ts +2 -2
  52. package/dist/components/FocusScope/{FocusScope.d.ts → FocusScope.vue.d.ts} +15 -14
  53. package/dist/components/FocusScope/index.d.ts +1 -1
  54. package/dist/components/Popover/PopoverAnchor.vue.d.ts +12 -0
  55. package/dist/components/Popover/PopoverArrow.vue.d.ts +17 -0
  56. package/dist/components/Popover/PopoverClose.vue.d.ts +14 -0
  57. package/dist/components/Popover/PopoverContent.vue.d.ts +34 -0
  58. package/dist/components/Popover/{PopoverContentImpl.d.ts → PopoverContentImpl.vue.d.ts} +11 -10
  59. package/dist/components/Popover/PopoverContentNonModal.vue.d.ts +34 -0
  60. package/dist/components/Popover/PopoverPortal.vue.d.ts +12 -0
  61. package/dist/components/Popover/{PopoverRoot.d.ts → PopoverRoot.vue.d.ts} +4 -4
  62. package/dist/components/Popover/PopoverTrigger.vue.d.ts +14 -0
  63. package/dist/components/Popover/index.d.ts +7 -7
  64. package/dist/components/Popper/{PopperAnchor.d.ts → PopperAnchor.vue.d.ts} +2 -1
  65. package/dist/components/Popper/PopperArrow.vue.d.ts +16 -0
  66. package/dist/components/Popper/{PopperContent.d.ts → PopperContent.vue.d.ts} +4 -4
  67. package/dist/components/Popper/{PopperRoot.d.ts → PopperRoot.vue.d.ts} +2 -2
  68. package/dist/components/Popper/index.d.ts +4 -4
  69. package/dist/components/Presence/Presence.d.ts +5 -5
  70. package/dist/components/Presence/usePresence.d.ts +2 -2
  71. package/dist/components/Primitive/Primitive.d.ts +5 -5
  72. package/dist/components/Primitive/Slot.d.ts +4 -3
  73. package/dist/components/Primitive/usePrimitiveElement.d.ts +3 -3
  74. package/dist/components/Teleport/{Teleport.d.ts → Teleport.vue.d.ts} +3 -2
  75. package/dist/components/Teleport/index.d.ts +1 -1
  76. package/dist/components/VisuallyHidden/VisuallyHidden.vue.d.ts +17 -0
  77. package/dist/components/VisuallyHidden/{VisuallyHiddenInput.d.ts → VisuallyHiddenInput.vue.d.ts} +5 -4
  78. package/dist/components/VisuallyHidden/{VisuallyHiddenInputBubble.d.ts → VisuallyHiddenInputBubble.vue.d.ts} +5 -4
  79. package/dist/components/VisuallyHidden/index.d.ts +2 -2
  80. package/dist/index.cjs +1662 -5525
  81. package/dist/index.cjs.map +1 -1
  82. package/dist/index.d.ts +553 -25
  83. package/dist/index.mjs +5218 -0
  84. package/dist/index.mjs.map +1 -0
  85. package/dist/shared/component/{Arrow.d.ts → Arrow.vue.d.ts} +5 -4
  86. package/dist/shared/component/{BaseSeparator.d.ts → BaseSeparator.vue.d.ts} +3 -2
  87. package/dist/shared/component/index.d.ts +2 -2
  88. package/dist/shared/date/useDateField.d.ts +2 -2
  89. package/dist/shared/useDirection.d.ts +2 -2
  90. package/dist/shared/useForwardExpose.d.ts +3 -3
  91. package/dist/shared/useForwardProps.d.ts +2 -2
  92. package/dist/shared/useForwardPropsEmits.d.ts +2 -2
  93. package/dist/shared/useIsUsingKeyboard.d.ts +2 -1
  94. package/dist/shared/useLocale.d.ts +2 -2
  95. package/dist/shared/useNonce.d.ts +2 -2
  96. package/dist/shared/useSize.d.ts +3 -2
  97. package/package.json +10 -5
  98. package/src/index.ts +3 -26
  99. package/dist/components/Calendar/CalendarCell.d.ts +0 -17
  100. package/dist/components/Calendar/CalendarCell.vue.js +0 -34
  101. package/dist/components/Calendar/CalendarCell.vue.js.map +0 -1
  102. package/dist/components/Calendar/CalendarCell.vue2.js +0 -5
  103. package/dist/components/Calendar/CalendarCell.vue2.js.map +0 -1
  104. package/dist/components/Calendar/CalendarCellTrigger.vue.js +0 -159
  105. package/dist/components/Calendar/CalendarCellTrigger.vue.js.map +0 -1
  106. package/dist/components/Calendar/CalendarCellTrigger.vue2.js +0 -5
  107. package/dist/components/Calendar/CalendarCellTrigger.vue2.js.map +0 -1
  108. package/dist/components/Calendar/CalendarGrid.d.ts +0 -13
  109. package/dist/components/Calendar/CalendarGrid.vue.js +0 -40
  110. package/dist/components/Calendar/CalendarGrid.vue.js.map +0 -1
  111. package/dist/components/Calendar/CalendarGrid.vue2.js +0 -5
  112. package/dist/components/Calendar/CalendarGrid.vue2.js.map +0 -1
  113. package/dist/components/Calendar/CalendarGridBody.d.ts +0 -13
  114. package/dist/components/Calendar/CalendarGridBody.vue.js +0 -25
  115. package/dist/components/Calendar/CalendarGridBody.vue.js.map +0 -1
  116. package/dist/components/Calendar/CalendarGridBody.vue2.js +0 -5
  117. package/dist/components/Calendar/CalendarGridBody.vue2.js.map +0 -1
  118. package/dist/components/Calendar/CalendarGridHead.d.ts +0 -13
  119. package/dist/components/Calendar/CalendarGridHead.vue.js +0 -25
  120. package/dist/components/Calendar/CalendarGridHead.vue.js.map +0 -1
  121. package/dist/components/Calendar/CalendarGridHead.vue2.js +0 -5
  122. package/dist/components/Calendar/CalendarGridHead.vue2.js.map +0 -1
  123. package/dist/components/Calendar/CalendarGridRow.d.ts +0 -13
  124. package/dist/components/Calendar/CalendarGridRow.vue.js +0 -25
  125. package/dist/components/Calendar/CalendarGridRow.vue.js.map +0 -1
  126. package/dist/components/Calendar/CalendarGridRow.vue2.js +0 -5
  127. package/dist/components/Calendar/CalendarGridRow.vue2.js.map +0 -1
  128. package/dist/components/Calendar/CalendarHeadCell.d.ts +0 -13
  129. package/dist/components/Calendar/CalendarHeadCell.vue.js +0 -25
  130. package/dist/components/Calendar/CalendarHeadCell.vue.js.map +0 -1
  131. package/dist/components/Calendar/CalendarHeadCell.vue2.js +0 -5
  132. package/dist/components/Calendar/CalendarHeadCell.vue2.js.map +0 -1
  133. package/dist/components/Calendar/CalendarHeader.d.ts +0 -13
  134. package/dist/components/Calendar/CalendarHeader.vue.js +0 -25
  135. package/dist/components/Calendar/CalendarHeader.vue.js.map +0 -1
  136. package/dist/components/Calendar/CalendarHeader.vue2.js +0 -5
  137. package/dist/components/Calendar/CalendarHeader.vue2.js.map +0 -1
  138. package/dist/components/Calendar/CalendarHeading.d.ts +0 -21
  139. package/dist/components/Calendar/CalendarHeading.vue.js +0 -33
  140. package/dist/components/Calendar/CalendarHeading.vue.js.map +0 -1
  141. package/dist/components/Calendar/CalendarHeading.vue2.js +0 -5
  142. package/dist/components/Calendar/CalendarHeading.vue2.js.map +0 -1
  143. package/dist/components/Calendar/CalendarMonthHeading.d.ts +0 -22
  144. package/dist/components/Calendar/CalendarMonthHeading.vue.js +0 -49
  145. package/dist/components/Calendar/CalendarMonthHeading.vue.js.map +0 -1
  146. package/dist/components/Calendar/CalendarMonthHeading.vue2.js +0 -5
  147. package/dist/components/Calendar/CalendarMonthHeading.vue2.js.map +0 -1
  148. package/dist/components/Calendar/CalendarMonthYearOverlay.vue.js +0 -61
  149. package/dist/components/Calendar/CalendarMonthYearOverlay.vue.js.map +0 -1
  150. package/dist/components/Calendar/CalendarMonthYearOverlay.vue2.js +0 -5
  151. package/dist/components/Calendar/CalendarMonthYearOverlay.vue2.js.map +0 -1
  152. package/dist/components/Calendar/CalendarNext.vue.js +0 -42
  153. package/dist/components/Calendar/CalendarNext.vue.js.map +0 -1
  154. package/dist/components/Calendar/CalendarNext.vue2.js +0 -5
  155. package/dist/components/Calendar/CalendarNext.vue2.js.map +0 -1
  156. package/dist/components/Calendar/CalendarOverlayItem.vue.js +0 -34
  157. package/dist/components/Calendar/CalendarOverlayItem.vue.js.map +0 -1
  158. package/dist/components/Calendar/CalendarOverlayItem.vue2.js +0 -5
  159. package/dist/components/Calendar/CalendarOverlayItem.vue2.js.map +0 -1
  160. package/dist/components/Calendar/CalendarPrev.vue.js +0 -42
  161. package/dist/components/Calendar/CalendarPrev.vue.js.map +0 -1
  162. package/dist/components/Calendar/CalendarPrev.vue2.js +0 -5
  163. package/dist/components/Calendar/CalendarPrev.vue2.js.map +0 -1
  164. package/dist/components/Calendar/CalendarRoot.vue.js +0 -253
  165. package/dist/components/Calendar/CalendarRoot.vue.js.map +0 -1
  166. package/dist/components/Calendar/CalendarRoot.vue2.js +0 -8
  167. package/dist/components/Calendar/CalendarRoot.vue2.js.map +0 -1
  168. package/dist/components/Calendar/CalendarYearHeading.d.ts +0 -22
  169. package/dist/components/Calendar/CalendarYearHeading.vue.js +0 -49
  170. package/dist/components/Calendar/CalendarYearHeading.vue.js.map +0 -1
  171. package/dist/components/Calendar/CalendarYearHeading.vue2.js +0 -5
  172. package/dist/components/Calendar/CalendarYearHeading.vue2.js.map +0 -1
  173. package/dist/components/Calendar/useCalendar.js +0 -317
  174. package/dist/components/Calendar/useCalendar.js.map +0 -1
  175. package/dist/components/ConfigProvider/ConfigProvider.vue.js +0 -7
  176. package/dist/components/ConfigProvider/ConfigProvider.vue.js.map +0 -1
  177. package/dist/components/DateField/DateFieldInput.d.ts +0 -15
  178. package/dist/components/DateField/DateFieldInput.vue.js +0 -70
  179. package/dist/components/DateField/DateFieldInput.vue.js.map +0 -1
  180. package/dist/components/DateField/DateFieldInput.vue2.js +0 -5
  181. package/dist/components/DateField/DateFieldInput.vue2.js.map +0 -1
  182. package/dist/components/DateField/DateFieldRoot.vue.js +0 -237
  183. package/dist/components/DateField/DateFieldRoot.vue.js.map +0 -1
  184. package/dist/components/DateField/DateFieldRoot.vue2.js +0 -8
  185. package/dist/components/DateField/DateFieldRoot.vue2.js.map +0 -1
  186. package/dist/components/DatePicker/DatePickerAnchor.d.ts +0 -11
  187. package/dist/components/DatePicker/DatePickerAnchor.vue.js +0 -29
  188. package/dist/components/DatePicker/DatePickerAnchor.vue.js.map +0 -1
  189. package/dist/components/DatePicker/DatePickerAnchor.vue2.js +0 -5
  190. package/dist/components/DatePicker/DatePickerAnchor.vue2.js.map +0 -1
  191. package/dist/components/DatePicker/DatePickerArrow.d.ts +0 -11
  192. package/dist/components/DatePicker/DatePickerArrow.vue.js +0 -31
  193. package/dist/components/DatePicker/DatePickerArrow.vue.js.map +0 -1
  194. package/dist/components/DatePicker/DatePickerArrow.vue2.js +0 -5
  195. package/dist/components/DatePicker/DatePickerArrow.vue2.js.map +0 -1
  196. package/dist/components/DatePicker/DatePickerCalendar.d.ts +0 -17
  197. package/dist/components/DatePicker/DatePickerCalendar.vue.js +0 -60
  198. package/dist/components/DatePicker/DatePickerCalendar.vue.js.map +0 -1
  199. package/dist/components/DatePicker/DatePickerCalendar.vue2.js +0 -5
  200. package/dist/components/DatePicker/DatePickerCalendar.vue2.js.map +0 -1
  201. package/dist/components/DatePicker/DatePickerCell.d.ts +0 -11
  202. package/dist/components/DatePicker/DatePickerCell.vue.js +0 -28
  203. package/dist/components/DatePicker/DatePickerCell.vue.js.map +0 -1
  204. package/dist/components/DatePicker/DatePickerCell.vue2.js +0 -5
  205. package/dist/components/DatePicker/DatePickerCell.vue2.js.map +0 -1
  206. package/dist/components/DatePicker/DatePickerCellTrigger.d.ts +0 -10
  207. package/dist/components/DatePicker/DatePickerCellTrigger.vue.js +0 -29
  208. package/dist/components/DatePicker/DatePickerCellTrigger.vue.js.map +0 -1
  209. package/dist/components/DatePicker/DatePickerCellTrigger.vue2.js +0 -5
  210. package/dist/components/DatePicker/DatePickerCellTrigger.vue2.js.map +0 -1
  211. package/dist/components/DatePicker/DatePickerClose.d.ts +0 -11
  212. package/dist/components/DatePicker/DatePickerClose.vue.js +0 -28
  213. package/dist/components/DatePicker/DatePickerClose.vue.js.map +0 -1
  214. package/dist/components/DatePicker/DatePickerClose.vue2.js +0 -5
  215. package/dist/components/DatePicker/DatePickerClose.vue2.js.map +0 -1
  216. package/dist/components/DatePicker/DatePickerContent.d.ts +0 -31
  217. package/dist/components/DatePicker/DatePickerContent.vue.js +0 -69
  218. package/dist/components/DatePicker/DatePickerContent.vue.js.map +0 -1
  219. package/dist/components/DatePicker/DatePickerContent.vue2.js +0 -5
  220. package/dist/components/DatePicker/DatePickerContent.vue2.js.map +0 -1
  221. package/dist/components/DatePicker/DatePickerField.d.ts +0 -16
  222. package/dist/components/DatePicker/DatePickerField.vue.js +0 -55
  223. package/dist/components/DatePicker/DatePickerField.vue.js.map +0 -1
  224. package/dist/components/DatePicker/DatePickerField.vue2.js +0 -5
  225. package/dist/components/DatePicker/DatePickerField.vue2.js.map +0 -1
  226. package/dist/components/DatePicker/DatePickerGrid.d.ts +0 -11
  227. package/dist/components/DatePicker/DatePickerGrid.vue.js +0 -27
  228. package/dist/components/DatePicker/DatePickerGrid.vue.js.map +0 -1
  229. package/dist/components/DatePicker/DatePickerGrid.vue2.js +0 -5
  230. package/dist/components/DatePicker/DatePickerGrid.vue2.js.map +0 -1
  231. package/dist/components/DatePicker/DatePickerGridBody.d.ts +0 -11
  232. package/dist/components/DatePicker/DatePickerGridBody.vue.js +0 -27
  233. package/dist/components/DatePicker/DatePickerGridBody.vue.js.map +0 -1
  234. package/dist/components/DatePicker/DatePickerGridBody.vue2.js +0 -5
  235. package/dist/components/DatePicker/DatePickerGridBody.vue2.js.map +0 -1
  236. package/dist/components/DatePicker/DatePickerGridHead.d.ts +0 -11
  237. package/dist/components/DatePicker/DatePickerGridHead.vue.js +0 -27
  238. package/dist/components/DatePicker/DatePickerGridHead.vue.js.map +0 -1
  239. package/dist/components/DatePicker/DatePickerGridHead.vue2.js +0 -5
  240. package/dist/components/DatePicker/DatePickerGridHead.vue2.js.map +0 -1
  241. package/dist/components/DatePicker/DatePickerGridRow.d.ts +0 -11
  242. package/dist/components/DatePicker/DatePickerGridRow.vue.js +0 -27
  243. package/dist/components/DatePicker/DatePickerGridRow.vue.js.map +0 -1
  244. package/dist/components/DatePicker/DatePickerGridRow.vue2.js +0 -5
  245. package/dist/components/DatePicker/DatePickerGridRow.vue2.js.map +0 -1
  246. package/dist/components/DatePicker/DatePickerHeadCell.d.ts +0 -11
  247. package/dist/components/DatePicker/DatePickerHeadCell.vue.js +0 -27
  248. package/dist/components/DatePicker/DatePickerHeadCell.vue.js.map +0 -1
  249. package/dist/components/DatePicker/DatePickerHeadCell.vue2.js +0 -5
  250. package/dist/components/DatePicker/DatePickerHeadCell.vue2.js.map +0 -1
  251. package/dist/components/DatePicker/DatePickerHeader.d.ts +0 -11
  252. package/dist/components/DatePicker/DatePickerHeader.vue.js +0 -27
  253. package/dist/components/DatePicker/DatePickerHeader.vue.js.map +0 -1
  254. package/dist/components/DatePicker/DatePickerHeader.vue2.js +0 -5
  255. package/dist/components/DatePicker/DatePickerHeader.vue2.js.map +0 -1
  256. package/dist/components/DatePicker/DatePickerHeading.vue.js +0 -29
  257. package/dist/components/DatePicker/DatePickerHeading.vue.js.map +0 -1
  258. package/dist/components/DatePicker/DatePickerHeading.vue2.js +0 -5
  259. package/dist/components/DatePicker/DatePickerHeading.vue2.js.map +0 -1
  260. package/dist/components/DatePicker/DatePickerInput.d.ts +0 -11
  261. package/dist/components/DatePicker/DatePickerInput.vue.js +0 -27
  262. package/dist/components/DatePicker/DatePickerInput.vue.js.map +0 -1
  263. package/dist/components/DatePicker/DatePickerInput.vue2.js +0 -5
  264. package/dist/components/DatePicker/DatePickerInput.vue2.js.map +0 -1
  265. package/dist/components/DatePicker/DatePickerMonthHeading.d.ts +0 -13
  266. package/dist/components/DatePicker/DatePickerMonthHeading.vue.js +0 -27
  267. package/dist/components/DatePicker/DatePickerMonthHeading.vue.js.map +0 -1
  268. package/dist/components/DatePicker/DatePickerMonthHeading.vue2.js +0 -5
  269. package/dist/components/DatePicker/DatePickerMonthHeading.vue2.js.map +0 -1
  270. package/dist/components/DatePicker/DatePickerMonthYearOverlay.vue.js +0 -30
  271. package/dist/components/DatePicker/DatePickerMonthYearOverlay.vue.js.map +0 -1
  272. package/dist/components/DatePicker/DatePickerMonthYearOverlay.vue2.js +0 -5
  273. package/dist/components/DatePicker/DatePickerMonthYearOverlay.vue2.js.map +0 -1
  274. package/dist/components/DatePicker/DatePickerNext.d.ts +0 -10
  275. package/dist/components/DatePicker/DatePickerNext.vue.js +0 -28
  276. package/dist/components/DatePicker/DatePickerNext.vue.js.map +0 -1
  277. package/dist/components/DatePicker/DatePickerNext.vue2.js +0 -5
  278. package/dist/components/DatePicker/DatePickerNext.vue2.js.map +0 -1
  279. package/dist/components/DatePicker/DatePickerOverlayItem.vue.js +0 -25
  280. package/dist/components/DatePicker/DatePickerOverlayItem.vue.js.map +0 -1
  281. package/dist/components/DatePicker/DatePickerOverlayItem.vue2.js +0 -5
  282. package/dist/components/DatePicker/DatePickerOverlayItem.vue2.js.map +0 -1
  283. package/dist/components/DatePicker/DatePickerPrev.d.ts +0 -10
  284. package/dist/components/DatePicker/DatePickerPrev.vue.js +0 -28
  285. package/dist/components/DatePicker/DatePickerPrev.vue.js.map +0 -1
  286. package/dist/components/DatePicker/DatePickerPrev.vue2.js +0 -5
  287. package/dist/components/DatePicker/DatePickerPrev.vue2.js.map +0 -1
  288. package/dist/components/DatePicker/DatePickerRoot.vue.js +0 -169
  289. package/dist/components/DatePicker/DatePickerRoot.vue.js.map +0 -1
  290. package/dist/components/DatePicker/DatePickerRoot.vue2.js +0 -8
  291. package/dist/components/DatePicker/DatePickerRoot.vue2.js.map +0 -1
  292. package/dist/components/DatePicker/DatePickerTrigger.d.ts +0 -11
  293. package/dist/components/DatePicker/DatePickerTrigger.vue.js +0 -37
  294. package/dist/components/DatePicker/DatePickerTrigger.vue.js.map +0 -1
  295. package/dist/components/DatePicker/DatePickerTrigger.vue2.js +0 -5
  296. package/dist/components/DatePicker/DatePickerTrigger.vue2.js.map +0 -1
  297. package/dist/components/DatePicker/DatePickerYearHeading.d.ts +0 -13
  298. package/dist/components/DatePicker/DatePickerYearHeading.vue.js +0 -27
  299. package/dist/components/DatePicker/DatePickerYearHeading.vue.js.map +0 -1
  300. package/dist/components/DatePicker/DatePickerYearHeading.vue2.js +0 -5
  301. package/dist/components/DatePicker/DatePickerYearHeading.vue2.js.map +0 -1
  302. package/dist/components/DismissableLayer/DismissableLayer.vue.js +0 -118
  303. package/dist/components/DismissableLayer/DismissableLayer.vue.js.map +0 -1
  304. package/dist/components/DismissableLayer/DismissableLayer.vue2.js +0 -7
  305. package/dist/components/DismissableLayer/DismissableLayer.vue2.js.map +0 -1
  306. package/dist/components/DismissableLayer/DismissableLayerBranch.d.ts +0 -11
  307. package/dist/components/DismissableLayer/utils.js +0 -112
  308. package/dist/components/DismissableLayer/utils.js.map +0 -1
  309. package/dist/components/FocusScope/FocusScope.vue.js +0 -149
  310. package/dist/components/FocusScope/FocusScope.vue.js.map +0 -1
  311. package/dist/components/FocusScope/FocusScope.vue2.js +0 -5
  312. package/dist/components/FocusScope/FocusScope.vue2.js.map +0 -1
  313. package/dist/components/FocusScope/stack.js +0 -38
  314. package/dist/components/FocusScope/stack.js.map +0 -1
  315. package/dist/components/FocusScope/utils.js +0 -70
  316. package/dist/components/FocusScope/utils.js.map +0 -1
  317. package/dist/components/Popover/PopoverAnchor.d.ts +0 -11
  318. package/dist/components/Popover/PopoverAnchor.vue.js +0 -37
  319. package/dist/components/Popover/PopoverAnchor.vue.js.map +0 -1
  320. package/dist/components/Popover/PopoverAnchor.vue2.js +0 -5
  321. package/dist/components/Popover/PopoverAnchor.vue2.js.map +0 -1
  322. package/dist/components/Popover/PopoverArrow.d.ts +0 -15
  323. package/dist/components/Popover/PopoverArrow.vue.js +0 -31
  324. package/dist/components/Popover/PopoverArrow.vue.js.map +0 -1
  325. package/dist/components/Popover/PopoverArrow.vue2.js +0 -5
  326. package/dist/components/Popover/PopoverArrow.vue2.js.map +0 -1
  327. package/dist/components/Popover/PopoverClose.d.ts +0 -13
  328. package/dist/components/Popover/PopoverClose.vue.js +0 -34
  329. package/dist/components/Popover/PopoverClose.vue.js.map +0 -1
  330. package/dist/components/Popover/PopoverClose.vue2.js +0 -5
  331. package/dist/components/Popover/PopoverClose.vue2.js.map +0 -1
  332. package/dist/components/Popover/PopoverContent.d.ts +0 -32
  333. package/dist/components/Popover/PopoverContent.vue.js +0 -61
  334. package/dist/components/Popover/PopoverContent.vue.js.map +0 -1
  335. package/dist/components/Popover/PopoverContent.vue2.js +0 -5
  336. package/dist/components/Popover/PopoverContent.vue2.js.map +0 -1
  337. package/dist/components/Popover/PopoverContentImpl.vue.js +0 -97
  338. package/dist/components/Popover/PopoverContentImpl.vue.js.map +0 -1
  339. package/dist/components/Popover/PopoverContentImpl.vue2.js +0 -5
  340. package/dist/components/Popover/PopoverContentImpl.vue2.js.map +0 -1
  341. package/dist/components/Popover/PopoverContentNonModal.d.ts +0 -32
  342. package/dist/components/Popover/PopoverContentNonModal.vue.js +0 -78
  343. package/dist/components/Popover/PopoverContentNonModal.vue.js.map +0 -1
  344. package/dist/components/Popover/PopoverContentNonModal.vue2.js +0 -5
  345. package/dist/components/Popover/PopoverContentNonModal.vue2.js.map +0 -1
  346. package/dist/components/Popover/PopoverPortal.d.ts +0 -11
  347. package/dist/components/Popover/PopoverPortal.vue.js +0 -26
  348. package/dist/components/Popover/PopoverPortal.vue.js.map +0 -1
  349. package/dist/components/Popover/PopoverPortal.vue2.js +0 -5
  350. package/dist/components/Popover/PopoverPortal.vue2.js.map +0 -1
  351. package/dist/components/Popover/PopoverRoot.vue.js +0 -55
  352. package/dist/components/Popover/PopoverRoot.vue.js.map +0 -1
  353. package/dist/components/Popover/PopoverRoot.vue2.js +0 -8
  354. package/dist/components/Popover/PopoverRoot.vue2.js.map +0 -1
  355. package/dist/components/Popover/PopoverTrigger.d.ts +0 -13
  356. package/dist/components/Popover/PopoverTrigger.vue.js +0 -51
  357. package/dist/components/Popover/PopoverTrigger.vue.js.map +0 -1
  358. package/dist/components/Popover/PopoverTrigger.vue2.js +0 -5
  359. package/dist/components/Popover/PopoverTrigger.vue2.js.map +0 -1
  360. package/dist/components/Popper/PopperAnchor.vue.js +0 -37
  361. package/dist/components/Popper/PopperAnchor.vue.js.map +0 -1
  362. package/dist/components/Popper/PopperAnchor.vue2.js +0 -5
  363. package/dist/components/Popper/PopperAnchor.vue2.js.map +0 -1
  364. package/dist/components/Popper/PopperArrow.d.ts +0 -15
  365. package/dist/components/Popper/PopperArrow.vue.js +0 -76
  366. package/dist/components/Popper/PopperArrow.vue.js.map +0 -1
  367. package/dist/components/Popper/PopperArrow.vue2.js +0 -5
  368. package/dist/components/Popper/PopperArrow.vue2.js.map +0 -1
  369. package/dist/components/Popper/PopperContent.vue.js +0 -9
  370. package/dist/components/Popper/PopperContent.vue.js.map +0 -1
  371. package/dist/components/Popper/PopperContent.vue2.js +0 -230
  372. package/dist/components/Popper/PopperContent.vue2.js.map +0 -1
  373. package/dist/components/Popper/PopperRoot.vue.js +0 -25
  374. package/dist/components/Popper/PopperRoot.vue.js.map +0 -1
  375. package/dist/components/Popper/PopperRoot.vue2.js +0 -8
  376. package/dist/components/Popper/PopperRoot.vue2.js.map +0 -1
  377. package/dist/components/Popper/utils.js +0 -46
  378. package/dist/components/Popper/utils.js.map +0 -1
  379. package/dist/components/Presence/Presence.js +0 -61
  380. package/dist/components/Presence/Presence.js.map +0 -1
  381. package/dist/components/Presence/usePresence.js +0 -131
  382. package/dist/components/Presence/usePresence.js.map +0 -1
  383. package/dist/components/Primitive/Primitive.js +0 -29
  384. package/dist/components/Primitive/Primitive.js.map +0 -1
  385. package/dist/components/Primitive/Slot.js +0 -30
  386. package/dist/components/Primitive/Slot.js.map +0 -1
  387. package/dist/components/Primitive/usePrimitiveElement.js +0 -14
  388. package/dist/components/Primitive/usePrimitiveElement.js.map +0 -1
  389. package/dist/components/Teleport/Teleport.vue.js +0 -28
  390. package/dist/components/Teleport/Teleport.vue.js.map +0 -1
  391. package/dist/components/Teleport/Teleport.vue2.js +0 -5
  392. package/dist/components/Teleport/Teleport.vue2.js.map +0 -1
  393. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +0 -16
  394. package/dist/components/VisuallyHidden/VisuallyHidden.vue.js +0 -49
  395. package/dist/components/VisuallyHidden/VisuallyHidden.vue.js.map +0 -1
  396. package/dist/components/VisuallyHidden/VisuallyHidden.vue2.js +0 -5
  397. package/dist/components/VisuallyHidden/VisuallyHidden.vue2.js.map +0 -1
  398. package/dist/date/calendar.js +0 -90
  399. package/dist/date/calendar.js.map +0 -1
  400. package/dist/date/comparators.js +0 -61
  401. package/dist/date/comparators.js.map +0 -1
  402. package/dist/date/utils.js +0 -10
  403. package/dist/date/utils.js.map +0 -1
  404. package/dist/index.js +0 -54
  405. package/dist/index.js.map +0 -1
  406. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.js +0 -722
  407. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +0 -1
  408. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -626
  409. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +0 -1
  410. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -174
  411. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +0 -1
  412. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -155
  413. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +0 -1
  414. package/dist/node_modules/.pnpm/@floating-ui_vue@1.1.9_vue@3.5.26_typescript@5.9.3_/node_modules/@floating-ui/vue/dist/floating-ui.vue.js +0 -180
  415. package/dist/node_modules/.pnpm/@floating-ui_vue@1.1.9_vue@3.5.26_typescript@5.9.3_/node_modules/@floating-ui/vue/dist/floating-ui.vue.js.map +0 -1
  416. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/BuddhistCalendar.js +0 -34
  417. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/BuddhistCalendar.js.map +0 -1
  418. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/CalendarDate.js +0 -213
  419. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/CalendarDate.js.map +0 -1
  420. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/DateFormatter.js +0 -116
  421. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/DateFormatter.js.map +0 -1
  422. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/EthiopicCalendar.js +0 -129
  423. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/EthiopicCalendar.js.map +0 -1
  424. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/GregorianCalendar.js +0 -123
  425. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/GregorianCalendar.js.map +0 -1
  426. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/HebrewCalendar.js +0 -114
  427. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/HebrewCalendar.js.map +0 -1
  428. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/IndianCalendar.js +0 -77
  429. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/IndianCalendar.js.map +0 -1
  430. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/IslamicCalendar.js +0 -141
  431. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/IslamicCalendar.js.map +0 -1
  432. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/JapaneseCalendar.js +0 -155
  433. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/JapaneseCalendar.js.map +0 -1
  434. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/PersianCalendar.js +0 -59
  435. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/PersianCalendar.js.map +0 -1
  436. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/TaiwanCalendar.js +0 -59
  437. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/TaiwanCalendar.js.map +0 -1
  438. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/conversion.js +0 -170
  439. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/conversion.js.map +0 -1
  440. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/createCalendar.js +0 -44
  441. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/createCalendar.js.map +0 -1
  442. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/manipulation.js +0 -301
  443. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/manipulation.js.map +0 -1
  444. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/queries.js +0 -141
  445. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/queries.js.map +0 -1
  446. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/string.js +0 -35
  447. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/string.js.map +0 -1
  448. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/utils.js +0 -7
  449. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/utils.js.map +0 -1
  450. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/weekStartData.js +0 -101
  451. package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/weekStartData.js.map +0 -1
  452. package/dist/node_modules/.pnpm/@swc_helpers@0.5.18/node_modules/@swc/helpers/esm/_check_private_redeclaration.js +0 -9
  453. package/dist/node_modules/.pnpm/@swc_helpers@0.5.18/node_modules/@swc/helpers/esm/_check_private_redeclaration.js.map +0 -1
  454. package/dist/node_modules/.pnpm/@swc_helpers@0.5.18/node_modules/@swc/helpers/esm/_class_private_field_init.js +0 -9
  455. package/dist/node_modules/.pnpm/@swc_helpers@0.5.18/node_modules/@swc/helpers/esm/_class_private_field_init.js.map +0 -1
  456. package/dist/node_modules/.pnpm/@vueuse_core@14.1.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.js +0 -140
  457. package/dist/node_modules/.pnpm/@vueuse_core@14.1.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.js.map +0 -1
  458. package/dist/node_modules/.pnpm/@vueuse_shared@14.1.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/shared/dist/index.js +0 -88
  459. package/dist/node_modules/.pnpm/@vueuse_shared@14.1.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/shared/dist/index.js.map +0 -1
  460. package/dist/node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.js +0 -60
  461. package/dist/node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.js.map +0 -1
  462. package/dist/shared/component/Arrow.vue.js +0 -45
  463. package/dist/shared/component/Arrow.vue.js.map +0 -1
  464. package/dist/shared/component/Arrow.vue2.js +0 -5
  465. package/dist/shared/component/Arrow.vue2.js.map +0 -1
  466. package/dist/shared/createContext.js +0 -26
  467. package/dist/shared/createContext.js.map +0 -1
  468. package/dist/shared/date/comparators.js +0 -27
  469. package/dist/shared/date/comparators.js.map +0 -1
  470. package/dist/shared/date/parser.js +0 -161
  471. package/dist/shared/date/parser.js.map +0 -1
  472. package/dist/shared/date/parts.js +0 -17
  473. package/dist/shared/date/parts.js.map +0 -1
  474. package/dist/shared/date/placeholders.js +0 -196
  475. package/dist/shared/date/placeholders.js.map +0 -1
  476. package/dist/shared/date/segment.js +0 -44
  477. package/dist/shared/date/segment.js.map +0 -1
  478. package/dist/shared/date/useDateField.js +0 -618
  479. package/dist/shared/date/useDateField.js.map +0 -1
  480. package/dist/shared/date/utils.js +0 -76
  481. package/dist/shared/date/utils.js.map +0 -1
  482. package/dist/shared/getActiveElement.js +0 -14
  483. package/dist/shared/getActiveElement.js.map +0 -1
  484. package/dist/shared/handleAndDispatchCustomEvent.js +0 -15
  485. package/dist/shared/handleAndDispatchCustomEvent.js.map +0 -1
  486. package/dist/shared/nullish.js +0 -7
  487. package/dist/shared/nullish.js.map +0 -1
  488. package/dist/shared/renderSlotFragments.js +0 -14
  489. package/dist/shared/renderSlotFragments.js.map +0 -1
  490. package/dist/shared/useDateFormatter.js +0 -121
  491. package/dist/shared/useDateFormatter.js.map +0 -1
  492. package/dist/shared/useDirection.js +0 -12
  493. package/dist/shared/useDirection.js.map +0 -1
  494. package/dist/shared/useEmitAsProps.js +0 -19
  495. package/dist/shared/useEmitAsProps.js.map +0 -1
  496. package/dist/shared/useFocusGuards.js +0 -39
  497. package/dist/shared/useFocusGuards.js.map +0 -1
  498. package/dist/shared/useForwardExpose.js +0 -49
  499. package/dist/shared/useForwardExpose.js.map +0 -1
  500. package/dist/shared/useForwardProps.js +0 -27
  501. package/dist/shared/useForwardProps.js.map +0 -1
  502. package/dist/shared/useForwardPropsEmits.js +0 -15
  503. package/dist/shared/useForwardPropsEmits.js.map +0 -1
  504. package/dist/shared/useId.js +0 -19
  505. package/dist/shared/useId.js.map +0 -1
  506. package/dist/shared/useKbd.js +0 -42
  507. package/dist/shared/useKbd.js.map +0 -1
  508. package/dist/shared/useLocale.js +0 -12
  509. package/dist/shared/useLocale.js.map +0 -1
  510. package/dist/shared/useSize.js +0 -44
  511. package/dist/shared/useSize.js.map +0 -1
  512. package/dist/shared/useStateMachine.js +0 -19
  513. package/dist/shared/useStateMachine.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDateField.js","sources":["../../../src/shared/date/useDateField.ts"],"sourcesContent":["import type {\n CalendarDateTime,\n CycleTimeOptions,\n DateFields,\n DateValue,\n TimeFields,\n} from \"@internationalized/date\";\nimport type { Ref } from \"vue\";\nimport type {\n AnyExceptLiteral,\n DateStep,\n HourCycle,\n SegmentPart,\n SegmentValueObj,\n} from \"./types\";\nimport type { Formatter } from \"..\";\nimport { computed } from \"vue\";\nimport { getDaysInMonth, toDate } from \"../../date\";\nimport { useKbd } from \"../useKbd\";\nimport {\n isAcceptableSegmentKey,\n isNumberString,\n isSegmentNavigationKey,\n} from \"./segment\";\n\ntype MinuteSecondIncrementProps = {\n e: KeyboardEvent;\n part: keyof TimeFields;\n dateRef: DateValue;\n prevValue: number | null;\n};\n\ntype DateTimeValueIncrementation = {\n e: KeyboardEvent;\n part: keyof Omit<DateFields, \"era\"> | keyof TimeFields;\n dateRef: DateValue;\n prevValue: number | null;\n hourCycle?: HourCycle;\n};\n\ntype SegmentAttrProps = {\n disabled: boolean;\n segmentValues: SegmentValueObj;\n hourCycle: HourCycle;\n placeholder: DateValue;\n formatter: Formatter;\n};\n\nfunction commonSegmentAttrs(props: SegmentAttrProps) {\n return {\n role: \"spinbutton\",\n contenteditable: true,\n tabindex: props.disabled ? undefined : 0,\n spellcheck: false,\n inputmode: \"numeric\",\n autocorrect: \"off\",\n enterkeyhint: \"next\",\n style: \"caret-color: transparent;\",\n };\n}\n\nfunction daySegmentAttrs(props: SegmentAttrProps) {\n const { segmentValues, placeholder } = props;\n const isEmpty = segmentValues.day === null;\n const date = segmentValues.day\n ? placeholder.set({ day: segmentValues.day })\n : placeholder;\n\n const valueNow = date.day;\n const valueMin = 1;\n const valueMax = getDaysInMonth(date);\n const valueText = isEmpty ? \"Empty\" : `${valueNow}`;\n\n return {\n ...commonSegmentAttrs(props),\n \"aria-label\": \"day,\",\n \"aria-valuemin\": valueMin,\n \"aria-valuemax\": valueMax,\n \"aria-valuenow\": valueNow,\n \"aria-valuetext\": valueText,\n \"data-placeholder\": isEmpty ? \"\" : undefined,\n };\n}\n\nfunction monthSegmentAttrs(props: SegmentAttrProps) {\n const { segmentValues, placeholder, formatter } = props;\n const isEmpty = segmentValues.month === null;\n const date = segmentValues.month\n ? placeholder.set({ month: segmentValues.month })\n : placeholder;\n const valueNow = date.month;\n const valueMin = 1;\n const valueMax = 12;\n const valueText = isEmpty\n ? \"Empty\"\n : `${valueNow} - ${formatter.fullMonth(toDate(date))}`;\n\n return {\n ...commonSegmentAttrs(props),\n \"aria-label\": \"month, \",\n contenteditable: true,\n \"aria-valuemin\": valueMin,\n \"aria-valuemax\": valueMax,\n \"aria-valuenow\": valueNow,\n \"aria-valuetext\": valueText,\n \"data-placeholder\": isEmpty ? \"\" : undefined,\n };\n}\n\nfunction yearSegmentAttrs(props: SegmentAttrProps) {\n const { segmentValues, placeholder } = props;\n const isEmpty = segmentValues.year === null;\n const date = segmentValues.year\n ? placeholder.set({ year: segmentValues.year })\n : placeholder;\n const valueMin = 1;\n const valueMax = 9999;\n const valueNow = date.year;\n const valueText = isEmpty ? \"Empty\" : `${valueNow}`;\n\n return {\n ...commonSegmentAttrs(props),\n \"aria-label\": \"year, \",\n \"aria-valuemin\": valueMin,\n \"aria-valuemax\": valueMax,\n \"aria-valuenow\": valueNow,\n \"aria-valuetext\": valueText,\n \"data-placeholder\": isEmpty ? \"\" : undefined,\n };\n}\n\nfunction hourSegmentAttrs(props: SegmentAttrProps) {\n const { segmentValues, hourCycle, placeholder } = props;\n\n if (!(\"hour\" in segmentValues) || !(\"hour\" in placeholder)) return {};\n const isEmpty = segmentValues.hour === null;\n const date = segmentValues.hour\n ? placeholder.set({ hour: segmentValues.hour })\n : placeholder;\n const valueMin = hourCycle === 12 ? 1 : 0;\n const valueMax = hourCycle === 12 ? 12 : 23;\n const valueNow = date.hour;\n const valueText = isEmpty\n ? \"Empty\"\n : `${valueNow} ${segmentValues.dayPeriod ?? \"\"}`;\n\n return {\n ...commonSegmentAttrs(props),\n \"aria-label\": \"hour, \",\n \"aria-valuemin\": valueMin,\n \"aria-valuemax\": valueMax,\n \"aria-valuenow\": valueNow,\n \"aria-valuetext\": valueText,\n \"data-placeholder\": isEmpty ? \"\" : undefined,\n };\n}\n\nfunction minuteSegmentAttrs(props: SegmentAttrProps) {\n const { segmentValues, placeholder } = props;\n if (!(\"minute\" in segmentValues) || !(\"minute\" in placeholder)) return {};\n const isEmpty = segmentValues.minute === null;\n const date = segmentValues.minute\n ? placeholder.set({ minute: segmentValues.minute })\n : placeholder;\n const valueNow = date.minute;\n const valueMin = 0;\n const valueMax = 59;\n const valueText = isEmpty ? \"Empty\" : `${valueNow}`;\n\n return {\n ...commonSegmentAttrs(props),\n \"aria-label\": \"minute, \",\n \"aria-valuemin\": valueMin,\n \"aria-valuemax\": valueMax,\n \"aria-valuenow\": valueNow,\n \"aria-valuetext\": valueText,\n \"data-placeholder\": isEmpty ? \"\" : undefined,\n };\n}\n\nfunction secondSegmentAttrs(props: SegmentAttrProps) {\n const { segmentValues, placeholder } = props;\n if (!(\"second\" in segmentValues) || !(\"second\" in placeholder)) return {};\n const isEmpty = segmentValues.second === null;\n const date = segmentValues.second\n ? placeholder.set({ second: segmentValues.second })\n : placeholder;\n const valueNow = date.second;\n const valueMin = 0;\n const valueMax = 59;\n const valueText = isEmpty ? \"Empty\" : `${valueNow}`;\n\n return {\n ...commonSegmentAttrs(props),\n \"aria-label\": \"second, \",\n \"aria-valuemin\": valueMin,\n \"aria-valuemax\": valueMax,\n \"aria-valuenow\": valueNow,\n \"aria-valuetext\": valueText,\n \"data-placeholder\": isEmpty ? \"\" : undefined,\n };\n}\n\nfunction dayPeriodSegmentAttrs(props: SegmentAttrProps) {\n const { segmentValues } = props;\n if (!(\"dayPeriod\" in segmentValues)) return {};\n\n const valueMin = 0;\n const valueMax = 12;\n const valueNow = segmentValues.hour\n ? segmentValues.hour > 12\n ? segmentValues.hour - 12\n : segmentValues.hour\n : 0;\n const valueText = segmentValues.dayPeriod ?? \"AM\";\n\n return {\n ...commonSegmentAttrs(props),\n inputmode: \"text\",\n \"aria-label\": \"AM/PM\",\n \"aria-valuemin\": valueMin,\n \"aria-valuemax\": valueMax,\n \"aria-valuenow\": valueNow,\n \"aria-valuetext\": valueText,\n };\n}\n\nfunction literalSegmentAttrs(_props: SegmentAttrProps) {\n return {\n \"aria-hidden\": true,\n \"data-segment\": \"literal\",\n };\n}\n\nfunction timeZoneSegmentAttrs(props: SegmentAttrProps) {\n return {\n role: \"textbox\",\n \"aria-label\": \"timezone, \",\n \"data-readonly\": true,\n \"data-segment\": \"timeZoneName\",\n tabindex: props.disabled ? undefined : 0,\n style: \"caret-color: transparent;\",\n };\n}\n\nfunction eraSegmentAttrs(props: SegmentAttrProps) {\n const { segmentValues, placeholder } = props;\n\n const valueMin = 0;\n const valueMax = 0;\n const valueNow = 0;\n const valueText =\n \"era\" in segmentValues ? segmentValues.era : placeholder.era;\n\n return {\n ...commonSegmentAttrs(props),\n \"aria-label\": \"era\",\n \"aria-valuemin\": valueMin,\n \"aria-valuemax\": valueMax,\n \"aria-valuenow\": valueNow,\n \"aria-valuetext\": valueText,\n };\n}\n\nexport const segmentBuilders = {\n day: {\n attrs: daySegmentAttrs,\n },\n month: {\n attrs: monthSegmentAttrs,\n },\n year: {\n attrs: yearSegmentAttrs,\n },\n hour: {\n attrs: hourSegmentAttrs,\n },\n minute: {\n attrs: minuteSegmentAttrs,\n },\n second: {\n attrs: secondSegmentAttrs,\n },\n dayPeriod: {\n attrs: dayPeriodSegmentAttrs,\n },\n literal: {\n attrs: literalSegmentAttrs,\n },\n timeZoneName: {\n attrs: timeZoneSegmentAttrs,\n },\n era: {\n attrs: eraSegmentAttrs,\n },\n};\n\nexport type UseDateFieldProps = {\n hasLeftFocus: Ref<boolean>;\n lastKeyZero: Ref<boolean>;\n placeholder: Ref<DateValue>;\n hourCycle: HourCycle;\n step: Ref<DateStep>;\n formatter: Formatter;\n segmentValues: Ref<SegmentValueObj>;\n disabled: Ref<boolean>;\n readonly: Ref<boolean>;\n part: SegmentPart;\n modelValue: Ref<DateValue | undefined>;\n focusNext: () => void;\n};\n\nexport function useDateField(props: UseDateFieldProps) {\n const kbd = useKbd();\n\n function minuteSecondIncrementation({\n e,\n part,\n dateRef,\n prevValue,\n }: MinuteSecondIncrementProps): number {\n const step = props.step.value[part] ?? 1;\n const sign = e.key === kbd.ARROW_UP ? step : -step;\n const min = 0;\n const max = 59;\n\n if (prevValue === null) return sign > 0 ? min : max;\n\n const cycleArgs: [keyof TimeFields, number] = [part, sign];\n return (dateRef as CalendarDateTime)\n .set({ [part]: prevValue })\n .cycle(...cycleArgs)[part];\n }\n\n function deleteValue(prevValue: number | null) {\n props.hasLeftFocus.value = false;\n if (prevValue === null) return prevValue;\n\n const str = prevValue.toString();\n if (str.length === 1) {\n props.modelValue.value = undefined;\n return null;\n }\n\n return Number.parseInt(str.slice(0, -1));\n }\n function dateTimeValueIncrementation({\n e,\n part,\n dateRef,\n prevValue,\n hourCycle,\n }: DateTimeValueIncrementation): number {\n const step = props.step.value[part] ?? 1;\n const sign = e.key === kbd.ARROW_UP ? step : -step;\n\n if (prevValue === null)\n return dateRef[part as keyof Omit<DateFields, \"era\">];\n\n if (part === \"hour\" && \"hour\" in dateRef) {\n const cycleArgs: [\n keyof DateFields | keyof TimeFields,\n number,\n CycleTimeOptions?,\n ] = [part, sign, { hourCycle }];\n return dateRef\n .set({ [part as keyof DateValue]: prevValue })\n .cycle(...cycleArgs)[part];\n }\n\n const cycleArgs: [keyof DateFields, number] = [\n part as keyof DateFields,\n sign,\n ];\n if (part === \"day\") {\n return dateRef\n .set({\n [part as keyof DateValue]: prevValue,\n /**\n * Edge case for the day field:\n *\n * 1. If the month is filled,\n * we need to ensure that the day snaps to the maximum value of that month.\n * 2. If the month is not filled,\n * we default to the month with the maximum number of days (here just using January, 31 days),\n * so that user can input any possible day.\n */\n month: props.segmentValues.value.month ?? 1,\n })\n .cycle(...cycleArgs)[part as keyof Omit<DateFields, \"era\">];\n }\n\n return dateRef\n .set({ [part as keyof DateValue]: prevValue })\n .cycle(...cycleArgs)[part as keyof Omit<DateFields, \"era\">];\n }\n function updateDayOrMonth(max: number, num: number, prev: number | null) {\n let moveToNext = false;\n const maxStart = Math.floor(max / 10);\n\n /**\n * If the user has left the segment, we want to reset the\n * `prev` value so that we can start the segment over again\n * when the user types a number.\n */\n if (props.hasLeftFocus.value) {\n props.hasLeftFocus.value = false;\n prev = null;\n }\n\n if (prev === null) {\n /**\n * If the user types a 0 as the first number, we want\n * to keep track of that so that when they type the next\n * number, we can move to the next segment.\n */\n\n if (num === 0) {\n props.lastKeyZero.value = true;\n return { value: null, moveToNext };\n }\n /**\n * If the last key was a 0, or if the first number is\n * greater than the max start digit (0-3 in most cases), then\n * we want to move to the next segment, since it's not possible\n * to continue typing a valid number in this segment.\n */\n\n if (props.lastKeyZero.value || num > maxStart) {\n // move to next\n moveToNext = true;\n }\n props.lastKeyZero.value = false;\n /**\n * If none of the above conditions are met, then we can just\n * return the number as the segment value and continue typing\n * in this segment.\n */\n return { value: num, moveToNext };\n }\n\n /**\n * If the number of digits is 2, or if the total with the existing digit\n * and the pressed digit is greater than the maximum value for this\n * month, then we will reset the segment as if the user had pressed the\n * backspace key and then typed the number.\n */\n const digits = prev.toString().length;\n const total = Number.parseInt(prev.toString() + num.toString());\n /**\n * If the number of digits is 2, or if the total with the existing digit\n * and the pressed digit is greater than the maximum value for this\n * month, then we will reset the segment as if the user had pressed the\n * backspace key and then typed the number.\n */\n\n if (digits === 2 || total > max) {\n /**\n * As we're doing elsewhere, we're checking if the number is greater\n * than the max start digit (0-3 in most months), and if so, we're\n * going to move to the next segment.\n */\n if (num > maxStart || total > max) {\n // move to next\n moveToNext = true;\n }\n return { value: num, moveToNext };\n }\n // move to next\n moveToNext = true;\n return { value: total, moveToNext };\n }\n\n function updateMinuteOrSecond(num: number, prev: number | null) {\n const max = 59;\n let moveToNext = false;\n const maxStart = Math.floor(max / 10);\n\n /**\n * If the user has left the segment, we want to reset the\n * `prev` value so that we can start the segment over again\n * when the user types a number.\n */\n if (props.hasLeftFocus.value) {\n props.hasLeftFocus.value = false;\n prev = null;\n }\n\n if (prev === null) {\n /**\n * If the user types a 0 as the first number, we want\n * to keep track of that so that when they type the next\n * number, we can move to the next segment.\n */\n\n if (num === 0) {\n props.lastKeyZero.value = true;\n return { value: 0, moveToNext };\n }\n /**\n * If the last key was a 0, or if the first number is\n * greater than the max start digit (0-3 in most cases), then\n * we want to move to the next segment, since it's not possible\n * to continue typing a valid number in this segment.\n */\n\n if (props.lastKeyZero.value || num > maxStart) {\n // move to next\n moveToNext = true;\n }\n props.lastKeyZero.value = false;\n /**\n * If none of the above conditions are met, then we can just\n * return the number as the segment value and continue typing\n * in this segment.\n */\n return { value: num, moveToNext };\n }\n\n /**\n * If the number of digits is 2, or if the total with the existing digit\n * and the pressed digit is greater than the maximum value for this\n * month, then we will reset the segment as if the user had pressed the\n * backspace key and then typed the number.\n */\n const digits = prev.toString().length;\n const total = Number.parseInt(prev.toString() + num.toString());\n\n /**\n * If the number of digits is 2, or if the total with the existing digit\n * and the pressed digit is greater than the maximum value for this\n * month, then we will reset the segment as if the user had pressed the\n * backspace key and then typed the number.\n */\n\n if (digits === 2 || total > max) {\n /**\n * As we're doing elsewhere, we're checking if the number is greater\n * than the max start digit (0-3 in most months), and if so, we're\n * going to move to the next segment.\n */\n if (num > maxStart) {\n // move to next\n moveToNext = true;\n }\n return { value: num, moveToNext };\n }\n // move to next\n moveToNext = true;\n return { value: total, moveToNext };\n }\n\n function updateHour(num: number, prev: number | null) {\n const max = 24;\n let moveToNext = false;\n const maxStart = Math.floor(max / 10);\n\n /**\n * If the user has left the segment, we want to reset the\n * `prev` value so that we can start the segment over again\n * when the user types a number.\n */\n // probably not implement, kind of weird\n if (props.hasLeftFocus.value) {\n props.hasLeftFocus.value = false;\n prev = null;\n }\n\n if (prev === null) {\n /**\n * If the user types a 0 as the first number, we want\n * to keep track of that so that when they type the next\n * number, we can move to the next segment.\n */\n\n if (num === 0) {\n props.lastKeyZero.value = true;\n return { value: 0, moveToNext };\n }\n /**\n * If the last key was a 0, or if the first number is\n * greater than the max start digit (0-3 in most cases), then\n * we want to move to the next segment, since it's not possible\n * to continue typing a valid number in this segment.\n */\n\n if (props.lastKeyZero.value || num > maxStart) {\n // move to next\n moveToNext = true;\n }\n props.lastKeyZero.value = false;\n /**\n * If none of the above conditions are met, then we can just\n * return the number as the segment value and continue typing\n * in this segment.\n */\n return { value: num, moveToNext };\n }\n\n /**\n * If the number of digits is 2, or if the total with the existing digit\n * and the pressed digit is greater than the maximum value for this\n * month, then we will reset the segment as if the user had pressed the\n * backspace key and then typed the number.\n */\n const digits = prev.toString().length;\n const total = Number.parseInt(prev.toString() + num.toString());\n\n /**\n * If the number of digits is 2, or if the total with the existing digit\n * and the pressed digit is greater than the maximum value for this\n * month, then we will reset the segment as if the user had pressed the\n * backspace key and then typed the number.\n */\n\n if (digits === 2 || total > max) {\n /**\n * As we're doing elsewhere, we're checking if the number is greater\n * than the max start digit (0-3 in most months), and if so, we're\n * going to move to the next segment.\n */\n if (num > maxStart) {\n // move to next\n moveToNext = true;\n }\n return { value: num, moveToNext };\n }\n // move to next\n moveToNext = true;\n return { value: total, moveToNext };\n }\n\n function updateYear(num: number, prev: number | null) {\n let moveToNext = false;\n\n /**\n * If the user has left the segment, we want to reset the\n * `prev` value so that we can start the segment over again\n * when the user types a number.\n */\n // probably not implement, kind of weird\n if (props.hasLeftFocus.value) {\n props.hasLeftFocus.value = false;\n prev = null;\n }\n\n if (prev === null) return { value: num === 0 ? 1 : num, moveToNext };\n\n const str = prev.toString() + num.toString();\n\n if (str.length > 4) return { value: num === 0 ? 1 : num, moveToNext };\n\n if (str.length === 4) moveToNext = true;\n\n const int = Number.parseInt(str);\n return { value: int, moveToNext };\n }\n\n const attributes = computed(\n () =>\n segmentBuilders[props.part]?.attrs({\n disabled: props.disabled.value,\n placeholder: props.placeholder.value,\n hourCycle: props.hourCycle,\n segmentValues: props.segmentValues.value,\n formatter: props.formatter,\n }) ?? {},\n );\n\n // TODO: look into abstracting segment keydown functions since they have the same structure (checks -> arrow_up, arrow_down update -> number string update -> move to next -> backspace update)\n function handleDaySegmentKeydown(e: KeyboardEvent) {\n if (!isAcceptableSegmentKey(e.key) || isSegmentNavigationKey(e.key)) return;\n\n const prevValue = props.segmentValues.value.day;\n\n if (e.key === kbd.ARROW_DOWN || e.key === kbd.ARROW_UP) {\n props.segmentValues.value.day = dateTimeValueIncrementation({\n e,\n part: \"day\",\n dateRef: props.placeholder.value,\n prevValue,\n });\n return;\n }\n\n if (isNumberString(e.key)) {\n const num = Number.parseInt(e.key);\n const segmentMonthValue = props.segmentValues.value.month;\n\n const daysInMonth = segmentMonthValue\n ? getDaysInMonth(\n props.placeholder.value.set({ month: segmentMonthValue }),\n )\n : // if the month is not set, we default to the maximum number of days in a month\n // so that user can input any possible day\n 31;\n\n const { value, moveToNext } = updateDayOrMonth(\n daysInMonth,\n num,\n prevValue,\n );\n\n props.segmentValues.value.day = value;\n\n if (moveToNext) props.focusNext();\n }\n\n if (e.key === kbd.BACKSPACE) {\n props.hasLeftFocus.value = false;\n props.segmentValues.value.day = deleteValue(prevValue);\n }\n }\n\n function handleMonthSegmentKeydown(e: KeyboardEvent) {\n if (!isAcceptableSegmentKey(e.key) || isSegmentNavigationKey(e.key)) return;\n\n const prevValue = props.segmentValues.value.month;\n\n if (e.key === kbd.ARROW_DOWN || e.key === kbd.ARROW_UP) {\n props.segmentValues.value.month = dateTimeValueIncrementation({\n e,\n part: \"month\",\n dateRef: props.placeholder.value,\n prevValue,\n });\n return;\n }\n\n if (isNumberString(e.key)) {\n const num = Number.parseInt(e.key);\n const { value, moveToNext } = updateDayOrMonth(12, num, prevValue);\n\n props.segmentValues.value.month = value;\n\n if (moveToNext) props.focusNext();\n }\n\n if (e.key === kbd.BACKSPACE) {\n props.hasLeftFocus.value = false;\n props.segmentValues.value.month = deleteValue(prevValue);\n }\n }\n\n function handleYearSegmentKeydown(e: KeyboardEvent) {\n if (!isAcceptableSegmentKey(e.key) || isSegmentNavigationKey(e.key)) return;\n\n const prevValue = props.segmentValues.value.year;\n\n if (e.key === kbd.ARROW_DOWN || e.key === kbd.ARROW_UP) {\n props.segmentValues.value.year = dateTimeValueIncrementation({\n e,\n part: \"year\",\n dateRef: props.placeholder.value,\n prevValue,\n });\n return;\n }\n\n if (isNumberString(e.key)) {\n const num = Number.parseInt(e.key);\n const { value, moveToNext } = updateYear(num, prevValue);\n\n props.segmentValues.value.year = value;\n\n if (moveToNext) props.focusNext();\n }\n\n if (e.key === kbd.BACKSPACE) {\n props.hasLeftFocus.value = false;\n props.segmentValues.value.year = deleteValue(prevValue);\n }\n }\n\n function handleHourSegmentKeydown(e: KeyboardEvent) {\n const dateRef = props.placeholder.value;\n if (\n !isAcceptableSegmentKey(e.key) ||\n isSegmentNavigationKey(e.key) ||\n !(\"hour\" in dateRef) ||\n !(\"hour\" in props.segmentValues.value)\n )\n return;\n\n const prevValue = props.segmentValues.value.hour;\n\n const hourCycle = props.hourCycle;\n\n if (e.key === kbd.ARROW_UP || e.key === kbd.ARROW_DOWN) {\n props.segmentValues.value.hour = dateTimeValueIncrementation({\n e,\n part: \"hour\",\n dateRef: props.placeholder.value,\n prevValue,\n hourCycle,\n });\n\n if (\"dayPeriod\" in props.segmentValues.value) {\n if (props.segmentValues.value.hour < 12)\n props.segmentValues.value.dayPeriod = \"AM\";\n else if (props.segmentValues.value.hour)\n props.segmentValues.value.dayPeriod = \"PM\";\n }\n\n return;\n }\n\n if (isNumberString(e.key)) {\n const num = Number.parseInt(e.key);\n const { value, moveToNext } = updateHour(num, prevValue);\n\n if (\"dayPeriod\" in props.segmentValues.value && value && value > 12)\n props.segmentValues.value.dayPeriod = \"PM\";\n else if (\"dayPeriod\" in props.segmentValues.value && value)\n props.segmentValues.value.dayPeriod = \"AM\";\n\n props.segmentValues.value.hour = value;\n\n if (moveToNext) props.focusNext();\n }\n\n if (e.key === kbd.BACKSPACE) {\n props.hasLeftFocus.value = false;\n props.segmentValues.value.hour = deleteValue(prevValue);\n }\n }\n\n function handleMinuteSegmentKeydown(e: KeyboardEvent) {\n const dateRef = props.placeholder.value;\n\n if (\n !isAcceptableSegmentKey(e.key) ||\n isSegmentNavigationKey(e.key) ||\n !(\"minute\" in dateRef) ||\n !(\"minute\" in props.segmentValues.value)\n )\n return;\n\n const prevValue = props.segmentValues.value.minute;\n\n if (e.key === kbd.ARROW_UP || e.key === kbd.ARROW_DOWN) {\n props.segmentValues.value.minute = minuteSecondIncrementation({\n e,\n part: \"minute\",\n dateRef: props.placeholder.value,\n prevValue,\n });\n }\n\n if (isNumberString(e.key)) {\n const num = Number.parseInt(e.key);\n\n const { value, moveToNext } = updateMinuteOrSecond(num, prevValue);\n\n props.segmentValues.value.minute = value;\n\n if (moveToNext) props.focusNext();\n }\n\n if (e.key === kbd.BACKSPACE) {\n props.hasLeftFocus.value = false;\n props.segmentValues.value.minute = deleteValue(prevValue);\n }\n }\n\n function handleSecondSegmentKeydown(e: KeyboardEvent) {\n const dateRef = props.placeholder.value;\n\n if (\n !isAcceptableSegmentKey(e.key) ||\n isSegmentNavigationKey(e.key) ||\n !(\"second\" in dateRef) ||\n !(\"second\" in props.segmentValues.value)\n )\n return;\n\n const prevValue = props.segmentValues.value.second;\n\n if (e.key === kbd.ARROW_UP || e.key === kbd.ARROW_DOWN) {\n props.segmentValues.value.second = minuteSecondIncrementation({\n e,\n part: \"second\",\n dateRef: props.placeholder.value,\n prevValue,\n });\n }\n\n if (isNumberString(e.key)) {\n const num = Number.parseInt(e.key);\n const { value, moveToNext } = updateMinuteOrSecond(num, prevValue);\n\n props.segmentValues.value.second = value;\n\n if (moveToNext) props.focusNext();\n }\n\n if (e.key === kbd.BACKSPACE) {\n props.hasLeftFocus.value = false;\n props.segmentValues.value.second = deleteValue(prevValue);\n }\n }\n\n function handleDayPeriodSegmentKeydown(e: KeyboardEvent) {\n if (\n ((!isAcceptableSegmentKey(e.key) || isSegmentNavigationKey(e.key)) &&\n e.key !== \"a\" &&\n e.key !== \"p\") ||\n !(\"hour\" in props.placeholder.value) ||\n !(\"dayPeriod\" in props.segmentValues.value)\n )\n return;\n\n if (e.key === kbd.ARROW_UP || e.key === kbd.ARROW_DOWN) {\n if (props.segmentValues.value.dayPeriod === \"AM\") {\n props.segmentValues.value.dayPeriod = \"PM\";\n props.segmentValues.value.hour = props.segmentValues.value.hour! + 12;\n return;\n }\n props.segmentValues.value.dayPeriod = \"AM\";\n props.segmentValues.value.hour = props.segmentValues.value.hour! - 12;\n return;\n }\n\n if (\n [\"a\", \"A\"].includes(e.key) &&\n props.segmentValues.value.dayPeriod !== \"AM\"\n ) {\n props.segmentValues.value.dayPeriod = \"AM\";\n props.segmentValues.value.hour = props.segmentValues.value.hour! - 12;\n return;\n }\n\n if (\n [\"p\", \"P\"].includes(e.key) &&\n props.segmentValues.value.dayPeriod !== \"PM\"\n ) {\n props.segmentValues.value.dayPeriod = \"PM\";\n props.segmentValues.value.hour = props.segmentValues.value.hour! + 12;\n }\n }\n\n function handleSegmentClick(e: MouseEvent) {\n const disabled = props.disabled.value;\n if (disabled) e.preventDefault();\n }\n\n function handleSegmentKeydown(e: KeyboardEvent) {\n const disabled = props.disabled.value;\n const readonly = props.readonly.value;\n if (e.key !== kbd.TAB) e.preventDefault();\n\n if (disabled || readonly) return;\n const segmentKeydownHandlers = {\n day: handleDaySegmentKeydown,\n month: handleMonthSegmentKeydown,\n year: handleYearSegmentKeydown,\n hour: handleHourSegmentKeydown,\n minute: handleMinuteSegmentKeydown,\n second: handleSecondSegmentKeydown,\n dayPeriod: handleDayPeriodSegmentKeydown,\n timeZoneName: () => {},\n } as const;\n\n segmentKeydownHandlers[props.part as keyof typeof segmentKeydownHandlers](\n e,\n );\n\n if (\n ![kbd.ARROW_LEFT, kbd.ARROW_RIGHT].includes(e.key) &&\n e.key !== kbd.TAB &&\n e.key !== kbd.SHIFT &&\n isAcceptableSegmentKey(e.key)\n ) {\n if (\n Object.values(props.segmentValues.value).every((item) => item !== null)\n ) {\n const updateObject = {\n ...(props.segmentValues.value as Record<AnyExceptLiteral, number>),\n };\n\n let dateRef = props.placeholder.value.copy();\n\n Object.keys(updateObject).forEach((part) => {\n const value = updateObject[part as AnyExceptLiteral];\n dateRef = dateRef.set({ [part]: value });\n });\n\n props.modelValue.value = dateRef.copy();\n }\n }\n }\n\n return {\n handleSegmentClick,\n handleSegmentKeydown,\n attributes,\n };\n}\n"],"names":["cycleArgs"],"mappings":"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"}
@@ -1,76 +0,0 @@
1
- import defu from "../../node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.js";
2
- function getOptsByGranularity(granularity, hourCycle, isTimeValue = false) {
3
- const opts = {
4
- year: "numeric",
5
- month: "2-digit",
6
- day: "2-digit",
7
- hour: "2-digit",
8
- minute: "2-digit",
9
- second: "2-digit",
10
- timeZoneName: "short",
11
- hourCycle: normalizeHourCycle(hourCycle),
12
- hour12: normalizeHour12(hourCycle)
13
- };
14
- if (isTimeValue) {
15
- delete opts.year;
16
- delete opts.month;
17
- delete opts.day;
18
- }
19
- if (granularity === "day") {
20
- delete opts.second;
21
- delete opts.hour;
22
- delete opts.minute;
23
- delete opts.timeZoneName;
24
- }
25
- if (granularity === "hour") {
26
- delete opts.minute;
27
- delete opts.second;
28
- }
29
- if (granularity === "minute")
30
- delete opts.second;
31
- return opts;
32
- }
33
- function normalizeDateStep(props) {
34
- return defu(props?.step, {
35
- year: 1,
36
- month: 1,
37
- day: 1,
38
- hour: 1,
39
- minute: 1,
40
- second: 1,
41
- millisecond: 1
42
- });
43
- }
44
- function handleCalendarInitialFocus(calendar) {
45
- const selectedDay = calendar.querySelector("[data-selected]");
46
- if (selectedDay)
47
- return selectedDay.focus();
48
- const today = calendar.querySelector("[data-today]");
49
- if (today)
50
- return today.focus();
51
- const firstDay = calendar.querySelector("[data-reka-calendar-day]");
52
- if (firstDay)
53
- return firstDay.focus();
54
- }
55
- function normalizeHourCycle(hourCycle) {
56
- if (hourCycle === 24)
57
- return "h23";
58
- if (hourCycle === 12)
59
- return "h11";
60
- return void 0;
61
- }
62
- function normalizeHour12(hourCycle) {
63
- if (hourCycle === 24)
64
- return false;
65
- if (hourCycle === 12)
66
- return true;
67
- return void 0;
68
- }
69
- export {
70
- getOptsByGranularity,
71
- handleCalendarInitialFocus,
72
- normalizeDateStep,
73
- normalizeHour12,
74
- normalizeHourCycle
75
- };
76
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/shared/date/utils.ts"],"sourcesContent":["import type { Granularity } from './comparators'\nimport type { DateStep, HourCycle } from './types'\nimport { defu } from 'defu'\n\nexport function getOptsByGranularity(granularity: Granularity, hourCycle: HourCycle, isTimeValue: boolean = false) {\n const opts: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n timeZoneName: 'short',\n hourCycle: normalizeHourCycle(hourCycle),\n hour12: normalizeHour12(hourCycle),\n }\n if (isTimeValue) {\n delete opts.year\n delete opts.month\n delete opts.day\n }\n\n if (granularity === 'day') {\n delete opts.second\n delete opts.hour\n delete opts.minute\n delete opts.timeZoneName\n }\n if (granularity === 'hour') {\n delete opts.minute\n delete opts.second\n }\n\n if (granularity === 'minute')\n delete opts.second\n\n return opts\n}\n\ntype GetDefaultDateStepProps = {\n step?: DateStep\n}\n\nexport function normalizeDateStep(props?: GetDefaultDateStepProps): DateStep {\n return defu(props?.step, {\n year: 1,\n month: 1,\n day: 1,\n hour: 1,\n minute: 1,\n second: 1,\n millisecond: 1,\n } satisfies DateStep)\n}\n\nexport function handleCalendarInitialFocus(calendar: HTMLElement) {\n const selectedDay = calendar.querySelector<HTMLElement>('[data-selected]')\n if (selectedDay)\n return selectedDay.focus()\n\n const today = calendar.querySelector<HTMLElement>('[data-today]')\n if (today)\n return today.focus()\n\n const firstDay = calendar.querySelector<HTMLElement>('[data-reka-calendar-day]')\n if (firstDay)\n return firstDay.focus()\n}\n\nexport function normalizeHourCycle(hourCycle: HourCycle) {\n if (hourCycle === 24)\n return 'h23'\n if (hourCycle === 12)\n return 'h11'\n return undefined\n}\n\nexport function normalizeHour12(hourCycle: HourCycle) {\n if (hourCycle === 24)\n return false\n if (hourCycle === 12)\n return true\n return undefined\n}\n"],"names":[],"mappings":";AAIO,SAAS,qBAAqB,aAA0B,WAAsB,cAAuB,OAAO;AACjH,QAAM,OAAmC;AAAA,IACvC,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,WAAW,mBAAmB,SAAS;AAAA,IACvC,QAAQ,gBAAgB,SAAS;AAAA,EAAA;AAEnC,MAAI,aAAa;AACf,WAAO,KAAK;AACZ,WAAO,KAAK;AACZ,WAAO,KAAK;AAAA,EACd;AAEA,MAAI,gBAAgB,OAAO;AACzB,WAAO,KAAK;AACZ,WAAO,KAAK;AACZ,WAAO,KAAK;AACZ,WAAO,KAAK;AAAA,EACd;AACA,MAAI,gBAAgB,QAAQ;AAC1B,WAAO,KAAK;AACZ,WAAO,KAAK;AAAA,EACd;AAEA,MAAI,gBAAgB;AAClB,WAAO,KAAK;AAEd,SAAO;AACT;AAMO,SAAS,kBAAkB,OAA2C;AAC3E,SAAO,KAAK,OAAO,MAAM;AAAA,IACvB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,aAAa;AAAA,EAAA,CACK;AACtB;AAEO,SAAS,2BAA2B,UAAuB;AAChE,QAAM,cAAc,SAAS,cAA2B,iBAAiB;AACzE,MAAI;AACF,WAAO,YAAY,MAAA;AAErB,QAAM,QAAQ,SAAS,cAA2B,cAAc;AAChE,MAAI;AACF,WAAO,MAAM,MAAA;AAEf,QAAM,WAAW,SAAS,cAA2B,0BAA0B;AAC/E,MAAI;AACF,WAAO,SAAS,MAAA;AACpB;AAEO,SAAS,mBAAmB,WAAsB;AACvD,MAAI,cAAc;AAChB,WAAO;AACT,MAAI,cAAc;AAChB,WAAO;AACT,SAAO;AACT;AAEO,SAAS,gBAAgB,WAAsB;AACpD,MAAI,cAAc;AAChB,WAAO;AACT,MAAI,cAAc;AAChB,WAAO;AACT,SAAO;AACT;"}
@@ -1,14 +0,0 @@
1
- function getActiveElement() {
2
- let activeElement = document.activeElement;
3
- if (activeElement == null) {
4
- return null;
5
- }
6
- while (activeElement != null && activeElement.shadowRoot != null && activeElement.shadowRoot.activeElement != null) {
7
- activeElement = activeElement.shadowRoot.activeElement;
8
- }
9
- return activeElement;
10
- }
11
- export {
12
- getActiveElement
13
- };
14
- //# sourceMappingURL=getActiveElement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getActiveElement.js","sources":["../../src/shared/getActiveElement.ts"],"sourcesContent":["export function getActiveElement(): Element | null {\r\n let activeElement = document.activeElement\r\n if (activeElement == null) {\r\n return null\r\n }\r\n\r\n while (activeElement != null && activeElement.shadowRoot != null && activeElement.shadowRoot.activeElement != null) {\r\n activeElement = activeElement.shadowRoot.activeElement\r\n }\r\n\r\n return activeElement\r\n}\r\n"],"names":[],"mappings":"AAAO,SAAS,mBAAmC;AACjD,MAAI,gBAAgB,SAAS;AAC7B,MAAI,iBAAiB,MAAM;AACzB,WAAO;AAAA,EACT;AAEA,SAAO,iBAAiB,QAAQ,cAAc,cAAc,QAAQ,cAAc,WAAW,iBAAiB,MAAM;AAClH,oBAAgB,cAAc,WAAW;AAAA,EAC3C;AAEA,SAAO;AACT;"}
@@ -1,15 +0,0 @@
1
- function handleAndDispatchCustomEvent(name, handler, detail) {
2
- const target = detail.originalEvent.target;
3
- const event = new CustomEvent(name, {
4
- bubbles: false,
5
- cancelable: true,
6
- detail
7
- });
8
- if (handler)
9
- target.addEventListener(name, handler, { once: true });
10
- target.dispatchEvent(event);
11
- }
12
- export {
13
- handleAndDispatchCustomEvent
14
- };
15
- //# sourceMappingURL=handleAndDispatchCustomEvent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleAndDispatchCustomEvent.js","sources":["../../src/shared/handleAndDispatchCustomEvent.ts"],"sourcesContent":["export function handleAndDispatchCustomEvent<\n E extends CustomEvent,\n OriginalEvent extends Event,\n>(\n name: string,\n handler: ((event: E) => void) | undefined,\n detail: { originalEvent: OriginalEvent } & (E extends CustomEvent<infer D>\n ? D\n : never),\n) {\n const target = detail.originalEvent.target\n const event = new CustomEvent(name, {\n bubbles: false,\n cancelable: true,\n detail,\n })\n if (handler)\n target.addEventListener(name, handler as EventListener, { once: true })\n\n target.dispatchEvent(event)\n}\n"],"names":[],"mappings":"AAAO,SAAS,6BAId,MACA,SACA,QAGA;AACA,QAAM,SAAS,OAAO,cAAc;AACpC,QAAM,QAAQ,IAAI,YAAY,MAAM;AAAA,IAClC,SAAS;AAAA,IACT,YAAY;AAAA,IACZ;AAAA,EAAA,CACD;AACD,MAAI;AACF,WAAO,iBAAiB,MAAM,SAA0B,EAAE,MAAM,MAAM;AAExE,SAAO,cAAc,KAAK;AAC5B;"}
@@ -1,7 +0,0 @@
1
- function isNullish(value) {
2
- return value === null || value === void 0;
3
- }
4
- export {
5
- isNullish
6
- };
7
- //# sourceMappingURL=nullish.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nullish.js","sources":["../../src/shared/nullish.ts"],"sourcesContent":["export function isNullish(value: any): value is null | undefined {\n return value === null || value === undefined\n}\n"],"names":[],"mappings":"AAAO,SAAS,UAAU,OAAuC;AAC/D,SAAO,UAAU,QAAQ,UAAU;AACrC;"}
@@ -1,14 +0,0 @@
1
- import { Fragment } from "vue";
2
- function renderSlotFragments(children) {
3
- if (!children)
4
- return [];
5
- return children.flatMap((child) => {
6
- if (child.type === Fragment)
7
- return renderSlotFragments(child.children);
8
- return [child];
9
- });
10
- }
11
- export {
12
- renderSlotFragments
13
- };
14
- //# sourceMappingURL=renderSlotFragments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderSlotFragments.js","sources":["../../src/shared/renderSlotFragments.ts"],"sourcesContent":["import type { VNode } from 'vue'\nimport { Fragment } from 'vue'\n\nexport function renderSlotFragments(children?: VNode[]): VNode[] {\n if (!children)\n return []\n return children.flatMap((child) => {\n if (child.type === Fragment)\n return renderSlotFragments(child.children as VNode[])\n\n return [child]\n })\n}\n"],"names":[],"mappings":";AAGO,SAAS,oBAAoB,UAA6B;AAC/D,MAAI,CAAC;AACH,WAAO,CAAA;AACT,SAAO,SAAS,QAAQ,CAAC,UAAU;AACjC,QAAI,MAAM,SAAS;AACjB,aAAO,oBAAoB,MAAM,QAAmB;AAEtD,WAAO,CAAC,KAAK;AAAA,EACf,CAAC;AACH;"}
@@ -1,121 +0,0 @@
1
- import { today as $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3, getLocalTimeZone as $14e0f24ef4ac5c92$export$aa8b41735afcabd2 } from "../node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/queries.js";
2
- import { DateFormatter as $fb18d541ea1ad717$export$ad991b66133851cf } from "../node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/DateFormatter.js";
3
- import { ref } from "vue";
4
- import { toDate, hasTime, isZonedDateTime } from "../date/comparators.js";
5
- function useDateFormatter(initialLocale, opts = {}) {
6
- const locale = ref(initialLocale);
7
- function getLocale() {
8
- return locale.value;
9
- }
10
- function setLocale(newLocale) {
11
- locale.value = newLocale;
12
- }
13
- function custom(date, options) {
14
- return new $fb18d541ea1ad717$export$ad991b66133851cf(locale.value, { ...opts, ...options }).format(
15
- date
16
- );
17
- }
18
- function selectedDate(date, includeTime = true) {
19
- if (hasTime(date) && includeTime) {
20
- return custom(toDate(date), {
21
- dateStyle: "long",
22
- timeStyle: "long"
23
- });
24
- } else {
25
- return custom(toDate(date), {
26
- dateStyle: "long"
27
- });
28
- }
29
- }
30
- function fullMonthAndYear(date, options = {}) {
31
- return new $fb18d541ea1ad717$export$ad991b66133851cf(locale.value, {
32
- ...opts,
33
- month: "long",
34
- year: "numeric",
35
- ...options
36
- }).format(date);
37
- }
38
- function fullMonth(date, options = {}) {
39
- return new $fb18d541ea1ad717$export$ad991b66133851cf(locale.value, {
40
- ...opts,
41
- month: "long",
42
- ...options
43
- }).format(date);
44
- }
45
- function getMonths() {
46
- const defaultDate = $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3($14e0f24ef4ac5c92$export$aa8b41735afcabd2());
47
- const months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
48
- return months.map((item) => ({
49
- label: fullMonth(toDate(defaultDate.set({ month: item }))),
50
- value: item
51
- }));
52
- }
53
- function fullYear(date, options = {}) {
54
- return new $fb18d541ea1ad717$export$ad991b66133851cf(locale.value, {
55
- ...opts,
56
- year: "numeric",
57
- ...options
58
- }).format(date);
59
- }
60
- function toParts(date, options) {
61
- if (isZonedDateTime(date)) {
62
- return new $fb18d541ea1ad717$export$ad991b66133851cf(locale.value, {
63
- ...opts,
64
- ...options,
65
- timeZone: date.timeZone
66
- }).formatToParts(toDate(date));
67
- } else {
68
- return new $fb18d541ea1ad717$export$ad991b66133851cf(locale.value, {
69
- ...opts,
70
- ...options
71
- }).formatToParts(toDate(date));
72
- }
73
- }
74
- function dayOfWeek(date, length = "narrow") {
75
- return new $fb18d541ea1ad717$export$ad991b66133851cf(locale.value, { ...opts, weekday: length }).format(
76
- date
77
- );
78
- }
79
- function dayPeriod(date) {
80
- const parts = new $fb18d541ea1ad717$export$ad991b66133851cf(locale.value, {
81
- ...opts,
82
- hour: "numeric",
83
- minute: "numeric"
84
- }).formatToParts(date);
85
- const value = parts.find((p) => p.type === "dayPeriod")?.value;
86
- if (value === "PM" || value === "p.m.") return "PM";
87
- return "AM";
88
- }
89
- const defaultPartOptions = {
90
- year: "numeric",
91
- month: "numeric",
92
- day: "numeric",
93
- hour: "numeric",
94
- minute: "numeric",
95
- second: "numeric"
96
- };
97
- function part(dateObj, type, options = {}) {
98
- const opts2 = { ...defaultPartOptions, ...options };
99
- const parts = toParts(dateObj, opts2);
100
- const part2 = parts.find((p) => p.type === type);
101
- return part2 ? part2.value : "";
102
- }
103
- return {
104
- setLocale,
105
- getLocale,
106
- fullMonth,
107
- fullYear,
108
- fullMonthAndYear,
109
- toParts,
110
- custom,
111
- part,
112
- dayPeriod,
113
- selectedDate,
114
- dayOfWeek,
115
- getMonths
116
- };
117
- }
118
- export {
119
- useDateFormatter
120
- };
121
- //# sourceMappingURL=useDateFormatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDateFormatter.js","sources":["../../src/shared/useDateFormatter.ts"],"sourcesContent":["/*\n * Implementation ported from https://github.com/melt-ui/melt-ui/blob/develop/src/lib/internal/helpers/date/formatter.ts\n */\n\nimport type { DateValue, ZonedDateTime } from \"@internationalized/date\";\nimport {\n DateFormatter,\n getLocalTimeZone,\n today,\n} from \"@internationalized/date\";\nimport { ref } from \"vue\";\nimport { hasTime, isZonedDateTime, toDate } from \"../date\";\n\nexport interface DateFormatterOptions extends Intl.DateTimeFormatOptions {\n calendar?: string;\n}\n\nexport type Formatter = {\n getLocale: () => string;\n setLocale: (newLocale: string) => void;\n custom: (date: Date, options: DateFormatterOptions) => string;\n selectedDate: (date: DateValue, includeTime?: boolean) => string;\n dayOfWeek: (date: Date, length?: DateFormatterOptions[\"weekday\"]) => string;\n fullMonthAndYear: (date: Date, options?: DateFormatterOptions) => string;\n fullMonth: (date: Date, options?: DateFormatterOptions) => string;\n fullYear: (date: Date, options?: DateFormatterOptions) => string;\n dayPeriod: (date: Date) => string;\n part: (\n dateObj: DateValue,\n type: Intl.DateTimeFormatPartTypes,\n options?: DateFormatterOptions,\n ) => string;\n toParts: (\n date: DateValue,\n options?: DateFormatterOptions,\n ) => Intl.DateTimeFormatPart[];\n getMonths: () => { label: string; value: number }[];\n};\n\n/**\n * Creates a wrapper around the `DateFormatter`, which is\n * an improved version of the {@link Intl.DateTimeFormat} API,\n * that is used internally by the various date builders to\n * easily format dates in a consistent way.\n *\n * @see [DateFormatter](https://react-spectrum.adobe.com/internationalized/date/DateFormatter.html)\n */\nexport function useDateFormatter(\n initialLocale: string,\n opts: DateFormatterOptions = {},\n): Formatter {\n const locale = ref(initialLocale);\n\n function getLocale() {\n return locale.value;\n }\n\n function setLocale(newLocale: string) {\n locale.value = newLocale;\n }\n\n function custom(date: Date, options: DateFormatterOptions) {\n return new DateFormatter(locale.value, { ...opts, ...options }).format(\n date,\n );\n }\n\n function selectedDate(date: DateValue, includeTime = true) {\n if (hasTime(date) && includeTime) {\n return custom(toDate(date), {\n dateStyle: \"long\",\n timeStyle: \"long\",\n });\n } else {\n return custom(toDate(date), {\n dateStyle: \"long\",\n });\n }\n }\n\n function fullMonthAndYear(date: Date, options: DateFormatterOptions = {}) {\n return new DateFormatter(locale.value, {\n ...opts,\n month: \"long\",\n year: \"numeric\",\n ...options,\n }).format(date);\n }\n\n function fullMonth(date: Date, options: DateFormatterOptions = {}) {\n return new DateFormatter(locale.value, {\n ...opts,\n month: \"long\",\n ...options,\n }).format(date);\n }\n\n function getMonths() {\n const defaultDate = today(getLocalTimeZone());\n const months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n return months.map((item) => ({\n label: fullMonth(toDate(defaultDate.set({ month: item }))),\n value: item,\n }));\n }\n\n function fullYear(date: Date, options: DateFormatterOptions = {}) {\n return new DateFormatter(locale.value, {\n ...opts,\n year: \"numeric\",\n ...options,\n }).format(date);\n }\n\n function toParts(date: DateValue, options?: DateFormatterOptions) {\n if (isZonedDateTime(date)) {\n return new DateFormatter(locale.value, {\n ...opts,\n ...options,\n timeZone: (date as ZonedDateTime).timeZone,\n }).formatToParts(toDate(date));\n } else {\n return new DateFormatter(locale.value, {\n ...opts,\n ...options,\n }).formatToParts(toDate(date));\n }\n }\n\n function dayOfWeek(\n date: Date,\n length: DateFormatterOptions[\"weekday\"] = \"narrow\",\n ) {\n return new DateFormatter(locale.value, { ...opts, weekday: length }).format(\n date,\n );\n }\n\n function dayPeriod(date: Date) {\n const parts = new DateFormatter(locale.value, {\n ...opts,\n hour: \"numeric\",\n minute: \"numeric\",\n }).formatToParts(date);\n const value = parts.find((p) => p.type === \"dayPeriod\")?.value;\n // Day period can be \"AM\"/\"PM\" or \"a.m.\"/\"p.m.\" in some locales\n if (value === \"PM\" || value === \"p.m.\") return \"PM\";\n\n return \"AM\";\n }\n\n const defaultPartOptions: DateFormatterOptions = {\n year: \"numeric\",\n month: \"numeric\",\n day: \"numeric\",\n hour: \"numeric\",\n minute: \"numeric\",\n second: \"numeric\",\n };\n\n function part(\n dateObj: DateValue,\n type: Intl.DateTimeFormatPartTypes,\n options: DateFormatterOptions = {},\n ) {\n const opts = { ...defaultPartOptions, ...options };\n const parts = toParts(dateObj, opts);\n const part = parts.find((p) => p.type === type);\n return part ? part.value : \"\";\n }\n\n return {\n setLocale,\n getLocale,\n fullMonth,\n fullYear,\n fullMonthAndYear,\n toParts,\n custom,\n part,\n dayPeriod,\n selectedDate,\n dayOfWeek,\n getMonths,\n };\n}\n"],"names":["DateFormatter","today","getLocalTimeZone","opts","part"],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { ref, computed } from "vue";
2
- import { injectConfigProviderContext } from "../components/ConfigProvider/ConfigProvider.vue.js";
3
- function useDirection(dir) {
4
- const context = injectConfigProviderContext({
5
- dir: ref("ltr")
6
- });
7
- return computed(() => dir?.value || context.dir?.value || "ltr");
8
- }
9
- export {
10
- useDirection
11
- };
12
- //# sourceMappingURL=useDirection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDirection.js","sources":["../../src/shared/useDirection.ts"],"sourcesContent":["import type { Ref } from \"vue\";\nimport type { Direction } from \"./types\";\nimport { computed, ref } from \"vue\";\nimport { injectConfigProviderContext } from \"../components/ConfigProvider/ConfigProvider.vue\";\n\n/**\n * The `useDirection` function provides a way to access the current direction in your application.\n * @param {Ref<Direction | undefined>} [dir] - An optional ref containing the direction (ltr or rtl).\n * @returns computed value that combines with the resolved direction.\n */\nexport function useDirection(dir?: Ref<Direction | undefined>) {\n const context = injectConfigProviderContext({\n dir: ref(\"ltr\"),\n });\n return computed(() => dir?.value || context.dir?.value || \"ltr\");\n}\n"],"names":[],"mappings":";;AAUO,SAAS,aAAa,KAAkC;AAC7D,QAAM,UAAU,4BAA4B;AAAA,IAC1C,KAAK,IAAI,KAAK;AAAA,EAAA,CACf;AACD,SAAO,SAAS,MAAM,KAAK,SAAS,QAAQ,KAAK,SAAS,KAAK;AACjE;"}
@@ -1,19 +0,0 @@
1
- import { getCurrentInstance, toHandlerKey, camelize } from "vue";
2
- function useEmitAsProps(emit) {
3
- const vm = getCurrentInstance();
4
- const events = vm?.type.emits;
5
- const result = {};
6
- if (!events?.length) {
7
- console.warn(
8
- `No emitted event found. Please check component: ${vm?.type.__name}`
9
- );
10
- }
11
- events?.forEach((ev) => {
12
- result[toHandlerKey(camelize(ev))] = (...arg) => emit(ev, ...arg);
13
- });
14
- return result;
15
- }
16
- export {
17
- useEmitAsProps
18
- };
19
- //# sourceMappingURL=useEmitAsProps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useEmitAsProps.js","sources":["../../src/shared/useEmitAsProps.ts"],"sourcesContent":["import { camelize, getCurrentInstance, toHandlerKey } from 'vue'\n\n// Vue doesn't have emits forwarding, in order to bind the emits we have to convert events into `onXXX` handlers\n// issue: https://github.com/vuejs/core/issues/5917\n/**\n * The `useEmitAsProps` function is a TypeScript utility that converts emitted events into props for a\n * Vue component.\n * @param emit - The `emit` parameter is a function that is used to emit events from a component. It\n * takes two parameters: `name` which is the name of the event to be emitted, and `...args` which are\n * the arguments to be passed along with the event.\n * @returns The function `useEmitAsProps` returns an object that maps event names to functions that\n * call the `emit` function with the corresponding event name and arguments.\n */\nexport function useEmitAsProps<Name extends string>(\n emit: (name: Name, ...args: any[]) => void,\n) {\n const vm = getCurrentInstance()\n\n const events = vm?.type.emits as Name[]\n const result: Record<string, any> = {}\n\n if (!events?.length) {\n console.warn(\n `No emitted event found. Please check component: ${vm?.type.__name}`,\n )\n }\n\n events?.forEach((ev) => {\n result[toHandlerKey(camelize(ev))] = (...arg: any) => emit(ev, ...arg)\n })\n return result\n}\n"],"names":[],"mappings":";AAaO,SAAS,eACd,MACA;AACA,QAAM,KAAK,mBAAA;AAEX,QAAM,SAAS,IAAI,KAAK;AACxB,QAAM,SAA8B,CAAA;AAEpC,MAAI,CAAC,QAAQ,QAAQ;AACnB,YAAQ;AAAA,MACN,mDAAmD,IAAI,KAAK,MAAM;AAAA,IAAA;AAAA,EAEtE;AAEA,UAAQ,QAAQ,CAAC,OAAO;AACtB,WAAO,aAAa,SAAS,EAAE,CAAC,CAAC,IAAI,IAAI,QAAa,KAAK,IAAI,GAAG,GAAG;AAAA,EACvE,CAAC;AACD,SAAO;AACT;"}
@@ -1,39 +0,0 @@
1
- import { isClient } from "../node_modules/.pnpm/@vueuse_shared@14.1.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/shared/dist/index.js";
2
- import { watchEffect } from "vue";
3
- let count = 0;
4
- function useFocusGuards() {
5
- watchEffect((cleanupFn) => {
6
- if (!isClient)
7
- return;
8
- const edgeGuards = document.querySelectorAll("[data-reka-focus-guard]");
9
- document.body.insertAdjacentElement(
10
- "afterbegin",
11
- edgeGuards[0] ?? createFocusGuard()
12
- );
13
- document.body.insertAdjacentElement(
14
- "beforeend",
15
- edgeGuards[1] ?? createFocusGuard()
16
- );
17
- count++;
18
- cleanupFn(() => {
19
- if (count === 1) {
20
- document.querySelectorAll("[data-reka-focus-guard]").forEach((node) => node.remove());
21
- }
22
- count--;
23
- });
24
- });
25
- }
26
- function createFocusGuard() {
27
- const element = document.createElement("span");
28
- element.setAttribute("data-reka-focus-guard", "");
29
- element.tabIndex = 0;
30
- element.style.outline = "none";
31
- element.style.opacity = "0";
32
- element.style.position = "fixed";
33
- element.style.pointerEvents = "none";
34
- return element;
35
- }
36
- export {
37
- useFocusGuards
38
- };
39
- //# sourceMappingURL=useFocusGuards.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFocusGuards.js","sources":["../../src/shared/useFocusGuards.ts"],"sourcesContent":["import { isClient } from '@vueuse/shared'\nimport { watchEffect } from 'vue'\n\n/** Number of components which have requested interest to have focus guards */\nlet count = 0\n\n/**\n * Injects a pair of focus guards at the edges of the whole DOM tree\n * to ensure `focusin` & `focusout` events can be caught consistently.\n */\nexport function useFocusGuards() {\n watchEffect((cleanupFn) => {\n if (!isClient)\n return\n const edgeGuards = document.querySelectorAll('[data-reka-focus-guard]')\n document.body.insertAdjacentElement(\n 'afterbegin',\n edgeGuards[0] ?? createFocusGuard(),\n )\n document.body.insertAdjacentElement(\n 'beforeend',\n edgeGuards[1] ?? createFocusGuard(),\n )\n count++\n\n cleanupFn(() => {\n if (count === 1) {\n document\n .querySelectorAll('[data-reka-focus-guard]')\n .forEach(node => node.remove())\n }\n count--\n })\n })\n}\n\nfunction createFocusGuard() {\n const element = document.createElement('span')\n element.setAttribute('data-reka-focus-guard', '')\n element.tabIndex = 0\n element.style.outline = 'none'\n element.style.opacity = '0'\n element.style.position = 'fixed'\n element.style.pointerEvents = 'none'\n return element\n}\n"],"names":[],"mappings":";;AAIA,IAAI,QAAQ;AAML,SAAS,iBAAiB;AAC/B,cAAY,CAAC,cAAc;AACzB,QAAI,CAAC;AACH;AACF,UAAM,aAAa,SAAS,iBAAiB,yBAAyB;AACtE,aAAS,KAAK;AAAA,MACZ;AAAA,MACA,WAAW,CAAC,KAAK,iBAAA;AAAA,IAAiB;AAEpC,aAAS,KAAK;AAAA,MACZ;AAAA,MACA,WAAW,CAAC,KAAK,iBAAA;AAAA,IAAiB;AAEpC;AAEA,cAAU,MAAM;AACd,UAAI,UAAU,GAAG;AACf,iBACG,iBAAiB,yBAAyB,EAC1C,QAAQ,CAAA,SAAQ,KAAK,QAAQ;AAAA,MAClC;AACA;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;AAEA,SAAS,mBAAmB;AAC1B,QAAM,UAAU,SAAS,cAAc,MAAM;AAC7C,UAAQ,aAAa,yBAAyB,EAAE;AAChD,UAAQ,WAAW;AACnB,UAAQ,MAAM,UAAU;AACxB,UAAQ,MAAM,UAAU;AACxB,UAAQ,MAAM,WAAW;AACzB,UAAQ,MAAM,gBAAgB;AAC9B,SAAO;AACT;"}
@@ -1,49 +0,0 @@
1
- import { unrefElement } from "../node_modules/.pnpm/@vueuse_core@14.1.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.js";
2
- import { getCurrentInstance, ref, computed } from "vue";
3
- function useForwardExpose() {
4
- const instance = getCurrentInstance();
5
- const currentRef = ref();
6
- const currentElement = computed(() => {
7
- return ["#text", "#comment"].includes(currentRef.value?.$el.nodeName) ? currentRef.value?.$el.nextElementSibling : unrefElement(currentRef);
8
- });
9
- const localExpose = Object.assign({}, instance.exposed);
10
- const ret = {};
11
- for (const key in instance.props) {
12
- Object.defineProperty(ret, key, {
13
- enumerable: true,
14
- configurable: true,
15
- get: () => instance.props[key]
16
- });
17
- }
18
- if (Object.keys(localExpose).length > 0) {
19
- for (const key in localExpose) {
20
- Object.defineProperty(ret, key, {
21
- enumerable: true,
22
- configurable: true,
23
- get: () => localExpose[key]
24
- });
25
- }
26
- }
27
- Object.defineProperty(ret, "$el", {
28
- enumerable: true,
29
- configurable: true,
30
- get: () => instance.vnode.el
31
- });
32
- instance.exposed = ret;
33
- function forwardRef(ref2) {
34
- currentRef.value = ref2;
35
- if (!ref2)
36
- return;
37
- Object.defineProperty(ret, "$el", {
38
- enumerable: true,
39
- configurable: true,
40
- get: () => ref2 instanceof Element ? ref2 : ref2.$el
41
- });
42
- instance.exposed = ret;
43
- }
44
- return { forwardRef, currentRef, currentElement };
45
- }
46
- export {
47
- useForwardExpose
48
- };
49
- //# sourceMappingURL=useForwardExpose.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useForwardExpose.js","sources":["../../src/shared/useForwardExpose.ts"],"sourcesContent":["import type { ComponentPublicInstance } from 'vue'\n// reference: https://github.com/vuejs/rfcs/issues/258#issuecomment-1068697672\nimport { unrefElement } from '@vueuse/core'\nimport { computed, getCurrentInstance, ref } from 'vue'\n\nexport function useForwardExpose<T extends ComponentPublicInstance>() {\n const instance = getCurrentInstance()!\n\n const currentRef = ref<Element | T | null>()\n const currentElement = computed<HTMLElement>(() => {\n // $el could be text/comment for non-single root normal or text root, thus we retrieve the nextElementSibling\n // @ts-expect-error ignore ts error\n return ['#text', '#comment'].includes(currentRef.value?.$el.nodeName) ? currentRef.value?.$el.nextElementSibling : unrefElement(currentRef)\n })\n\n // Do give us credit if you reference our code :D\n // localExpose should only be assigned once else will create infinite loop\n const localExpose: Record<string, any> | null = Object.assign({}, instance.exposed)\n const ret: Record<string, any> = {}\n\n // retrieve props for current instance\n for (const key in instance.props) {\n Object.defineProperty(ret, key, {\n enumerable: true,\n configurable: true,\n get: () => instance.props[key],\n })\n }\n\n // retrieve default exposed value\n if (Object.keys(localExpose).length > 0) {\n for (const key in localExpose) {\n Object.defineProperty(ret, key, {\n enumerable: true,\n configurable: true,\n get: () => localExpose![key],\n })\n }\n }\n\n // retrieve original first root element\n Object.defineProperty(ret, '$el', {\n enumerable: true,\n configurable: true,\n get: () => instance.vnode.el,\n })\n instance.exposed = ret\n\n function forwardRef(ref: Element | T | null) {\n currentRef.value = ref\n\n if (!ref)\n return\n\n // retrieve the forwarded element\n Object.defineProperty(ret, '$el', {\n enumerable: true,\n configurable: true,\n get: () => (ref instanceof Element ? ref : ref.$el),\n })\n\n instance.exposed = ret\n }\n\n return { forwardRef, currentRef, currentElement }\n}\n"],"names":["ref"],"mappings":";;AAKO,SAAS,mBAAsD;AACpE,QAAM,WAAW,mBAAA;AAEjB,QAAM,aAAa,IAAA;AACnB,QAAM,iBAAiB,SAAsB,MAAM;AAGjD,WAAO,CAAC,SAAS,UAAU,EAAE,SAAS,WAAW,OAAO,IAAI,QAAQ,IAAI,WAAW,OAAO,IAAI,qBAAqB,aAAa,UAAU;AAAA,EAC5I,CAAC;AAID,QAAM,cAA0C,OAAO,OAAO,CAAA,GAAI,SAAS,OAAO;AAClF,QAAM,MAA2B,CAAA;AAGjC,aAAW,OAAO,SAAS,OAAO;AAChC,WAAO,eAAe,KAAK,KAAK;AAAA,MAC9B,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,KAAK,MAAM,SAAS,MAAM,GAAG;AAAA,IAAA,CAC9B;AAAA,EACH;AAGA,MAAI,OAAO,KAAK,WAAW,EAAE,SAAS,GAAG;AACvC,eAAW,OAAO,aAAa;AAC7B,aAAO,eAAe,KAAK,KAAK;AAAA,QAC9B,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,KAAK,MAAM,YAAa,GAAG;AAAA,MAAA,CAC5B;AAAA,IACH;AAAA,EACF;AAGA,SAAO,eAAe,KAAK,OAAO;AAAA,IAChC,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,KAAK,MAAM,SAAS,MAAM;AAAA,EAAA,CAC3B;AACD,WAAS,UAAU;AAEnB,WAAS,WAAWA,MAAyB;AAC3C,eAAW,QAAQA;AAEnB,QAAI,CAACA;AACH;AAGF,WAAO,eAAe,KAAK,OAAO;AAAA,MAChC,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,KAAK,MAAOA,gBAAe,UAAUA,OAAMA,KAAI;AAAA,IAAA,CAChD;AAED,aAAS,UAAU;AAAA,EACrB;AAEA,SAAO,EAAE,YAAY,YAAY,eAAA;AACnC;"}
@@ -1,27 +0,0 @@
1
- import { getCurrentInstance, toRef, computed, camelize } from "vue";
2
- function useForwardProps(props) {
3
- const vm = getCurrentInstance();
4
- const defaultProps = Object.keys(vm?.type.props ?? {}).reduce((prev, curr) => {
5
- const defaultValue = (vm?.type.props[curr]).default;
6
- if (defaultValue !== void 0)
7
- prev[curr] = defaultValue;
8
- return prev;
9
- }, {});
10
- const refProps = toRef(props);
11
- return computed(() => {
12
- const preservedProps = {};
13
- const assignedProps = vm?.vnode.props ?? {};
14
- Object.keys(assignedProps).forEach((key) => {
15
- preservedProps[camelize(key)] = assignedProps[key];
16
- });
17
- return Object.keys({ ...defaultProps, ...preservedProps }).reduce((prev, curr) => {
18
- if (refProps.value[curr] !== void 0)
19
- prev[curr] = refProps.value[curr];
20
- return prev;
21
- }, {});
22
- });
23
- }
24
- export {
25
- useForwardProps
26
- };
27
- //# sourceMappingURL=useForwardProps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useForwardProps.js","sources":["../../src/shared/useForwardProps.ts"],"sourcesContent":["import type { MaybeRefOrGetter } from 'vue'\nimport { camelize, computed, getCurrentInstance, toRef } from 'vue'\n\ninterface PropOptions {\n type?: any\n required?: boolean\n default?: any\n}\n\n/**\n * The `useForwardProps` function in TypeScript takes in a set of props and returns a computed value\n * that combines default props with assigned props from the current instance.\n * @param {T} props - The `props` parameter is an object that represents the props passed to a\n * component.\n * @returns computed value that combines the default props, preserved props, and assigned props.\n */\nexport function useForwardProps<T extends Record<string, any>>(props: MaybeRefOrGetter<T>) {\n const vm = getCurrentInstance()\n // Default value for declared props\n const defaultProps = Object.keys(vm?.type.props ?? {}).reduce((prev, curr) => {\n const defaultValue = (vm?.type.props[curr] as PropOptions).default\n if (defaultValue !== undefined)\n prev[curr as keyof T] = defaultValue\n return prev\n }, {} as T)\n\n const refProps = toRef(props)\n return computed(() => {\n const preservedProps = {} as T\n const assignedProps = vm?.vnode.props ?? {}\n\n Object.keys(assignedProps).forEach((key) => {\n preservedProps[camelize(key) as keyof T] = assignedProps[key]\n })\n\n // Only return value from the props parameter\n return Object.keys({ ...defaultProps, ...preservedProps }).reduce((prev, curr) => {\n if (refProps.value[curr] !== undefined)\n prev[curr as keyof T] = refProps.value[curr]\n return prev\n }, {} as T)\n })\n}\n"],"names":[],"mappings":";AAgBO,SAAS,gBAA+C,OAA4B;AACzF,QAAM,KAAK,mBAAA;AAEX,QAAM,eAAe,OAAO,KAAK,IAAI,KAAK,SAAS,CAAA,CAAE,EAAE,OAAO,CAAC,MAAM,SAAS;AAC5E,UAAM,gBAAgB,IAAI,KAAK,MAAM,IAAI,GAAkB;AAC3D,QAAI,iBAAiB;AACnB,WAAK,IAAe,IAAI;AAC1B,WAAO;AAAA,EACT,GAAG,CAAA,CAAO;AAEV,QAAM,WAAW,MAAM,KAAK;AAC5B,SAAO,SAAS,MAAM;AACpB,UAAM,iBAAiB,CAAA;AACvB,UAAM,gBAAgB,IAAI,MAAM,SAAS,CAAA;AAEzC,WAAO,KAAK,aAAa,EAAE,QAAQ,CAAC,QAAQ;AAC1C,qBAAe,SAAS,GAAG,CAAY,IAAI,cAAc,GAAG;AAAA,IAC9D,CAAC;AAGD,WAAO,OAAO,KAAK,EAAE,GAAG,cAAc,GAAG,eAAA,CAAgB,EAAE,OAAO,CAAC,MAAM,SAAS;AAChF,UAAI,SAAS,MAAM,IAAI,MAAM;AAC3B,aAAK,IAAe,IAAI,SAAS,MAAM,IAAI;AAC7C,aAAO;AAAA,IACT,GAAG,CAAA,CAAO;AAAA,EACZ,CAAC;AACH;"}
@@ -1,15 +0,0 @@
1
- import { computed } from "vue";
2
- import { useEmitAsProps } from "./useEmitAsProps.js";
3
- import { useForwardProps } from "./useForwardProps.js";
4
- function useForwardPropsEmits(props, emit) {
5
- const parsedProps = useForwardProps(props);
6
- const emitsAsProps = emit ? useEmitAsProps(emit) : {};
7
- return computed(() => ({
8
- ...parsedProps.value,
9
- ...emitsAsProps
10
- }));
11
- }
12
- export {
13
- useForwardPropsEmits
14
- };
15
- //# sourceMappingURL=useForwardPropsEmits.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useForwardPropsEmits.js","sources":["../../src/shared/useForwardPropsEmits.ts"],"sourcesContent":["import type { MaybeRefOrGetter } from 'vue'\nimport { computed } from 'vue'\nimport { useEmitAsProps } from './useEmitAsProps'\nimport { useForwardProps } from './useForwardProps'\n\n/**\n * The function `useForwardPropsEmits` takes in props and an optional emit function, and returns a\n * computed object that combines the parsed props and emits as props.\n * @param {T} props - The `props` parameter is of type `T`, which is a generic type that extends the\n * parameters of the `useForwardProps` function. It represents the props object that is passed to the\n * `useForwardProps` function.\n * @param [emit] - The `emit` parameter is a function that can be used to emit events. It takes two\n * arguments: `name`, which is the name of the event to be emitted, and `args`, which are the arguments\n * to be passed along with the event.\n * @returns a computed property that combines the parsed\n * props and emits as props.\n */\nexport function useForwardPropsEmits<T extends Record<string, any>, Name extends string>(props: MaybeRefOrGetter<T>, emit?: (name: Name, ...args: any[]) => void) {\n const parsedProps = useForwardProps(props)\n const emitsAsProps = emit ? useEmitAsProps(emit) : {}\n\n return computed(() => ({\n ...parsedProps.value,\n ...emitsAsProps,\n }))\n}\n"],"names":[],"mappings":";;;AAiBO,SAAS,qBAAyE,OAA4B,MAA6C;AAChK,QAAM,cAAc,gBAAgB,KAAK;AACzC,QAAM,eAAe,OAAO,eAAe,IAAI,IAAI,CAAA;AAEnD,SAAO,SAAS,OAAO;AAAA,IACrB,GAAG,YAAY;AAAA,IACf,GAAG;AAAA,EAAA,EACH;AACJ;"}