@auronui/vue 1.0.14 → 1.0.16

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 +1031 -430
  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 +9 -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 +12 -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 +11 -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 +9 -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 +12 -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 +9 -2
  20. package/dist/components/alert-dialog/AlertDialogAction.vue_vue_type_script_setup_true_lang.js.map +1 -1
  21. package/dist/components/alert-dialog/AlertDialogCancel.js.map +1 -1
  22. package/dist/components/alert-dialog/AlertDialogCancel.vue_vue_type_script_setup_true_lang.js +9 -2
  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 +12 -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 +14 -7
  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 +11 -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 +9 -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 +13 -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 +10 -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 +13 -6
  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 +9 -2
  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 +9 -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 +38 -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 +19 -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 +9 -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 +11 -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 +9 -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 +9 -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 +11 -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 +14 -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 +9 -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 +13 -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 +9 -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 +12 -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 +12 -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 +20 -13
  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 +12 -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 +23 -16
  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 +12 -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 +18 -11
  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 +21 -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 +14 -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 +11 -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 +10 -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 +12 -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 +13 -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 +19 -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 +13 -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 +14 -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 +13 -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 +13 -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 +48 -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 +9 -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 +14 -7
  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 +9 -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 +14 -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 +12 -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 +12 -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 +13 -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 +12 -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 +14 -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 +14 -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 +14 -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 +12 -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 +14 -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 +14 -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 +11 -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 +14 -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 +9 -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 +11 -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 +11 -4
  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 +9 -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 +9 -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 +20 -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 +20 -13
  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 +12 -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 +13 -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 +12 -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 -173
  241. package/dist/utils/composeClassName.js +3 -3
  242. package/dist/utils/composeClassName.js.map +1 -1
  243. package/package.json +4 -4
@@ -34,7 +34,14 @@ var ProgressCircle_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
34
34
  type: Boolean,
35
35
  default: false
36
36
  },
37
- class: {}
37
+ class: { type: [
38
+ String,
39
+ Boolean,
40
+ null,
41
+ Object,
42
+ Array
43
+ ] },
44
+ classNames: {}
38
45
  },
39
46
  setup(__props) {
40
47
  const props = __props;
@@ -62,24 +69,24 @@ var ProgressCircle_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
62
69
  return openBlock(), createBlock(unref(ProgressRoot), {
63
70
  "model-value": isInd.value ? null : __props.value,
64
71
  max: __props.maxValue,
65
- class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class)),
72
+ class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base)),
66
73
  "aria-label": __props.label || "Progress",
67
74
  "data-disabled": __props.isDisabled ? "" : void 0
68
75
  }, {
69
76
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
70
- class: normalizeClass(slotFns.value.svg()),
77
+ class: normalizeClass(unref(composeClassName)(slotFns.value.svg(), props.classNames?.svg)),
71
78
  viewBox: "0 0 32 32",
72
79
  fill: "none",
73
80
  "aria-hidden": "true"
74
81
  }, [createElementVNode("circle", {
75
- class: normalizeClass(slotFns.value.track()),
82
+ class: normalizeClass(unref(composeClassName)(slotFns.value.track(), props.classNames?.track)),
76
83
  cx: "16",
77
84
  cy: "16",
78
85
  r: radius.value,
79
86
  "stroke-width": __props.strokeWidth,
80
87
  fill: "none"
81
88
  }, null, 10, _hoisted_1), createElementVNode("circle", {
82
- class: normalizeClass(slotFns.value.indicator()),
89
+ class: normalizeClass(unref(composeClassName)(slotFns.value.indicator(), props.classNames?.indicator)),
83
90
  cx: "16",
84
91
  cy: "16",
85
92
  r: radius.value,
@@ -92,7 +99,7 @@ var ProgressCircle_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
92
99
  style: { "transition": "stroke-dashoffset 300ms ease-out" }
93
100
  }, null, 10, _hoisted_2)], 2)), __props.showValueLabel || __props.label ? (openBlock(), createElementBlock("span", {
94
101
  key: 0,
95
- class: normalizeClass(slotFns.value.value())
102
+ class: normalizeClass(unref(composeClassName)(slotFns.value.value(), props.classNames?.value))
96
103
  }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(formattedValue.value), 1)])], 2)) : createCommentVNode("", true)]),
97
104
  _: 3
98
105
  }, 8, [
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressCircle.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/progress-circle/ProgressCircle.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { ProgressRoot } from 'reka-ui'\nimport { progressCircleVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n value?: number | null\n minValue?: number\n maxValue?: number\n label?: string\n valueLabel?: string\n showValueLabel?: boolean\n formatOptions?: Intl.NumberFormatOptions\n size?: 'sm' | 'md' | 'lg'\n color?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger'\n strokeWidth?: number\n isIndeterminate?: boolean\n isDisabled?: boolean\n class?: string\n}>(), {\n minValue: 0,\n maxValue: 100,\n showValueLabel: false,\n strokeWidth: 3,\n isIndeterminate: false,\n isDisabled: false,\n})\n\nconst isInd = computed(\n () => props.isIndeterminate || props.value === null || props.value === undefined\n)\n\nconst percentage = computed(() => {\n if (isInd.value) return 0\n const val = props.value as number\n return ((val - props.minValue) / (props.maxValue - props.minValue)) * 100\n})\n\n// SVG geometry\nconst radius = computed(() => 16 - props.strokeWidth)\nconst circumference = computed(() => 2 * Math.PI * radius.value)\nconst offset = computed(() =>\n isInd.value ? circumference.value * 0.25 : circumference.value * (1 - percentage.value / 100)\n)\n\nconst slotFns = computed(() =>\n progressCircleVariants({\n size: props.size,\n color: props.color,\n isIndeterminate: isInd.value,\n isDisabled: props.isDisabled,\n })\n)\n\nconst formattedValue = computed(() => {\n if (props.valueLabel) return props.valueLabel\n if (props.value === null || props.value === undefined) return ''\n if (props.formatOptions) {\n return new Intl.NumberFormat(undefined, props.formatOptions).format(props.value)\n }\n return String(Math.round(props.value as number))\n})\n</script>\n\n<template>\n <ProgressRoot\n :model-value=\"isInd ? null : (value as number)\"\n :max=\"maxValue\"\n :class=\"composeClassName(slotFns.base(), props.class)\"\n :aria-label=\"label || 'Progress'\"\n :data-disabled=\"isDisabled ? '' : undefined\"\n >\n <svg\n :class=\"slotFns.svg()\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <!-- Track circle -->\n <circle\n :class=\"slotFns.track()\"\n cx=\"16\"\n cy=\"16\"\n :r=\"radius\"\n :stroke-width=\"strokeWidth\"\n fill=\"none\"\n />\n <!-- Indicator (progress) circle -->\n <circle\n :class=\"slotFns.indicator()\"\n cx=\"16\"\n cy=\"16\"\n :r=\"radius\"\n :stroke-width=\"strokeWidth\"\n fill=\"none\"\n stroke-linecap=\"round\"\n :stroke-dasharray=\"circumference\"\n :stroke-dashoffset=\"offset\"\n transform=\"rotate(-90 16 16)\"\n style=\"transition: stroke-dashoffset 300ms ease-out\"\n />\n </svg>\n <span\n v-if=\"showValueLabel || label\"\n :class=\"slotFns.value()\"\n >\n <slot>{{ formattedValue }}</slot>\n </span>\n </ProgressRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EAuBd,MAAM,QAAQ,eACN,MAAM,mBAAmB,MAAM,UAAU,QAAQ,MAAM,UAAU,KAAA,EACzE;EAEA,MAAM,aAAa,eAAe;AAChC,OAAI,MAAM,MAAO,QAAO;AAExB,WADY,MAAM,QACH,MAAM,aAAa,MAAM,WAAW,MAAM,YAAa;IACvE;EAGD,MAAM,SAAS,eAAe,KAAK,MAAM,YAAW;EACpD,MAAM,gBAAgB,eAAe,IAAI,KAAK,KAAK,OAAO,MAAK;EAC/D,MAAM,SAAS,eACb,MAAM,QAAQ,cAAc,QAAQ,MAAO,cAAc,SAAS,IAAI,WAAW,QAAQ,KAC3F;EAEA,MAAM,UAAU,eACd,uBAAuB;GACrB,MAAM,MAAM;GACZ,OAAO,MAAM;GACb,iBAAiB,MAAM;GACvB,YAAY,MAAM;GACnB,CAAA,CACH;EAEA,MAAM,iBAAiB,eAAe;AACpC,OAAI,MAAM,WAAY,QAAO,MAAM;AACnC,OAAI,MAAM,UAAU,QAAQ,MAAM,UAAU,KAAA,EAAW,QAAO;AAC9D,OAAI,MAAM,cACR,QAAO,IAAI,KAAK,aAAa,KAAA,GAAW,MAAM,cAAc,CAAC,OAAO,MAAM,MAAK;AAEjF,UAAO,OAAO,KAAK,MAAM,MAAM,MAAgB,CAAA;IAChD;;uBAIC,YA2Ce,MAAA,aAAA,EAAA;IA1CZ,eAAa,MAAA,QAAK,OAAW,QAAA;IAC7B,KAAK,QAAA;IACL,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,MAAK,CAAA;IACnD,cAAY,QAAA,SAAK;IACjB,iBAAe,QAAA,aAAU,KAAQ,KAAA;;2BA+B5B,EAAA,WAAA,EA7BN,mBA6BM,OAAA;KA5BH,OAAK,eAAE,QAAA,MAAQ,KAAG,CAAA;KACnB,SAAQ;KACR,MAAK;KACL,eAAY;QAGZ,mBAOE,UAAA;KANC,OAAK,eAAE,QAAA,MAAQ,OAAK,CAAA;KACrB,IAAG;KACH,IAAG;KACF,GAAG,OAAA;KACH,gBAAc,QAAA;KACf,MAAK;8BAGP,mBAYE,UAAA;KAXC,OAAK,eAAE,QAAA,MAAQ,WAAS,CAAA;KACzB,IAAG;KACH,IAAG;KACF,GAAG,OAAA;KACH,gBAAc,QAAA;KACf,MAAK;KACL,kBAAe;KACd,oBAAkB,cAAA;KAClB,qBAAmB,OAAA;KACpB,WAAU;KACV,OAAA,EAAA,cAAA,oCAAoD;oCAIhD,QAAA,kBAAkB,QAAA,SAAA,WAAA,EAD1B,mBAKO,QAAA;;KAHJ,OAAK,eAAE,QAAA,MAAQ,OAAK,CAAA;QAErB,WAAiC,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBAAxB,eAAA,MAAc,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"ProgressCircle.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/progress-circle/ProgressCircle.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { ProgressRoot } from 'reka-ui'\nimport { progressCircleVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n value?: number | null\n minValue?: number\n maxValue?: number\n label?: string\n valueLabel?: string\n showValueLabel?: boolean\n formatOptions?: Intl.NumberFormatOptions\n size?: 'sm' | 'md' | 'lg'\n color?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger'\n strokeWidth?: number\n isIndeterminate?: boolean\n isDisabled?: boolean\n class?: ClassValue\n /** Override classNames for individual slots */\n classNames?: Partial<{\n base: ClassValue\n svg: ClassValue\n track: ClassValue\n indicator: ClassValue\n value: ClassValue\n }>\n}>(), {\n minValue: 0,\n maxValue: 100,\n showValueLabel: false,\n strokeWidth: 3,\n isIndeterminate: false,\n isDisabled: false,\n})\n\nconst isInd = computed(\n () => props.isIndeterminate || props.value === null || props.value === undefined\n)\n\nconst percentage = computed(() => {\n if (isInd.value) return 0\n const val = props.value as number\n return ((val - props.minValue) / (props.maxValue - props.minValue)) * 100\n})\n\n// SVG geometry\nconst radius = computed(() => 16 - props.strokeWidth)\nconst circumference = computed(() => 2 * Math.PI * radius.value)\nconst offset = computed(() =>\n isInd.value ? circumference.value * 0.25 : circumference.value * (1 - percentage.value / 100)\n)\n\nconst slotFns = computed(() =>\n progressCircleVariants({\n size: props.size,\n color: props.color,\n isIndeterminate: isInd.value,\n isDisabled: props.isDisabled,\n })\n)\n\nconst formattedValue = computed(() => {\n if (props.valueLabel) return props.valueLabel\n if (props.value === null || props.value === undefined) return ''\n if (props.formatOptions) {\n return new Intl.NumberFormat(undefined, props.formatOptions).format(props.value)\n }\n return String(Math.round(props.value as number))\n})\n</script>\n\n<template>\n <ProgressRoot\n :model-value=\"isInd ? null : (value as number)\"\n :max=\"maxValue\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :aria-label=\"label || 'Progress'\"\n :data-disabled=\"isDisabled ? '' : undefined\"\n >\n <svg\n :class=\"composeClassName(slotFns.svg(), props.classNames?.svg)\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <!-- Track circle -->\n <circle\n :class=\"composeClassName(slotFns.track(), props.classNames?.track)\"\n cx=\"16\"\n cy=\"16\"\n :r=\"radius\"\n :stroke-width=\"strokeWidth\"\n fill=\"none\"\n />\n <!-- Indicator (progress) circle -->\n <circle\n :class=\"composeClassName(slotFns.indicator(), props.classNames?.indicator)\"\n cx=\"16\"\n cy=\"16\"\n :r=\"radius\"\n :stroke-width=\"strokeWidth\"\n fill=\"none\"\n stroke-linecap=\"round\"\n :stroke-dasharray=\"circumference\"\n :stroke-dashoffset=\"offset\"\n transform=\"rotate(-90 16 16)\"\n style=\"transition: stroke-dashoffset 300ms ease-out\"\n />\n </svg>\n <span\n v-if=\"showValueLabel || label\"\n :class=\"composeClassName(slotFns.value(), props.classNames?.value)\"\n >\n <slot>{{ formattedValue }}</slot>\n </span>\n </ProgressRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EA+Bd,MAAM,QAAQ,eACN,MAAM,mBAAmB,MAAM,UAAU,QAAQ,MAAM,UAAU,KAAA,EACzE;EAEA,MAAM,aAAa,eAAe;AAChC,OAAI,MAAM,MAAO,QAAO;AAExB,WADY,MAAM,QACH,MAAM,aAAa,MAAM,WAAW,MAAM,YAAa;IACvE;EAGD,MAAM,SAAS,eAAe,KAAK,MAAM,YAAW;EACpD,MAAM,gBAAgB,eAAe,IAAI,KAAK,KAAK,OAAO,MAAK;EAC/D,MAAM,SAAS,eACb,MAAM,QAAQ,cAAc,QAAQ,MAAO,cAAc,SAAS,IAAI,WAAW,QAAQ,KAC3F;EAEA,MAAM,UAAU,eACd,uBAAuB;GACrB,MAAM,MAAM;GACZ,OAAO,MAAM;GACb,iBAAiB,MAAM;GACvB,YAAY,MAAM;GACnB,CAAA,CACH;EAEA,MAAM,iBAAiB,eAAe;AACpC,OAAI,MAAM,WAAY,QAAO,MAAM;AACnC,OAAI,MAAM,UAAU,QAAQ,MAAM,UAAU,KAAA,EAAW,QAAO;AAC9D,OAAI,MAAM,cACR,QAAO,IAAI,KAAK,aAAa,KAAA,GAAW,MAAM,cAAc,CAAC,OAAO,MAAM,MAAK;AAEjF,UAAO,OAAO,KAAK,MAAM,MAAM,MAAgB,CAAA;IAChD;;uBAIC,YA2Ce,MAAA,aAAA,EAAA;IA1CZ,eAAa,MAAA,QAAK,OAAW,QAAA;IAC7B,KAAK,QAAA;IACL,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI,CAAA;IAC3E,cAAY,QAAA,SAAK;IACjB,iBAAe,QAAA,aAAU,KAAQ,KAAA;;2BA+B5B,EAAA,WAAA,EA7BN,mBA6BM,OAAA;KA5BH,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,KAAG,EAAI,MAAM,YAAY,IAAG,CAAA;KAC7D,SAAQ;KACR,MAAK;KACL,eAAY;QAGZ,mBAOE,UAAA;KANC,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,OAAK,EAAI,MAAM,YAAY,MAAK,CAAA;KACjE,IAAG;KACH,IAAG;KACF,GAAG,OAAA;KACH,gBAAc,QAAA;KACf,MAAK;8BAGP,mBAYE,UAAA;KAXC,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,WAAS,EAAI,MAAM,YAAY,UAAS,CAAA;KACzE,IAAG;KACH,IAAG;KACF,GAAG,OAAA;KACH,gBAAc,QAAA;KACf,MAAK;KACL,kBAAe;KACd,oBAAkB,cAAA;KAClB,qBAAmB,OAAA;KACpB,WAAU;KACV,OAAA,EAAA,cAAA,oCAAoD;oCAIhD,QAAA,kBAAkB,QAAA,SAAA,WAAA,EAD1B,mBAKO,QAAA;;KAHJ,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,OAAK,EAAI,MAAM,YAAY,MAAK,CAAA;QAEjE,WAAiC,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBAAxB,eAAA,MAAc,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","names":[],"sources":["../../../src/components/radio/Radio.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, useAttrs } from 'vue'\nimport { RadioGroupItem, RadioGroupIndicator } from 'reka-ui'\nimport { radioVariants, type RadioGroupVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { useRadioGroupInject } from './radio-group.context'\n\n// Disable Vue attribute fallthrough — we manually forward $attrs to RadioGroupItem\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<{\n value: string\n variant?: RadioGroupVariants['variant']\n disabled?: boolean\n class?: string\n}>(), {\n variant: undefined,\n disabled: false,\n class: undefined,\n})\n\nconst attrs = useAttrs()\n\n// Inject RadioGroup context with fallback defaults (standalone mode)\nconst groupCtx = useRadioGroupInject({\n variant: ref(undefined),\n disabled: ref(false),\n})\n\n// Prop precedence: group disabled wins (D-02)\nconst isDisabled = computed(() => groupCtx.disabled.value || props.disabled)\n\n// Child variant wins over group variant (used for data-variant attribute propagation)\nconst finalVariant = computed(() => props.variant ?? groupCtx.variant.value)\n\nconst slotFns = computed(() => radioVariants())\n</script>\n\n<template>\n <RadioGroupItem\n v-bind=\"attrs\"\n :value=\"props.value\"\n :disabled=\"isDisabled\"\n :data-variant=\"finalVariant\"\n :class=\"composeClassName(slotFns.base(), props.class)\"\n >\n <span :class=\"slotFns.control()\">\n <RadioGroupIndicator :class=\"slotFns.indicator()\" />\n </span>\n <span :class=\"slotFns.content()\">\n <slot />\n </span>\n </RadioGroupItem>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Radio.js","names":[],"sources":["../../../src/components/radio/Radio.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, useAttrs } from 'vue'\nimport { RadioGroupItem, RadioGroupIndicator } from 'reka-ui'\nimport { radioVariants, type RadioGroupVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useRadioGroupInject } from './radio-group.context'\n\n// Disable Vue attribute fallthrough — we manually forward $attrs to RadioGroupItem\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<{\n value: string\n variant?: RadioGroupVariants['variant']\n disabled?: boolean\n class?: ClassValue\n /** Override classNames for individual slots */\n classNames?: Partial<{\n base: ClassValue\n control: ClassValue\n indicator: ClassValue\n content: ClassValue\n }>\n}>(), {\n variant: undefined,\n disabled: false,\n class: undefined,\n classNames: undefined,\n})\n\nconst attrs = useAttrs()\n\n// Inject RadioGroup context with fallback defaults (standalone mode)\nconst groupCtx = useRadioGroupInject({\n variant: ref(undefined),\n disabled: ref(false),\n})\n\n// Prop precedence: group disabled wins (D-02)\nconst isDisabled = computed(() => groupCtx.disabled.value || props.disabled)\n\n// Child variant wins over group variant (used for data-variant attribute propagation)\nconst finalVariant = computed(() => props.variant ?? groupCtx.variant.value)\n\nconst slotFns = computed(() => radioVariants())\n</script>\n\n<template>\n <RadioGroupItem\n v-bind=\"attrs\"\n :value=\"props.value\"\n :disabled=\"isDisabled\"\n :data-variant=\"finalVariant\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n >\n <span :class=\"composeClassName(slotFns.control(), props.classNames?.control)\">\n <RadioGroupIndicator :class=\"composeClassName(slotFns.indicator(), props.classNames?.indicator)\" />\n </span>\n <span :class=\"composeClassName(slotFns.content(), props.classNames?.content)\">\n <slot />\n </span>\n </RadioGroupItem>\n</template>\n"],"mappings":""}
@@ -14,7 +14,17 @@ var Radio_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
14
14
  type: Boolean,
15
15
  default: false
16
16
  },
17
- class: { default: void 0 }
17
+ class: {
18
+ type: [
19
+ String,
20
+ Boolean,
21
+ null,
22
+ Object,
23
+ Array
24
+ ],
25
+ default: void 0
26
+ },
27
+ classNames: { default: void 0 }
18
28
  },
19
29
  setup(__props) {
20
30
  const props = __props;
@@ -31,9 +41,9 @@ var Radio_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
31
41
  value: props.value,
32
42
  disabled: isDisabled.value,
33
43
  "data-variant": finalVariant.value,
34
- class: unref(composeClassName)(slotFns.value.base(), props.class)
44
+ class: unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base)
35
45
  }), {
36
- default: withCtx(() => [createElementVNode("span", { class: normalizeClass(slotFns.value.control()) }, [createVNode(unref(RadioGroupIndicator), { class: normalizeClass(slotFns.value.indicator()) }, null, 8, ["class"])], 2), createElementVNode("span", { class: normalizeClass(slotFns.value.content()) }, [renderSlot(_ctx.$slots, "default")], 2)]),
46
+ default: withCtx(() => [createElementVNode("span", { class: normalizeClass(unref(composeClassName)(slotFns.value.control(), props.classNames?.control)) }, [createVNode(unref(RadioGroupIndicator), { class: normalizeClass(unref(composeClassName)(slotFns.value.indicator(), props.classNames?.indicator)) }, null, 8, ["class"])], 2), createElementVNode("span", { class: normalizeClass(unref(composeClassName)(slotFns.value.content(), props.classNames?.content)) }, [renderSlot(_ctx.$slots, "default")], 2)]),
37
47
  _: 3
38
48
  }, 16, [
39
49
  "value",
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/radio/Radio.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, useAttrs } from 'vue'\nimport { RadioGroupItem, RadioGroupIndicator } from 'reka-ui'\nimport { radioVariants, type RadioGroupVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { useRadioGroupInject } from './radio-group.context'\n\n// Disable Vue attribute fallthrough — we manually forward $attrs to RadioGroupItem\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<{\n value: string\n variant?: RadioGroupVariants['variant']\n disabled?: boolean\n class?: string\n}>(), {\n variant: undefined,\n disabled: false,\n class: undefined,\n})\n\nconst attrs = useAttrs()\n\n// Inject RadioGroup context with fallback defaults (standalone mode)\nconst groupCtx = useRadioGroupInject({\n variant: ref(undefined),\n disabled: ref(false),\n})\n\n// Prop precedence: group disabled wins (D-02)\nconst isDisabled = computed(() => groupCtx.disabled.value || props.disabled)\n\n// Child variant wins over group variant (used for data-variant attribute propagation)\nconst finalVariant = computed(() => props.variant ?? groupCtx.variant.value)\n\nconst slotFns = computed(() => radioVariants())\n</script>\n\n<template>\n <RadioGroupItem\n v-bind=\"attrs\"\n :value=\"props.value\"\n :disabled=\"isDisabled\"\n :data-variant=\"finalVariant\"\n :class=\"composeClassName(slotFns.base(), props.class)\"\n >\n <span :class=\"slotFns.control()\">\n <RadioGroupIndicator :class=\"slotFns.indicator()\" />\n </span>\n <span :class=\"slotFns.content()\">\n <slot />\n </span>\n </RadioGroupItem>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAUA,MAAM,QAAQ;EAWd,MAAM,QAAQ,UAAS;EAGvB,MAAM,WAAW,oBAAoB;GACnC,SAAS,IAAI,KAAA,EAAU;GACvB,UAAU,IAAI,MAAM;GACrB,CAAA;EAGD,MAAM,aAAa,eAAe,SAAS,SAAS,SAAS,MAAM,SAAQ;EAG3E,MAAM,eAAe,eAAe,MAAM,WAAW,SAAS,QAAQ,MAAK;EAE3E,MAAM,UAAU,eAAe,eAAe,CAAA;;uBAI5C,YAaiB,MAAA,eAAA,EAbjB,WACU,MAYO,MAZF,EAAA;IACZ,OAAO,MAAM;IACb,UAAU,WAAA;IACV,gBAAc,aAAA;IACd,OAAO,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,MAAK;;2BAI7C,CAFP,mBAEO,QAAA,EAFA,OAAK,eAAE,QAAA,MAAQ,SAAO,CAAA,EAAA,EAAA,CAC3B,YAAoD,MAAA,oBAAA,EAAA,EAA9B,OAAK,eAAE,QAAA,MAAQ,WAAS,CAAA,EAAA,EAAA,MAAA,GAAA,CAAA,QAAA,CAAA,CAAA,EAAA,EAAA,EAEhD,mBAEO,QAAA,EAFA,OAAK,eAAE,QAAA,MAAQ,SAAO,CAAA,EAAA,EAAA,CAC3B,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"Radio.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/radio/Radio.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, useAttrs } from 'vue'\nimport { RadioGroupItem, RadioGroupIndicator } from 'reka-ui'\nimport { radioVariants, type RadioGroupVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useRadioGroupInject } from './radio-group.context'\n\n// Disable Vue attribute fallthrough — we manually forward $attrs to RadioGroupItem\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<{\n value: string\n variant?: RadioGroupVariants['variant']\n disabled?: boolean\n class?: ClassValue\n /** Override classNames for individual slots */\n classNames?: Partial<{\n base: ClassValue\n control: ClassValue\n indicator: ClassValue\n content: ClassValue\n }>\n}>(), {\n variant: undefined,\n disabled: false,\n class: undefined,\n classNames: undefined,\n})\n\nconst attrs = useAttrs()\n\n// Inject RadioGroup context with fallback defaults (standalone mode)\nconst groupCtx = useRadioGroupInject({\n variant: ref(undefined),\n disabled: ref(false),\n})\n\n// Prop precedence: group disabled wins (D-02)\nconst isDisabled = computed(() => groupCtx.disabled.value || props.disabled)\n\n// Child variant wins over group variant (used for data-variant attribute propagation)\nconst finalVariant = computed(() => props.variant ?? groupCtx.variant.value)\n\nconst slotFns = computed(() => radioVariants())\n</script>\n\n<template>\n <RadioGroupItem\n v-bind=\"attrs\"\n :value=\"props.value\"\n :disabled=\"isDisabled\"\n :data-variant=\"finalVariant\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n >\n <span :class=\"composeClassName(slotFns.control(), props.classNames?.control)\">\n <RadioGroupIndicator :class=\"composeClassName(slotFns.indicator(), props.classNames?.indicator)\" />\n </span>\n <span :class=\"composeClassName(slotFns.content(), props.classNames?.content)\">\n <slot />\n </span>\n </RadioGroupItem>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUA,MAAM,QAAQ;EAmBd,MAAM,QAAQ,UAAS;EAGvB,MAAM,WAAW,oBAAoB;GACnC,SAAS,IAAI,KAAA,EAAU;GACvB,UAAU,IAAI,MAAM;GACrB,CAAA;EAGD,MAAM,aAAa,eAAe,SAAS,SAAS,SAAS,MAAM,SAAQ;EAG3E,MAAM,eAAe,eAAe,MAAM,WAAW,SAAS,QAAQ,MAAK;EAE3E,MAAM,UAAU,eAAe,eAAe,CAAA;;uBAI5C,YAaiB,MAAA,eAAA,EAbjB,WACU,MAYO,MAZF,EAAA;IACZ,OAAO,MAAM;IACb,UAAU,WAAA;IACV,gBAAc,aAAA;IACd,OAAO,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI;;2BAIrE,CAFP,mBAEO,QAAA,EAFA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,SAAO,EAAI,MAAM,YAAY,QAAO,CAAA,EAAA,EAAA,CACzE,YAAmG,MAAA,oBAAA,EAAA,EAA7E,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,WAAS,EAAI,MAAM,YAAY,UAAS,CAAA,EAAA,EAAA,MAAA,GAAA,CAAA,QAAA,CAAA,CAAA,EAAA,EAAA,EAEhG,mBAEO,QAAA,EAFA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,SAAO,EAAI,MAAM,YAAY,QAAO,CAAA,EAAA,EAAA,CACzE,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"RangeCalendar.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":""}
1
+ {"version":3,"file":"RangeCalendar.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":""}
@@ -45,7 +45,14 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
45
45
  default: false
46
46
  },
47
47
  calendarLabel: {},
48
- class: {}
48
+ class: { type: [
49
+ String,
50
+ Boolean,
51
+ null,
52
+ Object,
53
+ Array
54
+ ] },
55
+ classNames: {}
49
56
  }, {
50
57
  "modelValue": {},
51
58
  "modelModifiers": {}
@@ -99,16 +106,16 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
99
106
  readonly: __props.readonly,
100
107
  disabled: __props.disabled,
101
108
  "calendar-label": __props.calendarLabel,
102
- class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class))
109
+ class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base))
103
110
  }, {
104
- default: withCtx(({ grid, weekDays }) => [view.value === "date" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createVNode(unref(RangeCalendarHeader), { class: normalizeClass(slotFns.value.header()) }, {
111
+ 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
112
  default: withCtx(() => [
106
113
  createVNode(unref(RangeCalendarPrev), {
107
- class: normalizeClass(slotFns.value.navButton()),
114
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButton(), props.classNames?.navButton)),
108
115
  "aria-label": "Previous month"
109
116
  }, {
110
117
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
111
- class: normalizeClass(slotFns.value.navButtonIcon()),
118
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButtonIcon(), props.classNames?.navButtonIcon)),
112
119
  xmlns: "http://www.w3.org/2000/svg",
113
120
  width: "16",
114
121
  height: "16",
@@ -122,21 +129,21 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
122
129
  }, [..._cache[4] || (_cache[4] = [createElementVNode("polyline", { points: "15 18 9 12 15 6" }, null, -1)])], 2))]),
123
130
  _: 1
124
131
  }, 8, ["class"]),
125
- createVNode(unref(RangeCalendarHeading), { class: normalizeClass(slotFns.value.heading()) }, {
132
+ createVNode(unref(RangeCalendarHeading), { class: normalizeClass(unref(composeClassName)(slotFns.value.heading(), props.classNames?.heading)) }, {
126
133
  default: withCtx(({ headingValue }) => [createElementVNode("button", {
127
134
  type: "button",
128
- class: normalizeClass(slotFns.value.headingButton()),
135
+ class: normalizeClass(unref(composeClassName)(slotFns.value.headingButton(), props.classNames?.headingButton)),
129
136
  "aria-label": `Switch to ${nextViewLabel.value} view`,
130
137
  onClick: cycleView
131
138
  }, toDisplayString(headingValue), 11, _hoisted_1)]),
132
139
  _: 1
133
140
  }, 8, ["class"]),
134
141
  createVNode(unref(RangeCalendarNext), {
135
- class: normalizeClass(slotFns.value.navButton()),
142
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButton(), props.classNames?.navButton)),
136
143
  "aria-label": "Next month"
137
144
  }, {
138
145
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
139
- class: normalizeClass(slotFns.value.navButtonIcon()),
146
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButtonIcon(), props.classNames?.navButtonIcon)),
140
147
  xmlns: "http://www.w3.org/2000/svg",
141
148
  width: "16",
142
149
  height: "16",
@@ -155,14 +162,14 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
155
162
  }, 8, ["class"]), (openBlock(true), createElementBlock(Fragment, null, renderList(grid, (month) => {
156
163
  return openBlock(), createBlock(unref(RangeCalendarGrid), {
157
164
  key: month.value.toString(),
158
- class: normalizeClass(slotFns.value.grid())
165
+ class: normalizeClass(unref(composeClassName)(slotFns.value.grid(), props.classNames?.grid))
159
166
  }, {
160
- default: withCtx(() => [createVNode(unref(RangeCalendarGridHead), { class: normalizeClass(slotFns.value.gridHeader()) }, {
161
- default: withCtx(() => [createVNode(unref(RangeCalendarGridRow), { class: normalizeClass(slotFns.value.gridRow()) }, {
167
+ default: withCtx(() => [createVNode(unref(RangeCalendarGridHead), { class: normalizeClass(unref(composeClassName)(slotFns.value.gridHeader(), props.classNames?.gridHeader)) }, {
168
+ default: withCtx(() => [createVNode(unref(RangeCalendarGridRow), { class: normalizeClass(unref(composeClassName)(slotFns.value.gridRow(), props.classNames?.gridRow)) }, {
162
169
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(weekDays, (day) => {
163
170
  return openBlock(), createBlock(unref(RangeCalendarHeadCell), {
164
171
  key: day,
165
- class: normalizeClass(slotFns.value.headerCell())
172
+ class: normalizeClass(unref(composeClassName)(slotFns.value.headerCell(), props.classNames?.headerCell))
166
173
  }, {
167
174
  default: withCtx(() => [createTextVNode(toDisplayString(day), 1)]),
168
175
  _: 2
@@ -171,22 +178,22 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
171
178
  _: 2
172
179
  }, 1032, ["class"])]),
173
180
  _: 2
174
- }, 1032, ["class"]), createVNode(unref(RangeCalendarGridBody), { class: normalizeClass(slotFns.value.gridBody()) }, {
181
+ }, 1032, ["class"]), createVNode(unref(RangeCalendarGridBody), { class: normalizeClass(unref(composeClassName)(slotFns.value.gridBody(), props.classNames?.gridBody)) }, {
175
182
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(month.rows, (week, weekIndex) => {
176
183
  return openBlock(), createBlock(unref(RangeCalendarGridRow), {
177
184
  key: weekIndex,
178
- class: normalizeClass(slotFns.value.gridRow())
185
+ class: normalizeClass(unref(composeClassName)(slotFns.value.gridRow(), props.classNames?.gridRow))
179
186
  }, {
180
187
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(week, (day) => {
181
188
  return openBlock(), createBlock(unref(RangeCalendarCell), {
182
189
  key: day.toString(),
183
190
  date: day,
184
- class: normalizeClass(slotFns.value.cell())
191
+ class: normalizeClass(unref(composeClassName)(slotFns.value.cell(), props.classNames?.cell))
185
192
  }, {
186
193
  default: withCtx(() => [createVNode(unref(RangeCalendarCellTrigger), {
187
194
  day,
188
195
  month: month.value,
189
- class: normalizeClass(slotFns.value.cellButton())
196
+ class: normalizeClass(unref(composeClassName)(slotFns.value.cellButton(), props.classNames?.cellButton))
190
197
  }, null, 8, [
191
198
  "day",
192
199
  "month",
@@ -234,20 +241,20 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
234
241
  "max-value": __props.maxValue,
235
242
  readonly: __props.readonly,
236
243
  disabled: __props.disabled,
237
- class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class)),
244
+ class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base)),
238
245
  "onUpdate:modelValue": onMonthSelect,
239
246
  "onUpdate:placeholder": _cache[2] || (_cache[2] = (val) => {
240
247
  if (val) placeholder.value = val;
241
248
  })
242
249
  }, {
243
- default: withCtx(({ grid: monthGrid }) => [createVNode(unref(MonthPickerHeader), { class: normalizeClass(slotFns.value.header()) }, {
250
+ default: withCtx(({ grid: monthGrid }) => [createVNode(unref(MonthPickerHeader), { class: normalizeClass(unref(composeClassName)(slotFns.value.header(), props.classNames?.header)) }, {
244
251
  default: withCtx(() => [
245
252
  createVNode(unref(MonthPickerPrev), {
246
- class: normalizeClass(slotFns.value.navButton()),
253
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButton(), props.classNames?.navButton)),
247
254
  "aria-label": "Previous year"
248
255
  }, {
249
256
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
250
- class: normalizeClass(slotFns.value.navButtonIcon()),
257
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButtonIcon(), props.classNames?.navButtonIcon)),
251
258
  xmlns: "http://www.w3.org/2000/svg",
252
259
  width: "16",
253
260
  height: "16",
@@ -261,21 +268,21 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
261
268
  }, [..._cache[6] || (_cache[6] = [createElementVNode("polyline", { points: "15 18 9 12 15 6" }, null, -1)])], 2))]),
262
269
  _: 1
263
270
  }, 8, ["class"]),
264
- createVNode(unref(MonthPickerHeading), { class: normalizeClass(slotFns.value.heading()) }, {
271
+ createVNode(unref(MonthPickerHeading), { class: normalizeClass(unref(composeClassName)(slotFns.value.heading(), props.classNames?.heading)) }, {
265
272
  default: withCtx(({ headingValue }) => [createElementVNode("button", {
266
273
  type: "button",
267
- class: normalizeClass(slotFns.value.headingButton()),
274
+ class: normalizeClass(unref(composeClassName)(slotFns.value.headingButton(), props.classNames?.headingButton)),
268
275
  "aria-label": `Switch to ${nextViewLabel.value} view`,
269
276
  onClick: cycleView
270
277
  }, toDisplayString(headingValue), 11, _hoisted_2)]),
271
278
  _: 1
272
279
  }, 8, ["class"]),
273
280
  createVNode(unref(MonthPickerNext), {
274
- class: normalizeClass(slotFns.value.navButton()),
281
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButton(), props.classNames?.navButton)),
275
282
  "aria-label": "Next year"
276
283
  }, {
277
284
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
278
- class: normalizeClass(slotFns.value.navButtonIcon()),
285
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButtonIcon(), props.classNames?.navButtonIcon)),
279
286
  xmlns: "http://www.w3.org/2000/svg",
280
287
  width: "16",
281
288
  height: "16",
@@ -291,12 +298,12 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
291
298
  }, 8, ["class"])
292
299
  ]),
293
300
  _: 1
294
- }, 8, ["class"]), createVNode(unref(MonthPickerGrid), { class: normalizeClass(slotFns.value.monthGrid()) }, {
295
- default: withCtx(() => [createVNode(unref(MonthPickerGridBody), { class: normalizeClass(slotFns.value.monthGridBody()) }, {
301
+ }, 8, ["class"]), createVNode(unref(MonthPickerGrid), { class: normalizeClass(unref(composeClassName)(slotFns.value.monthGrid(), props.classNames?.monthGrid)) }, {
302
+ default: withCtx(() => [createVNode(unref(MonthPickerGridBody), { class: normalizeClass(unref(composeClassName)(slotFns.value.monthGridBody(), props.classNames?.monthGridBody)) }, {
296
303
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(monthGrid.rows, (row, i) => {
297
304
  return openBlock(), createBlock(unref(MonthPickerGridRow), {
298
305
  key: i,
299
- class: normalizeClass(slotFns.value.monthGridRow())
306
+ class: normalizeClass(unref(composeClassName)(slotFns.value.monthGridRow(), props.classNames?.monthGridRow))
300
307
  }, {
301
308
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(row, (monthValue) => {
302
309
  return openBlock(), createBlock(unref(MonthPickerCell), {
@@ -306,7 +313,7 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
306
313
  default: withCtx(() => [createVNode(unref(MonthPickerCellTrigger), {
307
314
  month: monthValue,
308
315
  as: "button",
309
- class: normalizeClass(slotFns.value.monthCell())
316
+ class: normalizeClass(unref(composeClassName)(slotFns.value.monthCell(), props.classNames?.monthCell))
310
317
  }, null, 8, ["month", "class"])]),
311
318
  _: 2
312
319
  }, 1032, ["date"]);
@@ -336,20 +343,20 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
336
343
  "max-value": __props.maxValue,
337
344
  readonly: __props.readonly,
338
345
  disabled: __props.disabled,
339
- class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class)),
346
+ class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base)),
340
347
  "onUpdate:modelValue": onYearSelect,
341
348
  "onUpdate:placeholder": _cache[3] || (_cache[3] = (val) => {
342
349
  if (val) placeholder.value = val;
343
350
  })
344
351
  }, {
345
- default: withCtx(({ grid: yearGrid }) => [createVNode(unref(YearPickerHeader), { class: normalizeClass(slotFns.value.header()) }, {
352
+ default: withCtx(({ grid: yearGrid }) => [createVNode(unref(YearPickerHeader), { class: normalizeClass(unref(composeClassName)(slotFns.value.header(), props.classNames?.header)) }, {
346
353
  default: withCtx(() => [
347
354
  createVNode(unref(YearPickerPrev), {
348
- class: normalizeClass(slotFns.value.navButton()),
355
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButton(), props.classNames?.navButton)),
349
356
  "aria-label": "Previous decade"
350
357
  }, {
351
358
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
352
- class: normalizeClass(slotFns.value.navButtonIcon()),
359
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButtonIcon(), props.classNames?.navButtonIcon)),
353
360
  xmlns: "http://www.w3.org/2000/svg",
354
361
  width: "16",
355
362
  height: "16",
@@ -363,21 +370,21 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
363
370
  }, [..._cache[8] || (_cache[8] = [createElementVNode("polyline", { points: "15 18 9 12 15 6" }, null, -1)])], 2))]),
364
371
  _: 1
365
372
  }, 8, ["class"]),
366
- createVNode(unref(YearPickerHeading), { class: normalizeClass(slotFns.value.heading()) }, {
373
+ createVNode(unref(YearPickerHeading), { class: normalizeClass(unref(composeClassName)(slotFns.value.heading(), props.classNames?.heading)) }, {
367
374
  default: withCtx(({ headingValue }) => [createElementVNode("button", {
368
375
  type: "button",
369
- class: normalizeClass(slotFns.value.headingButton()),
376
+ class: normalizeClass(unref(composeClassName)(slotFns.value.headingButton(), props.classNames?.headingButton)),
370
377
  "aria-label": `Switch to ${nextViewLabel.value} view`,
371
378
  onClick: cycleView
372
379
  }, toDisplayString(headingValue), 11, _hoisted_3)]),
373
380
  _: 1
374
381
  }, 8, ["class"]),
375
382
  createVNode(unref(YearPickerNext), {
376
- class: normalizeClass(slotFns.value.navButton()),
383
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButton(), props.classNames?.navButton)),
377
384
  "aria-label": "Next decade"
378
385
  }, {
379
386
  default: withCtx(() => [(openBlock(), createElementBlock("svg", {
380
- class: normalizeClass(slotFns.value.navButtonIcon()),
387
+ class: normalizeClass(unref(composeClassName)(slotFns.value.navButtonIcon(), props.classNames?.navButtonIcon)),
381
388
  xmlns: "http://www.w3.org/2000/svg",
382
389
  width: "16",
383
390
  height: "16",
@@ -393,12 +400,12 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
393
400
  }, 8, ["class"])
394
401
  ]),
395
402
  _: 1
396
- }, 8, ["class"]), createVNode(unref(YearPickerGrid), { class: normalizeClass(slotFns.value.yearGrid()) }, {
397
- default: withCtx(() => [createVNode(unref(YearPickerGridBody), { class: normalizeClass(slotFns.value.yearGridBody()) }, {
403
+ }, 8, ["class"]), createVNode(unref(YearPickerGrid), { class: normalizeClass(unref(composeClassName)(slotFns.value.yearGrid(), props.classNames?.yearGrid)) }, {
404
+ default: withCtx(() => [createVNode(unref(YearPickerGridBody), { class: normalizeClass(unref(composeClassName)(slotFns.value.yearGridBody(), props.classNames?.yearGridBody)) }, {
398
405
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(yearGrid.rows, (row, i) => {
399
406
  return openBlock(), createBlock(unref(YearPickerGridRow), {
400
407
  key: i,
401
- class: normalizeClass(slotFns.value.yearGridRow())
408
+ class: normalizeClass(unref(composeClassName)(slotFns.value.yearGridRow(), props.classNames?.yearGridRow))
402
409
  }, {
403
410
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(row, (yearValue) => {
404
411
  return openBlock(), createBlock(unref(YearPickerCell), {
@@ -408,7 +415,7 @@ var RangeCalendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
408
415
  default: withCtx(() => [createVNode(unref(YearPickerCellTrigger), {
409
416
  year: yearValue,
410
417
  as: "button",
411
- class: normalizeClass(slotFns.value.yearCell())
418
+ class: normalizeClass(unref(composeClassName)(slotFns.value.yearCell(), props.classNames?.yearCell))
412
419
  }, null, 8, ["year", "class"])]),
413
420
  _: 2
414
421
  }, 1032, ["date"]);