@auronui/vue 1.0.21 → 1.0.23

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 (356) hide show
  1. package/dist/cjs/index.cjs +4046 -745
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/components/accordion/Accordion.js.map +1 -1
  4. package/dist/components/accordion/Accordion.vue_vue_type_script_setup_true_lang.js +15 -0
  5. package/dist/components/accordion/Accordion.vue_vue_type_script_setup_true_lang.js.map +1 -1
  6. package/dist/components/accordion/AccordionContent.js.map +1 -1
  7. package/dist/components/accordion/AccordionContent.vue_vue_type_script_setup_true_lang.js +10 -2
  8. package/dist/components/accordion/AccordionContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  9. package/dist/components/accordion/AccordionHeader.js.map +1 -1
  10. package/dist/components/accordion/AccordionHeader.vue_vue_type_script_setup_true_lang.js +13 -3
  11. package/dist/components/accordion/AccordionHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  12. package/dist/components/accordion/AccordionItem.js.map +1 -1
  13. package/dist/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js +9 -0
  14. package/dist/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  15. package/dist/components/accordion/AccordionTrigger.js.map +1 -1
  16. package/dist/components/accordion/AccordionTrigger.vue_vue_type_script_setup_true_lang.js +13 -3
  17. package/dist/components/accordion/AccordionTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  18. package/dist/components/alert-dialog/AlertDialogAction.js.map +1 -1
  19. package/dist/components/alert-dialog/AlertDialogAction.vue_vue_type_script_setup_true_lang.js +8 -2
  20. package/dist/components/alert-dialog/AlertDialogAction.vue_vue_type_script_setup_true_lang.js.map +1 -1
  21. package/dist/components/alert-dialog/AlertDialogCancel.js.map +1 -1
  22. package/dist/components/alert-dialog/AlertDialogCancel.vue_vue_type_script_setup_true_lang.js +8 -2
  23. package/dist/components/alert-dialog/AlertDialogCancel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  24. package/dist/components/alert-dialog/AlertDialogContent.js.map +1 -1
  25. package/dist/components/alert-dialog/AlertDialogContent.vue_vue_type_script_setup_true_lang.js +42 -6
  26. package/dist/components/alert-dialog/AlertDialogContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  27. package/dist/components/alert-dialog/AlertDialogDescription.js.map +1 -1
  28. package/dist/components/alert-dialog/AlertDialogDescription.vue_vue_type_script_setup_true_lang.js +11 -2
  29. package/dist/components/alert-dialog/AlertDialogDescription.vue_vue_type_script_setup_true_lang.js.map +1 -1
  30. package/dist/components/alert-dialog/AlertDialogOverlay.js.map +1 -1
  31. package/dist/components/alert-dialog/AlertDialogOverlay.vue_vue_type_script_setup_true_lang.js +23 -2
  32. package/dist/components/alert-dialog/AlertDialogOverlay.vue_vue_type_script_setup_true_lang.js.map +1 -1
  33. package/dist/components/alert-dialog/AlertDialogTitle.js.map +1 -1
  34. package/dist/components/alert-dialog/AlertDialogTitle.vue_vue_type_script_setup_true_lang.js +10 -1
  35. package/dist/components/alert-dialog/AlertDialogTitle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  36. package/dist/components/alert-dialog/AlertDialogTrigger.js.map +1 -1
  37. package/dist/components/alert-dialog/AlertDialogTrigger.vue_vue_type_script_setup_true_lang.js +12 -6
  38. package/dist/components/alert-dialog/AlertDialogTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  39. package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
  40. package/dist/components/aspect-ratio/AspectRatio.vue_vue_type_script_setup_true_lang.js +10 -1
  41. package/dist/components/aspect-ratio/AspectRatio.vue_vue_type_script_setup_true_lang.js.map +1 -1
  42. package/dist/components/autocomplete/Autocomplete.js.map +1 -1
  43. package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +29 -4
  44. package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  45. package/dist/components/autocomplete/AutocompleteContent.js.map +1 -1
  46. package/dist/components/autocomplete/AutocompleteContent.vue_vue_type_script_setup_true_lang.js +151 -9
  47. package/dist/components/autocomplete/AutocompleteContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  48. package/dist/components/autocomplete/AutocompleteCreateItem.js.map +1 -1
  49. package/dist/components/autocomplete/AutocompleteCreateItem.vue_vue_type_script_setup_true_lang.js +24 -4
  50. package/dist/components/autocomplete/AutocompleteCreateItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  51. package/dist/components/autocomplete/AutocompleteInput.js.map +1 -1
  52. package/dist/components/autocomplete/AutocompleteInput.vue_vue_type_script_setup_true_lang.js +75 -9
  53. package/dist/components/autocomplete/AutocompleteInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  54. package/dist/components/autocomplete/AutocompleteItem.js.map +1 -1
  55. package/dist/components/autocomplete/AutocompleteItem.vue_vue_type_script_setup_true_lang.js +29 -5
  56. package/dist/components/autocomplete/AutocompleteItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  57. package/dist/components/avatar/Avatar.js.map +1 -1
  58. package/dist/components/avatar/Avatar.vue_vue_type_script_setup_true_lang.js +39 -5
  59. package/dist/components/avatar/Avatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  60. package/dist/components/button/ToggleButton.js.map +1 -1
  61. package/dist/components/button/ToggleButton.vue_vue_type_script_setup_true_lang.js +16 -2
  62. package/dist/components/button/ToggleButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  63. package/dist/components/calendar/Calendar.js.map +1 -1
  64. package/dist/components/calendar/Calendar.vue_vue_type_script_setup_true_lang.js +44 -0
  65. package/dist/components/calendar/Calendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  66. package/dist/components/calendar-year-picker/CalendarYearPicker.js.map +1 -1
  67. package/dist/components/calendar-year-picker/CalendarYearPicker.vue_vue_type_script_setup_true_lang.js +21 -0
  68. package/dist/components/calendar-year-picker/CalendarYearPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  69. package/dist/components/checkbox/Checkbox.js.map +1 -1
  70. package/dist/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +60 -3
  71. package/dist/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  72. package/dist/components/collapsible/Collapsible.js.map +1 -1
  73. package/dist/components/collapsible/Collapsible.vue_vue_type_script_setup_true_lang.js +9 -0
  74. package/dist/components/collapsible/Collapsible.vue_vue_type_script_setup_true_lang.js.map +1 -1
  75. package/dist/components/collapsible/CollapsibleContent.js.map +1 -1
  76. package/dist/components/collapsible/CollapsibleContent.vue_vue_type_script_setup_true_lang.js +15 -4
  77. package/dist/components/collapsible/CollapsibleContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  78. package/dist/components/collapsible/CollapsibleTrigger.js.map +1 -1
  79. package/dist/components/collapsible/CollapsibleTrigger.vue_vue_type_script_setup_true_lang.js +13 -3
  80. package/dist/components/collapsible/CollapsibleTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  81. package/dist/components/color-area/ColorArea.js.map +1 -1
  82. package/dist/components/color-area/ColorArea.vue_vue_type_script_setup_true_lang.js +34 -3
  83. package/dist/components/color-area/ColorArea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  84. package/dist/components/color-field/ColorField.js.map +1 -1
  85. package/dist/components/color-field/ColorField.vue_vue_type_script_setup_true_lang.js +39 -2
  86. package/dist/components/color-field/ColorField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  87. package/dist/components/color-input-group/ColorInputGroup.js.map +1 -1
  88. package/dist/components/color-input-group/ColorInputGroup.vue_vue_type_script_setup_true_lang.js +39 -2
  89. package/dist/components/color-input-group/ColorInputGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  90. package/dist/components/color-slider/ColorSlider.js.map +1 -1
  91. package/dist/components/color-slider/ColorSlider.vue_vue_type_script_setup_true_lang.js +40 -3
  92. package/dist/components/color-slider/ColorSlider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  93. package/dist/components/color-swatch/ColorSwatch.js.map +1 -1
  94. package/dist/components/color-swatch/ColorSwatch.vue_vue_type_script_setup_true_lang.js +9 -2
  95. package/dist/components/color-swatch/ColorSwatch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  96. package/dist/components/color-swatch-picker/ColorSwatchPicker.js.map +1 -1
  97. package/dist/components/color-swatch-picker/ColorSwatchPicker.vue_vue_type_script_setup_true_lang.js +60 -4
  98. package/dist/components/color-swatch-picker/ColorSwatchPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  99. package/dist/components/combo-box/ComboBox.js.map +1 -1
  100. package/dist/components/combo-box/ComboBox.vue_vue_type_script_setup_true_lang.js +74 -3
  101. package/dist/components/combo-box/ComboBox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  102. package/dist/components/combo-box/ComboBoxContent.js.map +1 -1
  103. package/dist/components/combo-box/ComboBoxContent.vue_vue_type_script_setup_true_lang.js +168 -10
  104. package/dist/components/combo-box/ComboBoxContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  105. package/dist/components/combo-box/ComboBoxEmpty.js.map +1 -1
  106. package/dist/components/combo-box/ComboBoxEmpty.vue_vue_type_script_setup_true_lang.js +11 -1
  107. package/dist/components/combo-box/ComboBoxEmpty.vue_vue_type_script_setup_true_lang.js.map +1 -1
  108. package/dist/components/combo-box/ComboBoxInput.js.map +1 -1
  109. package/dist/components/combo-box/ComboBoxInput.vue_vue_type_script_setup_true_lang.js +78 -11
  110. package/dist/components/combo-box/ComboBoxInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  111. package/dist/components/combo-box/ComboBoxItem.js.map +1 -1
  112. package/dist/components/combo-box/ComboBoxItem.vue_vue_type_script_setup_true_lang.js +31 -7
  113. package/dist/components/combo-box/ComboBoxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  114. package/dist/components/date-input/DateInput.js.map +1 -1
  115. package/dist/components/date-input/DateInput.vue_vue_type_script_setup_true_lang.js +30 -3
  116. package/dist/components/date-input/DateInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  117. package/dist/components/date-picker/DatePicker.js.map +1 -1
  118. package/dist/components/date-picker/DatePicker.vue_vue_type_script_setup_true_lang.js +140 -10
  119. package/dist/components/date-picker/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  120. package/dist/components/date-range-field/DateRangeField.js.map +1 -1
  121. package/dist/components/date-range-field/DateRangeField.vue_vue_type_script_setup_true_lang.js +24 -3
  122. package/dist/components/date-range-field/DateRangeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  123. package/dist/components/date-range-picker/DateRangePicker.js.map +1 -1
  124. package/dist/components/date-range-picker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +146 -9
  125. package/dist/components/date-range-picker/DateRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  126. package/dist/components/date-time-picker/DateTimePicker.js.map +1 -1
  127. package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +201 -149
  128. package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  129. package/dist/components/date-time-picker/DateTimePickerTimeScroller.js.map +1 -1
  130. package/dist/components/date-time-picker/DateTimePickerTimeScroller.vue_vue_type_script_setup_true_lang.js +49 -54
  131. package/dist/components/date-time-picker/DateTimePickerTimeScroller.vue_vue_type_script_setup_true_lang.js.map +1 -1
  132. package/dist/components/drawer/DrawerClose.js.map +1 -1
  133. package/dist/components/drawer/DrawerClose.vue_vue_type_script_setup_true_lang.js +13 -3
  134. package/dist/components/drawer/DrawerClose.vue_vue_type_script_setup_true_lang.js.map +1 -1
  135. package/dist/components/drawer/DrawerContent.js.map +1 -1
  136. package/dist/components/drawer/DrawerContent.vue_vue_type_script_setup_true_lang.js +68 -8
  137. package/dist/components/drawer/DrawerContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  138. package/dist/components/drawer/DrawerOverlay.js.map +1 -1
  139. package/dist/components/drawer/DrawerOverlay.vue_vue_type_script_setup_true_lang.js +25 -1
  140. package/dist/components/drawer/DrawerOverlay.vue_vue_type_script_setup_true_lang.js.map +1 -1
  141. package/dist/components/drawer/DrawerTitle.js.map +1 -1
  142. package/dist/components/drawer/DrawerTitle.vue_vue_type_script_setup_true_lang.js +27 -3
  143. package/dist/components/drawer/DrawerTitle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  144. package/dist/components/drawer/DrawerTrigger.js.map +1 -1
  145. package/dist/components/drawer/DrawerTrigger.vue_vue_type_script_setup_true_lang.js +11 -7
  146. package/dist/components/drawer/DrawerTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  147. package/dist/components/dropdown/Dropdown.js.map +1 -1
  148. package/dist/components/dropdown/Dropdown.vue_vue_type_script_setup_true_lang.js +15 -5
  149. package/dist/components/dropdown/Dropdown.vue_vue_type_script_setup_true_lang.js.map +1 -1
  150. package/dist/components/dropdown/DropdownCheckboxItem.js.map +1 -1
  151. package/dist/components/dropdown/DropdownCheckboxItem.vue_vue_type_script_setup_true_lang.js +29 -7
  152. package/dist/components/dropdown/DropdownCheckboxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  153. package/dist/components/dropdown/DropdownItem.js.map +1 -1
  154. package/dist/components/dropdown/DropdownItem.vue_vue_type_script_setup_true_lang.js +15 -2
  155. package/dist/components/dropdown/DropdownItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  156. package/dist/components/dropdown/DropdownMenu.js.map +1 -1
  157. package/dist/components/dropdown/DropdownMenu.vue_vue_type_script_setup_true_lang.js +121 -5
  158. package/dist/components/dropdown/DropdownMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  159. package/dist/components/dropdown/DropdownRadioGroup.js.map +1 -1
  160. package/dist/components/dropdown/DropdownRadioGroup.vue_vue_type_script_setup_true_lang.js +17 -4
  161. package/dist/components/dropdown/DropdownRadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  162. package/dist/components/dropdown/DropdownRadioItem.js.map +1 -1
  163. package/dist/components/dropdown/DropdownRadioItem.vue_vue_type_script_setup_true_lang.js +21 -5
  164. package/dist/components/dropdown/DropdownRadioItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  165. package/dist/components/dropdown/DropdownSection.js.map +1 -1
  166. package/dist/components/dropdown/DropdownSection.vue_vue_type_script_setup_true_lang.js +16 -3
  167. package/dist/components/dropdown/DropdownSection.vue_vue_type_script_setup_true_lang.js.map +1 -1
  168. package/dist/components/dropdown/DropdownSubContent.js.map +1 -1
  169. package/dist/components/dropdown/DropdownSubContent.vue_vue_type_script_setup_true_lang.js +125 -5
  170. package/dist/components/dropdown/DropdownSubContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  171. package/dist/components/dropdown/DropdownSubTrigger.js.map +1 -1
  172. package/dist/components/dropdown/DropdownSubTrigger.vue_vue_type_script_setup_true_lang.js +15 -2
  173. package/dist/components/dropdown/DropdownSubTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  174. package/dist/components/dropdown/DropdownTrigger.js.map +1 -1
  175. package/dist/components/dropdown/DropdownTrigger.vue_vue_type_script_setup_true_lang.js +22 -2
  176. package/dist/components/dropdown/DropdownTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  177. package/dist/components/input-otp/InputOTP.js.map +1 -1
  178. package/dist/components/input-otp/InputOTP.vue_vue_type_script_setup_true_lang.js +34 -1
  179. package/dist/components/input-otp/InputOTP.vue_vue_type_script_setup_true_lang.js.map +1 -1
  180. package/dist/components/list-box/ListBox.context.js.map +1 -1
  181. package/dist/components/list-box/ListBox.js.map +1 -1
  182. package/dist/components/list-box/ListBox.vue_vue_type_script_setup_true_lang.js +193 -28
  183. package/dist/components/list-box/ListBox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  184. package/dist/components/list-box/ListBoxItem.js.map +1 -1
  185. package/dist/components/list-box/ListBoxItem.vue_vue_type_script_setup_true_lang.js +45 -9
  186. package/dist/components/list-box/ListBoxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  187. package/dist/components/list-box/ListBoxSection.js.map +1 -1
  188. package/dist/components/list-box/ListBoxSection.vue_vue_type_script_setup_true_lang.js +31 -4
  189. package/dist/components/list-box/ListBoxSection.vue_vue_type_script_setup_true_lang.js.map +1 -1
  190. package/dist/components/modal/ModalClose.js.map +1 -1
  191. package/dist/components/modal/ModalClose.vue_vue_type_script_setup_true_lang.js +7 -1
  192. package/dist/components/modal/ModalClose.vue_vue_type_script_setup_true_lang.js.map +1 -1
  193. package/dist/components/modal/ModalContent.js.map +1 -1
  194. package/dist/components/modal/ModalContent.vue_vue_type_script_setup_true_lang.js +49 -5
  195. package/dist/components/modal/ModalContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  196. package/dist/components/modal/ModalDescription.js.map +1 -1
  197. package/dist/components/modal/ModalDescription.vue_vue_type_script_setup_true_lang.js +10 -1
  198. package/dist/components/modal/ModalDescription.vue_vue_type_script_setup_true_lang.js.map +1 -1
  199. package/dist/components/modal/ModalOverlay.js.map +1 -1
  200. package/dist/components/modal/ModalOverlay.vue_vue_type_script_setup_true_lang.js +23 -2
  201. package/dist/components/modal/ModalOverlay.vue_vue_type_script_setup_true_lang.js.map +1 -1
  202. package/dist/components/modal/ModalTitle.js.map +1 -1
  203. package/dist/components/modal/ModalTitle.vue_vue_type_script_setup_true_lang.js +10 -1
  204. package/dist/components/modal/ModalTitle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  205. package/dist/components/modal/ModalTrigger.js.map +1 -1
  206. package/dist/components/modal/ModalTrigger.vue_vue_type_script_setup_true_lang.js +12 -6
  207. package/dist/components/modal/ModalTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  208. package/dist/components/number-field/NumberField.js.map +1 -1
  209. package/dist/components/number-field/NumberField.vue_vue_type_script_setup_true_lang.js +24 -4
  210. package/dist/components/number-field/NumberField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  211. package/dist/components/pagination/Pagination.js.map +1 -1
  212. package/dist/components/pagination/Pagination.vue_vue_type_script_setup_true_lang.js +7 -1
  213. package/dist/components/pagination/Pagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  214. package/dist/components/pagination/PaginationContent.js.map +1 -1
  215. package/dist/components/pagination/PaginationContent.vue_vue_type_script_setup_true_lang.js +12 -2
  216. package/dist/components/pagination/PaginationContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  217. package/dist/components/pagination/PaginationEllipsis.js.map +1 -1
  218. package/dist/components/pagination/PaginationEllipsis.vue_vue_type_script_setup_true_lang.js +12 -2
  219. package/dist/components/pagination/PaginationEllipsis.vue_vue_type_script_setup_true_lang.js.map +1 -1
  220. package/dist/components/pagination/PaginationFirst.js.map +1 -1
  221. package/dist/components/pagination/PaginationFirst.vue_vue_type_script_setup_true_lang.js +9 -1
  222. package/dist/components/pagination/PaginationFirst.vue_vue_type_script_setup_true_lang.js.map +1 -1
  223. package/dist/components/pagination/PaginationItem.js.map +1 -1
  224. package/dist/components/pagination/PaginationItem.vue_vue_type_script_setup_true_lang.js +11 -2
  225. package/dist/components/pagination/PaginationItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  226. package/dist/components/pagination/PaginationLast.js.map +1 -1
  227. package/dist/components/pagination/PaginationLast.vue_vue_type_script_setup_true_lang.js +9 -1
  228. package/dist/components/pagination/PaginationLast.vue_vue_type_script_setup_true_lang.js.map +1 -1
  229. package/dist/components/pagination/PaginationNext.js.map +1 -1
  230. package/dist/components/pagination/PaginationNext.vue_vue_type_script_setup_true_lang.js +9 -1
  231. package/dist/components/pagination/PaginationNext.vue_vue_type_script_setup_true_lang.js.map +1 -1
  232. package/dist/components/pagination/PaginationPrev.js.map +1 -1
  233. package/dist/components/pagination/PaginationPrev.vue_vue_type_script_setup_true_lang.js +9 -1
  234. package/dist/components/pagination/PaginationPrev.vue_vue_type_script_setup_true_lang.js.map +1 -1
  235. package/dist/components/popover/PopoverContent.js.map +1 -1
  236. package/dist/components/popover/PopoverContent.vue_vue_type_script_setup_true_lang.js +6 -2
  237. package/dist/components/popover/PopoverContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  238. package/dist/components/progress-bar/ProgressBar.js.map +1 -1
  239. package/dist/components/progress-bar/ProgressBar.vue_vue_type_script_setup_true_lang.js +37 -5
  240. package/dist/components/progress-bar/ProgressBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  241. package/dist/components/progress-circle/ProgressCircle.js.map +1 -1
  242. package/dist/components/progress-circle/ProgressCircle.vue_vue_type_script_setup_true_lang.js +21 -0
  243. package/dist/components/progress-circle/ProgressCircle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  244. package/dist/components/radio/Radio.js.map +1 -1
  245. package/dist/components/radio/Radio.vue_vue_type_script_setup_true_lang.js +46 -3
  246. package/dist/components/radio/Radio.vue_vue_type_script_setup_true_lang.js.map +1 -1
  247. package/dist/components/radio/RadioGroup.js.map +1 -1
  248. package/dist/components/radio/RadioGroup.vue_vue_type_script_setup_true_lang.js +24 -0
  249. package/dist/components/radio/RadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  250. package/dist/components/range-calendar/RangeCalendar.js.map +1 -1
  251. package/dist/components/range-calendar/RangeCalendar.vue_vue_type_script_setup_true_lang.js +44 -11
  252. package/dist/components/range-calendar/RangeCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  253. package/dist/components/scroll-area/ScrollArea.js.map +1 -1
  254. package/dist/components/scroll-area/ScrollArea.vue_vue_type_script_setup_true_lang.js +61 -8
  255. package/dist/components/scroll-area/ScrollArea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  256. package/dist/components/select/Select.js.map +1 -1
  257. package/dist/components/select/Select.vue_vue_type_script_setup_true_lang.js +12 -0
  258. package/dist/components/select/Select.vue_vue_type_script_setup_true_lang.js.map +1 -1
  259. package/dist/components/select/SelectContent.js.map +1 -1
  260. package/dist/components/select/SelectContent.vue_vue_type_script_setup_true_lang.js +140 -8
  261. package/dist/components/select/SelectContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  262. package/dist/components/select/SelectItem.js.map +1 -1
  263. package/dist/components/select/SelectItem.vue_vue_type_script_setup_true_lang.js +22 -6
  264. package/dist/components/select/SelectItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  265. package/dist/components/select/SelectTrigger.js.map +1 -1
  266. package/dist/components/select/SelectTrigger.vue_vue_type_script_setup_true_lang.js +23 -2
  267. package/dist/components/select/SelectTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  268. package/dist/components/select/SelectValue.js.map +1 -1
  269. package/dist/components/select/SelectValue.vue_vue_type_script_setup_true_lang.js +14 -2
  270. package/dist/components/select/SelectValue.vue_vue_type_script_setup_true_lang.js.map +1 -1
  271. package/dist/components/slider/Slider.js.map +1 -1
  272. package/dist/components/slider/Slider.vue_vue_type_script_setup_true_lang.js +69 -6
  273. package/dist/components/slider/Slider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  274. package/dist/components/splitter/SplitterGroup.js.map +1 -1
  275. package/dist/components/splitter/SplitterGroup.vue_vue_type_script_setup_true_lang.js +18 -3
  276. package/dist/components/splitter/SplitterGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  277. package/dist/components/splitter/SplitterPanel.js.map +1 -1
  278. package/dist/components/splitter/SplitterPanel.vue_vue_type_script_setup_true_lang.js +20 -5
  279. package/dist/components/splitter/SplitterPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  280. package/dist/components/splitter/SplitterResizeHandle.js.map +1 -1
  281. package/dist/components/splitter/SplitterResizeHandle.vue_vue_type_script_setup_true_lang.js +16 -1
  282. package/dist/components/splitter/SplitterResizeHandle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  283. package/dist/components/switch/Switch.js.map +1 -1
  284. package/dist/components/switch/Switch.vue_vue_type_script_setup_true_lang.js +53 -2
  285. package/dist/components/switch/Switch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  286. package/dist/components/tabs/Tab.js.map +1 -1
  287. package/dist/components/tabs/Tab.vue_vue_type_script_setup_true_lang.js +7 -1
  288. package/dist/components/tabs/Tab.vue_vue_type_script_setup_true_lang.js.map +1 -1
  289. package/dist/components/tabs/TabIndicator.js.map +1 -1
  290. package/dist/components/tabs/TabIndicator.vue_vue_type_script_setup_true_lang.js +12 -2
  291. package/dist/components/tabs/TabIndicator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  292. package/dist/components/tabs/TabList.js.map +1 -1
  293. package/dist/components/tabs/TabList.vue_vue_type_script_setup_true_lang.js +27 -4
  294. package/dist/components/tabs/TabList.vue_vue_type_script_setup_true_lang.js.map +1 -1
  295. package/dist/components/tabs/TabPanel.js.map +1 -1
  296. package/dist/components/tabs/TabPanel.vue_vue_type_script_setup_true_lang.js +7 -1
  297. package/dist/components/tabs/TabPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  298. package/dist/components/tabs/Tabs.js.map +1 -1
  299. package/dist/components/tabs/Tabs.vue_vue_type_script_setup_true_lang.js +13 -1
  300. package/dist/components/tabs/Tabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  301. package/dist/components/time-field/TimeField.js.map +1 -1
  302. package/dist/components/time-field/TimeField.vue_vue_type_script_setup_true_lang.js +22 -1
  303. package/dist/components/time-field/TimeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  304. package/dist/components/toast/Toast.js.map +1 -1
  305. package/dist/components/toast/Toast.vue_vue_type_script_setup_true_lang.js +39 -4
  306. package/dist/components/toast/Toast.vue_vue_type_script_setup_true_lang.js.map +1 -1
  307. package/dist/components/toast/ToastAction.js.map +1 -1
  308. package/dist/components/toast/ToastAction.vue_vue_type_script_setup_true_lang.js +3 -1
  309. package/dist/components/toast/ToastAction.vue_vue_type_script_setup_true_lang.js.map +1 -1
  310. package/dist/components/toast/ToastClose.js.map +1 -1
  311. package/dist/components/toast/ToastClose.vue_vue_type_script_setup_true_lang.js +3 -1
  312. package/dist/components/toast/ToastClose.vue_vue_type_script_setup_true_lang.js.map +1 -1
  313. package/dist/components/toast/ToastDescription.js.map +1 -1
  314. package/dist/components/toast/ToastDescription.vue_vue_type_script_setup_true_lang.js +15 -3
  315. package/dist/components/toast/ToastDescription.vue_vue_type_script_setup_true_lang.js.map +1 -1
  316. package/dist/components/toast/ToastTitle.js.map +1 -1
  317. package/dist/components/toast/ToastTitle.vue_vue_type_script_setup_true_lang.js +15 -3
  318. package/dist/components/toast/ToastTitle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  319. package/dist/components/toast/ToastViewport.js.map +1 -1
  320. package/dist/components/toast/ToastViewport.vue_vue_type_script_setup_true_lang.js +22 -3
  321. package/dist/components/toast/ToastViewport.vue_vue_type_script_setup_true_lang.js.map +1 -1
  322. package/dist/components/toolbar/Toolbar.js.map +1 -1
  323. package/dist/components/toolbar/Toolbar.vue_vue_type_script_setup_true_lang.js +10 -1
  324. package/dist/components/toolbar/Toolbar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  325. package/dist/components/toolbar/ToolbarButton.js.map +1 -1
  326. package/dist/components/toolbar/ToolbarButton.vue_vue_type_script_setup_true_lang.js +11 -2
  327. package/dist/components/toolbar/ToolbarButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  328. package/dist/components/toolbar/ToolbarLink.js.map +1 -1
  329. package/dist/components/toolbar/ToolbarLink.vue_vue_type_script_setup_true_lang.js +11 -2
  330. package/dist/components/toolbar/ToolbarLink.vue_vue_type_script_setup_true_lang.js.map +1 -1
  331. package/dist/components/toolbar/ToolbarSeparator.js.map +1 -1
  332. package/dist/components/toolbar/ToolbarSeparator.vue_vue_type_script_setup_true_lang.js +14 -2
  333. package/dist/components/toolbar/ToolbarSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  334. package/dist/components/toolbar/ToolbarToggleGroup.js.map +1 -1
  335. package/dist/components/toolbar/ToolbarToggleGroup.vue_vue_type_script_setup_true_lang.js +22 -1
  336. package/dist/components/toolbar/ToolbarToggleGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  337. package/dist/components/toolbar/ToolbarToggleItem.js.map +1 -1
  338. package/dist/components/toolbar/ToolbarToggleItem.vue_vue_type_script_setup_true_lang.js +7 -1
  339. package/dist/components/toolbar/ToolbarToggleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  340. package/dist/components/tooltip/Tooltip.js.map +1 -1
  341. package/dist/components/tooltip/Tooltip.vue_vue_type_script_lang.js +20 -0
  342. package/dist/components/tooltip/Tooltip.vue_vue_type_script_lang.js.map +1 -1
  343. package/dist/components/tooltip/TooltipContent.js.map +1 -1
  344. package/dist/components/tooltip/TooltipContent.vue_vue_type_script_setup_true_lang.js +7 -2
  345. package/dist/components/tooltip/TooltipContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  346. package/dist/components/tooltip/TooltipProvider.js.map +1 -1
  347. package/dist/components/tooltip/TooltipProvider.vue_vue_type_script_setup_true_lang.js +24 -3
  348. package/dist/components/tooltip/TooltipProvider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  349. package/dist/components/tree/Tree.js.map +1 -1
  350. package/dist/components/tree/Tree.vue_vue_type_script_setup_true_lang.js +16 -1
  351. package/dist/components/tree/Tree.vue_vue_type_script_setup_true_lang.js.map +1 -1
  352. package/dist/components/tree/TreeItem.js.map +1 -1
  353. package/dist/components/tree/TreeItem.vue_vue_type_script_setup_true_lang.js +7 -1
  354. package/dist/components/tree/TreeItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  355. package/dist/index.d.ts +2419 -365
  356. package/package.json +4 -4
@@ -21,6 +21,7 @@ var DatePicker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
21
21
  type: Boolean,
22
22
  default: false
23
23
  },
24
+ defaultPlaceholder: {},
24
25
  placeholderValue: {},
25
26
  minValue: {},
26
27
  maxValue: {},
@@ -29,6 +30,7 @@ var DatePicker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
29
30
  locale: {},
30
31
  granularity: {},
31
32
  hourCycle: {},
33
+ step: {},
32
34
  label: {},
33
35
  description: {},
34
36
  errorMessage: {},
@@ -63,6 +65,40 @@ var DatePicker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
63
65
  type: Boolean,
64
66
  default: false
65
67
  },
68
+ dir: {},
69
+ id: {},
70
+ required: { type: Boolean },
71
+ pagedNavigation: { type: Boolean },
72
+ weekStartsOn: {},
73
+ weekdayFormat: {},
74
+ fixedWeeks: { type: Boolean },
75
+ numberOfMonths: {},
76
+ preventDeselect: { type: Boolean },
77
+ triggerAs: {},
78
+ triggerAsChild: { type: Boolean },
79
+ portal: {},
80
+ forceMount: { type: Boolean },
81
+ side: {},
82
+ sideOffset: {},
83
+ sideFlip: { type: Boolean },
84
+ align: {},
85
+ alignOffset: {},
86
+ alignFlip: { type: Boolean },
87
+ avoidCollisions: { type: Boolean },
88
+ collisionBoundary: {},
89
+ collisionPadding: {},
90
+ arrowPadding: {},
91
+ hideShiftedArrow: { type: Boolean },
92
+ sticky: {},
93
+ hideWhenDetached: { type: Boolean },
94
+ positionStrategy: {},
95
+ updatePositionStrategy: {},
96
+ disableUpdateOnLayoutShift: { type: Boolean },
97
+ prioritizePosition: { type: Boolean },
98
+ reference: {},
99
+ contentAs: {},
100
+ contentAsChild: { type: Boolean },
101
+ disableOutsidePointerEvents: { type: Boolean },
66
102
  class: { type: [
67
103
  String,
68
104
  Boolean,
@@ -77,12 +113,27 @@ var DatePicker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
77
113
  "open": { type: Boolean },
78
114
  "openModifiers": {}
79
115
  }),
80
- emits: ["update:modelValue", "update:open"],
81
- setup(__props) {
116
+ emits: /* @__PURE__ */ mergeModels([
117
+ "update:placeholder",
118
+ "escape-key-down",
119
+ "pointer-down-outside",
120
+ "focus-outside",
121
+ "interact-outside",
122
+ "open-auto-focus",
123
+ "close-auto-focus"
124
+ ], ["update:modelValue", "update:open"]),
125
+ setup(__props, { emit: __emit }) {
82
126
  const props = __props;
127
+ const emit = __emit;
83
128
  const modelValue = useModel(__props, "modelValue");
84
129
  const openModel = useModel(__props, "open");
85
130
  const slotFns = computed(() => datePickerVariants());
131
+ const rekaModelValue = computed({
132
+ get: () => modelValue.value ?? null,
133
+ set: (val) => {
134
+ modelValue.value = val ?? null;
135
+ }
136
+ });
86
137
  const calendarValue = computed({
87
138
  get: () => modelValue.value ?? void 0,
88
139
  set: (val) => {
@@ -97,12 +148,13 @@ var DatePicker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
97
148
  });
98
149
  return (_ctx, _cache) => {
99
150
  return openBlock(), createBlock(unref(DatePickerRoot), {
100
- modelValue: modelValue.value,
101
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => modelValue.value = $event),
151
+ modelValue: rekaModelValue.value,
152
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => rekaModelValue.value = $event),
102
153
  open: openModel.value,
103
- "onUpdate:open": _cache[4] || (_cache[4] = ($event) => openModel.value = $event),
154
+ "onUpdate:open": _cache[10] || (_cache[10] = ($event) => openModel.value = $event),
104
155
  "default-value": __props.defaultValue,
105
156
  "default-open": __props.defaultOpen,
157
+ "default-placeholder": __props.defaultPlaceholder,
106
158
  "placeholder-value": __props.placeholderValue,
107
159
  "min-value": __props.minValue,
108
160
  "max-value": __props.maxValue,
@@ -111,10 +163,19 @@ var DatePicker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
111
163
  locale: __props.locale,
112
164
  granularity: __props.granularity,
113
165
  "hour-cycle": __props.hourCycle,
166
+ step: __props.step,
114
167
  disabled: __props.isDisabled,
115
168
  readonly: __props.isReadOnly,
116
169
  name: __props.name,
117
- "number-of-months": __props.visibleMonths,
170
+ dir: __props.dir,
171
+ id: __props.id,
172
+ required: __props.required,
173
+ "paged-navigation": __props.pagedNavigation,
174
+ "week-starts-on": __props.weekStartsOn,
175
+ "weekday-format": __props.weekdayFormat,
176
+ "fixed-weeks": __props.fixedWeeks,
177
+ "number-of-months": __props.numberOfMonths ?? __props.visibleMonths,
178
+ "prevent-deselect": __props.preventDeselect,
118
179
  class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base)),
119
180
  "data-slot": "date-picker"
120
181
  }, {
@@ -145,6 +206,8 @@ var DatePicker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
145
206
  }, {
146
207
  endContent: withCtx(() => [createVNode(unref(DatePickerTrigger), {
147
208
  class: normalizeClass(unref(composeClassName)(slotFns.value.trigger(), props.classNames?.trigger)),
209
+ as: __props.triggerAs,
210
+ "as-child": __props.triggerAsChild,
148
211
  "aria-label": "Open date picker",
149
212
  onMousedown: _cache[0] || (_cache[0] = withModifiers(() => {}, ["prevent"]))
150
213
  }, {
@@ -161,7 +224,7 @@ var DatePicker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
161
224
  "stroke-linejoin": "round",
162
225
  "aria-hidden": "true",
163
226
  focusable: "false"
164
- }, [..._cache[5] || (_cache[5] = [
227
+ }, [..._cache[11] || (_cache[11] = [
165
228
  createElementVNode("rect", {
166
229
  x: "3",
167
230
  y: "4",
@@ -190,7 +253,11 @@ var DatePicker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
190
253
  }, null, -1)
191
254
  ])], 2))])]),
192
255
  _: 3
193
- }, 8, ["class"])]),
256
+ }, 8, [
257
+ "class",
258
+ "as",
259
+ "as-child"
260
+ ])]),
194
261
  _: 3
195
262
  }, 8, [
196
263
  "modelValue",
@@ -218,7 +285,35 @@ var DatePicker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
218
285
  ]), createVNode(unref(DatePickerContent), {
219
286
  class: normalizeClass(unref(composeClassName)(slotFns.value.popover(), props.classNames?.popover)),
220
287
  "data-slot": "popover",
221
- "side-offset": 8
288
+ "side-offset": __props.sideOffset ?? 8,
289
+ portal: __props.portal != null ? { to: __props.portal } : void 0,
290
+ "force-mount": __props.forceMount,
291
+ side: __props.side,
292
+ "side-flip": __props.sideFlip,
293
+ align: __props.align,
294
+ "align-offset": __props.alignOffset,
295
+ "align-flip": __props.alignFlip,
296
+ "avoid-collisions": __props.avoidCollisions,
297
+ "collision-boundary": __props.collisionBoundary,
298
+ "collision-padding": __props.collisionPadding,
299
+ "arrow-padding": __props.arrowPadding,
300
+ "hide-shifted-arrow": __props.hideShiftedArrow,
301
+ sticky: __props.sticky,
302
+ "hide-when-detached": __props.hideWhenDetached,
303
+ "position-strategy": __props.positionStrategy,
304
+ "update-position-strategy": __props.updatePositionStrategy,
305
+ "disable-update-on-layout-shift": __props.disableUpdateOnLayoutShift,
306
+ "prioritize-position": __props.prioritizePosition,
307
+ reference: __props.reference,
308
+ as: __props.contentAs,
309
+ "as-child": __props.contentAsChild,
310
+ "disable-outside-pointer-events": __props.disableOutsidePointerEvents,
311
+ onEscapeKeyDown: _cache[3] || (_cache[3] = ($event) => emit("escape-key-down", $event)),
312
+ onPointerDownOutside: _cache[4] || (_cache[4] = ($event) => emit("pointer-down-outside", $event)),
313
+ onFocusOutside: _cache[5] || (_cache[5] = ($event) => emit("focus-outside", $event)),
314
+ onInteractOutside: _cache[6] || (_cache[6] = ($event) => emit("interact-outside", $event)),
315
+ onOpenAutoFocus: _cache[7] || (_cache[7] = ($event) => emit("open-auto-focus", $event)),
316
+ onCloseAutoFocus: _cache[8] || (_cache[8] = ($event) => emit("close-auto-focus", $event))
222
317
  }, {
223
318
  default: withCtx(() => [
224
319
  renderSlot(_ctx.$slots, "calendarTopContent"),
@@ -251,13 +346,39 @@ var DatePicker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
251
346
  renderSlot(_ctx.$slots, "calendarBottomContent")
252
347
  ]),
253
348
  _: 3
254
- }, 8, ["class"])]),
349
+ }, 8, [
350
+ "class",
351
+ "side-offset",
352
+ "portal",
353
+ "force-mount",
354
+ "side",
355
+ "side-flip",
356
+ "align",
357
+ "align-offset",
358
+ "align-flip",
359
+ "avoid-collisions",
360
+ "collision-boundary",
361
+ "collision-padding",
362
+ "arrow-padding",
363
+ "hide-shifted-arrow",
364
+ "sticky",
365
+ "hide-when-detached",
366
+ "position-strategy",
367
+ "update-position-strategy",
368
+ "disable-update-on-layout-shift",
369
+ "prioritize-position",
370
+ "reference",
371
+ "as",
372
+ "as-child",
373
+ "disable-outside-pointer-events"
374
+ ])]),
255
375
  _: 3
256
376
  }, 8, [
257
377
  "modelValue",
258
378
  "open",
259
379
  "default-value",
260
380
  "default-open",
381
+ "default-placeholder",
261
382
  "placeholder-value",
262
383
  "min-value",
263
384
  "max-value",
@@ -266,10 +387,19 @@ var DatePicker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
266
387
  "locale",
267
388
  "granularity",
268
389
  "hour-cycle",
390
+ "step",
269
391
  "disabled",
270
392
  "readonly",
271
393
  "name",
394
+ "dir",
395
+ "id",
396
+ "required",
397
+ "paged-navigation",
398
+ "week-starts-on",
399
+ "weekday-format",
400
+ "fixed-weeks",
272
401
  "number-of-months",
402
+ "prevent-deselect",
273
403
  "class"
274
404
  ]);
275
405
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/date-picker/DatePicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport {\n DatePickerRoot,\n DatePickerTrigger,\n DatePickerContent,\n} from 'reka-ui'\nimport type { DateValue } from '@internationalized/date'\nimport type { CalendarDateTime, ZonedDateTime } from '@internationalized/date'\nimport { datePickerVariants, type DateInputVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport Calendar from '../calendar/Calendar.vue'\nimport DateInput from '../date-input/DateInput.vue'\n\nconst props = withDefaults(defineProps<{\n /* Field appearance — forwarded to DateInput */\n variant?: DateInputVariants['variant']\n size?: DateInputVariants['size']\n color?: DateInputVariants['color']\n labelPlacement?: DateInputVariants['labelPlacement']\n fullWidth?: boolean\n\n defaultValue?: DateValue\n defaultOpen?: boolean\n placeholderValue?: DateValue\n minValue?: DateValue\n maxValue?: DateValue\n isDateUnavailable?: (date: DateValue) => boolean\n isDateDisabled?: (date: DateValue) => boolean\n locale?: string\n granularity?: 'day' | 'hour' | 'minute' | 'second'\n hourCycle?: 12 | 24\n label?: string\n description?: string\n errorMessage?: string\n isInvalid?: boolean\n isDisabled?: boolean\n isReadOnly?: boolean\n isRequired?: boolean\n name?: string\n hideTimeZone?: boolean\n visibleMonths?: number\n pageBehavior?: 'visible' | 'single'\n closeOnSelect?: boolean\n modal?: boolean\n class?: ClassValue\n /** Override classes for individual slots (base, trigger, triggerIndicator, popover) */\n classNames?: Partial<{\n base: ClassValue\n trigger: ClassValue\n triggerIndicator: ClassValue\n popover: ClassValue\n }>\n}>(), {\n variant: 'flat',\n size: 'md',\n color: 'default',\n labelPlacement: 'inside',\n fullWidth: false,\n isInvalid: false,\n isDisabled: false,\n isReadOnly: false,\n isRequired: false,\n hideTimeZone: false,\n closeOnSelect: true,\n modal: false,\n visibleMonths: 1,\n defaultOpen: false,\n})\n\nconst modelValue = defineModel<DateValue | null | undefined>('modelValue')\nconst openModel = defineModel<boolean>('open')\n\nconst slotFns = computed(() => datePickerVariants())\n\n// Sync Calendar's `DateValue` v-model with DatePicker's `DateValue | null` model,\n// and close the popover on selection when closeOnSelect is enabled.\n// When the current value carries a time component (CalendarDateTime / ZonedDateTime),\n// preserve it so clicking a date in the calendar doesn't wipe out the time the user\n// typed into the field segments.\nconst calendarValue = computed<DateValue | undefined>({\n get: () => modelValue.value ?? undefined,\n set: (val) => {\n if (val != null && modelValue.value != null && 'hour' in modelValue.value) {\n const existing = modelValue.value as CalendarDateTime | ZonedDateTime\n modelValue.value = existing.set({ year: val.year, month: val.month, day: val.day })\n } else {\n modelValue.value = val ?? null\n }\n if (props.closeOnSelect && val != null) {\n openModel.value = false\n }\n },\n})\n</script>\n\n<template>\n <DatePickerRoot\n v-model=\"modelValue\"\n v-model:open=\"openModel\"\n :default-value=\"defaultValue\"\n :default-open=\"defaultOpen\"\n :placeholder-value=\"placeholderValue\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :is-date-unavailable=\"isDateUnavailable\"\n :is-date-disabled=\"isDateDisabled\"\n :locale=\"locale\"\n :granularity=\"granularity\"\n :hour-cycle=\"hourCycle\"\n :disabled=\"isDisabled\"\n :readonly=\"isReadOnly\"\n :name=\"name\"\n :number-of-months=\"visibleMonths\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n data-slot=\"date-picker\"\n >\n <!-- DateInput hosts label/helper/field; trigger sits in its endContent slot -->\n <DateInput\n v-model=\"modelValue\"\n :variant=\"variant\"\n :size=\"size\"\n :color=\"color\"\n :label-placement=\"labelPlacement\"\n :full-width=\"fullWidth\"\n :default-value=\"defaultValue\"\n :placeholder-value=\"placeholderValue\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :granularity=\"granularity\"\n :hour-cycle=\"hourCycle\"\n :locale=\"locale\"\n :label=\"label\"\n :description=\"description\"\n :error-message=\"errorMessage\"\n :is-invalid=\"isInvalid\"\n :is-disabled=\"isDisabled\"\n :is-read-only=\"isReadOnly\"\n :is-required=\"isRequired\"\n :name=\"name\"\n :hide-time-zone=\"hideTimeZone\"\n >\n <template #endContent>\n <DatePickerTrigger\n :class=\"composeClassName(slotFns.trigger(), props.classNames?.trigger)\"\n aria-label=\"Open date picker\"\n @mousedown.prevent\n >\n <slot name=\"selectorIcon\">\n <svg\n :class=\"composeClassName(slotFns.triggerIndicator(), props.classNames?.triggerIndicator)\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <rect\n x=\"3\"\n y=\"4\"\n width=\"18\"\n height=\"18\"\n rx=\"2\"\n ry=\"2\"\n />\n <line\n x1=\"16\"\n y1=\"2\"\n x2=\"16\"\n y2=\"6\"\n />\n <line\n x1=\"8\"\n y1=\"2\"\n x2=\"8\"\n y2=\"6\"\n />\n <line\n x1=\"3\"\n y1=\"10\"\n x2=\"21\"\n y2=\"10\"\n />\n </svg>\n </slot>\n </DatePickerTrigger>\n </template>\n </DateInput>\n\n <!-- Popover (portaled + positioned by Reka) -->\n <DatePickerContent\n :class=\"composeClassName(slotFns.popover(), props.classNames?.popover)\"\n data-slot=\"popover\"\n :side-offset=\"8\"\n >\n <slot name=\"calendarTopContent\" />\n\n <Calendar\n v-model=\"calendarValue\"\n :default-value=\"defaultValue\"\n :default-placeholder=\"placeholderValue ?? defaultValue\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :is-date-disabled=\"isDateDisabled\"\n :is-date-unavailable=\"isDateUnavailable\"\n :locale=\"locale\"\n :number-of-months=\"visibleMonths\"\n :readonly=\"isReadOnly\"\n :disabled=\"isDisabled\"\n />\n\n <slot name=\"calendarBottomContent\" />\n </DatePickerContent>\n </DatePickerRoot>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/date-picker/DatePicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport {\n DatePickerRoot,\n DatePickerTrigger,\n DatePickerContent,\n} from 'reka-ui'\nimport type { DateValue } from '@internationalized/date'\nimport type { CalendarDateTime, ZonedDateTime } from '@internationalized/date'\nimport { datePickerVariants, type DateInputVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport Calendar from '../calendar/Calendar.vue'\nimport DateInput from '../date-input/DateInput.vue'\n\nconst props = withDefaults(defineProps<{\n /* Field appearance — forwarded to DateInput */\n variant?: DateInputVariants['variant']\n size?: DateInputVariants['size']\n color?: DateInputVariants['color']\n labelPlacement?: DateInputVariants['labelPlacement']\n fullWidth?: boolean\n\n defaultValue?: DateValue\n defaultOpen?: boolean\n defaultPlaceholder?: DateValue\n placeholderValue?: DateValue\n minValue?: DateValue\n maxValue?: DateValue\n isDateUnavailable?: (date: DateValue) => boolean\n isDateDisabled?: (date: DateValue) => boolean\n locale?: string\n granularity?: 'day' | 'hour' | 'minute' | 'second'\n hourCycle?: 12 | 24\n /** Steps for segment keyboard navigation. */\n step?: Partial<Record<'hour' | 'minute' | 'second' | 'millisecond', number>>\n label?: string\n description?: string\n errorMessage?: string\n isInvalid?: boolean\n isDisabled?: boolean\n isReadOnly?: boolean\n isRequired?: boolean\n name?: string\n hideTimeZone?: boolean\n visibleMonths?: number\n pageBehavior?: 'visible' | 'single'\n closeOnSelect?: boolean\n modal?: boolean\n /** Text direction. */\n dir?: 'ltr' | 'rtl'\n /** HTML id attribute forwarded to the root DatePickerRoot element. */\n id?: string\n /** Marks the field as required. */\n required?: boolean\n /** Use paged navigation (advance by numberOfMonths). */\n pagedNavigation?: boolean\n /** Day the week starts on. */\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6\n /** Format for weekday header cells. */\n weekdayFormat?: 'narrow' | 'short' | 'long'\n /** Always show 6 weeks per month. */\n fixedWeeks?: boolean\n /** Number of months shown in the calendar. */\n numberOfMonths?: number\n /** Prevent deselecting a selected date. */\n preventDeselect?: boolean\n /** Render trigger as a different element. */\n triggerAs?: string\n /** Render trigger child as root element. */\n triggerAsChild?: boolean\n /** Portal target for the content. */\n portal?: string | HTMLElement\n /** Force the content to stay mounted. */\n forceMount?: boolean\n /** Side of the anchor the content appears on. */\n side?: 'top' | 'right' | 'bottom' | 'left'\n /** Distance in px from the anchor. */\n sideOffset?: number\n /** Allow flipping to opposite side. */\n sideFlip?: boolean\n /** Alignment of the content relative to the anchor. */\n align?: 'start' | 'center' | 'end'\n /** Offset along the align axis. */\n alignOffset?: number\n /** Allow flipping alignment. */\n alignFlip?: boolean\n /** Avoid collisions with the viewport. */\n avoidCollisions?: boolean\n /** Elements to use as collision boundaries. */\n collisionBoundary?: Element | null | Array<Element | null>\n /** Padding for collision detection. */\n collisionPadding?: number | Partial<Record<'top' | 'right' | 'bottom' | 'left', number>>\n /** Padding between arrow and content edge. */\n arrowPadding?: number\n /** Hide the arrow when it is shifted. */\n hideShiftedArrow?: boolean\n /** Sticky behavior when overflowing. */\n sticky?: 'partial' | 'always'\n /** Hide content when anchor is detached. */\n hideWhenDetached?: boolean\n /** CSS position strategy. */\n positionStrategy?: 'fixed' | 'absolute'\n /** When to recalculate position. */\n updatePositionStrategy?: 'always' | 'optimized'\n /** Disable position update on layout shift. */\n disableUpdateOnLayoutShift?: boolean\n /** Prioritize keeping content in viewport. */\n prioritizePosition?: boolean\n /** Virtual reference element for positioning. */\n reference?: object | null\n /** Render content as a different element. */\n contentAs?: string\n /** Render content child as root element. */\n contentAsChild?: boolean\n /** Disable pointer events outside the content. */\n disableOutsidePointerEvents?: boolean\n class?: ClassValue\n /** Override classes for individual slots (base, trigger, triggerIndicator, popover) */\n classNames?: Partial<{\n base: ClassValue\n trigger: ClassValue\n triggerIndicator: ClassValue\n popover: ClassValue\n }>\n}>(), {\n variant: 'flat',\n size: 'md',\n color: 'default',\n labelPlacement: 'inside',\n fullWidth: false,\n isInvalid: false,\n isDisabled: false,\n isReadOnly: false,\n isRequired: false,\n hideTimeZone: false,\n closeOnSelect: true,\n modal: false,\n visibleMonths: 1,\n defaultOpen: false,\n})\n\nconst emit = defineEmits<{\n 'update:placeholder': [value: DateValue | undefined]\n 'escape-key-down': [event: KeyboardEvent]\n 'pointer-down-outside': [event: Event]\n 'focus-outside': [event: Event]\n 'interact-outside': [event: Event]\n 'open-auto-focus': [event: Event]\n 'close-auto-focus': [event: Event]\n}>()\n\nconst modelValue = defineModel<DateValue | null | undefined>('modelValue')\nconst openModel = defineModel<boolean>('open')\n\nconst slotFns = computed(() => datePickerVariants())\n\n// Reka treats `undefined` as \"uncontrolled mode\" — always pass null (controlled + empty) instead.\nconst rekaModelValue = computed<DateValue | null>({\n get: () => modelValue.value ?? null,\n set: (val: DateValue | null) => { modelValue.value = val ?? null },\n})\n\n// Sync Calendar's `DateValue` v-model with DatePicker's `DateValue | null` model,\n// and close the popover on selection when closeOnSelect is enabled.\n// When the current value carries a time component (CalendarDateTime / ZonedDateTime),\n// preserve it so clicking a date in the calendar doesn't wipe out the time the user\n// typed into the field segments.\nconst calendarValue = computed<DateValue | undefined>({\n get: () => modelValue.value ?? undefined,\n set: (val) => {\n if (val != null && modelValue.value != null && 'hour' in modelValue.value) {\n const existing = modelValue.value as CalendarDateTime | ZonedDateTime\n modelValue.value = existing.set({ year: val.year, month: val.month, day: val.day })\n } else {\n modelValue.value = val ?? null\n }\n if (props.closeOnSelect && val != null) {\n openModel.value = false\n }\n },\n})\n</script>\n\n<template>\n <DatePickerRoot\n v-model=\"rekaModelValue\"\n v-model:open=\"openModel\"\n :default-value=\"defaultValue\"\n :default-open=\"defaultOpen\"\n :default-placeholder=\"defaultPlaceholder\"\n :placeholder-value=\"placeholderValue\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :is-date-unavailable=\"isDateUnavailable\"\n :is-date-disabled=\"isDateDisabled\"\n :locale=\"locale\"\n :granularity=\"granularity\"\n :hour-cycle=\"hourCycle\"\n :step=\"step\"\n :disabled=\"isDisabled\"\n :readonly=\"isReadOnly\"\n :name=\"name\"\n :dir=\"dir\"\n :id=\"id\"\n :required=\"required\"\n :paged-navigation=\"pagedNavigation\"\n :week-starts-on=\"weekStartsOn\"\n :weekday-format=\"weekdayFormat\"\n :fixed-weeks=\"fixedWeeks\"\n :number-of-months=\"numberOfMonths ?? visibleMonths\"\n :prevent-deselect=\"preventDeselect\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n data-slot=\"date-picker\"\n >\n <!-- DateInput hosts label/helper/field; trigger sits in its endContent slot -->\n <DateInput\n v-model=\"modelValue\"\n :variant=\"variant\"\n :size=\"size\"\n :color=\"color\"\n :label-placement=\"labelPlacement\"\n :full-width=\"fullWidth\"\n :default-value=\"defaultValue\"\n :placeholder-value=\"placeholderValue\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :granularity=\"granularity\"\n :hour-cycle=\"hourCycle\"\n :locale=\"locale\"\n :label=\"label\"\n :description=\"description\"\n :error-message=\"errorMessage\"\n :is-invalid=\"isInvalid\"\n :is-disabled=\"isDisabled\"\n :is-read-only=\"isReadOnly\"\n :is-required=\"isRequired\"\n :name=\"name\"\n :hide-time-zone=\"hideTimeZone\"\n >\n <template #endContent>\n <DatePickerTrigger\n :class=\"composeClassName(slotFns.trigger(), props.classNames?.trigger)\"\n :as=\"triggerAs\"\n :as-child=\"triggerAsChild\"\n aria-label=\"Open date picker\"\n @mousedown.prevent\n >\n <slot name=\"selectorIcon\">\n <svg\n :class=\"composeClassName(slotFns.triggerIndicator(), props.classNames?.triggerIndicator)\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <rect\n x=\"3\"\n y=\"4\"\n width=\"18\"\n height=\"18\"\n rx=\"2\"\n ry=\"2\"\n />\n <line\n x1=\"16\"\n y1=\"2\"\n x2=\"16\"\n y2=\"6\"\n />\n <line\n x1=\"8\"\n y1=\"2\"\n x2=\"8\"\n y2=\"6\"\n />\n <line\n x1=\"3\"\n y1=\"10\"\n x2=\"21\"\n y2=\"10\"\n />\n </svg>\n </slot>\n </DatePickerTrigger>\n </template>\n </DateInput>\n\n <!-- Popover (portaled + positioned by Reka) -->\n <DatePickerContent\n :class=\"composeClassName(slotFns.popover(), props.classNames?.popover)\"\n data-slot=\"popover\"\n :side-offset=\"sideOffset ?? 8\"\n :portal=\"portal != null ? { to: portal } : undefined\"\n :force-mount=\"forceMount\"\n :side=\"side\"\n :side-flip=\"sideFlip\"\n :align=\"align\"\n :align-offset=\"alignOffset\"\n :align-flip=\"alignFlip\"\n :avoid-collisions=\"avoidCollisions\"\n :collision-boundary=\"collisionBoundary\"\n :collision-padding=\"collisionPadding\"\n :arrow-padding=\"arrowPadding\"\n :hide-shifted-arrow=\"hideShiftedArrow\"\n :sticky=\"sticky\"\n :hide-when-detached=\"hideWhenDetached\"\n :position-strategy=\"positionStrategy\"\n :update-position-strategy=\"updatePositionStrategy\"\n :disable-update-on-layout-shift=\"disableUpdateOnLayoutShift\"\n :prioritize-position=\"prioritizePosition\"\n :reference=\"(reference as any)\"\n :as=\"contentAs\"\n :as-child=\"contentAsChild\"\n :disable-outside-pointer-events=\"disableOutsidePointerEvents\"\n @escape-key-down=\"emit('escape-key-down', $event)\"\n @pointer-down-outside=\"emit('pointer-down-outside', $event)\"\n @focus-outside=\"emit('focus-outside', $event)\"\n @interact-outside=\"emit('interact-outside', $event)\"\n @open-auto-focus=\"emit('open-auto-focus', $event)\"\n @close-auto-focus=\"emit('close-auto-focus', $event)\"\n >\n <slot name=\"calendarTopContent\" />\n\n <Calendar\n v-model=\"calendarValue\"\n :default-value=\"defaultValue\"\n :default-placeholder=\"placeholderValue ?? defaultValue\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :is-date-disabled=\"isDateDisabled\"\n :is-date-unavailable=\"isDateUnavailable\"\n :locale=\"locale\"\n :number-of-months=\"visibleMonths\"\n :readonly=\"isReadOnly\"\n :disabled=\"isDisabled\"\n />\n\n <slot name=\"calendarBottomContent\" />\n </DatePickerContent>\n </DatePickerRoot>\n</template>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeField.js","names":[],"sources":["../../../src/components/date-range-field/DateRangeField.vue"],"sourcesContent":["<!--\n DateRangeField — form-field mirror of DateInput.vue for a date range.\n\n Same prop surface, data-attribute contract, floating-label behavior,\n start/end content slots, and a11y wiring as DateInput. Renders TWO\n segment lists (start + end) separated by a visible \"–\" glyph.\n-->\n<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, useAttrs, useId, watch } from 'vue'\nimport { DateRangeFieldRoot, DateRangeFieldInput } from 'reka-ui'\nimport type { DateValue } from '@internationalized/date'\nimport { dateRangeFieldVariants, type DateRangeFieldVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<Props>(), {\n variant: 'flat',\n size: 'md',\n color: 'default',\n labelPlacement: 'inside',\n fullWidth: false,\n isInvalid: false,\n isDisabled: false,\n isReadOnly: false,\n isRequired: false,\n hideTimeZone: false,\n})\n\nconst modelValue = defineModel<DateRange | null | undefined>()\n\nexport interface DateRange {\n start: DateValue\n end: DateValue\n}\n\ntype Props = {\n /** Visual style of the field. @default 'flat' */\n variant?: DateRangeFieldVariants['variant']\n /** Field height. @default 'md' */\n size?: DateRangeFieldVariants['size']\n /** Accent color applied to focus ring + floating label. @default 'default' */\n color?: DateRangeFieldVariants['color']\n /** Label placement relative to the field. @default 'inside' */\n labelPlacement?: DateRangeFieldVariants['labelPlacement']\n /** Stretches root wrapper to 100% width. @default false */\n fullWidth?: boolean\n /** Marks the field as invalid. @default false */\n isInvalid?: boolean\n /** Disables the field. @default false */\n isDisabled?: boolean\n /** Makes the field read-only. @default false */\n isReadOnly?: boolean\n /** Adds a required asterisk next to the label. @default false */\n isRequired?: boolean\n /** Field label. When omitted, floating-label behavior is skipped. */\n label?: string\n /** Helper text below the field. Suppressed when isInvalid && errorMessage is shown. */\n description?: string\n /** Error text below the field. Only rendered when isInvalid is true. */\n errorMessage?: string\n /** Extra classes merged onto the root wrapper. */\n class?: ClassValue\n /** Per-slot class overrides. Merged with tailwind-variants styles. */\n classNames?: Partial<{\n base: ClassValue\n label: ClassValue\n mainWrapper: ClassValue\n inputWrapper: ClassValue\n startContent: ClassValue\n segmentList: ClassValue\n segment: ClassValue\n separator: ClassValue\n endContent: ClassValue\n helperWrapper: ClassValue\n errorMessage: ClassValue\n description: ClassValue\n }>\n\n /* ─── DateRangeField-specific ─────────────────────────────────── */\n defaultValue?: DateRange\n placeholderValue?: DateValue\n minValue?: DateValue\n maxValue?: DateValue\n granularity?: 'day' | 'hour' | 'minute' | 'second'\n hourCycle?: 12 | 24\n locale?: string\n name?: string\n hideTimeZone?: boolean\n}\n\nconst attrs = useAttrs()\nconst generatedId = useId()\nconst fieldId = computed(() => (attrs.id as string | undefined) ?? `${generatedId}-field`)\nconst labelId = computed(() => `${generatedId}-label`)\nconst descriptionId = computed(() => `${generatedId}-description`)\nconst errorMessageId = computed(() => `${generatedId}-error`)\n\nconst hasLabel = computed(() => !!props.label)\nconst isFilled = computed(() => modelValue.value?.start != null || modelValue.value?.end != null)\n\nconst showError = computed(() => props.isInvalid && !!props.errorMessage)\nconst showDescription = computed(() => !!props.description && !showError.value)\nconst hasHelper = computed(() => showError.value || showDescription.value)\nconst ariaDescribedBy = computed(() => {\n if (showError.value) return errorMessageId.value\n if (showDescription.value) return descriptionId.value\n return undefined\n})\n\nconst fieldRef = ref<HTMLElement | null>(null)\nconst fieldEl = computed<HTMLElement | null>(() => {\n const r = fieldRef.value as unknown as { $el?: HTMLElement } | HTMLElement | null\n if (!r) return null\n if (r instanceof HTMLElement) return r\n return r.$el ?? null\n})\n\n// `isFocused` tracks focus on a DATE SEGMENT specifically — not any descendant.\nconst isFocused = ref(false)\nfunction updateSegmentFocus() {\n const root = fieldEl.value\n if (!root) { isFocused.value = false; return }\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n isFocused.value = !!active\n && root.contains(active)\n && active.hasAttribute('data-reka-date-field-segment')\n}\nfunction onDocFocusIn() { updateSegmentFocus() }\nfunction onDocFocusOut() { queueMicrotask(updateSegmentFocus) }\n\n// Guard against focus snap-back after an outside click.\nlet suppressSegmentFocusUntil = 0\nfunction onDocPointerDown(e: PointerEvent) {\n const root = fieldEl.value\n if (!root) return\n const target = e.target as Node | null\n if (!target || root.contains(target)) return\n suppressSegmentFocusUntil = performance.now() + 250\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n if (active && root.contains(active) && active.hasAttribute('data-reka-date-field-segment')) {\n active.blur()\n }\n}\nfunction onDocFocusInGuard(e: FocusEvent) {\n if (performance.now() >= suppressSegmentFocusUntil) return\n const root = fieldEl.value\n if (!root) return\n const t = e.target as HTMLElement | null\n if (t && root.contains(t) && t.hasAttribute?.('data-reka-date-field-segment')) {\n t.blur()\n }\n}\n\nonMounted(() => {\n document.addEventListener('focusin', onDocFocusIn)\n document.addEventListener('focusout', onDocFocusOut)\n document.addEventListener('pointerdown', onDocPointerDown, true)\n document.addEventListener('focusin', onDocFocusInGuard, true)\n})\nonBeforeUnmount(() => {\n document.removeEventListener('focusin', onDocFocusIn)\n document.removeEventListener('focusout', onDocFocusOut)\n document.removeEventListener('pointerdown', onDocPointerDown, true)\n document.removeEventListener('focusin', onDocFocusInGuard, true)\n})\n\n// Track data-filled by sniffing rendered segments across BOTH segment lists.\nconst segmentsFilled = ref(false)\nfunction recomputeFilled() {\n const root = fieldEl.value\n if (!root || typeof root.querySelectorAll !== 'function') {\n segmentsFilled.value = false\n return\n }\n const segs = root.querySelectorAll('[data-reka-date-field-segment]:not([data-reka-date-field-segment=\"literal\"])')\n let anyFilled = false\n segs.forEach((el) => {\n if ((el as HTMLElement).dataset.placeholder === 'false') anyFilled = true\n })\n segmentsFilled.value = anyFilled\n}\nwatch([modelValue, () => props.defaultValue, () => props.granularity], () => {\n queueMicrotask(recomputeFilled)\n}, { immediate: true })\n\nconst effectiveFilled = computed(() => isFilled.value || segmentsFilled.value)\n\nfunction handleFieldMousedown(e: MouseEvent) {\n const target = e.target as HTMLElement | null\n if (!target) return\n if (target.closest('[data-reka-date-field-segment]')) return\n if (target.closest('[data-slot=\"start-content\"]')) return\n if (target.closest('[data-slot=\"end-content\"]')) return\n if (target.closest('button, [role=\"button\"]')) return\n const root = fieldEl.value\n if (!root) return\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n if (active && root.contains(active) && active.hasAttribute('data-reka-date-field-segment')) {\n return\n }\n const first = root.querySelector<HTMLElement>(\n '[data-reka-date-field-segment]:not([data-reka-date-field-segment=\"literal\"])',\n )\n if (first) {\n e.preventDefault()\n first.focus()\n }\n}\n\nconst slotFns = computed(() =>\n dateRangeFieldVariants({\n variant: props.variant,\n size: props.size,\n color: props.color,\n fullWidth: props.fullWidth,\n isInvalid: props.isInvalid,\n isDisabled: props.isDisabled,\n isReadonly: props.isReadOnly,\n hasLabel: hasLabel.value,\n labelPlacement: props.labelPlacement,\n }),\n)\n\nconst showOutsideLabel = computed(\n () => hasLabel.value && props.labelPlacement !== 'inside',\n)\nconst showInsideLabel = computed(\n () => hasLabel.value && props.labelPlacement === 'inside',\n)\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :data-invalid=\"isInvalid || undefined\"\n :data-disabled=\"isDisabled || undefined\"\n :data-readonly=\"isReadOnly || undefined\"\n :data-required=\"isRequired || undefined\"\n :data-has-label=\"hasLabel || undefined\"\n :data-has-helper=\"hasHelper || undefined\"\n data-slot=\"date-range-field\"\n >\n <label\n v-if=\"showOutsideLabel\"\n :id=\"labelId\"\n :for=\"fieldId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n\n <div :class=\"composeClassName(slotFns.mainWrapper(), props.classNames?.mainWrapper)\">\n <DateRangeFieldRoot\n :id=\"fieldId\"\n ref=\"fieldRef\"\n v-model=\"modelValue\"\n :default-value=\"defaultValue\"\n :placeholder=\"placeholderValue\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :granularity=\"granularity\"\n :hour-cycle=\"hourCycle\"\n :locale=\"locale\"\n :disabled=\"isDisabled\"\n :readonly=\"isReadOnly\"\n :name=\"name\"\n :hide-time-zone=\"hideTimeZone\"\n :aria-labelledby=\"hasLabel ? labelId : undefined\"\n :aria-describedby=\"ariaDescribedBy\"\n :aria-required=\"isRequired || undefined\"\n :aria-invalid=\"isInvalid || undefined\"\n :class=\"composeClassName(slotFns.inputWrapper(), props.classNames?.inputWrapper)\"\n :data-filled=\"hasLabel ? (effectiveFilled || undefined) : undefined\"\n :data-focused=\"isFocused || undefined\"\n :data-invalid=\"isInvalid || undefined\"\n :data-disabled=\"isDisabled || undefined\"\n :data-readonly=\"isReadOnly || undefined\"\n @mousedown=\"handleFieldMousedown\"\n >\n <template #default=\"{ segments }\">\n <label\n v-if=\"showInsideLabel\"\n :id=\"labelId\"\n :for=\"fieldId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n data-slot=\"start-content\"\n >\n <slot name=\"startContent\" />\n </span>\n\n <div\n :class=\"composeClassName(slotFns.segmentList(), props.classNames?.segmentList)\"\n data-slot=\"segment-list\"\n data-type=\"start\"\n >\n <template\n v-for=\"(segment, _i) in segments.start\"\n :key=\"`start-${_i}`\"\n >\n <DateRangeFieldInput\n :part=\"segment.part\"\n type=\"start\"\n :class=\"composeClassName(slotFns.segment(), props.classNames?.segment)\"\n >\n {{ segment.value }}\n </DateRangeFieldInput>\n </template>\n </div>\n\n <span\n :class=\"composeClassName(slotFns.separator(), props.classNames?.separator)\"\n aria-hidden=\"true\"\n data-slot=\"separator\"\n >–</span>\n\n <div\n :class=\"composeClassName(slotFns.segmentList(), props.classNames?.segmentList)\"\n data-slot=\"segment-list\"\n data-type=\"end\"\n >\n <template\n v-for=\"(segment, _i) in segments.end\"\n :key=\"`end-${_i}`\"\n >\n <DateRangeFieldInput\n :part=\"segment.part\"\n type=\"end\"\n :class=\"composeClassName(slotFns.segment(), props.classNames?.segment)\"\n >\n {{ segment.value }}\n </DateRangeFieldInput>\n </template>\n </div>\n\n <span\n v-if=\"$slots.endContent\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n data-slot=\"end-content\"\n >\n <slot name=\"endContent\" />\n </span>\n </template>\n </DateRangeFieldRoot>\n\n <div\n v-if=\"hasHelper\"\n :class=\"composeClassName(slotFns.helperWrapper(), props.classNames?.helperWrapper)\"\n >\n <div\n v-if=\"showError\"\n :id=\"errorMessageId\"\n :class=\"composeClassName(slotFns.errorMessage(), props.classNames?.errorMessage)\"\n role=\"alert\"\n >\n {{ errorMessage }}\n </div>\n <div\n v-else-if=\"showDescription\"\n :id=\"descriptionId\"\n :class=\"composeClassName(slotFns.description(), props.classNames?.description)\"\n >\n {{ description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"DateRangeField.js","names":[],"sources":["../../../src/components/date-range-field/DateRangeField.vue"],"sourcesContent":["<!--\n DateRangeField — form-field mirror of DateInput.vue for a date range.\n\n Same prop surface, data-attribute contract, floating-label behavior,\n start/end content slots, and a11y wiring as DateInput. Renders TWO\n segment lists (start + end) separated by a visible \"–\" glyph.\n-->\n<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, useAttrs, useId, watch } from 'vue'\nimport { DateRangeFieldRoot, DateRangeFieldInput } from 'reka-ui'\nimport type { DateValue } from '@internationalized/date'\nimport { dateRangeFieldVariants, type DateRangeFieldVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<Props>(), {\n variant: 'flat',\n size: 'md',\n color: 'default',\n labelPlacement: 'inside',\n fullWidth: false,\n isInvalid: false,\n isDisabled: false,\n isReadOnly: false,\n isRequired: false,\n hideTimeZone: false,\n})\n\nconst modelValue = defineModel<DateRange | null | undefined>()\n\nexport interface DateRange {\n start: DateValue\n end: DateValue\n}\n\ntype Props = {\n /** Visual style of the field. @default 'flat' */\n variant?: DateRangeFieldVariants['variant']\n /** Field height. @default 'md' */\n size?: DateRangeFieldVariants['size']\n /** Accent color applied to focus ring + floating label. @default 'default' */\n color?: DateRangeFieldVariants['color']\n /** Label placement relative to the field. @default 'inside' */\n labelPlacement?: DateRangeFieldVariants['labelPlacement']\n /** Stretches root wrapper to 100% width. @default false */\n fullWidth?: boolean\n /** Marks the field as invalid. @default false */\n isInvalid?: boolean\n /** Disables the field. @default false */\n isDisabled?: boolean\n /** Makes the field read-only. @default false */\n isReadOnly?: boolean\n /** Adds a required asterisk next to the label. @default false */\n isRequired?: boolean\n /** Field label. When omitted, floating-label behavior is skipped. */\n label?: string\n /** Helper text below the field. Suppressed when isInvalid && errorMessage is shown. */\n description?: string\n /** Error text below the field. Only rendered when isInvalid is true. */\n errorMessage?: string\n /** Extra classes merged onto the root wrapper. */\n class?: ClassValue\n /** Per-slot class overrides. Merged with tailwind-variants styles. */\n classNames?: Partial<{\n base: ClassValue\n label: ClassValue\n mainWrapper: ClassValue\n inputWrapper: ClassValue\n startContent: ClassValue\n segmentList: ClassValue\n segment: ClassValue\n separator: ClassValue\n endContent: ClassValue\n helperWrapper: ClassValue\n errorMessage: ClassValue\n description: ClassValue\n }>\n\n /* ─── DateRangeField-specific ─────────────────────────────────── */\n defaultValue?: DateRange\n defaultPlaceholder?: DateValue\n placeholderValue?: DateValue\n minValue?: DateValue\n maxValue?: DateValue\n granularity?: 'day' | 'hour' | 'minute' | 'second'\n hourCycle?: 12 | 24\n /** Steps for segment keyboard navigation. */\n step?: Partial<Record<'hour' | 'minute' | 'second' | 'millisecond', number>>\n hideTimeZone?: boolean\n isDateUnavailable?: (date: DateValue) => boolean\n locale?: string\n name?: string\n /** Marks the field as required for form submission. */\n required?: boolean\n /** Text direction for the field. */\n dir?: 'ltr' | 'rtl'\n /** Render root as a different element or component. */\n as?: string\n /** Render root child as root element. */\n asChild?: boolean\n}\n\nconst attrs = useAttrs()\nconst generatedId = useId()\nconst fieldId = computed(() => (attrs.id as string | undefined) ?? `${generatedId}-field`)\nconst labelId = computed(() => `${generatedId}-label`)\nconst descriptionId = computed(() => `${generatedId}-description`)\nconst errorMessageId = computed(() => `${generatedId}-error`)\n\nconst hasLabel = computed(() => !!props.label)\nconst isFilled = computed(() => modelValue.value?.start != null || modelValue.value?.end != null)\n\nconst showError = computed(() => props.isInvalid && !!props.errorMessage)\nconst showDescription = computed(() => !!props.description && !showError.value)\nconst hasHelper = computed(() => showError.value || showDescription.value)\nconst ariaDescribedBy = computed(() => {\n if (showError.value) return errorMessageId.value\n if (showDescription.value) return descriptionId.value\n return undefined\n})\n\nconst fieldRef = ref<HTMLElement | null>(null)\nconst fieldEl = computed<HTMLElement | null>(() => {\n const r = fieldRef.value as unknown as { $el?: HTMLElement } | HTMLElement | null\n if (!r) return null\n if (r instanceof HTMLElement) return r\n return r.$el ?? null\n})\n\n// `isFocused` tracks focus on a DATE SEGMENT specifically — not any descendant.\nconst isFocused = ref(false)\nfunction updateSegmentFocus() {\n const root = fieldEl.value\n if (!root) { isFocused.value = false; return }\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n isFocused.value = !!active\n && root.contains(active)\n && active.hasAttribute('data-reka-date-field-segment')\n}\nfunction onDocFocusIn() { updateSegmentFocus() }\nfunction onDocFocusOut() { queueMicrotask(updateSegmentFocus) }\n\n// Guard against focus snap-back after an outside click.\nlet suppressSegmentFocusUntil = 0\nfunction onDocPointerDown(e: PointerEvent) {\n const root = fieldEl.value\n if (!root) return\n const target = e.target as Node | null\n if (!target || root.contains(target)) return\n suppressSegmentFocusUntil = performance.now() + 250\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n if (active && root.contains(active) && active.hasAttribute('data-reka-date-field-segment')) {\n active.blur()\n }\n}\nfunction onDocFocusInGuard(e: FocusEvent) {\n if (performance.now() >= suppressSegmentFocusUntil) return\n const root = fieldEl.value\n if (!root) return\n const t = e.target as HTMLElement | null\n if (t && root.contains(t) && t.hasAttribute?.('data-reka-date-field-segment')) {\n t.blur()\n }\n}\n\nonMounted(() => {\n document.addEventListener('focusin', onDocFocusIn)\n document.addEventListener('focusout', onDocFocusOut)\n document.addEventListener('pointerdown', onDocPointerDown, true)\n document.addEventListener('focusin', onDocFocusInGuard, true)\n})\nonBeforeUnmount(() => {\n document.removeEventListener('focusin', onDocFocusIn)\n document.removeEventListener('focusout', onDocFocusOut)\n document.removeEventListener('pointerdown', onDocPointerDown, true)\n document.removeEventListener('focusin', onDocFocusInGuard, true)\n})\n\n// Track data-filled by sniffing rendered segments across BOTH segment lists.\nconst segmentsFilled = ref(false)\nfunction recomputeFilled() {\n const root = fieldEl.value\n if (!root || typeof root.querySelectorAll !== 'function') {\n segmentsFilled.value = false\n return\n }\n const segs = root.querySelectorAll('[data-reka-date-field-segment]:not([data-reka-date-field-segment=\"literal\"])')\n let anyFilled = false\n segs.forEach((el) => {\n if ((el as HTMLElement).dataset.placeholder === 'false') anyFilled = true\n })\n segmentsFilled.value = anyFilled\n}\nwatch([modelValue, () => props.defaultValue, () => props.granularity], () => {\n queueMicrotask(recomputeFilled)\n}, { immediate: true })\n\nconst effectiveFilled = computed(() => isFilled.value || segmentsFilled.value)\n\nfunction handleFieldMousedown(e: MouseEvent) {\n const target = e.target as HTMLElement | null\n if (!target) return\n if (target.closest('[data-reka-date-field-segment]')) return\n if (target.closest('[data-slot=\"start-content\"]')) return\n if (target.closest('[data-slot=\"end-content\"]')) return\n if (target.closest('button, [role=\"button\"]')) return\n const root = fieldEl.value\n if (!root) return\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n if (active && root.contains(active) && active.hasAttribute('data-reka-date-field-segment')) {\n return\n }\n const first = root.querySelector<HTMLElement>(\n '[data-reka-date-field-segment]:not([data-reka-date-field-segment=\"literal\"])',\n )\n if (first) {\n e.preventDefault()\n first.focus()\n }\n}\n\nconst slotFns = computed(() =>\n dateRangeFieldVariants({\n variant: props.variant,\n size: props.size,\n color: props.color,\n fullWidth: props.fullWidth,\n isInvalid: props.isInvalid,\n isDisabled: props.isDisabled,\n isReadonly: props.isReadOnly,\n hasLabel: hasLabel.value,\n labelPlacement: props.labelPlacement,\n }),\n)\n\nconst showOutsideLabel = computed(\n () => hasLabel.value && props.labelPlacement !== 'inside',\n)\nconst showInsideLabel = computed(\n () => hasLabel.value && props.labelPlacement === 'inside',\n)\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :data-invalid=\"isInvalid || undefined\"\n :data-disabled=\"isDisabled || undefined\"\n :data-readonly=\"isReadOnly || undefined\"\n :data-required=\"isRequired || undefined\"\n :data-has-label=\"hasLabel || undefined\"\n :data-has-helper=\"hasHelper || undefined\"\n data-slot=\"date-range-field\"\n >\n <label\n v-if=\"showOutsideLabel\"\n :id=\"labelId\"\n :for=\"fieldId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n\n <div :class=\"composeClassName(slotFns.mainWrapper(), props.classNames?.mainWrapper)\">\n <DateRangeFieldRoot\n :id=\"fieldId\"\n ref=\"fieldRef\"\n v-model=\"modelValue\"\n :default-value=\"defaultValue\"\n :default-placeholder=\"defaultPlaceholder\"\n :placeholder=\"placeholderValue\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :granularity=\"granularity\"\n :hour-cycle=\"hourCycle\"\n :step=\"step\"\n :locale=\"locale\"\n :disabled=\"isDisabled\"\n :readonly=\"isReadOnly\"\n :name=\"name\"\n :hide-time-zone=\"hideTimeZone\"\n :is-date-unavailable=\"isDateUnavailable\"\n :required=\"required\"\n :dir=\"dir\"\n :as=\"as\"\n :as-child=\"asChild\"\n :aria-labelledby=\"hasLabel ? labelId : undefined\"\n :aria-describedby=\"ariaDescribedBy\"\n :aria-required=\"isRequired || undefined\"\n :aria-invalid=\"isInvalid || undefined\"\n :class=\"composeClassName(slotFns.inputWrapper(), props.classNames?.inputWrapper)\"\n :data-filled=\"hasLabel ? (effectiveFilled || undefined) : undefined\"\n :data-focused=\"isFocused || undefined\"\n :data-invalid=\"isInvalid || undefined\"\n :data-disabled=\"isDisabled || undefined\"\n :data-readonly=\"isReadOnly || undefined\"\n @mousedown=\"handleFieldMousedown\"\n >\n <template #default=\"{ segments }\">\n <label\n v-if=\"showInsideLabel\"\n :id=\"labelId\"\n :for=\"fieldId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n data-slot=\"start-content\"\n >\n <slot name=\"startContent\" />\n </span>\n\n <div\n :class=\"composeClassName(slotFns.segmentList(), props.classNames?.segmentList)\"\n data-slot=\"segment-list\"\n data-type=\"start\"\n >\n <template\n v-for=\"(segment, _i) in segments.start\"\n :key=\"`start-${_i}`\"\n >\n <DateRangeFieldInput\n :part=\"segment.part\"\n type=\"start\"\n :class=\"composeClassName(slotFns.segment(), props.classNames?.segment)\"\n >\n {{ segment.value }}\n </DateRangeFieldInput>\n </template>\n </div>\n\n <span\n :class=\"composeClassName(slotFns.separator(), props.classNames?.separator)\"\n aria-hidden=\"true\"\n data-slot=\"separator\"\n >–</span>\n\n <div\n :class=\"composeClassName(slotFns.segmentList(), props.classNames?.segmentList)\"\n data-slot=\"segment-list\"\n data-type=\"end\"\n >\n <template\n v-for=\"(segment, _i) in segments.end\"\n :key=\"`end-${_i}`\"\n >\n <DateRangeFieldInput\n :part=\"segment.part\"\n type=\"end\"\n :class=\"composeClassName(slotFns.segment(), props.classNames?.segment)\"\n >\n {{ segment.value }}\n </DateRangeFieldInput>\n </template>\n </div>\n\n <span\n v-if=\"$slots.endContent\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n data-slot=\"end-content\"\n >\n <slot name=\"endContent\" />\n </span>\n </template>\n </DateRangeFieldRoot>\n\n <div\n v-if=\"hasHelper\"\n :class=\"composeClassName(slotFns.helperWrapper(), props.classNames?.helperWrapper)\"\n >\n <div\n v-if=\"showError\"\n :id=\"errorMessageId\"\n :class=\"composeClassName(slotFns.errorMessage(), props.classNames?.errorMessage)\"\n role=\"alert\"\n >\n {{ errorMessage }}\n </div>\n <div\n v-else-if=\"showDescription\"\n :id=\"descriptionId\"\n :class=\"composeClassName(slotFns.description(), props.classNames?.description)\"\n >\n {{ description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"mappings":""}
@@ -63,17 +63,24 @@ var DateRangeField_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
63
63
  ] },
64
64
  classNames: {},
65
65
  defaultValue: {},
66
+ defaultPlaceholder: {},
66
67
  placeholderValue: {},
67
68
  minValue: {},
68
69
  maxValue: {},
69
70
  granularity: {},
70
71
  hourCycle: {},
71
- locale: {},
72
- name: {},
72
+ step: {},
73
73
  hideTimeZone: {
74
74
  type: Boolean,
75
75
  default: false
76
- }
76
+ },
77
+ isDateUnavailable: {},
78
+ locale: {},
79
+ name: {},
80
+ required: { type: Boolean },
81
+ dir: {},
82
+ as: {},
83
+ asChild: { type: Boolean }
77
84
  }, {
78
85
  "modelValue": {},
79
86
  "modelModifiers": {}
@@ -223,16 +230,23 @@ var DateRangeField_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
223
230
  modelValue: modelValue.value,
224
231
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
225
232
  "default-value": __props.defaultValue,
233
+ "default-placeholder": __props.defaultPlaceholder,
226
234
  placeholder: __props.placeholderValue,
227
235
  "min-value": __props.minValue,
228
236
  "max-value": __props.maxValue,
229
237
  granularity: __props.granularity,
230
238
  "hour-cycle": __props.hourCycle,
239
+ step: __props.step,
231
240
  locale: __props.locale,
232
241
  disabled: __props.isDisabled,
233
242
  readonly: __props.isReadOnly,
234
243
  name: __props.name,
235
244
  "hide-time-zone": __props.hideTimeZone,
245
+ "is-date-unavailable": __props.isDateUnavailable,
246
+ required: __props.required,
247
+ dir: __props.dir,
248
+ as: __props.as,
249
+ "as-child": __props.asChild,
236
250
  "aria-labelledby": hasLabel.value ? labelId.value : void 0,
237
251
  "aria-describedby": ariaDescribedBy.value,
238
252
  "aria-required": __props.isRequired || void 0,
@@ -303,16 +317,23 @@ var DateRangeField_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
303
317
  "id",
304
318
  "modelValue",
305
319
  "default-value",
320
+ "default-placeholder",
306
321
  "placeholder",
307
322
  "min-value",
308
323
  "max-value",
309
324
  "granularity",
310
325
  "hour-cycle",
326
+ "step",
311
327
  "locale",
312
328
  "disabled",
313
329
  "readonly",
314
330
  "name",
315
331
  "hide-time-zone",
332
+ "is-date-unavailable",
333
+ "required",
334
+ "dir",
335
+ "as",
336
+ "as-child",
316
337
  "aria-labelledby",
317
338
  "aria-describedby",
318
339
  "aria-required",
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeField.vue_vue_type_script_setup_true_lang.js","names":["$slots"],"sources":["../../../src/components/date-range-field/DateRangeField.vue"],"sourcesContent":["<!--\n DateRangeField — form-field mirror of DateInput.vue for a date range.\n\n Same prop surface, data-attribute contract, floating-label behavior,\n start/end content slots, and a11y wiring as DateInput. Renders TWO\n segment lists (start + end) separated by a visible \"–\" glyph.\n-->\n<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, useAttrs, useId, watch } from 'vue'\nimport { DateRangeFieldRoot, DateRangeFieldInput } from 'reka-ui'\nimport type { DateValue } from '@internationalized/date'\nimport { dateRangeFieldVariants, type DateRangeFieldVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<Props>(), {\n variant: 'flat',\n size: 'md',\n color: 'default',\n labelPlacement: 'inside',\n fullWidth: false,\n isInvalid: false,\n isDisabled: false,\n isReadOnly: false,\n isRequired: false,\n hideTimeZone: false,\n})\n\nconst modelValue = defineModel<DateRange | null | undefined>()\n\nexport interface DateRange {\n start: DateValue\n end: DateValue\n}\n\ntype Props = {\n /** Visual style of the field. @default 'flat' */\n variant?: DateRangeFieldVariants['variant']\n /** Field height. @default 'md' */\n size?: DateRangeFieldVariants['size']\n /** Accent color applied to focus ring + floating label. @default 'default' */\n color?: DateRangeFieldVariants['color']\n /** Label placement relative to the field. @default 'inside' */\n labelPlacement?: DateRangeFieldVariants['labelPlacement']\n /** Stretches root wrapper to 100% width. @default false */\n fullWidth?: boolean\n /** Marks the field as invalid. @default false */\n isInvalid?: boolean\n /** Disables the field. @default false */\n isDisabled?: boolean\n /** Makes the field read-only. @default false */\n isReadOnly?: boolean\n /** Adds a required asterisk next to the label. @default false */\n isRequired?: boolean\n /** Field label. When omitted, floating-label behavior is skipped. */\n label?: string\n /** Helper text below the field. Suppressed when isInvalid && errorMessage is shown. */\n description?: string\n /** Error text below the field. Only rendered when isInvalid is true. */\n errorMessage?: string\n /** Extra classes merged onto the root wrapper. */\n class?: ClassValue\n /** Per-slot class overrides. Merged with tailwind-variants styles. */\n classNames?: Partial<{\n base: ClassValue\n label: ClassValue\n mainWrapper: ClassValue\n inputWrapper: ClassValue\n startContent: ClassValue\n segmentList: ClassValue\n segment: ClassValue\n separator: ClassValue\n endContent: ClassValue\n helperWrapper: ClassValue\n errorMessage: ClassValue\n description: ClassValue\n }>\n\n /* ─── DateRangeField-specific ─────────────────────────────────── */\n defaultValue?: DateRange\n placeholderValue?: DateValue\n minValue?: DateValue\n maxValue?: DateValue\n granularity?: 'day' | 'hour' | 'minute' | 'second'\n hourCycle?: 12 | 24\n locale?: string\n name?: string\n hideTimeZone?: boolean\n}\n\nconst attrs = useAttrs()\nconst generatedId = useId()\nconst fieldId = computed(() => (attrs.id as string | undefined) ?? `${generatedId}-field`)\nconst labelId = computed(() => `${generatedId}-label`)\nconst descriptionId = computed(() => `${generatedId}-description`)\nconst errorMessageId = computed(() => `${generatedId}-error`)\n\nconst hasLabel = computed(() => !!props.label)\nconst isFilled = computed(() => modelValue.value?.start != null || modelValue.value?.end != null)\n\nconst showError = computed(() => props.isInvalid && !!props.errorMessage)\nconst showDescription = computed(() => !!props.description && !showError.value)\nconst hasHelper = computed(() => showError.value || showDescription.value)\nconst ariaDescribedBy = computed(() => {\n if (showError.value) return errorMessageId.value\n if (showDescription.value) return descriptionId.value\n return undefined\n})\n\nconst fieldRef = ref<HTMLElement | null>(null)\nconst fieldEl = computed<HTMLElement | null>(() => {\n const r = fieldRef.value as unknown as { $el?: HTMLElement } | HTMLElement | null\n if (!r) return null\n if (r instanceof HTMLElement) return r\n return r.$el ?? null\n})\n\n// `isFocused` tracks focus on a DATE SEGMENT specifically — not any descendant.\nconst isFocused = ref(false)\nfunction updateSegmentFocus() {\n const root = fieldEl.value\n if (!root) { isFocused.value = false; return }\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n isFocused.value = !!active\n && root.contains(active)\n && active.hasAttribute('data-reka-date-field-segment')\n}\nfunction onDocFocusIn() { updateSegmentFocus() }\nfunction onDocFocusOut() { queueMicrotask(updateSegmentFocus) }\n\n// Guard against focus snap-back after an outside click.\nlet suppressSegmentFocusUntil = 0\nfunction onDocPointerDown(e: PointerEvent) {\n const root = fieldEl.value\n if (!root) return\n const target = e.target as Node | null\n if (!target || root.contains(target)) return\n suppressSegmentFocusUntil = performance.now() + 250\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n if (active && root.contains(active) && active.hasAttribute('data-reka-date-field-segment')) {\n active.blur()\n }\n}\nfunction onDocFocusInGuard(e: FocusEvent) {\n if (performance.now() >= suppressSegmentFocusUntil) return\n const root = fieldEl.value\n if (!root) return\n const t = e.target as HTMLElement | null\n if (t && root.contains(t) && t.hasAttribute?.('data-reka-date-field-segment')) {\n t.blur()\n }\n}\n\nonMounted(() => {\n document.addEventListener('focusin', onDocFocusIn)\n document.addEventListener('focusout', onDocFocusOut)\n document.addEventListener('pointerdown', onDocPointerDown, true)\n document.addEventListener('focusin', onDocFocusInGuard, true)\n})\nonBeforeUnmount(() => {\n document.removeEventListener('focusin', onDocFocusIn)\n document.removeEventListener('focusout', onDocFocusOut)\n document.removeEventListener('pointerdown', onDocPointerDown, true)\n document.removeEventListener('focusin', onDocFocusInGuard, true)\n})\n\n// Track data-filled by sniffing rendered segments across BOTH segment lists.\nconst segmentsFilled = ref(false)\nfunction recomputeFilled() {\n const root = fieldEl.value\n if (!root || typeof root.querySelectorAll !== 'function') {\n segmentsFilled.value = false\n return\n }\n const segs = root.querySelectorAll('[data-reka-date-field-segment]:not([data-reka-date-field-segment=\"literal\"])')\n let anyFilled = false\n segs.forEach((el) => {\n if ((el as HTMLElement).dataset.placeholder === 'false') anyFilled = true\n })\n segmentsFilled.value = anyFilled\n}\nwatch([modelValue, () => props.defaultValue, () => props.granularity], () => {\n queueMicrotask(recomputeFilled)\n}, { immediate: true })\n\nconst effectiveFilled = computed(() => isFilled.value || segmentsFilled.value)\n\nfunction handleFieldMousedown(e: MouseEvent) {\n const target = e.target as HTMLElement | null\n if (!target) return\n if (target.closest('[data-reka-date-field-segment]')) return\n if (target.closest('[data-slot=\"start-content\"]')) return\n if (target.closest('[data-slot=\"end-content\"]')) return\n if (target.closest('button, [role=\"button\"]')) return\n const root = fieldEl.value\n if (!root) return\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n if (active && root.contains(active) && active.hasAttribute('data-reka-date-field-segment')) {\n return\n }\n const first = root.querySelector<HTMLElement>(\n '[data-reka-date-field-segment]:not([data-reka-date-field-segment=\"literal\"])',\n )\n if (first) {\n e.preventDefault()\n first.focus()\n }\n}\n\nconst slotFns = computed(() =>\n dateRangeFieldVariants({\n variant: props.variant,\n size: props.size,\n color: props.color,\n fullWidth: props.fullWidth,\n isInvalid: props.isInvalid,\n isDisabled: props.isDisabled,\n isReadonly: props.isReadOnly,\n hasLabel: hasLabel.value,\n labelPlacement: props.labelPlacement,\n }),\n)\n\nconst showOutsideLabel = computed(\n () => hasLabel.value && props.labelPlacement !== 'inside',\n)\nconst showInsideLabel = computed(\n () => hasLabel.value && props.labelPlacement === 'inside',\n)\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :data-invalid=\"isInvalid || undefined\"\n :data-disabled=\"isDisabled || undefined\"\n :data-readonly=\"isReadOnly || undefined\"\n :data-required=\"isRequired || undefined\"\n :data-has-label=\"hasLabel || undefined\"\n :data-has-helper=\"hasHelper || undefined\"\n data-slot=\"date-range-field\"\n >\n <label\n v-if=\"showOutsideLabel\"\n :id=\"labelId\"\n :for=\"fieldId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n\n <div :class=\"composeClassName(slotFns.mainWrapper(), props.classNames?.mainWrapper)\">\n <DateRangeFieldRoot\n :id=\"fieldId\"\n ref=\"fieldRef\"\n v-model=\"modelValue\"\n :default-value=\"defaultValue\"\n :placeholder=\"placeholderValue\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :granularity=\"granularity\"\n :hour-cycle=\"hourCycle\"\n :locale=\"locale\"\n :disabled=\"isDisabled\"\n :readonly=\"isReadOnly\"\n :name=\"name\"\n :hide-time-zone=\"hideTimeZone\"\n :aria-labelledby=\"hasLabel ? labelId : undefined\"\n :aria-describedby=\"ariaDescribedBy\"\n :aria-required=\"isRequired || undefined\"\n :aria-invalid=\"isInvalid || undefined\"\n :class=\"composeClassName(slotFns.inputWrapper(), props.classNames?.inputWrapper)\"\n :data-filled=\"hasLabel ? (effectiveFilled || undefined) : undefined\"\n :data-focused=\"isFocused || undefined\"\n :data-invalid=\"isInvalid || undefined\"\n :data-disabled=\"isDisabled || undefined\"\n :data-readonly=\"isReadOnly || undefined\"\n @mousedown=\"handleFieldMousedown\"\n >\n <template #default=\"{ segments }\">\n <label\n v-if=\"showInsideLabel\"\n :id=\"labelId\"\n :for=\"fieldId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n data-slot=\"start-content\"\n >\n <slot name=\"startContent\" />\n </span>\n\n <div\n :class=\"composeClassName(slotFns.segmentList(), props.classNames?.segmentList)\"\n data-slot=\"segment-list\"\n data-type=\"start\"\n >\n <template\n v-for=\"(segment, _i) in segments.start\"\n :key=\"`start-${_i}`\"\n >\n <DateRangeFieldInput\n :part=\"segment.part\"\n type=\"start\"\n :class=\"composeClassName(slotFns.segment(), props.classNames?.segment)\"\n >\n {{ segment.value }}\n </DateRangeFieldInput>\n </template>\n </div>\n\n <span\n :class=\"composeClassName(slotFns.separator(), props.classNames?.separator)\"\n aria-hidden=\"true\"\n data-slot=\"separator\"\n >–</span>\n\n <div\n :class=\"composeClassName(slotFns.segmentList(), props.classNames?.segmentList)\"\n data-slot=\"segment-list\"\n data-type=\"end\"\n >\n <template\n v-for=\"(segment, _i) in segments.end\"\n :key=\"`end-${_i}`\"\n >\n <DateRangeFieldInput\n :part=\"segment.part\"\n type=\"end\"\n :class=\"composeClassName(slotFns.segment(), props.classNames?.segment)\"\n >\n {{ segment.value }}\n </DateRangeFieldInput>\n </template>\n </div>\n\n <span\n v-if=\"$slots.endContent\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n data-slot=\"end-content\"\n >\n <slot name=\"endContent\" />\n </span>\n </template>\n </DateRangeFieldRoot>\n\n <div\n v-if=\"hasHelper\"\n :class=\"composeClassName(slotFns.helperWrapper(), props.classNames?.helperWrapper)\"\n >\n <div\n v-if=\"showError\"\n :id=\"errorMessageId\"\n :class=\"composeClassName(slotFns.errorMessage(), props.classNames?.errorMessage)\"\n role=\"alert\"\n >\n {{ errorMessage }}\n </div>\n <div\n v-else-if=\"showDescription\"\n :id=\"descriptionId\"\n :class=\"composeClassName(slotFns.description(), props.classNames?.description)\"\n >\n {{ description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateRangeField.vue_vue_type_script_setup_true_lang.js","names":["$slots"],"sources":["../../../src/components/date-range-field/DateRangeField.vue"],"sourcesContent":["<!--\n DateRangeField — form-field mirror of DateInput.vue for a date range.\n\n Same prop surface, data-attribute contract, floating-label behavior,\n start/end content slots, and a11y wiring as DateInput. Renders TWO\n segment lists (start + end) separated by a visible \"–\" glyph.\n-->\n<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, useAttrs, useId, watch } from 'vue'\nimport { DateRangeFieldRoot, DateRangeFieldInput } from 'reka-ui'\nimport type { DateValue } from '@internationalized/date'\nimport { dateRangeFieldVariants, type DateRangeFieldVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<Props>(), {\n variant: 'flat',\n size: 'md',\n color: 'default',\n labelPlacement: 'inside',\n fullWidth: false,\n isInvalid: false,\n isDisabled: false,\n isReadOnly: false,\n isRequired: false,\n hideTimeZone: false,\n})\n\nconst modelValue = defineModel<DateRange | null | undefined>()\n\nexport interface DateRange {\n start: DateValue\n end: DateValue\n}\n\ntype Props = {\n /** Visual style of the field. @default 'flat' */\n variant?: DateRangeFieldVariants['variant']\n /** Field height. @default 'md' */\n size?: DateRangeFieldVariants['size']\n /** Accent color applied to focus ring + floating label. @default 'default' */\n color?: DateRangeFieldVariants['color']\n /** Label placement relative to the field. @default 'inside' */\n labelPlacement?: DateRangeFieldVariants['labelPlacement']\n /** Stretches root wrapper to 100% width. @default false */\n fullWidth?: boolean\n /** Marks the field as invalid. @default false */\n isInvalid?: boolean\n /** Disables the field. @default false */\n isDisabled?: boolean\n /** Makes the field read-only. @default false */\n isReadOnly?: boolean\n /** Adds a required asterisk next to the label. @default false */\n isRequired?: boolean\n /** Field label. When omitted, floating-label behavior is skipped. */\n label?: string\n /** Helper text below the field. Suppressed when isInvalid && errorMessage is shown. */\n description?: string\n /** Error text below the field. Only rendered when isInvalid is true. */\n errorMessage?: string\n /** Extra classes merged onto the root wrapper. */\n class?: ClassValue\n /** Per-slot class overrides. Merged with tailwind-variants styles. */\n classNames?: Partial<{\n base: ClassValue\n label: ClassValue\n mainWrapper: ClassValue\n inputWrapper: ClassValue\n startContent: ClassValue\n segmentList: ClassValue\n segment: ClassValue\n separator: ClassValue\n endContent: ClassValue\n helperWrapper: ClassValue\n errorMessage: ClassValue\n description: ClassValue\n }>\n\n /* ─── DateRangeField-specific ─────────────────────────────────── */\n defaultValue?: DateRange\n defaultPlaceholder?: DateValue\n placeholderValue?: DateValue\n minValue?: DateValue\n maxValue?: DateValue\n granularity?: 'day' | 'hour' | 'minute' | 'second'\n hourCycle?: 12 | 24\n /** Steps for segment keyboard navigation. */\n step?: Partial<Record<'hour' | 'minute' | 'second' | 'millisecond', number>>\n hideTimeZone?: boolean\n isDateUnavailable?: (date: DateValue) => boolean\n locale?: string\n name?: string\n /** Marks the field as required for form submission. */\n required?: boolean\n /** Text direction for the field. */\n dir?: 'ltr' | 'rtl'\n /** Render root as a different element or component. */\n as?: string\n /** Render root child as root element. */\n asChild?: boolean\n}\n\nconst attrs = useAttrs()\nconst generatedId = useId()\nconst fieldId = computed(() => (attrs.id as string | undefined) ?? `${generatedId}-field`)\nconst labelId = computed(() => `${generatedId}-label`)\nconst descriptionId = computed(() => `${generatedId}-description`)\nconst errorMessageId = computed(() => `${generatedId}-error`)\n\nconst hasLabel = computed(() => !!props.label)\nconst isFilled = computed(() => modelValue.value?.start != null || modelValue.value?.end != null)\n\nconst showError = computed(() => props.isInvalid && !!props.errorMessage)\nconst showDescription = computed(() => !!props.description && !showError.value)\nconst hasHelper = computed(() => showError.value || showDescription.value)\nconst ariaDescribedBy = computed(() => {\n if (showError.value) return errorMessageId.value\n if (showDescription.value) return descriptionId.value\n return undefined\n})\n\nconst fieldRef = ref<HTMLElement | null>(null)\nconst fieldEl = computed<HTMLElement | null>(() => {\n const r = fieldRef.value as unknown as { $el?: HTMLElement } | HTMLElement | null\n if (!r) return null\n if (r instanceof HTMLElement) return r\n return r.$el ?? null\n})\n\n// `isFocused` tracks focus on a DATE SEGMENT specifically — not any descendant.\nconst isFocused = ref(false)\nfunction updateSegmentFocus() {\n const root = fieldEl.value\n if (!root) { isFocused.value = false; return }\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n isFocused.value = !!active\n && root.contains(active)\n && active.hasAttribute('data-reka-date-field-segment')\n}\nfunction onDocFocusIn() { updateSegmentFocus() }\nfunction onDocFocusOut() { queueMicrotask(updateSegmentFocus) }\n\n// Guard against focus snap-back after an outside click.\nlet suppressSegmentFocusUntil = 0\nfunction onDocPointerDown(e: PointerEvent) {\n const root = fieldEl.value\n if (!root) return\n const target = e.target as Node | null\n if (!target || root.contains(target)) return\n suppressSegmentFocusUntil = performance.now() + 250\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n if (active && root.contains(active) && active.hasAttribute('data-reka-date-field-segment')) {\n active.blur()\n }\n}\nfunction onDocFocusInGuard(e: FocusEvent) {\n if (performance.now() >= suppressSegmentFocusUntil) return\n const root = fieldEl.value\n if (!root) return\n const t = e.target as HTMLElement | null\n if (t && root.contains(t) && t.hasAttribute?.('data-reka-date-field-segment')) {\n t.blur()\n }\n}\n\nonMounted(() => {\n document.addEventListener('focusin', onDocFocusIn)\n document.addEventListener('focusout', onDocFocusOut)\n document.addEventListener('pointerdown', onDocPointerDown, true)\n document.addEventListener('focusin', onDocFocusInGuard, true)\n})\nonBeforeUnmount(() => {\n document.removeEventListener('focusin', onDocFocusIn)\n document.removeEventListener('focusout', onDocFocusOut)\n document.removeEventListener('pointerdown', onDocPointerDown, true)\n document.removeEventListener('focusin', onDocFocusInGuard, true)\n})\n\n// Track data-filled by sniffing rendered segments across BOTH segment lists.\nconst segmentsFilled = ref(false)\nfunction recomputeFilled() {\n const root = fieldEl.value\n if (!root || typeof root.querySelectorAll !== 'function') {\n segmentsFilled.value = false\n return\n }\n const segs = root.querySelectorAll('[data-reka-date-field-segment]:not([data-reka-date-field-segment=\"literal\"])')\n let anyFilled = false\n segs.forEach((el) => {\n if ((el as HTMLElement).dataset.placeholder === 'false') anyFilled = true\n })\n segmentsFilled.value = anyFilled\n}\nwatch([modelValue, () => props.defaultValue, () => props.granularity], () => {\n queueMicrotask(recomputeFilled)\n}, { immediate: true })\n\nconst effectiveFilled = computed(() => isFilled.value || segmentsFilled.value)\n\nfunction handleFieldMousedown(e: MouseEvent) {\n const target = e.target as HTMLElement | null\n if (!target) return\n if (target.closest('[data-reka-date-field-segment]')) return\n if (target.closest('[data-slot=\"start-content\"]')) return\n if (target.closest('[data-slot=\"end-content\"]')) return\n if (target.closest('button, [role=\"button\"]')) return\n const root = fieldEl.value\n if (!root) return\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n if (active && root.contains(active) && active.hasAttribute('data-reka-date-field-segment')) {\n return\n }\n const first = root.querySelector<HTMLElement>(\n '[data-reka-date-field-segment]:not([data-reka-date-field-segment=\"literal\"])',\n )\n if (first) {\n e.preventDefault()\n first.focus()\n }\n}\n\nconst slotFns = computed(() =>\n dateRangeFieldVariants({\n variant: props.variant,\n size: props.size,\n color: props.color,\n fullWidth: props.fullWidth,\n isInvalid: props.isInvalid,\n isDisabled: props.isDisabled,\n isReadonly: props.isReadOnly,\n hasLabel: hasLabel.value,\n labelPlacement: props.labelPlacement,\n }),\n)\n\nconst showOutsideLabel = computed(\n () => hasLabel.value && props.labelPlacement !== 'inside',\n)\nconst showInsideLabel = computed(\n () => hasLabel.value && props.labelPlacement === 'inside',\n)\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :data-invalid=\"isInvalid || undefined\"\n :data-disabled=\"isDisabled || undefined\"\n :data-readonly=\"isReadOnly || undefined\"\n :data-required=\"isRequired || undefined\"\n :data-has-label=\"hasLabel || undefined\"\n :data-has-helper=\"hasHelper || undefined\"\n data-slot=\"date-range-field\"\n >\n <label\n v-if=\"showOutsideLabel\"\n :id=\"labelId\"\n :for=\"fieldId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n\n <div :class=\"composeClassName(slotFns.mainWrapper(), props.classNames?.mainWrapper)\">\n <DateRangeFieldRoot\n :id=\"fieldId\"\n ref=\"fieldRef\"\n v-model=\"modelValue\"\n :default-value=\"defaultValue\"\n :default-placeholder=\"defaultPlaceholder\"\n :placeholder=\"placeholderValue\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :granularity=\"granularity\"\n :hour-cycle=\"hourCycle\"\n :step=\"step\"\n :locale=\"locale\"\n :disabled=\"isDisabled\"\n :readonly=\"isReadOnly\"\n :name=\"name\"\n :hide-time-zone=\"hideTimeZone\"\n :is-date-unavailable=\"isDateUnavailable\"\n :required=\"required\"\n :dir=\"dir\"\n :as=\"as\"\n :as-child=\"asChild\"\n :aria-labelledby=\"hasLabel ? labelId : undefined\"\n :aria-describedby=\"ariaDescribedBy\"\n :aria-required=\"isRequired || undefined\"\n :aria-invalid=\"isInvalid || undefined\"\n :class=\"composeClassName(slotFns.inputWrapper(), props.classNames?.inputWrapper)\"\n :data-filled=\"hasLabel ? (effectiveFilled || undefined) : undefined\"\n :data-focused=\"isFocused || undefined\"\n :data-invalid=\"isInvalid || undefined\"\n :data-disabled=\"isDisabled || undefined\"\n :data-readonly=\"isReadOnly || undefined\"\n @mousedown=\"handleFieldMousedown\"\n >\n <template #default=\"{ segments }\">\n <label\n v-if=\"showInsideLabel\"\n :id=\"labelId\"\n :for=\"fieldId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n data-slot=\"start-content\"\n >\n <slot name=\"startContent\" />\n </span>\n\n <div\n :class=\"composeClassName(slotFns.segmentList(), props.classNames?.segmentList)\"\n data-slot=\"segment-list\"\n data-type=\"start\"\n >\n <template\n v-for=\"(segment, _i) in segments.start\"\n :key=\"`start-${_i}`\"\n >\n <DateRangeFieldInput\n :part=\"segment.part\"\n type=\"start\"\n :class=\"composeClassName(slotFns.segment(), props.classNames?.segment)\"\n >\n {{ segment.value }}\n </DateRangeFieldInput>\n </template>\n </div>\n\n <span\n :class=\"composeClassName(slotFns.separator(), props.classNames?.separator)\"\n aria-hidden=\"true\"\n data-slot=\"separator\"\n >–</span>\n\n <div\n :class=\"composeClassName(slotFns.segmentList(), props.classNames?.segmentList)\"\n data-slot=\"segment-list\"\n data-type=\"end\"\n >\n <template\n v-for=\"(segment, _i) in segments.end\"\n :key=\"`end-${_i}`\"\n >\n <DateRangeFieldInput\n :part=\"segment.part\"\n type=\"end\"\n :class=\"composeClassName(slotFns.segment(), props.classNames?.segment)\"\n >\n {{ segment.value }}\n </DateRangeFieldInput>\n </template>\n </div>\n\n <span\n v-if=\"$slots.endContent\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n data-slot=\"end-content\"\n >\n <slot name=\"endContent\" />\n </span>\n </template>\n </DateRangeFieldRoot>\n\n <div\n v-if=\"hasHelper\"\n :class=\"composeClassName(slotFns.helperWrapper(), props.classNames?.helperWrapper)\"\n >\n <div\n v-if=\"showError\"\n :id=\"errorMessageId\"\n :class=\"composeClassName(slotFns.errorMessage(), props.classNames?.errorMessage)\"\n role=\"alert\"\n >\n {{ errorMessage }}\n </div>\n <div\n v-else-if=\"showDescription\"\n :id=\"descriptionId\"\n :class=\"composeClassName(slotFns.description(), props.classNames?.description)\"\n >\n {{ description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"mappings":"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"}