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