@auronui/vue 1.0.13 → 1.0.15

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 (243) hide show
  1. package/dist/cjs/index.cjs +547 -434
  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 +3 -2
  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 +6 -3
  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 +5 -2
  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 +3 -2
  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 +6 -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 +2 -1
  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 +2 -1
  23. package/dist/components/alert-dialog/AlertDialogCancel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  24. package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
  25. package/dist/components/aspect-ratio/AspectRatio.vue_vue_type_script_setup_true_lang.js +3 -2
  26. package/dist/components/aspect-ratio/AspectRatio.vue_vue_type_script_setup_true_lang.js.map +1 -1
  27. package/dist/components/autocomplete/Autocomplete.js.map +1 -1
  28. package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +7 -6
  29. package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  30. package/dist/components/avatar/Avatar.js.map +1 -1
  31. package/dist/components/avatar/Avatar.vue_vue_type_script_setup_true_lang.js +5 -4
  32. package/dist/components/avatar/Avatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  33. package/dist/components/badge/Badge.js.map +1 -1
  34. package/dist/components/badge/Badge.vue_vue_type_script_setup_true_lang.js +3 -2
  35. package/dist/components/badge/Badge.vue_vue_type_script_setup_true_lang.js.map +1 -1
  36. package/dist/components/breadcrumbs/BreadcrumbItem.js.map +1 -1
  37. package/dist/components/breadcrumbs/BreadcrumbItem.vue_vue_type_script_setup_true_lang.js +7 -5
  38. package/dist/components/breadcrumbs/BreadcrumbItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  39. package/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -1
  40. package/dist/components/breadcrumbs/Breadcrumbs.vue_vue_type_script_setup_true_lang.js +4 -3
  41. package/dist/components/breadcrumbs/Breadcrumbs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  42. package/dist/components/button/Button.js.map +1 -1
  43. package/dist/components/button/Button.vue_vue_type_script_setup_true_lang.js +6 -5
  44. package/dist/components/button/Button.vue_vue_type_script_setup_true_lang.js.map +1 -1
  45. package/dist/components/button/ButtonGroup.js.map +1 -1
  46. package/dist/components/button/ButtonGroup.vue_vue_type_script_setup_true_lang.js +2 -1
  47. package/dist/components/button/ButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  48. package/dist/components/button/ToggleButtonGroup.js.map +1 -1
  49. package/dist/components/button/ToggleButtonGroup.vue_vue_type_script_setup_true_lang.js +3 -2
  50. package/dist/components/button/ToggleButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  51. package/dist/components/calendar/Calendar.js.map +1 -1
  52. package/dist/components/calendar/Calendar.vue_vue_type_script_setup_true_lang.js +32 -31
  53. package/dist/components/calendar/Calendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  54. package/dist/components/calendar-year-picker/CalendarYearPicker.js.map +1 -1
  55. package/dist/components/calendar-year-picker/CalendarYearPicker.vue_vue_type_script_setup_true_lang.js +13 -12
  56. package/dist/components/calendar-year-picker/CalendarYearPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  57. package/dist/components/card/Card.js.map +1 -1
  58. package/dist/components/card/Card.vue_vue_type_script_setup_true_lang.js +3 -2
  59. package/dist/components/card/Card.vue_vue_type_script_setup_true_lang.js.map +1 -1
  60. package/dist/components/card/CardBody.js.map +1 -1
  61. package/dist/components/card/CardBody.vue_vue_type_script_setup_true_lang.js +5 -2
  62. package/dist/components/card/CardBody.vue_vue_type_script_setup_true_lang.js.map +1 -1
  63. package/dist/components/card/CardFooter.js.map +1 -1
  64. package/dist/components/card/CardFooter.vue_vue_type_script_setup_true_lang.js +3 -2
  65. package/dist/components/card/CardFooter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  66. package/dist/components/card/CardHeader.js.map +1 -1
  67. package/dist/components/card/CardHeader.vue_vue_type_script_setup_true_lang.js +3 -2
  68. package/dist/components/card/CardHeader.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 +5 -4
  71. package/dist/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  72. package/dist/components/chip/Chip.js.map +1 -1
  73. package/dist/components/chip/Chip.vue_vue_type_script_setup_true_lang.js +8 -7
  74. package/dist/components/chip/Chip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  75. package/dist/components/collapsible/Collapsible.js.map +1 -1
  76. package/dist/components/collapsible/Collapsible.vue_vue_type_script_setup_true_lang.js +3 -2
  77. package/dist/components/collapsible/Collapsible.vue_vue_type_script_setup_true_lang.js.map +1 -1
  78. package/dist/components/collapsible/CollapsibleContent.js.map +1 -1
  79. package/dist/components/collapsible/CollapsibleContent.vue_vue_type_script_setup_true_lang.js +7 -3
  80. package/dist/components/collapsible/CollapsibleContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  81. package/dist/components/collapsible/CollapsibleGroup.js.map +1 -1
  82. package/dist/components/collapsible/CollapsibleGroup.vue_vue_type_script_setup_true_lang.js +3 -2
  83. package/dist/components/collapsible/CollapsibleGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  84. package/dist/components/collapsible/CollapsibleTrigger.js.map +1 -1
  85. package/dist/components/collapsible/CollapsibleTrigger.vue_vue_type_script_setup_true_lang.js +6 -3
  86. package/dist/components/collapsible/CollapsibleTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  87. package/dist/components/combo-box/ComboBox.js.map +1 -1
  88. package/dist/components/combo-box/ComboBox.vue_vue_type_script_setup_true_lang.js +3 -2
  89. package/dist/components/combo-box/ComboBox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  90. package/dist/components/date-input/DateInput.js.map +1 -1
  91. package/dist/components/date-input/DateInput.vue_vue_type_script_setup_true_lang.js +13 -12
  92. package/dist/components/date-input/DateInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  93. package/dist/components/date-picker/DatePicker.js.map +1 -1
  94. package/dist/components/date-picker/DatePicker.vue_vue_type_script_setup_true_lang.js +6 -5
  95. package/dist/components/date-picker/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  96. package/dist/components/date-range-field/DateRangeField.js.map +1 -1
  97. package/dist/components/date-range-field/DateRangeField.vue_vue_type_script_setup_true_lang.js +16 -15
  98. package/dist/components/date-range-field/DateRangeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  99. package/dist/components/date-range-picker/DateRangePicker.js.map +1 -1
  100. package/dist/components/date-range-picker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +6 -5
  101. package/dist/components/date-range-picker/DateRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  102. package/dist/components/date-time-picker/DateTimePicker.js.map +1 -1
  103. package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +11 -10
  104. package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  105. package/dist/components/input/Input.js.map +1 -1
  106. package/dist/components/input/Input.vue_vue_type_script_setup_true_lang.js +15 -14
  107. package/dist/components/input/Input.vue_vue_type_script_setup_true_lang.js.map +1 -1
  108. package/dist/components/input-otp/InputOTP.js.map +1 -1
  109. package/dist/components/input-otp/InputOTP.vue_vue_type_script_setup_true_lang.js +5 -4
  110. package/dist/components/input-otp/InputOTP.vue_vue_type_script_setup_true_lang.js.map +1 -1
  111. package/dist/components/kbd/Kbd.js.map +1 -1
  112. package/dist/components/kbd/Kbd.vue_vue_type_script_setup_true_lang.js +5 -4
  113. package/dist/components/kbd/Kbd.vue_vue_type_script_setup_true_lang.js.map +1 -1
  114. package/dist/components/link/Link.js.map +1 -1
  115. package/dist/components/link/Link.vue_vue_type_script_setup_true_lang.js +4 -3
  116. package/dist/components/link/Link.vue_vue_type_script_setup_true_lang.js.map +1 -1
  117. package/dist/components/list-box/ListBox.js.map +1 -1
  118. package/dist/components/list-box/ListBox.vue_vue_type_script_setup_true_lang.js +3 -2
  119. package/dist/components/list-box/ListBox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  120. package/dist/components/list-box/ListBoxItem.js.map +1 -1
  121. package/dist/components/list-box/ListBoxItem.vue_vue_type_script_setup_true_lang.js +4 -3
  122. package/dist/components/list-box/ListBoxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  123. package/dist/components/meter/Meter.js.map +1 -1
  124. package/dist/components/meter/Meter.vue_vue_type_script_setup_true_lang.js +13 -12
  125. package/dist/components/meter/Meter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  126. package/dist/components/number-field/NumberField.js.map +1 -1
  127. package/dist/components/number-field/NumberField.vue_vue_type_script_setup_true_lang.js +7 -6
  128. package/dist/components/number-field/NumberField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  129. package/dist/components/progress-bar/ProgressBar.js.map +1 -1
  130. package/dist/components/progress-bar/ProgressBar.vue_vue_type_script_setup_true_lang.js +8 -7
  131. package/dist/components/progress-bar/ProgressBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  132. package/dist/components/progress-circle/ProgressCircle.js.map +1 -1
  133. package/dist/components/progress-circle/ProgressCircle.vue_vue_type_script_setup_true_lang.js +7 -6
  134. package/dist/components/progress-circle/ProgressCircle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  135. package/dist/components/radio/Radio.js.map +1 -1
  136. package/dist/components/radio/Radio.vue_vue_type_script_setup_true_lang.js +4 -3
  137. package/dist/components/radio/Radio.vue_vue_type_script_setup_true_lang.js.map +1 -1
  138. package/dist/components/range-calendar/RangeCalendar.js.map +1 -1
  139. package/dist/components/range-calendar/RangeCalendar.vue_vue_type_script_setup_true_lang.js +42 -41
  140. package/dist/components/range-calendar/RangeCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  141. package/dist/components/scroll-shadow/ScrollShadow.js.map +1 -1
  142. package/dist/components/scroll-shadow/ScrollShadow.vue_vue_type_script_setup_true_lang.js +3 -2
  143. package/dist/components/scroll-shadow/ScrollShadow.vue_vue_type_script_setup_true_lang.js.map +1 -1
  144. package/dist/components/select/Select.js.map +1 -1
  145. package/dist/components/select/Select.vue_vue_type_script_setup_true_lang.js +7 -6
  146. package/dist/components/select/Select.vue_vue_type_script_setup_true_lang.js.map +1 -1
  147. package/dist/components/skeleton/Skeleton.js.map +1 -1
  148. package/dist/components/skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js +3 -2
  149. package/dist/components/skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  150. package/dist/components/slider/Slider.js.map +1 -1
  151. package/dist/components/slider/Slider.vue_vue_type_script_setup_true_lang.js +8 -7
  152. package/dist/components/slider/Slider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  153. package/dist/components/splitter/SplitterGroup.js.map +1 -1
  154. package/dist/components/splitter/SplitterGroup.vue_vue_type_script_setup_true_lang.js +3 -2
  155. package/dist/components/splitter/SplitterGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  156. package/dist/components/splitter/SplitterPanel.js.map +1 -1
  157. package/dist/components/splitter/SplitterPanel.vue_vue_type_script_setup_true_lang.js +3 -2
  158. package/dist/components/splitter/SplitterPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  159. package/dist/components/splitter/SplitterResizeHandle.js.map +1 -1
  160. package/dist/components/splitter/SplitterResizeHandle.vue_vue_type_script_setup_true_lang.js +4 -3
  161. package/dist/components/splitter/SplitterResizeHandle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  162. package/dist/components/stepper/Stepper.js.map +1 -1
  163. package/dist/components/stepper/Stepper.vue_vue_type_script_setup_true_lang.js +3 -2
  164. package/dist/components/stepper/Stepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  165. package/dist/components/stepper/StepperContent.js.map +1 -1
  166. package/dist/components/stepper/StepperContent.vue_vue_type_script_setup_true_lang.js +5 -2
  167. package/dist/components/stepper/StepperContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  168. package/dist/components/stepper/StepperDescription.js.map +1 -1
  169. package/dist/components/stepper/StepperDescription.vue_vue_type_script_setup_true_lang.js +5 -2
  170. package/dist/components/stepper/StepperDescription.vue_vue_type_script_setup_true_lang.js.map +1 -1
  171. package/dist/components/stepper/StepperIndicator.js.map +1 -1
  172. package/dist/components/stepper/StepperIndicator.vue_vue_type_script_setup_true_lang.js +5 -2
  173. package/dist/components/stepper/StepperIndicator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  174. package/dist/components/stepper/StepperItem.js.map +1 -1
  175. package/dist/components/stepper/StepperItem.vue_vue_type_script_setup_true_lang.js +3 -2
  176. package/dist/components/stepper/StepperItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  177. package/dist/components/stepper/StepperSeparator.js.map +1 -1
  178. package/dist/components/stepper/StepperSeparator.vue_vue_type_script_setup_true_lang.js +5 -2
  179. package/dist/components/stepper/StepperSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  180. package/dist/components/stepper/StepperTitle.js.map +1 -1
  181. package/dist/components/stepper/StepperTitle.vue_vue_type_script_setup_true_lang.js +5 -2
  182. package/dist/components/stepper/StepperTitle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  183. package/dist/components/switch/Switch.js.map +1 -1
  184. package/dist/components/switch/Switch.vue_vue_type_script_setup_true_lang.js +5 -4
  185. package/dist/components/switch/Switch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  186. package/dist/components/table/Table.js.map +1 -1
  187. package/dist/components/table/Table.vue_vue_type_script_setup_true_lang.js +4 -3
  188. package/dist/components/table/Table.vue_vue_type_script_setup_true_lang.js.map +1 -1
  189. package/dist/components/table/TableBody.js.map +1 -1
  190. package/dist/components/table/TableBody.vue_vue_type_script_setup_true_lang.js +6 -3
  191. package/dist/components/table/TableBody.vue_vue_type_script_setup_true_lang.js.map +1 -1
  192. package/dist/components/table/TableCell.js.map +1 -1
  193. package/dist/components/table/TableCell.vue_vue_type_script_setup_true_lang.js +6 -3
  194. package/dist/components/table/TableCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  195. package/dist/components/table/TableFooter.js.map +1 -1
  196. package/dist/components/table/TableFooter.vue_vue_type_script_setup_true_lang.js +5 -2
  197. package/dist/components/table/TableFooter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  198. package/dist/components/table/TableHeader.js.map +1 -1
  199. package/dist/components/table/TableHeader.vue_vue_type_script_setup_true_lang.js +6 -3
  200. package/dist/components/table/TableHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  201. package/dist/components/table/TableHeaderCell.js.map +1 -1
  202. package/dist/components/table/TableHeaderCell.vue_vue_type_script_setup_true_lang.js +6 -3
  203. package/dist/components/table/TableHeaderCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  204. package/dist/components/table/TableRow.js.map +1 -1
  205. package/dist/components/table/TableRow.vue_vue_type_script_setup_true_lang.js +8 -2
  206. package/dist/components/table/TableRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
  207. package/dist/components/table/TableVirtualBody.js.map +1 -1
  208. package/dist/components/table/TableVirtualBody.vue_vue_type_script_setup_true_lang.js +6 -4
  209. package/dist/components/table/TableVirtualBody.vue_vue_type_script_setup_true_lang.js.map +1 -1
  210. package/dist/components/tabs/Tab.js.map +1 -1
  211. package/dist/components/tabs/Tab.vue_vue_type_script_setup_true_lang.js +3 -2
  212. package/dist/components/tabs/Tab.vue_vue_type_script_setup_true_lang.js.map +1 -1
  213. package/dist/components/tabs/TabIndicator.js.map +1 -1
  214. package/dist/components/tabs/TabIndicator.vue_vue_type_script_setup_true_lang.js +5 -2
  215. package/dist/components/tabs/TabIndicator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  216. package/dist/components/tabs/TabList.js.map +1 -1
  217. package/dist/components/tabs/TabList.vue_vue_type_script_setup_true_lang.js +20 -18
  218. package/dist/components/tabs/TabList.vue_vue_type_script_setup_true_lang.js.map +1 -1
  219. package/dist/components/tabs/TabPanel.js.map +1 -1
  220. package/dist/components/tabs/TabPanel.vue_vue_type_script_setup_true_lang.js +3 -2
  221. package/dist/components/tabs/TabPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  222. package/dist/components/tabs/Tabs.js.map +1 -1
  223. package/dist/components/tabs/Tabs.vue_vue_type_script_setup_true_lang.js +3 -2
  224. package/dist/components/tabs/Tabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  225. package/dist/components/textarea/Textarea.js.map +1 -1
  226. package/dist/components/textarea/Textarea.vue_vue_type_script_setup_true_lang.js +14 -13
  227. package/dist/components/textarea/Textarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  228. package/dist/components/time-field/TimeField.js.map +1 -1
  229. package/dist/components/time-field/TimeField.vue_vue_type_script_setup_true_lang.js +13 -12
  230. package/dist/components/time-field/TimeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  231. package/dist/components/tree/Tree.js.map +1 -1
  232. package/dist/components/tree/Tree.vue_vue_type_script_setup_true_lang.js +3 -2
  233. package/dist/components/tree/Tree.vue_vue_type_script_setup_true_lang.js.map +1 -1
  234. package/dist/components/tree/TreeItem.js.map +1 -1
  235. package/dist/components/tree/TreeItem.vue_vue_type_script_setup_true_lang.js +4 -3
  236. package/dist/components/tree/TreeItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  237. package/dist/components/tree/TreeItemToggle.js.map +1 -1
  238. package/dist/components/tree/TreeItemToggle.vue_vue_type_script_setup_true_lang.js +3 -2
  239. package/dist/components/tree/TreeItemToggle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  240. package/dist/index.d.ts +797 -365
  241. package/dist/utils/composeClassName.js +3 -3
  242. package/dist/utils/composeClassName.js.map +1 -1
  243. package/package.json +4 -4
@@ -45,7 +45,8 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
45
45
  default: false
46
46
  },
47
47
  calendarLabel: {},
48
- class: {}
48
+ class: {},
49
+ classNames: {}
49
50
  }, {
50
51
  "modelValue": {},
51
52
  "modelModifiers": {}
@@ -99,16 +100,16 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
99
100
  readonly: __props.readonly,
100
101
  disabled: __props.disabled,
101
102
  "calendar-label": __props.calendarLabel,
102
- class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class))
103
+ class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base))
103
104
  }, {
104
- default: withCtx(({ grid, weekDays }) => [view.value === "date" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createVNode(unref(RangeCalendarHeader), { class: normalizeClass(slotFns.value.header()) }, {
105
+ default: withCtx(({ grid, weekDays }) => [view.value === "date" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createVNode(unref(RangeCalendarHeader), { class: normalizeClass(unref(composeClassName)(slotFns.value.header(), props.classNames?.header)) }, {
105
106
  default: withCtx(() => [
106
107
  createVNode(unref(RangeCalendarPrev), {
107
- class: normalizeClass(slotFns.value.navButton()),
108
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButton(), props.classNames?.navButton)),
108
109
  "aria-label": "Previous month"
109
110
  }, {
110
111
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
111
- class: normalizeClass(slotFns.value.navButtonIcon()),
112
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButtonIcon(), props.classNames?.navButtonIcon)),
112
113
  xmlns: "http://www.w3.org/2000/svg",
113
114
  width: "16",
114
115
  height: "16",
@@ -122,21 +123,21 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
122
123
  }, [..._cache[4] || (_cache[4] = [createElementVNode("polyline", { points: "15 18 9 12 15 6" }, null, -1)])], 2))]),
123
124
  _: 1
124
125
  }, 8, ["class"]),
125
- createVNode(unref(RangeCalendarHeading), { class: normalizeClass(slotFns.value.heading()) }, {
126
+ createVNode(unref(RangeCalendarHeading), { class: normalizeClass(unref(composeClassName)(slotFns.value.heading(), props.classNames?.heading)) }, {
126
127
  default: withCtx(({ headingValue }) => [createElementVNode("button", {
127
128
  type: "button",
128
- class: normalizeClass(slotFns.value.headingButton()),
129
+ class: normalizeClass(unref(composeClassName)(slotFns.value.headingButton(), props.classNames?.headingButton)),
129
130
  "aria-label": `Switch to ${nextViewLabel.value} view`,
130
131
  onClick: cycleView
131
132
  }, toDisplayString(headingValue), 11, _hoisted_1)]),
132
133
  _: 1
133
134
  }, 8, ["class"]),
134
135
  createVNode(unref(RangeCalendarNext), {
135
- class: normalizeClass(slotFns.value.navButton()),
136
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButton(), props.classNames?.navButton)),
136
137
  "aria-label": "Next month"
137
138
  }, {
138
139
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
139
- class: normalizeClass(slotFns.value.navButtonIcon()),
140
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButtonIcon(), props.classNames?.navButtonIcon)),
140
141
  xmlns: "http://www.w3.org/2000/svg",
141
142
  width: "16",
142
143
  height: "16",
@@ -155,14 +156,14 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
155
156
  }, 8, ["class"]), (openBlock(true), createElementBlock(Fragment, null, renderList(grid, (month) => {
156
157
  return openBlock(), createBlock(unref(RangeCalendarGrid), {
157
158
  key: month.value.toString(),
158
- class: normalizeClass(slotFns.value.grid())
159
+ class: normalizeClass(unref(composeClassName)(slotFns.value.grid(), props.classNames?.grid))
159
160
  }, {
160
- default: withCtx(() => [createVNode(unref(RangeCalendarGridHead), { class: normalizeClass(slotFns.value.gridHeader()) }, {
161
- default: withCtx(() => [createVNode(unref(RangeCalendarGridRow), { class: normalizeClass(slotFns.value.gridRow()) }, {
161
+ default: withCtx(() => [createVNode(unref(RangeCalendarGridHead), { class: normalizeClass(unref(composeClassName)(slotFns.value.gridHeader(), props.classNames?.gridHeader)) }, {
162
+ default: withCtx(() => [createVNode(unref(RangeCalendarGridRow), { class: normalizeClass(unref(composeClassName)(slotFns.value.gridRow(), props.classNames?.gridRow)) }, {
162
163
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(weekDays, (day) => {
163
164
  return openBlock(), createBlock(unref(RangeCalendarHeadCell), {
164
165
  key: day,
165
- class: normalizeClass(slotFns.value.headerCell())
166
+ class: normalizeClass(unref(composeClassName)(slotFns.value.headerCell(), props.classNames?.headerCell))
166
167
  }, {
167
168
  default: withCtx(() => [createTextVNode(toDisplayString(day), 1)]),
168
169
  _: 2
@@ -171,22 +172,22 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
171
172
  _: 2
172
173
  }, 1032, ["class"])]),
173
174
  _: 2
174
- }, 1032, ["class"]), createVNode(unref(RangeCalendarGridBody), { class: normalizeClass(slotFns.value.gridBody()) }, {
175
+ }, 1032, ["class"]), createVNode(unref(RangeCalendarGridBody), { class: normalizeClass(unref(composeClassName)(slotFns.value.gridBody(), props.classNames?.gridBody)) }, {
175
176
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(month.rows, (week, weekIndex) => {
176
177
  return openBlock(), createBlock(unref(RangeCalendarGridRow), {
177
178
  key: weekIndex,
178
- class: normalizeClass(slotFns.value.gridRow())
179
+ class: normalizeClass(unref(composeClassName)(slotFns.value.gridRow(), props.classNames?.gridRow))
179
180
  }, {
180
181
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(week, (day) => {
181
182
  return openBlock(), createBlock(unref(RangeCalendarCell), {
182
183
  key: day.toString(),
183
184
  date: day,
184
- class: normalizeClass(slotFns.value.cell())
185
+ class: normalizeClass(unref(composeClassName)(slotFns.value.cell(), props.classNames?.cell))
185
186
  }, {
186
187
  default: withCtx(() => [createVNode(unref(RangeCalendarCellTrigger), {
187
188
  day,
188
189
  month: month.value,
189
- class: normalizeClass(slotFns.value.cellButton())
190
+ class: normalizeClass(unref(composeClassName)(slotFns.value.cellButton(), props.classNames?.cellButton))
190
191
  }, null, 8, [
191
192
  "day",
192
193
  "month",
@@ -234,20 +235,20 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
234
235
  "max-value": __props.maxValue,
235
236
  readonly: __props.readonly,
236
237
  disabled: __props.disabled,
237
- class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class)),
238
+ class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base)),
238
239
  "onUpdate:modelValue": onMonthSelect,
239
240
  "onUpdate:placeholder": _cache[2] || (_cache[2] = (val) => {
240
241
  if (val) placeholder.value = val;
241
242
  })
242
243
  }, {
243
- default: withCtx(({ grid: monthGrid }) => [createVNode(unref(MonthPickerHeader), { class: normalizeClass(slotFns.value.header()) }, {
244
+ default: withCtx(({ grid: monthGrid }) => [createVNode(unref(MonthPickerHeader), { class: normalizeClass(unref(composeClassName)(slotFns.value.header(), props.classNames?.header)) }, {
244
245
  default: withCtx(() => [
245
246
  createVNode(unref(MonthPickerPrev), {
246
- class: normalizeClass(slotFns.value.navButton()),
247
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButton(), props.classNames?.navButton)),
247
248
  "aria-label": "Previous year"
248
249
  }, {
249
250
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
250
- class: normalizeClass(slotFns.value.navButtonIcon()),
251
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButtonIcon(), props.classNames?.navButtonIcon)),
251
252
  xmlns: "http://www.w3.org/2000/svg",
252
253
  width: "16",
253
254
  height: "16",
@@ -261,21 +262,21 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
261
262
  }, [..._cache[6] || (_cache[6] = [createElementVNode("polyline", { points: "15 18 9 12 15 6" }, null, -1)])], 2))]),
262
263
  _: 1
263
264
  }, 8, ["class"]),
264
- createVNode(unref(MonthPickerHeading), { class: normalizeClass(slotFns.value.heading()) }, {
265
+ createVNode(unref(MonthPickerHeading), { class: normalizeClass(unref(composeClassName)(slotFns.value.heading(), props.classNames?.heading)) }, {
265
266
  default: withCtx(({ headingValue }) => [createElementVNode("button", {
266
267
  type: "button",
267
- class: normalizeClass(slotFns.value.headingButton()),
268
+ class: normalizeClass(unref(composeClassName)(slotFns.value.headingButton(), props.classNames?.headingButton)),
268
269
  "aria-label": `Switch to ${nextViewLabel.value} view`,
269
270
  onClick: cycleView
270
271
  }, toDisplayString(headingValue), 11, _hoisted_2)]),
271
272
  _: 1
272
273
  }, 8, ["class"]),
273
274
  createVNode(unref(MonthPickerNext), {
274
- class: normalizeClass(slotFns.value.navButton()),
275
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButton(), props.classNames?.navButton)),
275
276
  "aria-label": "Next year"
276
277
  }, {
277
278
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
278
- class: normalizeClass(slotFns.value.navButtonIcon()),
279
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButtonIcon(), props.classNames?.navButtonIcon)),
279
280
  xmlns: "http://www.w3.org/2000/svg",
280
281
  width: "16",
281
282
  height: "16",
@@ -291,12 +292,12 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
291
292
  }, 8, ["class"])
292
293
  ]),
293
294
  _: 1
294
- }, 8, ["class"]), createVNode(unref(MonthPickerGrid), { class: normalizeClass(slotFns.value.monthGrid()) }, {
295
- default: withCtx(() => [createVNode(unref(MonthPickerGridBody), { class: normalizeClass(slotFns.value.monthGridBody()) }, {
295
+ }, 8, ["class"]), createVNode(unref(MonthPickerGrid), { class: normalizeClass(unref(composeClassName)(slotFns.value.monthGrid(), props.classNames?.monthGrid)) }, {
296
+ default: withCtx(() => [createVNode(unref(MonthPickerGridBody), { class: normalizeClass(unref(composeClassName)(slotFns.value.monthGridBody(), props.classNames?.monthGridBody)) }, {
296
297
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(monthGrid.rows, (row, i) => {
297
298
  return openBlock(), createBlock(unref(MonthPickerGridRow), {
298
299
  key: i,
299
- class: normalizeClass(slotFns.value.monthGridRow())
300
+ class: normalizeClass(unref(composeClassName)(slotFns.value.monthGridRow(), props.classNames?.monthGridRow))
300
301
  }, {
301
302
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(row, (monthValue) => {
302
303
  return openBlock(), createBlock(unref(MonthPickerCell), {
@@ -306,7 +307,7 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
306
307
  default: withCtx(() => [createVNode(unref(MonthPickerCellTrigger), {
307
308
  month: monthValue,
308
309
  as: "button",
309
- class: normalizeClass(slotFns.value.monthCell())
310
+ class: normalizeClass(unref(composeClassName)(slotFns.value.monthCell(), props.classNames?.monthCell))
310
311
  }, null, 8, ["month", "class"])]),
311
312
  _: 2
312
313
  }, 1032, ["date"]);
@@ -336,20 +337,20 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
336
337
  "max-value": __props.maxValue,
337
338
  readonly: __props.readonly,
338
339
  disabled: __props.disabled,
339
- class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class)),
340
+ class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base)),
340
341
  "onUpdate:modelValue": onYearSelect,
341
342
  "onUpdate:placeholder": _cache[3] || (_cache[3] = (val) => {
342
343
  if (val) placeholder.value = val;
343
344
  })
344
345
  }, {
345
- default: withCtx(({ grid: yearGrid }) => [createVNode(unref(YearPickerHeader), { class: normalizeClass(slotFns.value.header()) }, {
346
+ default: withCtx(({ grid: yearGrid }) => [createVNode(unref(YearPickerHeader), { class: normalizeClass(unref(composeClassName)(slotFns.value.header(), props.classNames?.header)) }, {
346
347
  default: withCtx(() => [
347
348
  createVNode(unref(YearPickerPrev), {
348
- class: normalizeClass(slotFns.value.navButton()),
349
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButton(), props.classNames?.navButton)),
349
350
  "aria-label": "Previous decade"
350
351
  }, {
351
352
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
352
- class: normalizeClass(slotFns.value.navButtonIcon()),
353
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButtonIcon(), props.classNames?.navButtonIcon)),
353
354
  xmlns: "http://www.w3.org/2000/svg",
354
355
  width: "16",
355
356
  height: "16",
@@ -363,21 +364,21 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
363
364
  }, [..._cache[8] || (_cache[8] = [createElementVNode("polyline", { points: "15 18 9 12 15 6" }, null, -1)])], 2))]),
364
365
  _: 1
365
366
  }, 8, ["class"]),
366
- createVNode(unref(YearPickerHeading), { class: normalizeClass(slotFns.value.heading()) }, {
367
+ createVNode(unref(YearPickerHeading), { class: normalizeClass(unref(composeClassName)(slotFns.value.heading(), props.classNames?.heading)) }, {
367
368
  default: withCtx(({ headingValue }) => [createElementVNode("button", {
368
369
  type: "button",
369
- class: normalizeClass(slotFns.value.headingButton()),
370
+ class: normalizeClass(unref(composeClassName)(slotFns.value.headingButton(), props.classNames?.headingButton)),
370
371
  "aria-label": `Switch to ${nextViewLabel.value} view`,
371
372
  onClick: cycleView
372
373
  }, toDisplayString(headingValue), 11, _hoisted_3)]),
373
374
  _: 1
374
375
  }, 8, ["class"]),
375
376
  createVNode(unref(YearPickerNext), {
376
- class: normalizeClass(slotFns.value.navButton()),
377
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButton(), props.classNames?.navButton)),
377
378
  "aria-label": "Next decade"
378
379
  }, {
379
380
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
380
- class: normalizeClass(slotFns.value.navButtonIcon()),
381
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButtonIcon(), props.classNames?.navButtonIcon)),
381
382
  xmlns: "http://www.w3.org/2000/svg",
382
383
  width: "16",
383
384
  height: "16",
@@ -393,12 +394,12 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
393
394
  }, 8, ["class"])
394
395
  ]),
395
396
  _: 1
396
- }, 8, ["class"]), createVNode(unref(YearPickerGrid), { class: normalizeClass(slotFns.value.yearGrid()) }, {
397
- default: withCtx(() => [createVNode(unref(YearPickerGridBody), { class: normalizeClass(slotFns.value.yearGridBody()) }, {
397
+ }, 8, ["class"]), createVNode(unref(YearPickerGrid), { class: normalizeClass(unref(composeClassName)(slotFns.value.yearGrid(), props.classNames?.yearGrid)) }, {
398
+ default: withCtx(() => [createVNode(unref(YearPickerGridBody), { class: normalizeClass(unref(composeClassName)(slotFns.value.yearGridBody(), props.classNames?.yearGridBody)) }, {
398
399
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(yearGrid.rows, (row, i) => {
399
400
  return openBlock(), createBlock(unref(YearPickerGridRow), {
400
401
  key: i,
401
- class: normalizeClass(slotFns.value.yearGridRow())
402
+ class: normalizeClass(unref(composeClassName)(slotFns.value.yearGridRow(), props.classNames?.yearGridRow))
402
403
  }, {
403
404
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(row, (yearValue) => {
404
405
  return openBlock(), createBlock(unref(YearPickerCell), {
@@ -408,7 +409,7 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
408
409
  default: withCtx(() => [createVNode(unref(YearPickerCellTrigger), {
409
410
  year: yearValue,
410
411
  as: "button",
411
- class: normalizeClass(slotFns.value.yearCell())
412
+ class: normalizeClass(unref(composeClassName)(slotFns.value.yearCell(), props.classNames?.yearCell))
412
413
  }, null, 8, ["year", "class"])]),
413
414
  _: 2
414
415
  }, 1032, ["date"]);
@@ -1 +1 @@
1
- {"version":3,"file":"RangeCalendar.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/range-calendar/RangeCalendar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, shallowRef } from 'vue'\nimport {\n RangeCalendarRoot,\n RangeCalendarHeader,\n RangeCalendarHeading,\n RangeCalendarGrid,\n RangeCalendarGridHead,\n RangeCalendarGridRow,\n RangeCalendarHeadCell,\n RangeCalendarGridBody,\n RangeCalendarCell,\n RangeCalendarCellTrigger,\n RangeCalendarNext,\n RangeCalendarPrev,\n MonthPickerRoot,\n MonthPickerHeader,\n MonthPickerHeading,\n MonthPickerPrev,\n MonthPickerNext,\n MonthPickerGrid,\n MonthPickerGridBody,\n MonthPickerGridRow,\n MonthPickerCell,\n MonthPickerCellTrigger,\n YearPickerRoot,\n YearPickerHeader,\n YearPickerHeading,\n YearPickerPrev,\n YearPickerNext,\n YearPickerGrid,\n YearPickerGridBody,\n YearPickerGridRow,\n YearPickerCell,\n YearPickerCellTrigger,\n} from 'reka-ui'\nimport { today, getLocalTimeZone, type DateValue } from '@internationalized/date'\nimport { rangeCalendarVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\n\nexport interface DateRange {\n start: DateValue\n end: DateValue\n}\n\nconst props = withDefaults(defineProps<{\n defaultValue?: DateRange | null\n defaultPlaceholder?: DateValue\n minValue?: DateValue\n maxValue?: DateValue\n isDateDisabled?: (date: DateValue) => boolean\n isDateUnavailable?: (date: DateValue) => boolean\n locale?: string\n weekdayFormat?: 'narrow' | 'short' | 'long'\n fixedWeeks?: boolean\n numberOfMonths?: number\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6\n pagedNavigation?: boolean\n preventDeselect?: boolean\n allowNonContiguousRanges?: boolean\n readonly?: boolean\n disabled?: boolean\n calendarLabel?: string\n class?: string\n}>(), {\n weekdayFormat: 'narrow',\n fixedWeeks: false,\n numberOfMonths: 1,\n pagedNavigation: false,\n preventDeselect: false,\n allowNonContiguousRanges: false,\n readonly: false,\n disabled: false,\n})\n\nconst modelValue = defineModel<DateRange | null>()\n\nconst slotFns = computed(() => rangeCalendarVariants())\n\n// View-switcher state: 'date' (default 7-col calendar), 'month' (3x4 months), 'year' (3x4 years)\ntype View = 'date' | 'month' | 'year'\nconst view = ref<View>('date')\n\n// Shared placeholder synced with RangeCalendarRoot/MonthPickerRoot/YearPickerRoot.\n// shallowRef preserves reka-ui's `DateValue` discriminated union.\nconst placeholder = shallowRef<DateValue>(\n (props.defaultValue?.start ?? props.defaultPlaceholder ?? today(getLocalTimeZone())) as DateValue\n)\n\nfunction cycleView(): void {\n view.value = view.value === 'date' ? 'month' : view.value === 'month' ? 'year' : 'date'\n}\n\nfunction onMonthSelect(val: DateValue | DateValue[] | undefined): void {\n if (!val) return\n const next = Array.isArray(val) ? val[val.length - 1] : val\n if (!next) return\n placeholder.value = next\n view.value = 'date'\n}\n\nfunction onYearSelect(val: DateValue | DateValue[] | undefined): void {\n if (!val) return\n const next = Array.isArray(val) ? val[val.length - 1] : val\n if (!next) return\n placeholder.value = next\n view.value = 'month'\n}\n\nconst nextViewLabel = computed(() =>\n view.value === 'date' ? 'month' : view.value === 'month' ? 'year' : 'date'\n)\n</script>\n\n<template>\n <RangeCalendarRoot\n v-model=\"modelValue\"\n v-model:placeholder=\"placeholder\"\n :default-value=\"defaultValue ?? undefined\"\n :default-placeholder=\"defaultPlaceholder\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :is-date-disabled=\"isDateDisabled\"\n :is-date-unavailable=\"isDateUnavailable\"\n :locale=\"locale\"\n :weekday-format=\"weekdayFormat\"\n :fixed-weeks=\"fixedWeeks\"\n :number-of-months=\"numberOfMonths\"\n :week-starts-on=\"weekStartsOn\"\n :paged-navigation=\"pagedNavigation\"\n :prevent-deselect=\"preventDeselect\"\n :allow-non-contiguous-ranges=\"allowNonContiguousRanges\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :calendar-label=\"calendarLabel\"\n :class=\"composeClassName(slotFns.base(), props.class)\"\n >\n <template #default=\"{ grid, weekDays }\">\n <template v-if=\"view === 'date'\">\n <RangeCalendarHeader :class=\"slotFns.header()\">\n <RangeCalendarPrev\n :class=\"slotFns.navButton()\"\n aria-label=\"Previous month\"\n >\n <svg\n :class=\"slotFns.navButtonIcon()\"\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 >\n <polyline points=\"15 18 9 12 15 6\" />\n </svg>\n </RangeCalendarPrev>\n\n <RangeCalendarHeading\n v-slot=\"{ headingValue }\"\n :class=\"slotFns.heading()\"\n >\n <button\n type=\"button\"\n :class=\"slotFns.headingButton()\"\n :aria-label=\"`Switch to ${nextViewLabel} view`\"\n @click=\"cycleView\"\n >\n {{ headingValue }}\n </button>\n </RangeCalendarHeading>\n\n <RangeCalendarNext\n :class=\"slotFns.navButton()\"\n aria-label=\"Next month\"\n >\n <svg\n :class=\"slotFns.navButtonIcon()\"\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 >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </RangeCalendarNext>\n </RangeCalendarHeader>\n\n <RangeCalendarGrid\n v-for=\"month in grid\"\n :key=\"month.value.toString()\"\n :class=\"slotFns.grid()\"\n >\n <RangeCalendarGridHead :class=\"slotFns.gridHeader()\">\n <RangeCalendarGridRow :class=\"slotFns.gridRow()\">\n <RangeCalendarHeadCell\n v-for=\"day in weekDays\"\n :key=\"day\"\n :class=\"slotFns.headerCell()\"\n >\n {{ day }}\n </RangeCalendarHeadCell>\n </RangeCalendarGridRow>\n </RangeCalendarGridHead>\n <RangeCalendarGridBody :class=\"slotFns.gridBody()\">\n <RangeCalendarGridRow\n v-for=\"(week, weekIndex) in month.rows\"\n :key=\"weekIndex\"\n :class=\"slotFns.gridRow()\"\n >\n <RangeCalendarCell\n v-for=\"day in week\"\n :key=\"day.toString()\"\n :date=\"day\"\n :class=\"slotFns.cell()\"\n >\n <RangeCalendarCellTrigger\n :day=\"day\"\n :month=\"month.value\"\n :class=\"slotFns.cellButton()\"\n />\n </RangeCalendarCell>\n </RangeCalendarGridRow>\n </RangeCalendarGridBody>\n </RangeCalendarGrid>\n </template>\n </template>\n </RangeCalendarRoot>\n\n <MonthPickerRoot\n v-if=\"view === 'month'\"\n :placeholder=\"placeholder\"\n :locale=\"locale\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :class=\"composeClassName(slotFns.base(), props.class)\"\n @update:model-value=\"onMonthSelect\"\n @update:placeholder=\"(val: DateValue | undefined) => { if (val) placeholder = val }\"\n >\n <template #default=\"{ grid: monthGrid }\">\n <MonthPickerHeader :class=\"slotFns.header()\">\n <MonthPickerPrev\n :class=\"slotFns.navButton()\"\n aria-label=\"Previous year\"\n >\n <svg\n :class=\"slotFns.navButtonIcon()\"\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 >\n <polyline points=\"15 18 9 12 15 6\" />\n </svg>\n </MonthPickerPrev>\n\n <MonthPickerHeading\n v-slot=\"{ headingValue }\"\n :class=\"slotFns.heading()\"\n >\n <button\n type=\"button\"\n :class=\"slotFns.headingButton()\"\n :aria-label=\"`Switch to ${nextViewLabel} view`\"\n @click=\"cycleView\"\n >\n {{ headingValue }}\n </button>\n </MonthPickerHeading>\n\n <MonthPickerNext\n :class=\"slotFns.navButton()\"\n aria-label=\"Next year\"\n >\n <svg\n :class=\"slotFns.navButtonIcon()\"\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 >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </MonthPickerNext>\n </MonthPickerHeader>\n\n <MonthPickerGrid :class=\"slotFns.monthGrid()\">\n <MonthPickerGridBody :class=\"slotFns.monthGridBody()\">\n <MonthPickerGridRow\n v-for=\"(row, i) in monthGrid.rows\"\n :key=\"i\"\n :class=\"slotFns.monthGridRow()\"\n >\n <MonthPickerCell\n v-for=\"monthValue in row\"\n :key=\"monthValue.toString()\"\n :date=\"monthValue\"\n >\n <MonthPickerCellTrigger\n :month=\"monthValue\"\n as=\"button\"\n :class=\"slotFns.monthCell()\"\n />\n </MonthPickerCell>\n </MonthPickerGridRow>\n </MonthPickerGridBody>\n </MonthPickerGrid>\n </template>\n </MonthPickerRoot>\n\n <YearPickerRoot\n v-if=\"view === 'year'\"\n :placeholder=\"placeholder\"\n :locale=\"locale\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :class=\"composeClassName(slotFns.base(), props.class)\"\n @update:model-value=\"onYearSelect\"\n @update:placeholder=\"(val: DateValue | undefined) => { if (val) placeholder = val }\"\n >\n <template #default=\"{ grid: yearGrid }\">\n <YearPickerHeader :class=\"slotFns.header()\">\n <YearPickerPrev\n :class=\"slotFns.navButton()\"\n aria-label=\"Previous decade\"\n >\n <svg\n :class=\"slotFns.navButtonIcon()\"\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 >\n <polyline points=\"15 18 9 12 15 6\" />\n </svg>\n </YearPickerPrev>\n\n <YearPickerHeading\n v-slot=\"{ headingValue }\"\n :class=\"slotFns.heading()\"\n >\n <button\n type=\"button\"\n :class=\"slotFns.headingButton()\"\n :aria-label=\"`Switch to ${nextViewLabel} view`\"\n @click=\"cycleView\"\n >\n {{ headingValue }}\n </button>\n </YearPickerHeading>\n\n <YearPickerNext\n :class=\"slotFns.navButton()\"\n aria-label=\"Next decade\"\n >\n <svg\n :class=\"slotFns.navButtonIcon()\"\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 >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </YearPickerNext>\n </YearPickerHeader>\n\n <YearPickerGrid :class=\"slotFns.yearGrid()\">\n <YearPickerGridBody :class=\"slotFns.yearGridBody()\">\n <YearPickerGridRow\n v-for=\"(row, i) in yearGrid.rows\"\n :key=\"i\"\n :class=\"slotFns.yearGridRow()\"\n >\n <YearPickerCell\n v-for=\"yearValue in row\"\n :key=\"yearValue.toString()\"\n :date=\"yearValue\"\n >\n <YearPickerCellTrigger\n :year=\"yearValue\"\n as=\"button\"\n :class=\"slotFns.yearCell()\"\n />\n </YearPickerCell>\n </YearPickerGridRow>\n </YearPickerGridBody>\n </YearPickerGrid>\n </template>\n </YearPickerRoot>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"RangeCalendar.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/range-calendar/RangeCalendar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, shallowRef } from 'vue'\nimport {\n RangeCalendarRoot,\n RangeCalendarHeader,\n RangeCalendarHeading,\n RangeCalendarGrid,\n RangeCalendarGridHead,\n RangeCalendarGridRow,\n RangeCalendarHeadCell,\n RangeCalendarGridBody,\n RangeCalendarCell,\n RangeCalendarCellTrigger,\n RangeCalendarNext,\n RangeCalendarPrev,\n MonthPickerRoot,\n MonthPickerHeader,\n MonthPickerHeading,\n MonthPickerPrev,\n MonthPickerNext,\n MonthPickerGrid,\n MonthPickerGridBody,\n MonthPickerGridRow,\n MonthPickerCell,\n MonthPickerCellTrigger,\n YearPickerRoot,\n YearPickerHeader,\n YearPickerHeading,\n YearPickerPrev,\n YearPickerNext,\n YearPickerGrid,\n YearPickerGridBody,\n YearPickerGridRow,\n YearPickerCell,\n YearPickerCellTrigger,\n} from 'reka-ui'\nimport { today, getLocalTimeZone, type DateValue } from '@internationalized/date'\nimport { rangeCalendarVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nexport interface DateRange {\n start: DateValue\n end: DateValue\n}\n\nconst props = withDefaults(defineProps<{\n defaultValue?: DateRange | null\n defaultPlaceholder?: DateValue\n minValue?: DateValue\n maxValue?: DateValue\n isDateDisabled?: (date: DateValue) => boolean\n isDateUnavailable?: (date: DateValue) => boolean\n locale?: string\n weekdayFormat?: 'narrow' | 'short' | 'long'\n fixedWeeks?: boolean\n numberOfMonths?: number\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6\n pagedNavigation?: boolean\n preventDeselect?: boolean\n allowNonContiguousRanges?: boolean\n readonly?: boolean\n disabled?: boolean\n calendarLabel?: string\n class?: ClassValue\n /** Override classes for named slots */\n classNames?: Partial<{\n base: ClassValue\n header: ClassValue\n navButton: ClassValue\n navButtonIcon: ClassValue\n heading: ClassValue\n headingButton: ClassValue\n grid: ClassValue\n gridHeader: ClassValue\n gridRow: ClassValue\n headerCell: ClassValue\n gridBody: ClassValue\n cell: ClassValue\n cellButton: ClassValue\n monthGrid: ClassValue\n monthGridBody: ClassValue\n monthGridRow: ClassValue\n monthCell: ClassValue\n yearGrid: ClassValue\n yearGridBody: ClassValue\n yearGridRow: ClassValue\n yearCell: ClassValue\n }>\n}>(), {\n weekdayFormat: 'narrow',\n fixedWeeks: false,\n numberOfMonths: 1,\n pagedNavigation: false,\n preventDeselect: false,\n allowNonContiguousRanges: false,\n readonly: false,\n disabled: false,\n})\n\nconst modelValue = defineModel<DateRange | null>()\n\nconst slotFns = computed(() => rangeCalendarVariants())\n\n// View-switcher state: 'date' (default 7-col calendar), 'month' (3x4 months), 'year' (3x4 years)\ntype View = 'date' | 'month' | 'year'\nconst view = ref<View>('date')\n\n// Shared placeholder synced with RangeCalendarRoot/MonthPickerRoot/YearPickerRoot.\n// shallowRef preserves reka-ui's `DateValue` discriminated union.\nconst placeholder = shallowRef<DateValue>(\n (props.defaultValue?.start ?? props.defaultPlaceholder ?? today(getLocalTimeZone())) as DateValue\n)\n\nfunction cycleView(): void {\n view.value = view.value === 'date' ? 'month' : view.value === 'month' ? 'year' : 'date'\n}\n\nfunction onMonthSelect(val: DateValue | DateValue[] | undefined): void {\n if (!val) return\n const next = Array.isArray(val) ? val[val.length - 1] : val\n if (!next) return\n placeholder.value = next\n view.value = 'date'\n}\n\nfunction onYearSelect(val: DateValue | DateValue[] | undefined): void {\n if (!val) return\n const next = Array.isArray(val) ? val[val.length - 1] : val\n if (!next) return\n placeholder.value = next\n view.value = 'month'\n}\n\nconst nextViewLabel = computed(() =>\n view.value === 'date' ? 'month' : view.value === 'month' ? 'year' : 'date'\n)\n</script>\n\n<template>\n <RangeCalendarRoot\n v-model=\"modelValue\"\n v-model:placeholder=\"placeholder\"\n :default-value=\"defaultValue ?? undefined\"\n :default-placeholder=\"defaultPlaceholder\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :is-date-disabled=\"isDateDisabled\"\n :is-date-unavailable=\"isDateUnavailable\"\n :locale=\"locale\"\n :weekday-format=\"weekdayFormat\"\n :fixed-weeks=\"fixedWeeks\"\n :number-of-months=\"numberOfMonths\"\n :week-starts-on=\"weekStartsOn\"\n :paged-navigation=\"pagedNavigation\"\n :prevent-deselect=\"preventDeselect\"\n :allow-non-contiguous-ranges=\"allowNonContiguousRanges\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :calendar-label=\"calendarLabel\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n >\n <template #default=\"{ grid, weekDays }\">\n <template v-if=\"view === 'date'\">\n <RangeCalendarHeader :class=\"composeClassName(slotFns.header(), props.classNames?.header)\">\n <RangeCalendarPrev\n :class=\"composeClassName(slotFns.navButton(), props.classNames?.navButton)\"\n aria-label=\"Previous month\"\n >\n <svg\n :class=\"composeClassName(slotFns.navButtonIcon(), props.classNames?.navButtonIcon)\"\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 >\n <polyline points=\"15 18 9 12 15 6\" />\n </svg>\n </RangeCalendarPrev>\n\n <RangeCalendarHeading\n v-slot=\"{ headingValue }\"\n :class=\"composeClassName(slotFns.heading(), props.classNames?.heading)\"\n >\n <button\n type=\"button\"\n :class=\"composeClassName(slotFns.headingButton(), props.classNames?.headingButton)\"\n :aria-label=\"`Switch to ${nextViewLabel} view`\"\n @click=\"cycleView\"\n >\n {{ headingValue }}\n </button>\n </RangeCalendarHeading>\n\n <RangeCalendarNext\n :class=\"composeClassName(slotFns.navButton(), props.classNames?.navButton)\"\n aria-label=\"Next month\"\n >\n <svg\n :class=\"composeClassName(slotFns.navButtonIcon(), props.classNames?.navButtonIcon)\"\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 >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </RangeCalendarNext>\n </RangeCalendarHeader>\n\n <RangeCalendarGrid\n v-for=\"month in grid\"\n :key=\"month.value.toString()\"\n :class=\"composeClassName(slotFns.grid(), props.classNames?.grid)\"\n >\n <RangeCalendarGridHead :class=\"composeClassName(slotFns.gridHeader(), props.classNames?.gridHeader)\">\n <RangeCalendarGridRow :class=\"composeClassName(slotFns.gridRow(), props.classNames?.gridRow)\">\n <RangeCalendarHeadCell\n v-for=\"day in weekDays\"\n :key=\"day\"\n :class=\"composeClassName(slotFns.headerCell(), props.classNames?.headerCell)\"\n >\n {{ day }}\n </RangeCalendarHeadCell>\n </RangeCalendarGridRow>\n </RangeCalendarGridHead>\n <RangeCalendarGridBody :class=\"composeClassName(slotFns.gridBody(), props.classNames?.gridBody)\">\n <RangeCalendarGridRow\n v-for=\"(week, weekIndex) in month.rows\"\n :key=\"weekIndex\"\n :class=\"composeClassName(slotFns.gridRow(), props.classNames?.gridRow)\"\n >\n <RangeCalendarCell\n v-for=\"day in week\"\n :key=\"day.toString()\"\n :date=\"day\"\n :class=\"composeClassName(slotFns.cell(), props.classNames?.cell)\"\n >\n <RangeCalendarCellTrigger\n :day=\"day\"\n :month=\"month.value\"\n :class=\"composeClassName(slotFns.cellButton(), props.classNames?.cellButton)\"\n />\n </RangeCalendarCell>\n </RangeCalendarGridRow>\n </RangeCalendarGridBody>\n </RangeCalendarGrid>\n </template>\n </template>\n </RangeCalendarRoot>\n\n <MonthPickerRoot\n v-if=\"view === 'month'\"\n :placeholder=\"placeholder\"\n :locale=\"locale\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n @update:model-value=\"onMonthSelect\"\n @update:placeholder=\"(val: DateValue | undefined) => { if (val) placeholder = val }\"\n >\n <template #default=\"{ grid: monthGrid }\">\n <MonthPickerHeader :class=\"composeClassName(slotFns.header(), props.classNames?.header)\">\n <MonthPickerPrev\n :class=\"composeClassName(slotFns.navButton(), props.classNames?.navButton)\"\n aria-label=\"Previous year\"\n >\n <svg\n :class=\"composeClassName(slotFns.navButtonIcon(), props.classNames?.navButtonIcon)\"\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 >\n <polyline points=\"15 18 9 12 15 6\" />\n </svg>\n </MonthPickerPrev>\n\n <MonthPickerHeading\n v-slot=\"{ headingValue }\"\n :class=\"composeClassName(slotFns.heading(), props.classNames?.heading)\"\n >\n <button\n type=\"button\"\n :class=\"composeClassName(slotFns.headingButton(), props.classNames?.headingButton)\"\n :aria-label=\"`Switch to ${nextViewLabel} view`\"\n @click=\"cycleView\"\n >\n {{ headingValue }}\n </button>\n </MonthPickerHeading>\n\n <MonthPickerNext\n :class=\"composeClassName(slotFns.navButton(), props.classNames?.navButton)\"\n aria-label=\"Next year\"\n >\n <svg\n :class=\"composeClassName(slotFns.navButtonIcon(), props.classNames?.navButtonIcon)\"\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 >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </MonthPickerNext>\n </MonthPickerHeader>\n\n <MonthPickerGrid :class=\"composeClassName(slotFns.monthGrid(), props.classNames?.monthGrid)\">\n <MonthPickerGridBody :class=\"composeClassName(slotFns.monthGridBody(), props.classNames?.monthGridBody)\">\n <MonthPickerGridRow\n v-for=\"(row, i) in monthGrid.rows\"\n :key=\"i\"\n :class=\"composeClassName(slotFns.monthGridRow(), props.classNames?.monthGridRow)\"\n >\n <MonthPickerCell\n v-for=\"monthValue in row\"\n :key=\"monthValue.toString()\"\n :date=\"monthValue\"\n >\n <MonthPickerCellTrigger\n :month=\"monthValue\"\n as=\"button\"\n :class=\"composeClassName(slotFns.monthCell(), props.classNames?.monthCell)\"\n />\n </MonthPickerCell>\n </MonthPickerGridRow>\n </MonthPickerGridBody>\n </MonthPickerGrid>\n </template>\n </MonthPickerRoot>\n\n <YearPickerRoot\n v-if=\"view === 'year'\"\n :placeholder=\"placeholder\"\n :locale=\"locale\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n @update:model-value=\"onYearSelect\"\n @update:placeholder=\"(val: DateValue | undefined) => { if (val) placeholder = val }\"\n >\n <template #default=\"{ grid: yearGrid }\">\n <YearPickerHeader :class=\"composeClassName(slotFns.header(), props.classNames?.header)\">\n <YearPickerPrev\n :class=\"composeClassName(slotFns.navButton(), props.classNames?.navButton)\"\n aria-label=\"Previous decade\"\n >\n <svg\n :class=\"composeClassName(slotFns.navButtonIcon(), props.classNames?.navButtonIcon)\"\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 >\n <polyline points=\"15 18 9 12 15 6\" />\n </svg>\n </YearPickerPrev>\n\n <YearPickerHeading\n v-slot=\"{ headingValue }\"\n :class=\"composeClassName(slotFns.heading(), props.classNames?.heading)\"\n >\n <button\n type=\"button\"\n :class=\"composeClassName(slotFns.headingButton(), props.classNames?.headingButton)\"\n :aria-label=\"`Switch to ${nextViewLabel} view`\"\n @click=\"cycleView\"\n >\n {{ headingValue }}\n </button>\n </YearPickerHeading>\n\n <YearPickerNext\n :class=\"composeClassName(slotFns.navButton(), props.classNames?.navButton)\"\n aria-label=\"Next decade\"\n >\n <svg\n :class=\"composeClassName(slotFns.navButtonIcon(), props.classNames?.navButtonIcon)\"\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 >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </YearPickerNext>\n </YearPickerHeader>\n\n <YearPickerGrid :class=\"composeClassName(slotFns.yearGrid(), props.classNames?.yearGrid)\">\n <YearPickerGridBody :class=\"composeClassName(slotFns.yearGridBody(), props.classNames?.yearGridBody)\">\n <YearPickerGridRow\n v-for=\"(row, i) in yearGrid.rows\"\n :key=\"i\"\n :class=\"composeClassName(slotFns.yearGridRow(), props.classNames?.yearGridRow)\"\n >\n <YearPickerCell\n v-for=\"yearValue in row\"\n :key=\"yearValue.toString()\"\n :date=\"yearValue\"\n >\n <YearPickerCellTrigger\n :year=\"yearValue\"\n as=\"button\"\n :class=\"composeClassName(slotFns.yearCell(), props.classNames?.yearCell)\"\n />\n </YearPickerCell>\n </YearPickerGridRow>\n </YearPickerGridBody>\n </YearPickerGrid>\n </template>\n </YearPickerRoot>\n</template>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollShadow.js","names":[],"sources":["../../../src/components/scroll-shadow/ScrollShadow.vue"],"sourcesContent":["<!--\n ScrollShadow — An overflow container that shows/hides top/bottom (or left/right)\n shadows based on scroll position.\n\n Implementation: Uses @vueuse/core useScroll to detect arrivedState (top/bottom/left/right).\n Data-attributes drive shadow visibility via CSS mask-image in @auronui/styles.\n\n Data-attribute semantics (matches scroll-shadow.css):\n data-top-scroll=\"true\" → content exists ABOVE current viewport (scrolled down) → top shadow shown\n data-bottom-scroll=\"true\" → content exists BELOW current viewport → bottom shadow shown\n data-left-scroll=\"true\" → content exists to the LEFT (scrolled right) → left shadow shown\n data-right-scroll=\"true\" → content exists to the RIGHT → right shadow shown\n\n Note: CLAUDE.md Reka UI CSS selector pairing rule (pseudo + data-attr) does not apply\n here because ScrollShadow is a custom component with no Reka UI backing.\n-->\n<script setup lang=\"ts\">\nimport { computed, useTemplateRef } from 'vue'\nimport { useScroll } from '@vueuse/core'\nimport { scrollShadowVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n orientation?: 'vertical' | 'horizontal' | 'both'\n hideScrollBar?: boolean\n size?: number\n offset?: number\n visibility?: 'auto' | 'top' | 'bottom' | 'left' | 'right' | 'both' | 'none'\n class?: string\n}>(), {\n orientation: 'vertical',\n hideScrollBar: false,\n size: 40,\n offset: 0,\n visibility: 'auto',\n})\n\nconst container = useTemplateRef<HTMLElement>('container')\nconst { arrivedState } = useScroll(container)\n\n// data-top-scroll=\"true\" when there IS content above (i.e., NOT at top edge)\nconst topScroll = computed(() => !arrivedState.top || undefined)\n// data-bottom-scroll=\"true\" when there IS content below (i.e., NOT at bottom edge)\nconst bottomScroll = computed(() => !arrivedState.bottom || undefined)\n// data-left-scroll=\"true\" when there IS content to the left (i.e., NOT at left edge)\nconst leftScroll = computed(() => !arrivedState.left || undefined)\n// data-right-scroll=\"true\" when there IS content to the right (i.e., NOT at right edge)\nconst rightScroll = computed(() => !arrivedState.right || undefined)\n\nconst slotFns = computed(() =>\n scrollShadowVariants({\n orientation: props.orientation === 'both' ? 'vertical' : props.orientation,\n hideScrollBar: props.hideScrollBar,\n })\n)\n</script>\n\n<template>\n <div\n ref=\"container\"\n :class=\"composeClassName(slotFns.base(), props.class)\"\n :data-orientation=\"orientation\"\n :data-top-scroll=\"topScroll ? 'true' : undefined\"\n :data-bottom-scroll=\"bottomScroll ? 'true' : undefined\"\n :data-left-scroll=\"leftScroll ? 'true' : undefined\"\n :data-right-scroll=\"rightScroll ? 'true' : undefined\"\n :style=\"{ '--scroll-shadow-size': size + 'px' }\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"ScrollShadow.js","names":[],"sources":["../../../src/components/scroll-shadow/ScrollShadow.vue"],"sourcesContent":["<!--\n ScrollShadow — An overflow container that shows/hides top/bottom (or left/right)\n shadows based on scroll position.\n\n Implementation: Uses @vueuse/core useScroll to detect arrivedState (top/bottom/left/right).\n Data-attributes drive shadow visibility via CSS mask-image in @auronui/styles.\n\n Data-attribute semantics (matches scroll-shadow.css):\n data-top-scroll=\"true\" → content exists ABOVE current viewport (scrolled down) → top shadow shown\n data-bottom-scroll=\"true\" → content exists BELOW current viewport → bottom shadow shown\n data-left-scroll=\"true\" → content exists to the LEFT (scrolled right) → left shadow shown\n data-right-scroll=\"true\" → content exists to the RIGHT → right shadow shown\n\n Note: CLAUDE.md Reka UI CSS selector pairing rule (pseudo + data-attr) does not apply\n here because ScrollShadow is a custom component with no Reka UI backing.\n-->\n<script setup lang=\"ts\">\nimport { computed, useTemplateRef } from 'vue'\nimport { useScroll } from '@vueuse/core'\nimport { scrollShadowVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n orientation?: 'vertical' | 'horizontal' | 'both'\n hideScrollBar?: boolean\n size?: number\n offset?: number\n visibility?: 'auto' | 'top' | 'bottom' | 'left' | 'right' | 'both' | 'none'\n class?: ClassValue\n /** Per-slot class overrides. */\n classNames?: Partial<{\n base: ClassValue\n }>\n}>(), {\n orientation: 'vertical',\n hideScrollBar: false,\n size: 40,\n offset: 0,\n visibility: 'auto',\n})\n\nconst container = useTemplateRef<HTMLElement>('container')\nconst { arrivedState } = useScroll(container)\n\n// data-top-scroll=\"true\" when there IS content above (i.e., NOT at top edge)\nconst topScroll = computed(() => !arrivedState.top || undefined)\n// data-bottom-scroll=\"true\" when there IS content below (i.e., NOT at bottom edge)\nconst bottomScroll = computed(() => !arrivedState.bottom || undefined)\n// data-left-scroll=\"true\" when there IS content to the left (i.e., NOT at left edge)\nconst leftScroll = computed(() => !arrivedState.left || undefined)\n// data-right-scroll=\"true\" when there IS content to the right (i.e., NOT at right edge)\nconst rightScroll = computed(() => !arrivedState.right || undefined)\n\nconst slotFns = computed(() =>\n scrollShadowVariants({\n orientation: props.orientation === 'both' ? 'vertical' : props.orientation,\n hideScrollBar: props.hideScrollBar,\n })\n)\n</script>\n\n<template>\n <div\n ref=\"container\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :data-orientation=\"orientation\"\n :data-top-scroll=\"topScroll ? 'true' : undefined\"\n :data-bottom-scroll=\"bottomScroll ? 'true' : undefined\"\n :data-left-scroll=\"leftScroll ? 'true' : undefined\"\n :data-right-scroll=\"rightScroll ? 'true' : undefined\"\n :style=\"{ '--scroll-shadow-size': size + 'px' }\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":""}
@@ -21,7 +21,8 @@ var ScrollShadow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
21
21
  size: { default: 40 },
22
22
  offset: { default: 0 },
23
23
  visibility: { default: "auto" },
24
- class: {}
24
+ class: {},
25
+ classNames: {}
25
26
  },
26
27
  setup(__props) {
27
28
  const props = __props;
@@ -39,7 +40,7 @@ var ScrollShadow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
39
40
  return openBlock(), createElementBlock("div", {
40
41
  ref_key: "container",
41
42
  ref: container,
42
- class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class)),
43
+ class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base)),
43
44
  "data-orientation": __props.orientation,
44
45
  "data-top-scroll": topScroll.value ? "true" : void 0,
45
46
  "data-bottom-scroll": bottomScroll.value ? "true" : void 0,
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollShadow.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/scroll-shadow/ScrollShadow.vue"],"sourcesContent":["<!--\n ScrollShadow — An overflow container that shows/hides top/bottom (or left/right)\n shadows based on scroll position.\n\n Implementation: Uses @vueuse/core useScroll to detect arrivedState (top/bottom/left/right).\n Data-attributes drive shadow visibility via CSS mask-image in @auronui/styles.\n\n Data-attribute semantics (matches scroll-shadow.css):\n data-top-scroll=\"true\" → content exists ABOVE current viewport (scrolled down) → top shadow shown\n data-bottom-scroll=\"true\" → content exists BELOW current viewport → bottom shadow shown\n data-left-scroll=\"true\" → content exists to the LEFT (scrolled right) → left shadow shown\n data-right-scroll=\"true\" → content exists to the RIGHT → right shadow shown\n\n Note: CLAUDE.md Reka UI CSS selector pairing rule (pseudo + data-attr) does not apply\n here because ScrollShadow is a custom component with no Reka UI backing.\n-->\n<script setup lang=\"ts\">\nimport { computed, useTemplateRef } from 'vue'\nimport { useScroll } from '@vueuse/core'\nimport { scrollShadowVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n orientation?: 'vertical' | 'horizontal' | 'both'\n hideScrollBar?: boolean\n size?: number\n offset?: number\n visibility?: 'auto' | 'top' | 'bottom' | 'left' | 'right' | 'both' | 'none'\n class?: string\n}>(), {\n orientation: 'vertical',\n hideScrollBar: false,\n size: 40,\n offset: 0,\n visibility: 'auto',\n})\n\nconst container = useTemplateRef<HTMLElement>('container')\nconst { arrivedState } = useScroll(container)\n\n// data-top-scroll=\"true\" when there IS content above (i.e., NOT at top edge)\nconst topScroll = computed(() => !arrivedState.top || undefined)\n// data-bottom-scroll=\"true\" when there IS content below (i.e., NOT at bottom edge)\nconst bottomScroll = computed(() => !arrivedState.bottom || undefined)\n// data-left-scroll=\"true\" when there IS content to the left (i.e., NOT at left edge)\nconst leftScroll = computed(() => !arrivedState.left || undefined)\n// data-right-scroll=\"true\" when there IS content to the right (i.e., NOT at right edge)\nconst rightScroll = computed(() => !arrivedState.right || undefined)\n\nconst slotFns = computed(() =>\n scrollShadowVariants({\n orientation: props.orientation === 'both' ? 'vertical' : props.orientation,\n hideScrollBar: props.hideScrollBar,\n })\n)\n</script>\n\n<template>\n <div\n ref=\"container\"\n :class=\"composeClassName(slotFns.base(), props.class)\"\n :data-orientation=\"orientation\"\n :data-top-scroll=\"topScroll ? 'true' : undefined\"\n :data-bottom-scroll=\"bottomScroll ? 'true' : undefined\"\n :data-left-scroll=\"leftScroll ? 'true' : undefined\"\n :data-right-scroll=\"rightScroll ? 'true' : undefined\"\n :style=\"{ '--scroll-shadow-size': size + 'px' }\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAsBA,MAAM,QAAQ;EAed,MAAM,YAAY,eAA4B,YAAW;EACzD,MAAM,EAAE,iBAAiB,UAAU,UAAS;EAG5C,MAAM,YAAY,eAAe,CAAC,aAAa,OAAO,KAAA,EAAS;EAE/D,MAAM,eAAe,eAAe,CAAC,aAAa,UAAU,KAAA,EAAS;EAErE,MAAM,aAAa,eAAe,CAAC,aAAa,QAAQ,KAAA,EAAS;EAEjE,MAAM,cAAc,eAAe,CAAC,aAAa,SAAS,KAAA,EAAS;EAEnE,MAAM,UAAU,eACd,qBAAqB;GACnB,aAAa,MAAM,gBAAgB,SAAS,aAAa,MAAM;GAC/D,eAAe,MAAM;GACtB,CAAA,CACH;;uBAIE,mBAWM,OAAA;aAVA;IAAJ,KAAI;IACH,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,MAAK,CAAA;IACnD,oBAAkB,QAAA;IAClB,mBAAiB,UAAA,QAAS,SAAY,KAAA;IACtC,sBAAoB,aAAA,QAAY,SAAY,KAAA;IAC5C,oBAAkB,WAAA,QAAU,SAAY,KAAA;IACxC,qBAAmB,YAAA,QAAW,SAAY,KAAA;IAC1C,OAAK,eAAA,EAAA,wBAA4B,QAAA,OAAI,MAAA,CAAA;OAEtC,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA"}
1
+ {"version":3,"file":"ScrollShadow.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/scroll-shadow/ScrollShadow.vue"],"sourcesContent":["<!--\n ScrollShadow — An overflow container that shows/hides top/bottom (or left/right)\n shadows based on scroll position.\n\n Implementation: Uses @vueuse/core useScroll to detect arrivedState (top/bottom/left/right).\n Data-attributes drive shadow visibility via CSS mask-image in @auronui/styles.\n\n Data-attribute semantics (matches scroll-shadow.css):\n data-top-scroll=\"true\" → content exists ABOVE current viewport (scrolled down) → top shadow shown\n data-bottom-scroll=\"true\" → content exists BELOW current viewport → bottom shadow shown\n data-left-scroll=\"true\" → content exists to the LEFT (scrolled right) → left shadow shown\n data-right-scroll=\"true\" → content exists to the RIGHT → right shadow shown\n\n Note: CLAUDE.md Reka UI CSS selector pairing rule (pseudo + data-attr) does not apply\n here because ScrollShadow is a custom component with no Reka UI backing.\n-->\n<script setup lang=\"ts\">\nimport { computed, useTemplateRef } from 'vue'\nimport { useScroll } from '@vueuse/core'\nimport { scrollShadowVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n orientation?: 'vertical' | 'horizontal' | 'both'\n hideScrollBar?: boolean\n size?: number\n offset?: number\n visibility?: 'auto' | 'top' | 'bottom' | 'left' | 'right' | 'both' | 'none'\n class?: ClassValue\n /** Per-slot class overrides. */\n classNames?: Partial<{\n base: ClassValue\n }>\n}>(), {\n orientation: 'vertical',\n hideScrollBar: false,\n size: 40,\n offset: 0,\n visibility: 'auto',\n})\n\nconst container = useTemplateRef<HTMLElement>('container')\nconst { arrivedState } = useScroll(container)\n\n// data-top-scroll=\"true\" when there IS content above (i.e., NOT at top edge)\nconst topScroll = computed(() => !arrivedState.top || undefined)\n// data-bottom-scroll=\"true\" when there IS content below (i.e., NOT at bottom edge)\nconst bottomScroll = computed(() => !arrivedState.bottom || undefined)\n// data-left-scroll=\"true\" when there IS content to the left (i.e., NOT at left edge)\nconst leftScroll = computed(() => !arrivedState.left || undefined)\n// data-right-scroll=\"true\" when there IS content to the right (i.e., NOT at right edge)\nconst rightScroll = computed(() => !arrivedState.right || undefined)\n\nconst slotFns = computed(() =>\n scrollShadowVariants({\n orientation: props.orientation === 'both' ? 'vertical' : props.orientation,\n hideScrollBar: props.hideScrollBar,\n })\n)\n</script>\n\n<template>\n <div\n ref=\"container\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :data-orientation=\"orientation\"\n :data-top-scroll=\"topScroll ? 'true' : undefined\"\n :data-bottom-scroll=\"bottomScroll ? 'true' : undefined\"\n :data-left-scroll=\"leftScroll ? 'true' : undefined\"\n :data-right-scroll=\"rightScroll ? 'true' : undefined\"\n :style=\"{ '--scroll-shadow-size': size + 'px' }\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBA,MAAM,QAAQ;EAmBd,MAAM,YAAY,eAA4B,YAAW;EACzD,MAAM,EAAE,iBAAiB,UAAU,UAAS;EAG5C,MAAM,YAAY,eAAe,CAAC,aAAa,OAAO,KAAA,EAAS;EAE/D,MAAM,eAAe,eAAe,CAAC,aAAa,UAAU,KAAA,EAAS;EAErE,MAAM,aAAa,eAAe,CAAC,aAAa,QAAQ,KAAA,EAAS;EAEjE,MAAM,cAAc,eAAe,CAAC,aAAa,SAAS,KAAA,EAAS;EAEnE,MAAM,UAAU,eACd,qBAAqB;GACnB,aAAa,MAAM,gBAAgB,SAAS,aAAa,MAAM;GAC/D,eAAe,MAAM;GACtB,CAAA,CACH;;uBAIE,mBAWM,OAAA;aAVA;IAAJ,KAAI;IACH,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI,CAAA;IAC3E,oBAAkB,QAAA;IAClB,mBAAiB,UAAA,QAAS,SAAY,KAAA;IACtC,sBAAoB,aAAA,QAAY,SAAY,KAAA;IAC5C,oBAAkB,WAAA,QAAU,SAAY,KAAA;IACxC,qBAAmB,YAAA,QAAW,SAAY,KAAA;IAC1C,OAAK,eAAA,EAAA,wBAA4B,QAAA,OAAI,MAAA,CAAA;OAEtC,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":[],"sources":["../../../src/components/select/Select.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, reactive, toRef, useAttrs, useId, useSlots } from 'vue'\nimport { SelectRoot } from 'reka-ui'\nimport { selectVariants, type SelectVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { useSelectProvide, type SelectItemValue, type SelectItemData } from './Select.context'\nimport { hasSlotComponent } from '../../utils/hasSlotComponent'\nimport SelectTrigger from './SelectTrigger.vue'\nimport SelectValue from './SelectValue.vue'\nimport SelectContent from './SelectContent.vue'\nimport SelectItem from './SelectItem.vue'\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 multiple: false,\n modelValue: undefined,\n defaultValue: undefined,\n open: undefined,\n defaultOpen: undefined,\n items: () => [],\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: SelectItemValue | SelectItemValue[]]\n 'update:open': [value: boolean]\n}>()\n\ntype Props = {\n /** Visual style of the field. @default 'flat' */\n variant?: SelectVariants['variant']\n /** Field height. @default 'md' */\n size?: SelectVariants['size']\n /** Accent color applied to focus ring + floating label. @default 'default' */\n color?: SelectVariants['color']\n /**\n * Where the `label` is rendered relative to the field.\n * - `inside`: floats above the trigger (shrinks when focused/filled)\n * - `outside`: sits above the field, static\n * - `outside-left`: sits to the left, horizontal layout\n * @default 'inside'\n */\n labelPlacement?: SelectVariants['labelPlacement']\n /** Stretches root wrapper to 100% width. @default false */\n fullWidth?: boolean\n /** Marks the field as invalid. Triggers danger styling and enables `errorMessage`. @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 /** Placeholder shown when no value is selected. */\n placeholder?: string\n /** Form field name, for native form submission. */\n name?: string\n /** Field label. When omitted, the floating-label behavior is skipped. */\n label?: string\n /** Helper text displayed below the field. Suppressed when `isInvalid && errorMessage` is shown. */\n description?: string\n /** Error text displayed below the field. Only rendered when `isInvalid` is also true. */\n errorMessage?: string\n /** Extra classes merged onto the root wrapper via `composeClassName`. */\n class?: string\n\n /* ─── Select-specific ─────────────────────────────────────── */\n /** Two-way bound selected value. Accepts string or numeric keys. */\n modelValue?: SelectItemValue | SelectItemValue[]\n /** Initial selected value (uncontrolled). Accepts string or numeric keys. */\n defaultValue?: SelectItemValue | SelectItemValue[]\n /** Allow selecting multiple values. modelValue becomes string[]. @default false */\n multiple?: boolean\n /** Controls open state of the dropdown. */\n open?: boolean\n /** Initial open state of the dropdown (uncontrolled). */\n defaultOpen?: boolean\n /**\n * Data-driven items for the terse API. When provided (and no SelectTrigger /\n * SelectContent is passed as a child), the trigger, value, and popover are\n * rendered internally. Use the `#item` slot to customize per-item rendering.\n */\n items?: SelectItemData[]\n}\n\nconst attrs = useAttrs()\nconst generatedId = useId()\nconst triggerId = computed(() => (attrs.id as string | undefined) ?? generatedId)\n\nconst hasLabel = computed(() => !!props.label)\n\nconst slots = useSlots()\n// Tier 3 (advanced): consumer supplied explicit compound chrome → pass through.\n// Tier 1/2 (terse): render trigger/value/content internally.\nconst usesCustomChrome = computed(() =>\n hasSlotComponent(slots.default?.(), [SelectTrigger, SelectContent]),\n)\n\n// Helper IDs / aria wiring\nconst descriptionId = computed(() => `${triggerId.value}-description`)\nconst errorMessageId = computed(() => `${triggerId.value}-error`)\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 slotFns = computed(() =>\n selectVariants({\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)\n\n// Persistent item registry. SelectItem populates on first mount; entries\n// survive SelectContent unmount so SelectValue can render the label while\n// the popover is closed.\nconst itemRegistry = reactive(new Map<SelectItemValue, string>())\nconst registerItem = (value: SelectItemValue, label: string) => {\n itemRegistry.set(value, label)\n}\nconst itemLabel = (value: SelectItemValue | SelectItemValue[] | undefined | null): string => {\n if (value == null) return ''\n if (Array.isArray(value)) {\n // Fall back to the stringified value (handles numeric keys) when no label is\n // registered. Filter empty strings only — never use filter(Boolean), which\n // would drop a registered label for the numeric key 0.\n return value\n .map(v => String(itemRegistry.get(v) ?? v))\n .filter(s => s.length > 0)\n .join(', ')\n }\n return itemRegistry.get(value) ?? String(value)\n}\n\nfunction removeValue(value: SelectItemValue) {\n const current = Array.isArray(props.modelValue) ? props.modelValue : []\n emit('update:modelValue', current.filter(v => v !== value))\n}\n\nuseSelectProvide({\n isDisabled: toRef(props, 'isDisabled'),\n isInvalid: toRef(props, 'isInvalid'),\n isReadonly: toRef(props, 'isReadonly'),\n isRequired: toRef(props, 'isRequired'),\n fullWidth: toRef(props, 'fullWidth'),\n hasLabel,\n labelPlacement: toRef(props, 'labelPlacement'),\n triggerId,\n label: toRef(props, 'label'),\n ariaDescribedBy,\n slots: slotFns,\n multiple: toRef(props, 'multiple'),\n registerItem,\n itemLabel,\n removeValue,\n})\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class)\"\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 >\n <label\n v-if=\"showOutsideLabel\"\n :for=\"triggerId\"\n :class=\"slotFns.label()\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n\n <div :class=\"slotFns.mainWrapper()\">\n <SelectRoot\n :model-value=\"props.modelValue\"\n :default-value=\"props.defaultValue\"\n :multiple=\"props.multiple\"\n :open=\"props.open\"\n :default-open=\"props.defaultOpen\"\n :disabled=\"props.isDisabled\"\n :required=\"props.isRequired\"\n :name=\"props.name\"\n @update:model-value=\"emit('update:modelValue', $event as SelectItemValue | SelectItemValue[])\"\n @update:open=\"emit('update:open', $event)\"\n >\n <!-- Tier 3: consumer-provided compound chrome -->\n <slot v-if=\"usesCustomChrome\" />\n <!-- Tier 1/2: internally rendered chrome -->\n <template v-else>\n <SelectTrigger>\n <SelectValue :placeholder=\"props.placeholder\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem\n v-for=\"item in props.items\"\n :key=\"item.value\"\n :value=\"item.value\"\n :text-value=\"item.textValue ?? item.label\"\n :is-disabled=\"item.isDisabled\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n >{{ item.label ?? String(item.value) }}</slot>\n </SelectItem>\n <slot />\n </SelectContent>\n </template>\n </SelectRoot>\n\n <div\n v-if=\"hasHelper\"\n :class=\"slotFns.helperWrapper()\"\n >\n <div\n v-if=\"showError\"\n :id=\"errorMessageId\"\n :class=\"slotFns.errorMessage()\"\n >\n {{ errorMessage }}\n </div>\n <div\n v-else-if=\"showDescription\"\n :id=\"descriptionId\"\n :class=\"slotFns.description()\"\n >\n {{ description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Select.js","names":[],"sources":["../../../src/components/select/Select.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, reactive, toRef, useAttrs, useId, useSlots } from 'vue'\nimport { SelectRoot } from 'reka-ui'\nimport { selectVariants, type SelectVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useSelectProvide, type SelectItemValue, type SelectItemData } from './Select.context'\nimport { hasSlotComponent } from '../../utils/hasSlotComponent'\nimport SelectTrigger from './SelectTrigger.vue'\nimport SelectValue from './SelectValue.vue'\nimport SelectContent from './SelectContent.vue'\nimport SelectItem from './SelectItem.vue'\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 multiple: false,\n modelValue: undefined,\n defaultValue: undefined,\n open: undefined,\n defaultOpen: undefined,\n items: () => [],\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: SelectItemValue | SelectItemValue[]]\n 'update:open': [value: boolean]\n}>()\n\ntype Props = {\n /** Visual style of the field. @default 'flat' */\n variant?: SelectVariants['variant']\n /** Field height. @default 'md' */\n size?: SelectVariants['size']\n /** Accent color applied to focus ring + floating label. @default 'default' */\n color?: SelectVariants['color']\n /**\n * Where the `label` is rendered relative to the field.\n * - `inside`: floats above the trigger (shrinks when focused/filled)\n * - `outside`: sits above the field, static\n * - `outside-left`: sits to the left, horizontal layout\n * @default 'inside'\n */\n labelPlacement?: SelectVariants['labelPlacement']\n /** Stretches root wrapper to 100% width. @default false */\n fullWidth?: boolean\n /** Marks the field as invalid. Triggers danger styling and enables `errorMessage`. @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 /** Placeholder shown when no value is selected. */\n placeholder?: string\n /** Form field name, for native form submission. */\n name?: string\n /** Field label. When omitted, the floating-label behavior is skipped. */\n label?: string\n /** Helper text displayed below the field. Suppressed when `isInvalid && errorMessage` is shown. */\n description?: string\n /** Error text displayed below the field. Only rendered when `isInvalid` is also true. */\n errorMessage?: string\n /** Extra classes merged onto the root wrapper via `composeClassName`. */\n class?: ClassValue\n /** Per-slot class name overrides via `composeClassName`. */\n classNames?: Partial<{\n base: ClassValue\n label: ClassValue\n mainWrapper: ClassValue\n helperWrapper: ClassValue\n errorMessage: ClassValue\n description: ClassValue\n }>\n\n /* ─── Select-specific ─────────────────────────────────────── */\n /** Two-way bound selected value. Accepts string or numeric keys. */\n modelValue?: SelectItemValue | SelectItemValue[]\n /** Initial selected value (uncontrolled). Accepts string or numeric keys. */\n defaultValue?: SelectItemValue | SelectItemValue[]\n /** Allow selecting multiple values. modelValue becomes string[]. @default false */\n multiple?: boolean\n /** Controls open state of the dropdown. */\n open?: boolean\n /** Initial open state of the dropdown (uncontrolled). */\n defaultOpen?: boolean\n /**\n * Data-driven items for the terse API. When provided (and no SelectTrigger /\n * SelectContent is passed as a child), the trigger, value, and popover are\n * rendered internally. Use the `#item` slot to customize per-item rendering.\n */\n items?: SelectItemData[]\n}\n\nconst attrs = useAttrs()\nconst generatedId = useId()\nconst triggerId = computed(() => (attrs.id as string | undefined) ?? generatedId)\n\nconst hasLabel = computed(() => !!props.label)\n\nconst slots = useSlots()\n// Tier 3 (advanced): consumer supplied explicit compound chrome → pass through.\n// Tier 1/2 (terse): render trigger/value/content internally.\nconst usesCustomChrome = computed(() =>\n hasSlotComponent(slots.default?.(), [SelectTrigger, SelectContent]),\n)\n\n// Helper IDs / aria wiring\nconst descriptionId = computed(() => `${triggerId.value}-description`)\nconst errorMessageId = computed(() => `${triggerId.value}-error`)\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 slotFns = computed(() =>\n selectVariants({\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)\n\n// Persistent item registry. SelectItem populates on first mount; entries\n// survive SelectContent unmount so SelectValue can render the label while\n// the popover is closed.\nconst itemRegistry = reactive(new Map<SelectItemValue, string>())\nconst registerItem = (value: SelectItemValue, label: string) => {\n itemRegistry.set(value, label)\n}\nconst itemLabel = (value: SelectItemValue | SelectItemValue[] | undefined | null): string => {\n if (value == null) return ''\n if (Array.isArray(value)) {\n // Fall back to the stringified value (handles numeric keys) when no label is\n // registered. Filter empty strings only — never use filter(Boolean), which\n // would drop a registered label for the numeric key 0.\n return value\n .map(v => String(itemRegistry.get(v) ?? v))\n .filter(s => s.length > 0)\n .join(', ')\n }\n return itemRegistry.get(value) ?? String(value)\n}\n\nfunction removeValue(value: SelectItemValue) {\n const current = Array.isArray(props.modelValue) ? props.modelValue : []\n emit('update:modelValue', current.filter(v => v !== value))\n}\n\nuseSelectProvide({\n isDisabled: toRef(props, 'isDisabled'),\n isInvalid: toRef(props, 'isInvalid'),\n isReadonly: toRef(props, 'isReadonly'),\n isRequired: toRef(props, 'isRequired'),\n fullWidth: toRef(props, 'fullWidth'),\n hasLabel,\n labelPlacement: toRef(props, 'labelPlacement'),\n triggerId,\n label: toRef(props, 'label'),\n ariaDescribedBy,\n slots: slotFns,\n multiple: toRef(props, 'multiple'),\n registerItem,\n itemLabel,\n removeValue,\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 >\n <label\n v-if=\"showOutsideLabel\"\n :for=\"triggerId\"\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 <SelectRoot\n :model-value=\"props.modelValue\"\n :default-value=\"props.defaultValue\"\n :multiple=\"props.multiple\"\n :open=\"props.open\"\n :default-open=\"props.defaultOpen\"\n :disabled=\"props.isDisabled\"\n :required=\"props.isRequired\"\n :name=\"props.name\"\n @update:model-value=\"emit('update:modelValue', $event as SelectItemValue | SelectItemValue[])\"\n @update:open=\"emit('update:open', $event)\"\n >\n <!-- Tier 3: consumer-provided compound chrome -->\n <slot v-if=\"usesCustomChrome\" />\n <!-- Tier 1/2: internally rendered chrome -->\n <template v-else>\n <SelectTrigger>\n <SelectValue :placeholder=\"props.placeholder\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem\n v-for=\"item in props.items\"\n :key=\"item.value\"\n :value=\"item.value\"\n :text-value=\"item.textValue ?? item.label\"\n :is-disabled=\"item.isDisabled\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n >{{ item.label ?? String(item.value) }}</slot>\n </SelectItem>\n <slot />\n </SelectContent>\n </template>\n </SelectRoot>\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 >\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":""}
@@ -58,6 +58,7 @@ var Select_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
58
58
  description: {},
59
59
  errorMessage: {},
60
60
  class: {},
61
+ classNames: {},
61
62
  modelValue: { default: void 0 },
62
63
  defaultValue: { default: void 0 },
63
64
  multiple: {
@@ -136,7 +137,7 @@ var Select_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
136
137
  });
137
138
  return (_ctx, _cache) => {
138
139
  return openBlock(), createElementBlock("div", {
139
- class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class)),
140
+ class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base)),
140
141
  "data-invalid": __props.isInvalid || void 0,
141
142
  "data-disabled": __props.isDisabled || void 0,
142
143
  "data-readonly": __props.isReadonly || void 0,
@@ -146,8 +147,8 @@ var Select_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
146
147
  }, [showOutsideLabel.value ? (openBlock(), createElementBlock("label", {
147
148
  key: 0,
148
149
  for: triggerId.value,
149
- class: normalizeClass(slotFns.value.label())
150
- }, [createTextVNode(toDisplayString(__props.label), 1), __props.isRequired ? (openBlock(), createElementBlock("span", _hoisted_3, " *")) : createCommentVNode("", true)], 10, _hoisted_2)) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(slotFns.value.mainWrapper()) }, [createVNode(unref(SelectRoot), {
150
+ class: normalizeClass(unref(composeClassName)(slotFns.value.label(), props.classNames?.label))
151
+ }, [createTextVNode(toDisplayString(__props.label), 1), __props.isRequired ? (openBlock(), createElementBlock("span", _hoisted_3, " *")) : createCommentVNode("", true)], 10, _hoisted_2)) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(unref(composeClassName)(slotFns.value.mainWrapper(), props.classNames?.mainWrapper)) }, [createVNode(unref(SelectRoot), {
151
152
  "model-value": props.modelValue,
152
153
  "default-value": props.defaultValue,
153
154
  multiple: props.multiple,
@@ -192,15 +193,15 @@ var Select_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
192
193
  "name"
193
194
  ]), hasHelper.value ? (openBlock(), createElementBlock("div", {
194
195
  key: 0,
195
- class: normalizeClass(slotFns.value.helperWrapper())
196
+ class: normalizeClass(unref(composeClassName)(slotFns.value.helperWrapper(), props.classNames?.helperWrapper))
196
197
  }, [showError.value ? (openBlock(), createElementBlock("div", {
197
198
  key: 0,
198
199
  id: errorMessageId.value,
199
- class: normalizeClass(slotFns.value.errorMessage())
200
+ class: normalizeClass(unref(composeClassName)(slotFns.value.errorMessage(), props.classNames?.errorMessage))
200
201
  }, toDisplayString(__props.errorMessage), 11, _hoisted_4)) : showDescription.value ? (openBlock(), createElementBlock("div", {
201
202
  key: 1,
202
203
  id: descriptionId.value,
203
- class: normalizeClass(slotFns.value.description())
204
+ class: normalizeClass(unref(composeClassName)(slotFns.value.description(), props.classNames?.description))
204
205
  }, toDisplayString(__props.description), 11, _hoisted_5)) : createCommentVNode("", true)], 2)) : createCommentVNode("", true)], 2)], 10, _hoisted_1);
205
206
  };
206
207
  }