@auronui/vue 1.0.15 → 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 (150) hide show
  1. package/dist/cjs/index.cjs +562 -73
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/components/accordion/Accordion.vue_vue_type_script_setup_true_lang.js +7 -1
  4. package/dist/components/accordion/Accordion.vue_vue_type_script_setup_true_lang.js.map +1 -1
  5. package/dist/components/accordion/AccordionContent.vue_vue_type_script_setup_true_lang.js +7 -1
  6. package/dist/components/accordion/AccordionContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  7. package/dist/components/accordion/AccordionHeader.vue_vue_type_script_setup_true_lang.js +7 -1
  8. package/dist/components/accordion/AccordionHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  9. package/dist/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js +7 -1
  10. package/dist/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  11. package/dist/components/accordion/AccordionTrigger.vue_vue_type_script_setup_true_lang.js +7 -1
  12. package/dist/components/accordion/AccordionTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  13. package/dist/components/alert-dialog/AlertDialogAction.vue_vue_type_script_setup_true_lang.js +7 -1
  14. package/dist/components/alert-dialog/AlertDialogAction.vue_vue_type_script_setup_true_lang.js.map +1 -1
  15. package/dist/components/alert-dialog/AlertDialogCancel.vue_vue_type_script_setup_true_lang.js +7 -1
  16. package/dist/components/alert-dialog/AlertDialogCancel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  17. package/dist/components/aspect-ratio/AspectRatio.vue_vue_type_script_setup_true_lang.js +10 -1
  18. package/dist/components/aspect-ratio/AspectRatio.vue_vue_type_script_setup_true_lang.js.map +1 -1
  19. package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +7 -1
  20. package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  21. package/dist/components/avatar/Avatar.vue_vue_type_script_setup_true_lang.js +7 -1
  22. package/dist/components/avatar/Avatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  23. package/dist/components/badge/Badge.vue_vue_type_script_setup_true_lang.js +7 -1
  24. package/dist/components/badge/Badge.vue_vue_type_script_setup_true_lang.js.map +1 -1
  25. package/dist/components/breadcrumbs/BreadcrumbItem.vue_vue_type_script_setup_true_lang.js +7 -1
  26. package/dist/components/breadcrumbs/BreadcrumbItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  27. package/dist/components/breadcrumbs/Breadcrumbs.vue_vue_type_script_setup_true_lang.js +7 -1
  28. package/dist/components/breadcrumbs/Breadcrumbs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  29. package/dist/components/button/Button.vue_vue_type_script_setup_true_lang.js +7 -1
  30. package/dist/components/button/Button.vue_vue_type_script_setup_true_lang.js.map +1 -1
  31. package/dist/components/button/ButtonGroup.vue_vue_type_script_setup_true_lang.js +7 -1
  32. package/dist/components/button/ButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  33. package/dist/components/button/ToggleButtonGroup.vue_vue_type_script_setup_true_lang.js +7 -1
  34. package/dist/components/button/ToggleButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  35. package/dist/components/calendar/Calendar.vue_vue_type_script_setup_true_lang.js +7 -1
  36. package/dist/components/calendar/Calendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  37. package/dist/components/calendar-year-picker/CalendarYearPicker.vue_vue_type_script_setup_true_lang.js +7 -1
  38. package/dist/components/calendar-year-picker/CalendarYearPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  39. package/dist/components/card/Card.vue_vue_type_script_setup_true_lang.js +7 -1
  40. package/dist/components/card/Card.vue_vue_type_script_setup_true_lang.js.map +1 -1
  41. package/dist/components/card/CardBody.vue_vue_type_script_setup_true_lang.js +7 -1
  42. package/dist/components/card/CardBody.vue_vue_type_script_setup_true_lang.js.map +1 -1
  43. package/dist/components/card/CardFooter.vue_vue_type_script_setup_true_lang.js +7 -1
  44. package/dist/components/card/CardFooter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  45. package/dist/components/card/CardHeader.vue_vue_type_script_setup_true_lang.js +7 -1
  46. package/dist/components/card/CardHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  47. package/dist/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +7 -1
  48. package/dist/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  49. package/dist/components/chip/Chip.vue_vue_type_script_setup_true_lang.js +7 -1
  50. package/dist/components/chip/Chip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  51. package/dist/components/collapsible/Collapsible.vue_vue_type_script_setup_true_lang.js +7 -1
  52. package/dist/components/collapsible/Collapsible.vue_vue_type_script_setup_true_lang.js.map +1 -1
  53. package/dist/components/collapsible/CollapsibleContent.vue_vue_type_script_setup_true_lang.js +7 -1
  54. package/dist/components/collapsible/CollapsibleContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  55. package/dist/components/collapsible/CollapsibleGroup.vue_vue_type_script_setup_true_lang.js +7 -1
  56. package/dist/components/collapsible/CollapsibleGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  57. package/dist/components/collapsible/CollapsibleTrigger.vue_vue_type_script_setup_true_lang.js +7 -1
  58. package/dist/components/collapsible/CollapsibleTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  59. package/dist/components/combo-box/ComboBox.vue_vue_type_script_setup_true_lang.js +10 -1
  60. package/dist/components/combo-box/ComboBox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  61. package/dist/components/date-input/DateInput.vue_vue_type_script_setup_true_lang.js +7 -1
  62. package/dist/components/date-input/DateInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  63. package/dist/components/date-picker/DatePicker.vue_vue_type_script_setup_true_lang.js +7 -1
  64. package/dist/components/date-picker/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  65. package/dist/components/date-range-field/DateRangeField.vue_vue_type_script_setup_true_lang.js +7 -1
  66. package/dist/components/date-range-field/DateRangeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  67. package/dist/components/date-range-picker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +7 -1
  68. package/dist/components/date-range-picker/DateRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  69. package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +7 -1
  70. package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  71. package/dist/components/input/Input.vue_vue_type_script_setup_true_lang.js +7 -1
  72. package/dist/components/input/Input.vue_vue_type_script_setup_true_lang.js.map +1 -1
  73. package/dist/components/input-otp/InputOTP.vue_vue_type_script_setup_true_lang.js +10 -1
  74. package/dist/components/input-otp/InputOTP.vue_vue_type_script_setup_true_lang.js.map +1 -1
  75. package/dist/components/kbd/Kbd.vue_vue_type_script_setup_true_lang.js +7 -1
  76. package/dist/components/kbd/Kbd.vue_vue_type_script_setup_true_lang.js.map +1 -1
  77. package/dist/components/link/Link.vue_vue_type_script_setup_true_lang.js +7 -1
  78. package/dist/components/link/Link.vue_vue_type_script_setup_true_lang.js.map +1 -1
  79. package/dist/components/list-box/ListBox.js.map +1 -1
  80. package/dist/components/list-box/ListBox.vue_vue_type_script_setup_true_lang.js +11 -2
  81. package/dist/components/list-box/ListBox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  82. package/dist/components/list-box/ListBoxItem.vue_vue_type_script_setup_true_lang.js +10 -1
  83. package/dist/components/list-box/ListBoxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  84. package/dist/components/meter/Meter.vue_vue_type_script_setup_true_lang.js +7 -1
  85. package/dist/components/meter/Meter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  86. package/dist/components/number-field/NumberField.vue_vue_type_script_setup_true_lang.js +7 -1
  87. package/dist/components/number-field/NumberField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  88. package/dist/components/progress-bar/ProgressBar.vue_vue_type_script_setup_true_lang.js +7 -1
  89. package/dist/components/progress-bar/ProgressBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  90. package/dist/components/progress-circle/ProgressCircle.vue_vue_type_script_setup_true_lang.js +7 -1
  91. package/dist/components/progress-circle/ProgressCircle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  92. package/dist/components/radio/Radio.vue_vue_type_script_setup_true_lang.js +10 -1
  93. package/dist/components/radio/Radio.vue_vue_type_script_setup_true_lang.js.map +1 -1
  94. package/dist/components/range-calendar/RangeCalendar.vue_vue_type_script_setup_true_lang.js +7 -1
  95. package/dist/components/range-calendar/RangeCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  96. package/dist/components/scroll-shadow/ScrollShadow.vue_vue_type_script_setup_true_lang.js +7 -1
  97. package/dist/components/scroll-shadow/ScrollShadow.vue_vue_type_script_setup_true_lang.js.map +1 -1
  98. package/dist/components/select/Select.vue_vue_type_script_setup_true_lang.js +7 -1
  99. package/dist/components/select/Select.vue_vue_type_script_setup_true_lang.js.map +1 -1
  100. package/dist/components/skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js +7 -1
  101. package/dist/components/skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  102. package/dist/components/slider/Slider.vue_vue_type_script_setup_true_lang.js +7 -1
  103. package/dist/components/slider/Slider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  104. package/dist/components/splitter/SplitterGroup.vue_vue_type_script_setup_true_lang.js +10 -1
  105. package/dist/components/splitter/SplitterGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  106. package/dist/components/splitter/SplitterPanel.vue_vue_type_script_setup_true_lang.js +10 -1
  107. package/dist/components/splitter/SplitterPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  108. package/dist/components/splitter/SplitterResizeHandle.vue_vue_type_script_setup_true_lang.js +10 -1
  109. package/dist/components/splitter/SplitterResizeHandle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  110. package/dist/components/stepper/Stepper.vue_vue_type_script_setup_true_lang.js +10 -1
  111. package/dist/components/stepper/Stepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  112. package/dist/components/stepper/StepperContent.vue_vue_type_script_setup_true_lang.js +10 -1
  113. package/dist/components/stepper/StepperContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  114. package/dist/components/stepper/StepperDescription.vue_vue_type_script_setup_true_lang.js +10 -1
  115. package/dist/components/stepper/StepperDescription.vue_vue_type_script_setup_true_lang.js.map +1 -1
  116. package/dist/components/stepper/StepperIndicator.vue_vue_type_script_setup_true_lang.js +10 -1
  117. package/dist/components/stepper/StepperIndicator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  118. package/dist/components/stepper/StepperItem.vue_vue_type_script_setup_true_lang.js +10 -1
  119. package/dist/components/stepper/StepperItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  120. package/dist/components/stepper/StepperSeparator.vue_vue_type_script_setup_true_lang.js +10 -1
  121. package/dist/components/stepper/StepperSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  122. package/dist/components/stepper/StepperTitle.vue_vue_type_script_setup_true_lang.js +10 -1
  123. package/dist/components/stepper/StepperTitle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  124. package/dist/components/switch/Switch.vue_vue_type_script_setup_true_lang.js +7 -1
  125. package/dist/components/switch/Switch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  126. package/dist/components/table/TableRow.vue_vue_type_script_setup_true_lang.js +7 -1
  127. package/dist/components/table/TableRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
  128. package/dist/components/tabs/Tab.vue_vue_type_script_setup_true_lang.js +7 -1
  129. package/dist/components/tabs/Tab.vue_vue_type_script_setup_true_lang.js.map +1 -1
  130. package/dist/components/tabs/TabIndicator.vue_vue_type_script_setup_true_lang.js +7 -1
  131. package/dist/components/tabs/TabIndicator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  132. package/dist/components/tabs/TabList.vue_vue_type_script_setup_true_lang.js +7 -1
  133. package/dist/components/tabs/TabList.vue_vue_type_script_setup_true_lang.js.map +1 -1
  134. package/dist/components/tabs/TabPanel.vue_vue_type_script_setup_true_lang.js +7 -1
  135. package/dist/components/tabs/TabPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  136. package/dist/components/tabs/Tabs.vue_vue_type_script_setup_true_lang.js +7 -1
  137. package/dist/components/tabs/Tabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  138. package/dist/components/textarea/Textarea.vue_vue_type_script_setup_true_lang.js +7 -1
  139. package/dist/components/textarea/Textarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  140. package/dist/components/time-field/TimeField.vue_vue_type_script_setup_true_lang.js +7 -1
  141. package/dist/components/time-field/TimeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  142. package/dist/components/tree/Tree.vue_vue_type_script_setup_true_lang.js +10 -1
  143. package/dist/components/tree/Tree.vue_vue_type_script_setup_true_lang.js.map +1 -1
  144. package/dist/components/tree/TreeItem.vue_vue_type_script_setup_true_lang.js +10 -1
  145. package/dist/components/tree/TreeItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  146. package/dist/components/tree/TreeItemToggle.vue_vue_type_script_setup_true_lang.js +10 -1
  147. package/dist/components/tree/TreeItemToggle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  148. package/dist/index.d.ts +18 -18
  149. package/dist/utils/composeClassName.js.map +1 -1
  150. package/package.json +2 -2
@@ -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 , 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
+ {"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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"}
@@ -21,7 +21,13 @@ 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: { type: [
25
+ String,
26
+ Boolean,
27
+ null,
28
+ Object,
29
+ Array
30
+ ] },
25
31
  classNames: {}
26
32
  },
27
33
  setup(__props) {
@@ -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 , 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
+ {"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"}
@@ -57,7 +57,13 @@ var Select_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
57
57
  label: {},
58
58
  description: {},
59
59
  errorMessage: {},
60
- class: {},
60
+ class: { type: [
61
+ String,
62
+ Boolean,
63
+ null,
64
+ Object,
65
+ Array
66
+ ] },
61
67
  classNames: {},
62
68
  modelValue: { default: void 0 },
63
69
  defaultValue: { default: void 0 },
@@ -1 +1 @@
1
- {"version":3,"file":"Select.vue_vue_type_script_setup_true_lang.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":"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"}
1
+ {"version":3,"file":"Select.vue_vue_type_script_setup_true_lang.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":"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"}
@@ -6,7 +6,13 @@ var Skeleton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
6
6
  __name: "Skeleton",
7
7
  props: {
8
8
  animationType: { default: "shimmer" },
9
- class: {},
9
+ class: { type: [
10
+ String,
11
+ Boolean,
12
+ null,
13
+ Object,
14
+ Array
15
+ ] },
10
16
  classNames: {}
11
17
  },
12
18
  setup(__props) {
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/skeleton/Skeleton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { skeletonVariants, type SkeletonVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n animationType?: SkeletonVariants['animationType']\n class?: ClassValue\n /** Custom class overrides for named slots. */\n classNames?: Partial<{\n base: ClassValue\n }>\n}>(), {\n animationType: 'shimmer',\n})\n\nconst slotFns = computed(() => skeletonVariants({ animationType: props.animationType }))\nconst classes = computed(() => composeClassName(slotFns.value.base(), props.class, props.classNames?.base))\n</script>\n\n<template>\n <div\n :class=\"classes\"\n aria-hidden=\"true\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;EAKA,MAAM,QAAQ;EAWd,MAAM,UAAU,eAAe,iBAAiB,EAAE,eAAe,MAAM,eAAe,CAAC,CAAA;EACvF,MAAM,UAAU,eAAe,iBAAiB,QAAQ,MAAM,MAAM,EAAE,MAAM,OAAO,MAAM,YAAY,KAAK,CAAA;;uBAIxG,mBAKM,OAAA;IAJH,OAAK,eAAE,QAAA,MAAO;IACf,eAAY;OAEZ,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"Skeleton.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/skeleton/Skeleton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { skeletonVariants, type SkeletonVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n animationType?: SkeletonVariants['animationType']\n class?: ClassValue\n /** Custom class overrides for named slots. */\n classNames?: Partial<{\n base: ClassValue\n }>\n}>(), {\n animationType: 'shimmer',\n})\n\nconst slotFns = computed(() => skeletonVariants({ animationType: props.animationType }))\nconst classes = computed(() => composeClassName(slotFns.value.base(), props.class, props.classNames?.base))\n</script>\n\n<template>\n <div\n :class=\"classes\"\n aria-hidden=\"true\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EAWd,MAAM,UAAU,eAAe,iBAAiB,EAAE,eAAe,MAAM,eAAe,CAAC,CAAA;EACvF,MAAM,UAAU,eAAe,iBAAiB,QAAQ,MAAM,MAAM,EAAE,MAAM,OAAO,MAAM,YAAY,KAAK,CAAA;;uBAIxG,mBAKM,OAAA;IAJH,OAAK,eAAE,QAAA,MAAO;IACf,eAAY;OAEZ,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
@@ -45,7 +45,13 @@ var Slider_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
45
45
  type: Boolean,
46
46
  default: false
47
47
  },
48
- class: {},
48
+ class: { type: [
49
+ String,
50
+ Boolean,
51
+ null,
52
+ Object,
53
+ Array
54
+ ] },
49
55
  classNames: {}
50
56
  },
51
57
  emits: ["update:modelValue"],
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/slider/Slider.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { SliderRoot, SliderTrack, SliderRange, SliderThumb } from 'reka-ui'\nimport { sliderVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n modelValue?: number | number[]\n defaultValue?: number | number[]\n min?: number\n max?: number\n step?: number\n minStepsBetweenThumbs?: number\n orientation?: 'horizontal' | 'vertical'\n size?: 'sm' | 'md' | 'lg'\n color?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger'\n radius?: 'none' | 'sm' | 'md' | 'lg' | 'full'\n label?: string\n showSteps?: boolean\n marks?: Array<{ value: number; label?: string }>\n formatOptions?: Intl.NumberFormatOptions\n hideValue?: boolean\n hideThumb?: boolean\n disabled?: boolean\n inverted?: boolean\n class?: ClassValue\n /**\n * Per-slot class overrides. Keys map to internal slot names (base, output, track, fill, marks, thumb).\n */\n classNames?: Partial<{\n base: ClassValue\n output: ClassValue\n track: ClassValue\n fill: ClassValue\n marks: ClassValue\n thumb: ClassValue\n }>\n}>(), {\n min: 0,\n max: 100,\n step: 1,\n minStepsBetweenThumbs: 0,\n orientation: 'horizontal',\n showSteps: false,\n hideValue: false,\n hideThumb: false,\n disabled: false,\n inverted: false,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: number | number[]): void\n}>()\n\n// FIX: Also check defaultValue so uncontrolled range mode is detected correctly.\nconst isRange = computed(() =>\n Array.isArray(props.modelValue) || Array.isArray(props.defaultValue)\n)\n\n// Reka UI SliderRoot always uses number[]. Wrap scalar -> [v] for Reka.\nconst internalValue = computed({\n get(): number[] {\n if (props.modelValue === undefined) {\n return props.defaultValue !== undefined\n ? Array.isArray(props.defaultValue)\n ? props.defaultValue\n : [props.defaultValue]\n : [Math.round((props.min + props.max) / 2)]\n }\n return Array.isArray(props.modelValue) ? props.modelValue : [props.modelValue]\n },\n set(val: number[]) {\n // Unwrap: if original prop was scalar, emit scalar; otherwise emit array\n if (isRange.value) {\n emit('update:modelValue', val)\n } else {\n emit('update:modelValue', val[0])\n }\n },\n})\n\n// FIX: Pass size, color, radius so variants are applied.\nconst slotFns = computed(() =>\n sliderVariants({ size: props.size, color: props.color, radius: props.radius })\n)\n\n// Show the label/output wrapper if label prop is provided or hideValue is false\nconst showLabelWrapper = computed(() =>\n !!props.label || !props.hideValue\n)\n\n// Format a single value\nfunction formatValue(v: number): string {\n if (props.formatOptions) {\n return new Intl.NumberFormat(undefined, props.formatOptions).format(v)\n }\n return String(v)\n}\n\n// Formatted output string: joined with \" - \" for ranges\nconst formatted = computed(() => {\n return internalValue.value.map(formatValue).join(' \\u2013 ')\n})\n\n// Compute % position for a value within [min, max]\nfunction toPercent(v: number): number {\n const range = props.max - props.min\n if (range === 0) return 0\n return ((v - props.min) / range) * 100\n}\n\n// Tick positions (percentages) for showSteps\nconst tickPositions = computed<number[]>(() => {\n if (!props.showSteps) return []\n const positions: number[] = []\n let v = props.min\n while (v <= props.max) {\n positions.push(toPercent(v))\n v = Math.round((v + props.step) * 1e10) / 1e10 // avoid floating-point drift\n }\n return positions\n})\n\n// Determine which axis to use for positioning (left/bottom)\nconst positionAxis = computed(() =>\n props.orientation === 'vertical' ? 'bottom' : 'left'\n)\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :data-orientation=\"orientation\"\n :data-disabled=\"disabled || undefined\"\n >\n <!-- Label + output row -->\n <template v-if=\"showLabelWrapper\">\n <!--\n FIX: label does NOT get a class from slotFns.\n The CSS rule `.slider [data-slot=\"label\"]` targets it via data-slot attribute.\n Previously used :class=\"slotFns.base()\" which returned \"slider\" (root class) — wrong.\n -->\n <label\n v-if=\"label\"\n data-slot=\"label\"\n >{{ label }}</label>\n <output\n v-if=\"!hideValue\"\n :class=\"composeClassName(slotFns.output(), props.classNames?.output)\"\n >{{ formatted }}</output>\n </template>\n\n <!-- Slider body -->\n <div class=\"relative flex items-center gap-2\">\n <!-- Start content slot -->\n <slot name=\"startContent\" />\n\n <SliderRoot\n v-model=\"internalValue\"\n :min=\"min\"\n :max=\"max\"\n :step=\"step\"\n :min-steps-between-thumbs=\"minStepsBetweenThumbs\"\n :orientation=\"orientation\"\n :disabled=\"disabled\"\n :inverted=\"inverted\"\n class=\"relative flex items-center select-none touch-none w-full\"\n :data-orientation=\"orientation\"\n >\n <SliderTrack :class=\"composeClassName(slotFns.track(), props.classNames?.track)\">\n <SliderRange :class=\"composeClassName(slotFns.fill(), props.classNames?.fill)\" />\n\n <!--\n FIX: tick spans have NO class from slotFns (was :class=\"slotFns.base()\" = \"slider\" — wrong).\n Ticks are purely positional; identified by data-slider-tick attribute only.\n -->\n <span\n v-for=\"(pct, i) in tickPositions\"\n :key=\"`tick-${i}`\"\n :style=\"{ [positionAxis]: pct + '%' }\"\n aria-hidden=\"true\"\n data-slider-tick\n class=\"absolute pointer-events-none\"\n />\n\n <!-- Labeled marks -->\n <span\n v-for=\"mark in (marks || [])\"\n :key=\"`mark-${mark.value}`\"\n :class=\"composeClassName(slotFns.marks(), props.classNames?.marks)\"\n :style=\"{ [positionAxis]: toPercent(mark.value) + '%' }\"\n data-slider-mark\n class=\"absolute\"\n >{{ mark.label }}</span>\n </SliderTrack>\n\n <!-- Thumbs -->\n <SliderThumb\n v-for=\"(_, idx) in internalValue\"\n :key=\"idx\"\n :class=\"composeClassName(slotFns.thumb(), props.classNames?.thumb)\"\n :aria-label=\"label || 'Value'\"\n />\n </SliderRoot>\n\n <!-- End content slot -->\n <slot name=\"endContent\" />\n </div>\n </div>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/slider/Slider.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { SliderRoot, SliderTrack, SliderRange, SliderThumb } from 'reka-ui'\nimport { sliderVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n modelValue?: number | number[]\n defaultValue?: number | number[]\n min?: number\n max?: number\n step?: number\n minStepsBetweenThumbs?: number\n orientation?: 'horizontal' | 'vertical'\n size?: 'sm' | 'md' | 'lg'\n color?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger'\n radius?: 'none' | 'sm' | 'md' | 'lg' | 'full'\n label?: string\n showSteps?: boolean\n marks?: Array<{ value: number; label?: string }>\n formatOptions?: Intl.NumberFormatOptions\n hideValue?: boolean\n hideThumb?: boolean\n disabled?: boolean\n inverted?: boolean\n class?: ClassValue\n /**\n * Per-slot class overrides. Keys map to internal slot names (base, output, track, fill, marks, thumb).\n */\n classNames?: Partial<{\n base: ClassValue\n output: ClassValue\n track: ClassValue\n fill: ClassValue\n marks: ClassValue\n thumb: ClassValue\n }>\n}>(), {\n min: 0,\n max: 100,\n step: 1,\n minStepsBetweenThumbs: 0,\n orientation: 'horizontal',\n showSteps: false,\n hideValue: false,\n hideThumb: false,\n disabled: false,\n inverted: false,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: number | number[]): void\n}>()\n\n// FIX: Also check defaultValue so uncontrolled range mode is detected correctly.\nconst isRange = computed(() =>\n Array.isArray(props.modelValue) || Array.isArray(props.defaultValue)\n)\n\n// Reka UI SliderRoot always uses number[]. Wrap scalar -> [v] for Reka.\nconst internalValue = computed({\n get(): number[] {\n if (props.modelValue === undefined) {\n return props.defaultValue !== undefined\n ? Array.isArray(props.defaultValue)\n ? props.defaultValue\n : [props.defaultValue]\n : [Math.round((props.min + props.max) / 2)]\n }\n return Array.isArray(props.modelValue) ? props.modelValue : [props.modelValue]\n },\n set(val: number[]) {\n // Unwrap: if original prop was scalar, emit scalar; otherwise emit array\n if (isRange.value) {\n emit('update:modelValue', val)\n } else {\n emit('update:modelValue', val[0])\n }\n },\n})\n\n// FIX: Pass size, color, radius so variants are applied.\nconst slotFns = computed(() =>\n sliderVariants({ size: props.size, color: props.color, radius: props.radius })\n)\n\n// Show the label/output wrapper if label prop is provided or hideValue is false\nconst showLabelWrapper = computed(() =>\n !!props.label || !props.hideValue\n)\n\n// Format a single value\nfunction formatValue(v: number): string {\n if (props.formatOptions) {\n return new Intl.NumberFormat(undefined, props.formatOptions).format(v)\n }\n return String(v)\n}\n\n// Formatted output string: joined with \" - \" for ranges\nconst formatted = computed(() => {\n return internalValue.value.map(formatValue).join(' \\u2013 ')\n})\n\n// Compute % position for a value within [min, max]\nfunction toPercent(v: number): number {\n const range = props.max - props.min\n if (range === 0) return 0\n return ((v - props.min) / range) * 100\n}\n\n// Tick positions (percentages) for showSteps\nconst tickPositions = computed<number[]>(() => {\n if (!props.showSteps) return []\n const positions: number[] = []\n let v = props.min\n while (v <= props.max) {\n positions.push(toPercent(v))\n v = Math.round((v + props.step) * 1e10) / 1e10 // avoid floating-point drift\n }\n return positions\n})\n\n// Determine which axis to use for positioning (left/bottom)\nconst positionAxis = computed(() =>\n props.orientation === 'vertical' ? 'bottom' : 'left'\n)\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :data-orientation=\"orientation\"\n :data-disabled=\"disabled || undefined\"\n >\n <!-- Label + output row -->\n <template v-if=\"showLabelWrapper\">\n <!--\n FIX: label does NOT get a class from slotFns.\n The CSS rule `.slider [data-slot=\"label\"]` targets it via data-slot attribute.\n Previously used :class=\"slotFns.base()\" which returned \"slider\" (root class) — wrong.\n -->\n <label\n v-if=\"label\"\n data-slot=\"label\"\n >{{ label }}</label>\n <output\n v-if=\"!hideValue\"\n :class=\"composeClassName(slotFns.output(), props.classNames?.output)\"\n >{{ formatted }}</output>\n </template>\n\n <!-- Slider body -->\n <div class=\"relative flex items-center gap-2\">\n <!-- Start content slot -->\n <slot name=\"startContent\" />\n\n <SliderRoot\n v-model=\"internalValue\"\n :min=\"min\"\n :max=\"max\"\n :step=\"step\"\n :min-steps-between-thumbs=\"minStepsBetweenThumbs\"\n :orientation=\"orientation\"\n :disabled=\"disabled\"\n :inverted=\"inverted\"\n class=\"relative flex items-center select-none touch-none w-full\"\n :data-orientation=\"orientation\"\n >\n <SliderTrack :class=\"composeClassName(slotFns.track(), props.classNames?.track)\">\n <SliderRange :class=\"composeClassName(slotFns.fill(), props.classNames?.fill)\" />\n\n <!--\n FIX: tick spans have NO class from slotFns (was :class=\"slotFns.base()\" = \"slider\" — wrong).\n Ticks are purely positional; identified by data-slider-tick attribute only.\n -->\n <span\n v-for=\"(pct, i) in tickPositions\"\n :key=\"`tick-${i}`\"\n :style=\"{ [positionAxis]: pct + '%' }\"\n aria-hidden=\"true\"\n data-slider-tick\n class=\"absolute pointer-events-none\"\n />\n\n <!-- Labeled marks -->\n <span\n v-for=\"mark in (marks || [])\"\n :key=\"`mark-${mark.value}`\"\n :class=\"composeClassName(slotFns.marks(), props.classNames?.marks)\"\n :style=\"{ [positionAxis]: toPercent(mark.value) + '%' }\"\n data-slider-mark\n class=\"absolute\"\n >{{ mark.label }}</span>\n </SliderTrack>\n\n <!-- Thumbs -->\n <SliderThumb\n v-for=\"(_, idx) in internalValue\"\n :key=\"idx\"\n :class=\"composeClassName(slotFns.thumb(), props.classNames?.thumb)\"\n :aria-label=\"label || 'Value'\"\n />\n </SliderRoot>\n\n <!-- End content slot -->\n <slot name=\"endContent\" />\n </div>\n </div>\n</template>\n"],"mappings":"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"}
@@ -10,7 +10,16 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
10
10
  id: { default: void 0 },
11
11
  direction: { default: "horizontal" },
12
12
  autoSaveId: { default: void 0 },
13
- class: { default: void 0 },
13
+ class: {
14
+ type: [
15
+ String,
16
+ Boolean,
17
+ null,
18
+ Object,
19
+ Array
20
+ ],
21
+ default: void 0
22
+ },
14
23
  classNames: { default: void 0 }
15
24
  },
16
25
  setup(__props) {
@@ -1 +1 @@
1
- {"version":3,"file":"SplitterGroup.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/splitter/SplitterGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, provide } from 'vue'\nimport { SplitterGroup } from 'reka-ui'\nimport { splitterVariants, type SplitterVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { splitterContextKey } from './Splitter.context'\n\nconst props = withDefaults(defineProps<{\n id?: string\n direction?: SplitterVariants['direction']\n autoSaveId?: string\n class?: ClassValue\n /** Per-slot class name overrides. */\n classNames?: Partial<{\n group: ClassValue\n }>\n}>(), {\n id: undefined,\n direction: 'horizontal',\n autoSaveId: undefined,\n class: undefined,\n classNames: undefined,\n})\n\nconst slotFns = computed(() => splitterVariants({ direction: props.direction }))\n\nprovide(splitterContextKey, { direction: computed(() => props.direction ?? 'horizontal') })\n</script>\n\n<template>\n <SplitterGroup\n :id=\"id\"\n :direction=\"direction ?? 'horizontal'\"\n :auto-save-id=\"autoSaveId\"\n :class=\"composeClassName(slotFns.group(), props.class, props.classNames?.group)\"\n data-slot=\"splitter-group\"\n >\n <slot />\n </SplitterGroup>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;EAOA,MAAM,QAAQ;EAiBd,MAAM,UAAU,eAAe,iBAAiB,EAAE,WAAW,MAAM,WAAW,CAAC,CAAA;AAE/E,UAAQ,oBAAoB,EAAE,WAAW,eAAe,MAAM,aAAa,aAAa,EAAE,CAAA;;uBAIxF,YAQgB,MAAA,cAAA,EAAA;IAPb,IAAI,QAAA;IACJ,WAAW,QAAA,aAAS;IACpB,gBAAc,QAAA;IACd,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,OAAK,EAAI,MAAM,OAAO,MAAM,YAAY,MAAK,CAAA;IAC9E,aAAU;;2BAEF,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"SplitterGroup.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/splitter/SplitterGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, provide } from 'vue'\nimport { SplitterGroup } from 'reka-ui'\nimport { splitterVariants, type SplitterVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { splitterContextKey } from './Splitter.context'\n\nconst props = withDefaults(defineProps<{\n id?: string\n direction?: SplitterVariants['direction']\n autoSaveId?: string\n class?: ClassValue\n /** Per-slot class name overrides. */\n classNames?: Partial<{\n group: ClassValue\n }>\n}>(), {\n id: undefined,\n direction: 'horizontal',\n autoSaveId: undefined,\n class: undefined,\n classNames: undefined,\n})\n\nconst slotFns = computed(() => splitterVariants({ direction: props.direction }))\n\nprovide(splitterContextKey, { direction: computed(() => props.direction ?? 'horizontal') })\n</script>\n\n<template>\n <SplitterGroup\n :id=\"id\"\n :direction=\"direction ?? 'horizontal'\"\n :auto-save-id=\"autoSaveId\"\n :class=\"composeClassName(slotFns.group(), props.class, props.classNames?.group)\"\n data-slot=\"splitter-group\"\n >\n <slot />\n </SplitterGroup>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAOA,MAAM,QAAQ;EAiBd,MAAM,UAAU,eAAe,iBAAiB,EAAE,WAAW,MAAM,WAAW,CAAC,CAAA;AAE/E,UAAQ,oBAAoB,EAAE,WAAW,eAAe,MAAM,aAAa,aAAa,EAAE,CAAA;;uBAIxF,YAQgB,MAAA,cAAA,EAAA;IAPb,IAAI,QAAA;IACJ,WAAW,QAAA,aAAS;IACpB,gBAAc,QAAA;IACd,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,OAAK,EAAI,MAAM,OAAO,MAAM,YAAY,MAAK,CAAA;IAC9E,aAAU;;2BAEF,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -16,7 +16,16 @@ var SplitterPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
16
16
  },
17
17
  collapsedSize: { default: void 0 },
18
18
  order: { default: void 0 },
19
- class: { default: void 0 },
19
+ class: {
20
+ type: [
21
+ String,
22
+ Boolean,
23
+ null,
24
+ Object,
25
+ Array
26
+ ],
27
+ default: void 0
28
+ },
20
29
  classNames: { default: void 0 }
21
30
  },
22
31
  emits: ["collapse", "expand"],
@@ -1 +1 @@
1
- {"version":3,"file":"SplitterPanel.vue_vue_type_script_setup_true_lang.js","names":["$emit"],"sources":["../../../src/components/splitter/SplitterPanel.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { SplitterPanel } from 'reka-ui'\nimport { splitterVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n id?: string\n defaultSize?: number\n minSize?: number\n maxSize?: number\n collapsible?: boolean\n collapsedSize?: number\n order?: number\n class?: ClassValue\n /** Override classes for individual slots. */\n classNames?: Partial<{\n panel: ClassValue\n }>\n}>(), {\n id: undefined,\n defaultSize: undefined,\n minSize: undefined,\n maxSize: undefined,\n collapsible: false,\n collapsedSize: undefined,\n order: undefined,\n class: undefined,\n classNames: undefined,\n})\n\ndefineEmits<{\n collapse: []\n expand: []\n}>()\n\nconst slotFns = computed(() => splitterVariants())\n</script>\n\n<template>\n <SplitterPanel\n :id=\"id\"\n :default-size=\"defaultSize\"\n :min-size=\"minSize\"\n :max-size=\"maxSize\"\n :collapsible=\"collapsible\"\n :collapsed-size=\"collapsedSize\"\n :order=\"order\"\n :class=\"composeClassName(slotFns.panel(), props.class, props.classNames?.panel)\"\n data-slot=\"splitter-panel\"\n @collapse=\"$emit('collapse')\"\n @expand=\"$emit('expand')\"\n >\n <slot />\n </SplitterPanel>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EA8Bd,MAAM,UAAU,eAAe,kBAAkB,CAAA;;uBAI/C,YAcgB,MAAA,cAAA,EAAA;IAbb,IAAI,QAAA;IACJ,gBAAc,QAAA;IACd,YAAU,QAAA;IACV,YAAU,QAAA;IACV,aAAa,QAAA;IACb,kBAAgB,QAAA;IAChB,OAAO,QAAA;IACP,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,OAAK,EAAI,MAAM,OAAO,MAAM,YAAY,MAAK,CAAA;IAC9E,aAAU;IACT,YAAQ,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,WAAA;IACf,UAAM,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,SAAA;;2BAEN,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"SplitterPanel.vue_vue_type_script_setup_true_lang.js","names":["$emit"],"sources":["../../../src/components/splitter/SplitterPanel.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { SplitterPanel } from 'reka-ui'\nimport { splitterVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n id?: string\n defaultSize?: number\n minSize?: number\n maxSize?: number\n collapsible?: boolean\n collapsedSize?: number\n order?: number\n class?: ClassValue\n /** Override classes for individual slots. */\n classNames?: Partial<{\n panel: ClassValue\n }>\n}>(), {\n id: undefined,\n defaultSize: undefined,\n minSize: undefined,\n maxSize: undefined,\n collapsible: false,\n collapsedSize: undefined,\n order: undefined,\n class: undefined,\n classNames: undefined,\n})\n\ndefineEmits<{\n collapse: []\n expand: []\n}>()\n\nconst slotFns = computed(() => splitterVariants())\n</script>\n\n<template>\n <SplitterPanel\n :id=\"id\"\n :default-size=\"defaultSize\"\n :min-size=\"minSize\"\n :max-size=\"maxSize\"\n :collapsible=\"collapsible\"\n :collapsed-size=\"collapsedSize\"\n :order=\"order\"\n :class=\"composeClassName(slotFns.panel(), props.class, props.classNames?.panel)\"\n data-slot=\"splitter-panel\"\n @collapse=\"$emit('collapse')\"\n @expand=\"$emit('expand')\"\n >\n <slot />\n </SplitterPanel>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EA8Bd,MAAM,UAAU,eAAe,kBAAkB,CAAA;;uBAI/C,YAcgB,MAAA,cAAA,EAAA;IAbb,IAAI,QAAA;IACJ,gBAAc,QAAA;IACd,YAAU,QAAA;IACV,YAAU,QAAA;IACV,aAAa,QAAA;IACb,kBAAgB,QAAA;IAChB,OAAO,QAAA;IACP,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,OAAK,EAAI,MAAM,OAAO,MAAM,YAAY,MAAK,CAAA;IAC9E,aAAU;IACT,YAAQ,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,WAAA;IACf,UAAM,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,SAAA;;2BAEN,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -12,7 +12,16 @@ var SplitterResizeHandle_vue_vue_type_script_setup_true_lang_default = /* @__PUR
12
12
  type: Boolean,
13
13
  default: false
14
14
  },
15
- class: { default: void 0 },
15
+ class: {
16
+ type: [
17
+ String,
18
+ Boolean,
19
+ null,
20
+ Object,
21
+ Array
22
+ ],
23
+ default: void 0
24
+ },
16
25
  classNames: { default: void 0 }
17
26
  },
18
27
  emits: ["dragging"],
@@ -1 +1 @@
1
- {"version":3,"file":"SplitterResizeHandle.vue_vue_type_script_setup_true_lang.js","names":["$emit"],"sources":["../../../src/components/splitter/SplitterResizeHandle.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from 'vue'\nimport { SplitterResizeHandle } from 'reka-ui'\nimport { splitterVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { splitterContextKey } from './Splitter.context'\n\nconst props = withDefaults(defineProps<{\n id?: string\n disabled?: boolean\n class?: ClassValue\n /** Per-slot class overrides */\n classNames?: Partial<{\n handle: ClassValue\n handleBar: ClassValue\n }>\n}>(), {\n id: undefined,\n disabled: false,\n class: undefined,\n classNames: undefined,\n})\n\ndefineEmits<{\n dragging: [isDragging: boolean]\n}>()\n\nconst groupCtx = inject(splitterContextKey, null)\nconst slotFns = computed(() =>\n splitterVariants({ direction: groupCtx?.direction.value ?? 'horizontal' }),\n)\n</script>\n\n<template>\n <SplitterResizeHandle\n :id=\"id\"\n :disabled=\"disabled\"\n :class=\"composeClassName(slotFns.handle(), props.class, props.classNames?.handle)\"\n data-slot=\"splitter-handle\"\n @dragging=\"$emit('dragging', $event)\"\n >\n <slot>\n <div :class=\"composeClassName(slotFns.handleBar(), props.classNames?.handleBar)\" />\n </slot>\n </SplitterResizeHandle>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAOA,MAAM,QAAQ;EAoBd,MAAM,WAAW,OAAO,oBAAoB,KAAI;EAChD,MAAM,UAAU,eACd,iBAAiB,EAAE,WAAW,UAAU,UAAU,SAAS,cAAc,CAAC,CAC5E;;uBAIE,YAUuB,MAAA,qBAAA,EAAA;IATpB,IAAI,QAAA;IACJ,UAAU,QAAA;IACV,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,QAAM,EAAI,MAAM,OAAO,MAAM,YAAY,OAAM,CAAA;IAChF,aAAU;IACT,YAAQ,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,YAAa,OAAM;;2BAI5B,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CADL,mBAAmF,OAAA,EAA7E,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,WAAS,EAAI,MAAM,YAAY,UAAS,CAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"SplitterResizeHandle.vue_vue_type_script_setup_true_lang.js","names":["$emit"],"sources":["../../../src/components/splitter/SplitterResizeHandle.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from 'vue'\nimport { SplitterResizeHandle } from 'reka-ui'\nimport { splitterVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { splitterContextKey } from './Splitter.context'\n\nconst props = withDefaults(defineProps<{\n id?: string\n disabled?: boolean\n class?: ClassValue\n /** Per-slot class overrides */\n classNames?: Partial<{\n handle: ClassValue\n handleBar: ClassValue\n }>\n}>(), {\n id: undefined,\n disabled: false,\n class: undefined,\n classNames: undefined,\n})\n\ndefineEmits<{\n dragging: [isDragging: boolean]\n}>()\n\nconst groupCtx = inject(splitterContextKey, null)\nconst slotFns = computed(() =>\n splitterVariants({ direction: groupCtx?.direction.value ?? 'horizontal' }),\n)\n</script>\n\n<template>\n <SplitterResizeHandle\n :id=\"id\"\n :disabled=\"disabled\"\n :class=\"composeClassName(slotFns.handle(), props.class, props.classNames?.handle)\"\n data-slot=\"splitter-handle\"\n @dragging=\"$emit('dragging', $event)\"\n >\n <slot>\n <div :class=\"composeClassName(slotFns.handleBar(), props.classNames?.handleBar)\" />\n </slot>\n </SplitterResizeHandle>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOA,MAAM,QAAQ;EAoBd,MAAM,WAAW,OAAO,oBAAoB,KAAI;EAChD,MAAM,UAAU,eACd,iBAAiB,EAAE,WAAW,UAAU,UAAU,SAAS,cAAc,CAAC,CAC5E;;uBAIE,YAUuB,MAAA,qBAAA,EAAA;IATpB,IAAI,QAAA;IACJ,UAAU,QAAA;IACV,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,QAAM,EAAI,MAAM,OAAO,MAAM,YAAY,OAAM,CAAA;IAChF,aAAU;IACT,YAAQ,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,YAAa,OAAM;;2BAI5B,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CADL,mBAAmF,OAAA,EAA7E,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,WAAS,EAAI,MAAM,YAAY,UAAS,CAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
@@ -13,7 +13,16 @@ var Stepper_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
13
13
  orientation: { default: "horizontal" },
14
14
  size: { default: "md" },
15
15
  color: { default: "accent" },
16
- class: { default: void 0 },
16
+ class: {
17
+ type: [
18
+ String,
19
+ Boolean,
20
+ null,
21
+ Object,
22
+ Array
23
+ ],
24
+ default: void 0
25
+ },
17
26
  classNames: {}
18
27
  },
19
28
  emits: ["update:modelValue"],
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/stepper/Stepper.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, provide, ref } from 'vue'\nimport { stepperVariants, type StepperVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { stepperContextKey, type StepStatus } from './Stepper.context'\n\nconst props = withDefaults(defineProps<{\n modelValue?: number\n defaultValue?: number\n totalSteps?: number\n orientation?: StepperVariants['orientation']\n size?: StepperVariants['size']\n color?: StepperVariants['color']\n class?: ClassValue\n /** Per-slot class name overrides. */\n classNames?: Partial<{\n base: ClassValue\n }>\n}>(), {\n modelValue: undefined,\n defaultValue: 1,\n totalSteps: 0,\n orientation: 'horizontal',\n size: 'md',\n color: 'accent',\n class: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [step: number]\n}>()\n\nconst internalStep = ref(props.defaultValue ?? 1)\nconst currentStep = computed({\n get: () => props.modelValue ?? internalStep.value,\n set: (val) => {\n internalStep.value = val\n emit('update:modelValue', val)\n },\n})\n\nconst slotFns = computed(() =>\n stepperVariants({\n orientation: props.orientation,\n size: props.size,\n color: props.color,\n }),\n)\n\nfunction getStepStatus(step: number): StepStatus {\n const curr = currentStep.value\n if (step < curr) return 'completed'\n if (step === curr) return 'current'\n return 'pending'\n}\n\nprovide(stepperContextKey, {\n currentStep: computed(() => currentStep.value),\n orientation: computed(() => props.orientation ?? 'horizontal'),\n size: computed(() => props.size ?? 'md'),\n color: computed(() => props.color ?? 'accent'),\n totalSteps: computed(() => props.totalSteps),\n getStepStatus,\n})\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :aria-label=\"`Step ${currentStep} of ${totalSteps}`\"\n data-slot=\"stepper\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EAsBd,MAAM,OAAO;EAIb,MAAM,eAAe,IAAI,MAAM,gBAAgB,EAAC;EAChD,MAAM,cAAc,SAAS;GAC3B,WAAW,MAAM,cAAc,aAAa;GAC5C,MAAM,QAAQ;AACZ,iBAAa,QAAQ;AACrB,SAAK,qBAAqB,IAAG;;GAEhC,CAAA;EAED,MAAM,UAAU,eACd,gBAAgB;GACd,aAAa,MAAM;GACnB,MAAM,MAAM;GACZ,OAAO,MAAM;GACd,CAAC,CACJ;EAEA,SAAS,cAAc,MAA0B;GAC/C,MAAM,OAAO,YAAY;AACzB,OAAI,OAAO,KAAM,QAAO;AACxB,OAAI,SAAS,KAAM,QAAO;AAC1B,UAAO;;AAGT,UAAQ,mBAAmB;GACzB,aAAa,eAAe,YAAY,MAAM;GAC9C,aAAa,eAAe,MAAM,eAAe,aAAa;GAC9D,MAAM,eAAe,MAAM,QAAQ,KAAK;GACxC,OAAO,eAAe,MAAM,SAAS,SAAS;GAC9C,YAAY,eAAe,MAAM,WAAW;GAC5C;GACD,CAAA;;uBAIC,mBAMM,OAAA;IALH,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI,CAAA;IAC3E,cAAU,QAAU,YAAA,MAAW,MAAO,QAAA;IACvC,aAAU;OAEV,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA"}
1
+ {"version":3,"file":"Stepper.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/stepper/Stepper.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, provide, ref } from 'vue'\nimport { stepperVariants, type StepperVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { stepperContextKey, type StepStatus } from './Stepper.context'\n\nconst props = withDefaults(defineProps<{\n modelValue?: number\n defaultValue?: number\n totalSteps?: number\n orientation?: StepperVariants['orientation']\n size?: StepperVariants['size']\n color?: StepperVariants['color']\n class?: ClassValue\n /** Per-slot class name overrides. */\n classNames?: Partial<{\n base: ClassValue\n }>\n}>(), {\n modelValue: undefined,\n defaultValue: 1,\n totalSteps: 0,\n orientation: 'horizontal',\n size: 'md',\n color: 'accent',\n class: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [step: number]\n}>()\n\nconst internalStep = ref(props.defaultValue ?? 1)\nconst currentStep = computed({\n get: () => props.modelValue ?? internalStep.value,\n set: (val) => {\n internalStep.value = val\n emit('update:modelValue', val)\n },\n})\n\nconst slotFns = computed(() =>\n stepperVariants({\n orientation: props.orientation,\n size: props.size,\n color: props.color,\n }),\n)\n\nfunction getStepStatus(step: number): StepStatus {\n const curr = currentStep.value\n if (step < curr) return 'completed'\n if (step === curr) return 'current'\n return 'pending'\n}\n\nprovide(stepperContextKey, {\n currentStep: computed(() => currentStep.value),\n orientation: computed(() => props.orientation ?? 'horizontal'),\n size: computed(() => props.size ?? 'md'),\n color: computed(() => props.color ?? 'accent'),\n totalSteps: computed(() => props.totalSteps),\n getStepStatus,\n})\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :aria-label=\"`Step ${currentStep} of ${totalSteps}`\"\n data-slot=\"stepper\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EAsBd,MAAM,OAAO;EAIb,MAAM,eAAe,IAAI,MAAM,gBAAgB,EAAC;EAChD,MAAM,cAAc,SAAS;GAC3B,WAAW,MAAM,cAAc,aAAa;GAC5C,MAAM,QAAQ;AACZ,iBAAa,QAAQ;AACrB,SAAK,qBAAqB,IAAG;;GAEhC,CAAA;EAED,MAAM,UAAU,eACd,gBAAgB;GACd,aAAa,MAAM;GACnB,MAAM,MAAM;GACZ,OAAO,MAAM;GACd,CAAC,CACJ;EAEA,SAAS,cAAc,MAA0B;GAC/C,MAAM,OAAO,YAAY;AACzB,OAAI,OAAO,KAAM,QAAO;AACxB,OAAI,SAAS,KAAM,QAAO;AAC1B,UAAO;;AAGT,UAAQ,mBAAmB;GACzB,aAAa,eAAe,YAAY,MAAM;GAC9C,aAAa,eAAe,MAAM,eAAe,aAAa;GAC9D,MAAM,eAAe,MAAM,QAAQ,KAAK;GACxC,OAAO,eAAe,MAAM,SAAS,SAAS;GAC9C,YAAY,eAAe,MAAM,WAAW;GAC5C;GACD,CAAA;;uBAIC,mBAMM,OAAA;IALH,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI,CAAA;IAC3E,cAAU,QAAU,YAAA,MAAW,MAAO,QAAA;IACvC,aAAU;OAEV,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA"}
@@ -5,7 +5,16 @@ import { stepperVariants } from "@auronui/styles";
5
5
  var StepperContent_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
6
6
  __name: "StepperContent",
7
7
  props: {
8
- class: { default: void 0 },
8
+ class: {
9
+ type: [
10
+ String,
11
+ Boolean,
12
+ null,
13
+ Object,
14
+ Array
15
+ ],
16
+ default: void 0
17
+ },
9
18
  classNames: {}
10
19
  },
11
20
  setup(__props) {
@@ -1 +1 @@
1
- {"version":3,"file":"StepperContent.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/stepper/StepperContent.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { stepperVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n class?: ClassValue\n /** Custom classNames to override the default component slots */\n classNames?: Partial<{\n content: ClassValue\n }>\n}>(), {\n class: undefined,\n})\n\nconst slotFns = computed(() => stepperVariants())\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.content(), props.class, props.classNames?.content)\"\n data-slot=\"stepper-content\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;EAKA,MAAM,QAAQ;EAUd,MAAM,UAAU,eAAe,iBAAiB,CAAA;;uBAI9C,mBAKM,OAAA;IAJH,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,SAAO,EAAI,MAAM,OAAO,MAAM,YAAY,QAAO,CAAA;IAClF,aAAU;OAEV,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"StepperContent.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/stepper/StepperContent.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { stepperVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n class?: ClassValue\n /** Custom classNames to override the default component slots */\n classNames?: Partial<{\n content: ClassValue\n }>\n}>(), {\n class: undefined,\n})\n\nconst slotFns = computed(() => stepperVariants())\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.content(), props.class, props.classNames?.content)\"\n data-slot=\"stepper-content\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EAUd,MAAM,UAAU,eAAe,iBAAiB,CAAA;;uBAI9C,mBAKM,OAAA;IAJH,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,SAAO,EAAI,MAAM,OAAO,MAAM,YAAY,QAAO,CAAA;IAClF,aAAU;OAEV,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
@@ -5,7 +5,16 @@ import { stepperVariants } from "@auronui/styles";
5
5
  var StepperDescription_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
6
6
  __name: "StepperDescription",
7
7
  props: {
8
- class: { default: void 0 },
8
+ class: {
9
+ type: [
10
+ String,
11
+ Boolean,
12
+ null,
13
+ Object,
14
+ Array
15
+ ],
16
+ default: void 0
17
+ },
9
18
  classNames: { default: void 0 }
10
19
  },
11
20
  setup(__props) {
@@ -1 +1 @@
1
- {"version":3,"file":"StepperDescription.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/stepper/StepperDescription.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { stepperVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n class?: ClassValue\n /** Override classes for individual slots. */\n classNames?: Partial<{\n description: ClassValue\n }>\n}>(), {\n class: undefined,\n classNames: undefined,\n})\n\nconst slotFns = computed(() => stepperVariants())\n</script>\n\n<template>\n <p\n :class=\"composeClassName(slotFns.description(), props.class, props.classNames?.description)\"\n data-slot=\"stepper-description\"\n >\n <slot />\n </p>\n</template>\n"],"mappings":";;;;;;;;;;;EAKA,MAAM,QAAQ;EAWd,MAAM,UAAU,eAAe,iBAAiB,CAAA;;uBAI9C,mBAKI,KAAA;IAJD,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,aAAW,EAAI,MAAM,OAAO,MAAM,YAAY,YAAW,CAAA;IAC1F,aAAU;OAEV,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"StepperDescription.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/stepper/StepperDescription.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { stepperVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n class?: ClassValue\n /** Override classes for individual slots. */\n classNames?: Partial<{\n description: ClassValue\n }>\n}>(), {\n class: undefined,\n classNames: undefined,\n})\n\nconst slotFns = computed(() => stepperVariants())\n</script>\n\n<template>\n <p\n :class=\"composeClassName(slotFns.description(), props.class, props.classNames?.description)\"\n data-slot=\"stepper-description\"\n >\n <slot />\n </p>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EAWd,MAAM,UAAU,eAAe,iBAAiB,CAAA;;uBAI9C,mBAKI,KAAA;IAJD,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,aAAW,EAAI,MAAM,OAAO,MAAM,YAAY,YAAW,CAAA;IAC1F,aAAU;OAEV,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
@@ -6,7 +6,16 @@ import { stepperVariants } from "@auronui/styles";
6
6
  var StepperIndicator_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
7
7
  __name: "StepperIndicator",
8
8
  props: {
9
- class: { default: void 0 },
9
+ class: {
10
+ type: [
11
+ String,
12
+ Boolean,
13
+ null,
14
+ Object,
15
+ Array
16
+ ],
17
+ default: void 0
18
+ },
10
19
  classNames: { default: void 0 }
11
20
  },
12
21
  setup(__props) {
@@ -1 +1 @@
1
- {"version":3,"file":"StepperIndicator.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/stepper/StepperIndicator.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from 'vue'\nimport { stepperVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { stepperContextKey } from './Stepper.context'\n\nconst props = withDefaults(defineProps<{\n class?: ClassValue\n /** Override classes on individual slots */\n classNames?: Partial<{\n indicator: ClassValue\n }>\n}>(), {\n class: undefined,\n classNames: undefined,\n})\n\nconst ctx = inject(stepperContextKey)\n\nconst slotFns = computed(() =>\n stepperVariants({\n size: ctx?.size.value,\n color: ctx?.color.value,\n }),\n)\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.indicator(), props.class, props.classNames?.indicator)\"\n aria-hidden=\"true\"\n data-slot=\"stepper-indicator\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;EAMA,MAAM,QAAQ;EAWd,MAAM,MAAM,OAAO,kBAAiB;EAEpC,MAAM,UAAU,eACd,gBAAgB;GACd,MAAM,KAAK,KAAK;GAChB,OAAO,KAAK,MAAM;GACnB,CAAC,CACJ;;uBAIE,mBAMM,OAAA;IALH,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,WAAS,EAAI,MAAM,OAAO,MAAM,YAAY,UAAS,CAAA;IACtF,eAAY;IACZ,aAAU;OAEV,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"StepperIndicator.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/stepper/StepperIndicator.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from 'vue'\nimport { stepperVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { stepperContextKey } from './Stepper.context'\n\nconst props = withDefaults(defineProps<{\n class?: ClassValue\n /** Override classes on individual slots */\n classNames?: Partial<{\n indicator: ClassValue\n }>\n}>(), {\n class: undefined,\n classNames: undefined,\n})\n\nconst ctx = inject(stepperContextKey)\n\nconst slotFns = computed(() =>\n stepperVariants({\n size: ctx?.size.value,\n color: ctx?.color.value,\n }),\n)\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.indicator(), props.class, props.classNames?.indicator)\"\n aria-hidden=\"true\"\n data-slot=\"stepper-indicator\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EAWd,MAAM,MAAM,OAAO,kBAAiB;EAEpC,MAAM,UAAU,eACd,gBAAgB;GACd,MAAM,KAAK,KAAK;GAChB,OAAO,KAAK,MAAM;GACnB,CAAC,CACJ;;uBAIE,mBAMM,OAAA;IALH,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,WAAS,EAAI,MAAM,OAAO,MAAM,YAAY,UAAS,CAAA;IACtF,eAAY;IACZ,aAAU;OAEV,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
@@ -8,7 +8,16 @@ var StepperItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
8
8
  __name: "StepperItem",
9
9
  props: {
10
10
  step: {},
11
- class: { default: void 0 },
11
+ class: {
12
+ type: [
13
+ String,
14
+ Boolean,
15
+ null,
16
+ Object,
17
+ Array
18
+ ],
19
+ default: void 0
20
+ },
12
21
  classNames: { default: void 0 }
13
22
  },
14
23
  setup(__props) {