@auronui/vue 1.3.0 → 1.4.1
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/ai-rules.md +139 -1
- package/dist/cjs/index.cjs +1816 -932
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/components/_shared/FieldLabel.js +7 -0
- package/dist/components/_shared/FieldLabel.js.map +1 -0
- package/dist/components/_shared/FieldLabel.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/_shared/FieldLabel.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/_shared/FormFieldHelper.js +7 -0
- package/dist/components/_shared/FormFieldHelper.js.map +1 -0
- package/dist/components/_shared/FormFieldHelper.vue_vue_type_script_setup_true_lang.js +59 -0
- package/dist/components/_shared/FormFieldHelper.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/_shared/TimeScroller.js +7 -0
- package/dist/components/_shared/TimeScroller.js.map +1 -0
- package/dist/components/{date-time-picker/DateTimePickerTimeScroller.vue_vue_type_script_setup_true_lang.js → _shared/TimeScroller.vue_vue_type_script_setup_true_lang.js} +5 -6
- package/dist/components/_shared/TimeScroller.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/accordion/Accordion.js.map +1 -1
- package/dist/components/accordion/Accordion.vue_vue_type_script_setup_true_lang.js +10 -4
- package/dist/components/accordion/Accordion.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 +11 -2
- package/dist/components/accordion/AccordionItem.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.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.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 +56 -52
- package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/autocomplete/AutocompleteCreateItem.js.map +1 -1
- package/dist/components/autocomplete/AutocompleteCreateItem.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/components/autocomplete/AutocompleteCreateItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/autocomplete/AutocompleteInput.js.map +1 -1
- package/dist/components/autocomplete/AutocompleteInput.vue_vue_type_script_setup_true_lang.js +17 -8
- package/dist/components/autocomplete/AutocompleteInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/autocomplete/AutocompleteItem.js.map +1 -1
- package/dist/components/autocomplete/AutocompleteItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/autocomplete/AutocompleteItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/avatar/AvatarGroup.js.map +1 -1
- package/dist/components/avatar/AvatarGroup.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 +10 -4
- 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 +10 -4
- package/dist/components/button/ButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/button/CloseButton.js.map +1 -1
- package/dist/components/button/CloseButton.vue_vue_type_script_setup_true_lang.js +10 -4
- package/dist/components/button/CloseButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/button/ToggleButton.js.map +1 -1
- package/dist/components/button/ToggleButton.vue_vue_type_script_setup_true_lang.js +17 -6
- package/dist/components/button/ToggleButton.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 +10 -4
- 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 +21 -10
- 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 +15 -4
- package/dist/components/calendar-year-picker/CalendarYearPicker.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 +16 -5
- package/dist/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/checkbox/CheckboxGroup.vue_vue_type_script_setup_true_lang.js +10 -4
- package/dist/components/checkbox/CheckboxGroup.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.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 +8 -2
- package/dist/components/collapsible/Collapsible.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 +2 -2
- package/dist/components/collapsible/CollapsibleGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-area/ColorArea.js.map +1 -1
- package/dist/components/color-area/ColorArea.vue_vue_type_script_setup_true_lang.js +15 -4
- package/dist/components/color-area/ColorArea.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-field/ColorField.js.map +1 -1
- package/dist/components/color-field/ColorField.vue_vue_type_script_setup_true_lang.js +22 -6
- package/dist/components/color-field/ColorField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-input-group/ColorInputGroup.js.map +1 -1
- package/dist/components/color-input-group/ColorInputGroup.vue_vue_type_script_setup_true_lang.js +22 -6
- package/dist/components/color-input-group/ColorInputGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-picker/ColorPicker.js.map +1 -1
- package/dist/components/color-picker/ColorPicker.vue_vue_type_script_setup_true_lang.js +15 -9
- package/dist/components/color-picker/ColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-slider/ColorSlider.js.map +1 -1
- package/dist/components/color-slider/ColorSlider.vue_vue_type_script_setup_true_lang.js +15 -4
- package/dist/components/color-slider/ColorSlider.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-swatch-picker/ColorSwatchPicker.js.map +1 -1
- package/dist/components/color-swatch-picker/ColorSwatchPicker.vue_vue_type_script_setup_true_lang.js +15 -4
- package/dist/components/color-swatch-picker/ColorSwatchPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/combo-box/ComboBoxInput.js.map +1 -1
- package/dist/components/combo-box/ComboBoxInput.vue_vue_type_script_setup_true_lang.js +7 -1
- package/dist/components/combo-box/ComboBoxInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/combo-box/ComboBoxItem.js.map +1 -1
- package/dist/components/combo-box/ComboBoxItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/combo-box/ComboBoxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/context-menu/ContextMenuCheckboxItem.js.map +1 -1
- package/dist/components/context-menu/ContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/context-menu/ContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/context-menu/ContextMenuItem.js.map +1 -1
- package/dist/components/context-menu/ContextMenuItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/context-menu/ContextMenuItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/context-menu/ContextMenuRadioItem.js.map +1 -1
- package/dist/components/context-menu/ContextMenuRadioItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/context-menu/ContextMenuRadioItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/context-menu/ContextMenuSubTrigger.js.map +1 -1
- package/dist/components/context-menu/ContextMenuSubTrigger.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/context-menu/ContextMenuSubTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/context-menu/ContextMenuTrigger.js.map +1 -1
- package/dist/components/context-menu/ContextMenuTrigger.vue_vue_type_script_setup_true_lang.js +7 -1
- package/dist/components/context-menu/ContextMenuTrigger.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 +61 -60
- package/dist/components/date-input/DateInput.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 +61 -61
- package/dist/components/date-range-field/DateRangeField.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 +13 -13
- package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/dropdown/DropdownCheckboxItem.js.map +1 -1
- package/dist/components/dropdown/DropdownCheckboxItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/dropdown/DropdownCheckboxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/dropdown/DropdownItem.js.map +1 -1
- package/dist/components/dropdown/DropdownItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/dropdown/DropdownItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/dropdown/DropdownRadioItem.js.map +1 -1
- package/dist/components/dropdown/DropdownRadioItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/dropdown/DropdownRadioItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/dropdown/DropdownSubTrigger.js.map +1 -1
- package/dist/components/dropdown/DropdownSubTrigger.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/dropdown/DropdownSubTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/dropdown/DropdownTrigger.js.map +1 -1
- package/dist/components/dropdown/DropdownTrigger.vue_vue_type_script_setup_true_lang.js +7 -1
- package/dist/components/dropdown/DropdownTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/editable/Editable.js.map +1 -1
- package/dist/components/editable/Editable.vue_vue_type_script_setup_true_lang.js +28 -6
- package/dist/components/editable/Editable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fieldset/Fieldset.js.map +1 -1
- package/dist/components/fieldset/Fieldset.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/components/fieldset/Fieldset.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 +76 -71
- 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 +15 -4
- package/dist/components/input-otp/InputOTP.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 +8 -2
- 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 +7 -1
- package/dist/components/list-box/ListBox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/menubar/MenubarCheckboxItem.js.map +1 -1
- package/dist/components/menubar/MenubarCheckboxItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/menubar/MenubarCheckboxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/menubar/MenubarItem.js.map +1 -1
- package/dist/components/menubar/MenubarItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/menubar/MenubarItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/menubar/MenubarRadioItem.js.map +1 -1
- package/dist/components/menubar/MenubarRadioItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/menubar/MenubarRadioItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/menubar/MenubarSubTrigger.js.map +1 -1
- package/dist/components/menubar/MenubarSubTrigger.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/menubar/MenubarSubTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/menubar/MenubarTrigger.js.map +1 -1
- package/dist/components/menubar/MenubarTrigger.vue_vue_type_script_setup_true_lang.js +7 -1
- package/dist/components/menubar/MenubarTrigger.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.map +1 -1
- package/dist/components/month-picker/MonthPicker.js.map +1 -1
- package/dist/components/month-picker/MonthPicker.vue_vue_type_script_setup_true_lang.js +15 -4
- package/dist/components/month-picker/MonthPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/month-range-picker/MonthRangePicker.js.map +1 -1
- package/dist/components/month-range-picker/MonthRangePicker.vue_vue_type_script_setup_true_lang.js +15 -4
- package/dist/components/month-range-picker/MonthRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/navigation-menu/NavigationMenuTrigger.js.map +1 -1
- package/dist/components/navigation-menu/NavigationMenuTrigger.vue_vue_type_script_setup_true_lang.js +7 -1
- package/dist/components/navigation-menu/NavigationMenuTrigger.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 +19 -5
- package/dist/components/number-field/NumberField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/Pagination.vue_vue_type_script_setup_true_lang.js +9 -3
- package/dist/components/pagination/Pagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/popover/PopoverClose.js.map +1 -1
- package/dist/components/popover/PopoverClose.vue_vue_type_script_setup_true_lang.js +11 -2
- package/dist/components/popover/PopoverClose.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.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.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 +16 -5
- package/dist/components/radio/Radio.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/radio/RadioGroup.js.map +1 -1
- package/dist/components/radio/RadioGroup.vue_vue_type_script_setup_true_lang.js +18 -7
- package/dist/components/radio/RadioGroup.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 +19 -8
- package/dist/components/range-calendar/RangeCalendar.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 +55 -51
- package/dist/components/select/Select.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/select/SelectItem.js.map +1 -1
- package/dist/components/select/SelectItem.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/select/SelectItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/select/SelectTrigger.js.map +1 -1
- package/dist/components/select/SelectTrigger.vue_vue_type_script_setup_true_lang.js +18 -9
- package/dist/components/select/SelectTrigger.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 +16 -5
- package/dist/components/slider/Slider.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 +8 -2
- package/dist/components/splitter/SplitterResizeHandle.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 +16 -5
- package/dist/components/switch/Switch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/switch/SwitchGroup.js.map +1 -1
- package/dist/components/switch/SwitchGroup.vue_vue_type_script_setup_true_lang.js +10 -4
- package/dist/components/switch/SwitchGroup.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 +1 -0
- 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.map +1 -1
- package/dist/components/table/TableCheckboxCell.js.map +1 -1
- package/dist/components/table/TableCheckboxCell.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.map +1 -1
- package/dist/components/table/table.context.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 +11 -2
- package/dist/components/tabs/Tab.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 +2 -2
- package/dist/components/tabs/TabList.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 +2 -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 +70 -65
- 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 +61 -60
- package/dist/components/time-field/TimeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/time-picker/TimePicker.js +7 -0
- package/dist/components/time-picker/TimePicker.js.map +1 -0
- package/dist/components/time-picker/TimePicker.vue_vue_type_script_setup_true_lang.js +320 -0
- package/dist/components/time-picker/TimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/time-range-field/TimeRangeField.js.map +1 -1
- package/dist/components/time-range-field/TimeRangeField.vue_vue_type_script_setup_true_lang.js +61 -61
- package/dist/components/time-range-field/TimeRangeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/toolbar/ToolbarButton.js.map +1 -1
- package/dist/components/toolbar/ToolbarButton.vue_vue_type_script_setup_true_lang.js +11 -2
- package/dist/components/toolbar/ToolbarButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/toolbar/ToolbarToggleGroup.js.map +1 -1
- package/dist/components/toolbar/ToolbarToggleGroup.vue_vue_type_script_setup_true_lang.js +23 -6
- package/dist/components/toolbar/ToolbarToggleGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/toolbar/ToolbarToggleItem.js.map +1 -1
- package/dist/components/toolbar/ToolbarToggleItem.vue_vue_type_script_setup_true_lang.js +11 -2
- package/dist/components/toolbar/ToolbarToggleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tooltip/TooltipProvider.js.map +1 -1
- package/dist/components/tooltip/TooltipProvider.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/components/tooltip/TooltipProvider.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 +11 -2
- package/dist/components/tree/Tree.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/year-range-picker/YearRangePicker.js.map +1 -1
- package/dist/components/year-range-picker/YearRangePicker.vue_vue_type_script_setup_true_lang.js +15 -4
- package/dist/components/year-range-picker/YearRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/composables/useDeprecatedBooleanProp.js +43 -0
- package/dist/composables/useDeprecatedBooleanProp.js.map +1 -0
- package/dist/composables/useFormField.js +50 -0
- package/dist/composables/useFormField.js.map +1 -0
- package/dist/index.d.ts +845 -580
- package/dist/index.js +2 -1
- package/dist/utils/warnDeprecated.js +2 -1
- package/dist/utils/warnDeprecated.js.map +1 -1
- package/package.json +4 -4
- package/dist/components/date-time-picker/DateTimePickerTimeScroller.js +0 -7
- package/dist/components/date-time-picker/DateTimePickerTimeScroller.js.map +0 -1
- package/dist/components/date-time-picker/DateTimePickerTimeScroller.vue_vue_type_script_setup_true_lang.js.map +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
|
|
1
2
|
import { useComboBoxInject } from "./ComboBox.context.js";
|
|
2
3
|
import { createBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, renderSlot, unref, withCtx } from "vue";
|
|
3
4
|
import { ComboboxAnchor, ComboboxCancel, ComboboxInput, ComboboxTrigger } from "reka-ui";
|
|
@@ -22,6 +23,10 @@ var ComboBoxInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
22
23
|
type: Boolean,
|
|
23
24
|
default: false
|
|
24
25
|
},
|
|
26
|
+
isDisabled: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: void 0
|
|
29
|
+
},
|
|
25
30
|
disabled: {
|
|
26
31
|
type: Boolean,
|
|
27
32
|
default: void 0
|
|
@@ -51,6 +56,7 @@ var ComboBoxInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
51
56
|
const props = __props;
|
|
52
57
|
const emit = __emit;
|
|
53
58
|
const ctx = useComboBoxInject();
|
|
59
|
+
const isDisabled = useDeprecatedBooleanProp("ComboBoxInput", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled, () => ctx.isDisabled.value);
|
|
54
60
|
return (_ctx, _cache) => {
|
|
55
61
|
return openBlock(), createBlock(unref(ComboboxAnchor), {
|
|
56
62
|
reference: props.anchorReference,
|
|
@@ -64,7 +70,7 @@ var ComboBoxInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
64
70
|
placeholder: props.placeholder,
|
|
65
71
|
"model-value": props.modelValue,
|
|
66
72
|
"auto-focus": props.autoFocus,
|
|
67
|
-
disabled:
|
|
73
|
+
disabled: unref(isDisabled),
|
|
68
74
|
"display-value": props.displayValue ?? unref(ctx).displayValue.value,
|
|
69
75
|
as: props.as,
|
|
70
76
|
"as-child": props.asChild,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBoxInput.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/combo-box/ComboBoxInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ComboboxAnchor, ComboboxInput, ComboboxTrigger, ComboboxCancel } from 'reka-ui'\nimport { useComboBoxInject } from './ComboBox.context'\n\nconst props = withDefaults(defineProps<{\n placeholder?: string\n class?: string\n /** Custom reference element for the anchor. */\n anchorReference?: object | null\n /** Render the anchor as a different element. */\n anchorAs?: string\n /** Merge anchor props onto child element. */\n anchorAsChild?: boolean\n /** Function to compute the display value from the current model value. */\n displayValue?: (value: string) => string\n /** Two-way bound search input value. */\n modelValue?: string\n /** Auto-focus the input on mount. */\n autoFocus?: boolean\n /** Disable the input. Falls back to context isDisabled. */\n disabled?: boolean\n /** Render the input as a different element. */\n as?: string\n /** Merge input props onto child element. */\n asChild?: boolean\n /** Disable the trigger button. */\n triggerDisabled?: boolean\n /** Render the trigger as a different element. */\n triggerAs?: string\n /** Merge trigger props onto child element. */\n triggerAsChild?: boolean\n /** Render the cancel button as a different element. */\n cancelAs?: string\n /** Merge cancel props onto child element. */\n cancelAsChild?: boolean\n}>(), {\n placeholder: undefined,\n class: undefined,\n anchorReference: undefined,\n anchorAs: undefined,\n anchorAsChild: false,\n displayValue: undefined,\n modelValue: undefined,\n autoFocus: false,\n disabled: undefined,\n as: undefined,\n asChild: false,\n triggerDisabled: undefined,\n triggerAs: undefined,\n triggerAsChild: false,\n cancelAs: undefined,\n cancelAsChild: false,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n}>()\n\nconst ctx = useComboBoxInject()\n</script>\n\n<template>\n <ComboboxAnchor\n :reference=\"(props.anchorReference as any)\"\n :as=\"props.anchorAs\"\n :as-child=\"props.anchorAsChild\"\n :class=\"ctx.slots.value.inputGroup()\"\n data-slot=\"input-group\"\n >\n <ComboboxInput\n :placeholder=\"props.placeholder\"\n :model-value=\"props.modelValue\"\n :auto-focus=\"props.autoFocus\"\n :disabled=\"
|
|
1
|
+
{"version":3,"file":"ComboBoxInput.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/combo-box/ComboBoxInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ComboboxAnchor, ComboboxInput, ComboboxTrigger, ComboboxCancel } from 'reka-ui'\nimport { useComboBoxInject } from './ComboBox.context'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n placeholder?: string\n class?: string\n /** Custom reference element for the anchor. */\n anchorReference?: object | null\n /** Render the anchor as a different element. */\n anchorAs?: string\n /** Merge anchor props onto child element. */\n anchorAsChild?: boolean\n /** Function to compute the display value from the current model value. */\n displayValue?: (value: string) => string\n /** Two-way bound search input value. */\n modelValue?: string\n /** Auto-focus the input on mount. */\n autoFocus?: boolean\n /** Disable the input. Falls back to context isDisabled. */\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render the input as a different element. */\n as?: string\n /** Merge input props onto child element. */\n asChild?: boolean\n /** Disable the trigger button. */\n triggerDisabled?: boolean\n /** Render the trigger as a different element. */\n triggerAs?: string\n /** Merge trigger props onto child element. */\n triggerAsChild?: boolean\n /** Render the cancel button as a different element. */\n cancelAs?: string\n /** Merge cancel props onto child element. */\n cancelAsChild?: boolean\n}>(), {\n placeholder: undefined,\n class: undefined,\n anchorReference: undefined,\n anchorAs: undefined,\n anchorAsChild: false,\n displayValue: undefined,\n modelValue: undefined,\n autoFocus: false,\n isDisabled: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n triggerDisabled: undefined,\n triggerAs: undefined,\n triggerAsChild: false,\n cancelAs: undefined,\n cancelAsChild: false,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n}>()\n\nconst ctx = useComboBoxInject()\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ComboBoxInput', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n () => ctx.isDisabled.value,\n)\n</script>\n\n<template>\n <ComboboxAnchor\n :reference=\"(props.anchorReference as any)\"\n :as=\"props.anchorAs\"\n :as-child=\"props.anchorAsChild\"\n :class=\"ctx.slots.value.inputGroup()\"\n data-slot=\"input-group\"\n >\n <ComboboxInput\n :placeholder=\"props.placeholder\"\n :model-value=\"props.modelValue\"\n :auto-focus=\"props.autoFocus\"\n :disabled=\"isDisabled\"\n :display-value=\"props.displayValue ?? ctx.displayValue.value\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n class=\"combo-box__input\"\n data-slot=\"input\"\n autocomplete=\"off\"\n @update:model-value=\"emit('update:modelValue', $event)\"\n />\n <!-- Clear button: shown when there's input -->\n <ComboboxCancel\n :as=\"props.cancelAs\"\n :as-child=\"props.cancelAsChild\"\n class=\"combo-box__clear-button\"\n data-slot=\"clear-button\"\n aria-label=\"Clear\"\n >\n <slot name=\"clearIcon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"10\"\n height=\"10\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <line\n x1=\"18\"\n y1=\"6\"\n x2=\"6\"\n y2=\"18\"\n />\n <line\n x1=\"6\"\n y1=\"6\"\n x2=\"18\"\n y2=\"18\"\n />\n </svg>\n </slot>\n </ComboboxCancel>\n <!-- Dropdown trigger -->\n <ComboboxTrigger\n :disabled=\"props.triggerDisabled\"\n :as=\"props.triggerAs\"\n :as-child=\"props.triggerAsChild\"\n :class=\"ctx.slots.value.trigger()\"\n data-slot=\"selector-button\"\n aria-label=\"Toggle suggestions\"\n >\n <slot name=\"triggerIcon\">\n <svg\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 data-slot=\"combo-box-trigger-default-icon\"\n aria-hidden=\"true\"\n >\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </slot>\n </ComboboxTrigger>\n </ComboboxAnchor>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EAqDd,MAAM,OAAO;EAIb,MAAM,MAAM,mBAAkB;EAE9B,MAAM,aAAa,yBACjB,iBAAiB,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,gBACzE,IAAI,WAAW,MACvB;;uBAIE,YAmFiB,MAAA,eAAA,EAAA;IAlFd,WAAY,MAAM;IAClB,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAK,eAAE,MAAA,IAAG,CAAC,MAAM,MAAM,YAAU,CAAA;IAClC,aAAU;;2BAcR;KAZF,YAYE,MAAA,cAAA,EAAA;MAXC,aAAa,MAAM;MACnB,eAAa,MAAM;MACnB,cAAY,MAAM;MAClB,UAAU,MAAA,WAAU;MACpB,iBAAe,MAAM,gBAAgB,MAAA,IAAG,CAAC,aAAa;MACtD,IAAI,MAAM;MACV,YAAU,MAAM;MACjB,OAAM;MACN,aAAU;MACV,cAAa;MACZ,uBAAkB,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,qBAAsB,OAAM;;;;;;;;;;KAGvD,YAkCiB,MAAA,eAAA,EAAA;MAjCd,IAAI,MAAM;MACV,YAAU,MAAM;MACjB,OAAM;MACN,aAAU;MACV,cAAW;;6BA4BJ,CA1BP,WA0BO,KAAA,QAAA,aAAA,EAAA,QAAA,CAAA,OAAA,OAAA,OAAA,KAzBL,mBAwBM,OAAA;OAvBJ,OAAM;OACN,OAAM;OACN,QAAO;OACP,SAAQ;OACR,MAAK;OACL,QAAO;OACP,gBAAa;OACb,kBAAe;OACf,mBAAgB;OAChB,eAAY;UAEZ,mBAKE,QAAA;OAJA,IAAG;OACH,IAAG;OACH,IAAG;OACH,IAAG;UAEL,mBAKE,QAAA;OAJA,IAAG;OACH,IAAG;OACH,IAAG;OACH,IAAG;;;;KAMX,YAyBkB,MAAA,gBAAA,EAAA;MAxBf,UAAU,MAAM;MAChB,IAAI,MAAM;MACV,YAAU,MAAM;MAChB,OAAK,eAAE,MAAA,IAAG,CAAC,MAAM,MAAM,SAAO,CAAA;MAC/B,aAAU;MACV,cAAW;;6BAkBJ,CAhBP,WAgBO,KAAA,QAAA,eAAA,EAAA,QAAA,CAAA,OAAA,OAAA,OAAA,KAfL,mBAcM,OAAA;OAbJ,OAAM;OACN,OAAM;OACN,QAAO;OACP,SAAQ;OACR,MAAK;OACL,QAAO;OACP,gBAAa;OACb,kBAAe;OACf,mBAAgB;OAChB,aAAU;OACV,eAAY;UAEZ,mBAAoC,YAAA,EAA1B,QAAO,kBAAgB,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBoxItem.js","names":[],"sources":["../../../src/components/combo-box/ComboBoxItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, useSlots, type Slots, type VNode } from 'vue'\nimport { ComboboxItem, ComboboxItemIndicator } from 'reka-ui'\nimport { useComboBoxInject } from './ComboBox.context'\n\nconst props = withDefaults(defineProps<{\n value: string\n isDisabled?: boolean\n class?: string\n /** A string value for typeahead matching. Defaults to display text. */\n textValue?: string\n /**
|
|
1
|
+
{"version":3,"file":"ComboBoxItem.js","names":[],"sources":["../../../src/components/combo-box/ComboBoxItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, useSlots, type Slots, type VNode } from 'vue'\nimport { ComboboxItem, ComboboxItemIndicator } from 'reka-ui'\nimport { useComboBoxInject } from './ComboBox.context'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n value: string\n isDisabled?: boolean\n class?: string\n /** A string value for typeahead matching. Defaults to display text. */\n textValue?: string\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n /** Render the ComboboxItemIndicator as a different element. */\n indicatorAs?: string\n /** Merge indicator props onto child element. */\n indicatorAsChild?: boolean\n}>(), {\n isDisabled: undefined,\n class: undefined,\n textValue: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n indicatorAs: undefined,\n indicatorAsChild: false,\n})\n\nconst emit = defineEmits<{\n 'select': [event: Event]\n}>()\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ComboBoxItem', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\nconst slots: Slots = useSlots()\nconst ctx = useComboBoxInject()\n\n// Extract plain text from default slot VNodes at render time.\nfunction extractText(nodes: VNode[]): string {\n return nodes.map(n => {\n if (typeof n.children === 'string') return n.children\n if (Array.isArray(n.children)) return extractText(n.children as VNode[])\n return ''\n }).join('')\n}\n\n// The display text Reka writes into the input when this item is selected.\n// Reads slot text content — no extra props needed.\nconst displayText = computed((): string => {\n const vnodes: VNode[] | undefined = (slots.default as (() => VNode[]) | undefined)?.()\n if (!vnodes) return props.value\n return extractText(vnodes).trim() || props.value\n})\n\n// Register this item's value→label mapping with the parent ComboBox bridge\n// so displayValue() and handleModelValueUpdate() can translate correctly.\nonMounted(() => {\n ctx.registerItem(props.value, displayText.value)\n})\n\nonUnmounted(() => {\n ctx.unregisterItem(props.value)\n})\n</script>\n\n<template>\n <ComboboxItem\n :value=\"displayText\"\n :text-value=\"props.textValue ?? displayText\"\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :data-item-value=\"props.value\"\n class=\"list-box-item list-box-item--default\"\n data-slot=\"list-box-item\"\n @select=\"emit('select', $event)\"\n >\n <slot name=\"startContent\" />\n <slot />\n <ComboboxItemIndicator\n :as=\"props.indicatorAs\"\n :as-child=\"props.indicatorAsChild\"\n class=\"list-box-item__indicator\"\n data-slot=\"list-box-item-indicator\"\n >\n <slot name=\"selectedIcon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n data-slot=\"list-box-item-indicator--checkmark\"\n aria-hidden=\"true\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </slot>\n </ComboboxItemIndicator>\n <slot name=\"endContent\" />\n </ComboboxItem>\n</template>\n"],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
|
|
1
2
|
import { useComboBoxInject } from "./ComboBox.context.js";
|
|
2
3
|
import { computed, createBlock, createElementVNode, createVNode, defineComponent, onMounted, onUnmounted, openBlock, renderSlot, unref, useSlots, withCtx } from "vue";
|
|
3
4
|
import { ComboboxItem, ComboboxItemIndicator } from "reka-ui";
|
|
@@ -8,7 +9,7 @@ var ComboBoxItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
8
9
|
value: {},
|
|
9
10
|
isDisabled: {
|
|
10
11
|
type: Boolean,
|
|
11
|
-
default:
|
|
12
|
+
default: void 0
|
|
12
13
|
},
|
|
13
14
|
class: { default: void 0 },
|
|
14
15
|
textValue: { default: void 0 },
|
|
@@ -31,6 +32,7 @@ var ComboBoxItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
31
32
|
setup(__props, { emit: __emit }) {
|
|
32
33
|
const props = __props;
|
|
33
34
|
const emit = __emit;
|
|
35
|
+
const isDisabled = useDeprecatedBooleanProp("ComboBoxItem", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
|
|
34
36
|
const slots = useSlots();
|
|
35
37
|
const ctx = useComboBoxInject();
|
|
36
38
|
function extractText(nodes) {
|
|
@@ -55,7 +57,7 @@ var ComboBoxItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
55
57
|
return openBlock(), createBlock(unref(ComboboxItem), {
|
|
56
58
|
value: displayText.value,
|
|
57
59
|
"text-value": props.textValue ?? displayText.value,
|
|
58
|
-
disabled:
|
|
60
|
+
disabled: unref(isDisabled),
|
|
59
61
|
as: props.as,
|
|
60
62
|
"as-child": props.asChild,
|
|
61
63
|
"data-item-value": props.value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBoxItem.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/combo-box/ComboBoxItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, useSlots, type Slots, type VNode } from 'vue'\nimport { ComboboxItem, ComboboxItemIndicator } from 'reka-ui'\nimport { useComboBoxInject } from './ComboBox.context'\n\nconst props = withDefaults(defineProps<{\n value: string\n isDisabled?: boolean\n class?: string\n /** A string value for typeahead matching. Defaults to display text. */\n textValue?: string\n /**
|
|
1
|
+
{"version":3,"file":"ComboBoxItem.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/combo-box/ComboBoxItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, useSlots, type Slots, type VNode } from 'vue'\nimport { ComboboxItem, ComboboxItemIndicator } from 'reka-ui'\nimport { useComboBoxInject } from './ComboBox.context'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n value: string\n isDisabled?: boolean\n class?: string\n /** A string value for typeahead matching. Defaults to display text. */\n textValue?: string\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n /** Render the ComboboxItemIndicator as a different element. */\n indicatorAs?: string\n /** Merge indicator props onto child element. */\n indicatorAsChild?: boolean\n}>(), {\n isDisabled: undefined,\n class: undefined,\n textValue: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n indicatorAs: undefined,\n indicatorAsChild: false,\n})\n\nconst emit = defineEmits<{\n 'select': [event: Event]\n}>()\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ComboBoxItem', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\nconst slots: Slots = useSlots()\nconst ctx = useComboBoxInject()\n\n// Extract plain text from default slot VNodes at render time.\nfunction extractText(nodes: VNode[]): string {\n return nodes.map(n => {\n if (typeof n.children === 'string') return n.children\n if (Array.isArray(n.children)) return extractText(n.children as VNode[])\n return ''\n }).join('')\n}\n\n// The display text Reka writes into the input when this item is selected.\n// Reads slot text content — no extra props needed.\nconst displayText = computed((): string => {\n const vnodes: VNode[] | undefined = (slots.default as (() => VNode[]) | undefined)?.()\n if (!vnodes) return props.value\n return extractText(vnodes).trim() || props.value\n})\n\n// Register this item's value→label mapping with the parent ComboBox bridge\n// so displayValue() and handleModelValueUpdate() can translate correctly.\nonMounted(() => {\n ctx.registerItem(props.value, displayText.value)\n})\n\nonUnmounted(() => {\n ctx.unregisterItem(props.value)\n})\n</script>\n\n<template>\n <ComboboxItem\n :value=\"displayText\"\n :text-value=\"props.textValue ?? displayText\"\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :data-item-value=\"props.value\"\n class=\"list-box-item list-box-item--default\"\n data-slot=\"list-box-item\"\n @select=\"emit('select', $event)\"\n >\n <slot name=\"startContent\" />\n <slot />\n <ComboboxItemIndicator\n :as=\"props.indicatorAs\"\n :as-child=\"props.indicatorAsChild\"\n class=\"list-box-item__indicator\"\n data-slot=\"list-box-item-indicator\"\n >\n <slot name=\"selectedIcon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n data-slot=\"list-box-item-indicator--checkmark\"\n aria-hidden=\"true\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </slot>\n </ComboboxItemIndicator>\n <slot name=\"endContent\" />\n </ComboboxItem>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EA2Bd,MAAM,OAAO;EAIb,MAAM,aAAa,yBACjB,gBAAgB,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SAChF;EAEA,MAAM,QAAe,UAAS;EAC9B,MAAM,MAAM,mBAAkB;EAG9B,SAAS,YAAY,OAAwB;AAC3C,UAAO,MAAM,KAAI,MAAK;AACpB,QAAI,OAAO,EAAE,aAAa,SAAU,QAAO,EAAE;AAC7C,QAAI,MAAM,QAAQ,EAAE,SAAS,CAAE,QAAO,YAAY,EAAE,SAAmB;AACvE,WAAO;KACP,CAAC,KAAK,GAAE;;EAKZ,MAAM,cAAc,eAAuB;GACzC,MAAM,SAA+B,MAAM,WAA0C;AACrF,OAAI,CAAC,OAAQ,QAAO,MAAM;AAC1B,UAAO,YAAY,OAAO,CAAC,MAAM,IAAI,MAAM;IAC5C;AAID,kBAAgB;AACd,OAAI,aAAa,MAAM,OAAO,YAAY,MAAK;IAChD;AAED,oBAAkB;AAChB,OAAI,eAAe,MAAM,MAAK;IAC/B;;uBAIC,YAsCe,MAAA,aAAA,EAAA;IArCZ,OAAO,YAAA;IACP,cAAY,MAAM,aAAa,YAAA;IAC/B,UAAU,MAAA,WAAU;IACpB,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,mBAAiB,MAAM;IACxB,OAAM;IACN,aAAU;IACT,UAAM,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAW,OAAM;;2BAEF;KAA5B,WAA4B,KAAA,QAAA,eAAA;KAC5B,WAAQ,KAAA,QAAA,UAAA;KACR,YAuBwB,MAAA,sBAAA,EAAA;MAtBrB,IAAI,MAAM;MACV,YAAU,MAAM;MACjB,OAAM;MACN,aAAU;;6BAkBH,CAhBP,WAgBO,KAAA,QAAA,gBAAA,EAAA,QAAA,CAAA,OAAA,OAAA,OAAA,KAfL,mBAcM,OAAA;OAbJ,OAAM;OACN,OAAM;OACN,QAAO;OACP,SAAQ;OACR,MAAK;OACL,QAAO;OACP,gBAAa;OACb,kBAAe;OACf,mBAAgB;OAChB,aAAU;OACV,eAAY;UAEZ,mBAAoC,YAAA,EAA1B,QAAO,kBAAgB,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;;;KAIvC,WAA0B,KAAA,QAAA,aAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuCheckboxItem.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuCheckboxItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuCheckboxItem, ContextMenuItemIndicator } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\n\nconst props = withDefaults(defineProps<{\n textValue?: string\n isDisabled?: boolean\n variant?: 'default' | 'danger'\n class?: string\n /** Controlled checked state. */\n modelValue?: boolean\n /**
|
|
1
|
+
{"version":3,"file":"ContextMenuCheckboxItem.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuCheckboxItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuCheckboxItem, ContextMenuItemIndicator } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n textValue?: string\n isDisabled?: boolean\n variant?: 'default' | 'danger'\n class?: string\n /** Controlled checked state. */\n modelValue?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n textValue: undefined,\n isDisabled: undefined,\n variant: 'default',\n class: undefined,\n modelValue: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n})\n\nconst emit = defineEmits<{\n select: [event: Event]\n 'update:modelValue': [value: boolean]\n}>()\n\nconst isSelected = defineModel<boolean>('isSelected', { default: false })\n\nconst slots = menuItemVariants({ variant: props.variant })\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ContextMenuCheckboxItem', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n</script>\n\n<template>\n <ContextMenuCheckboxItem\n :model-value=\"props.modelValue ?? isSelected\"\n :text-value=\"props.textValue\"\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"[slots.item(), props.class]\"\n @update:model-value=\"isSelected = $event; emit('update:modelValue', $event)\"\n @select=\"emit('select', $event)\"\n >\n <ContextMenuItemIndicator\n :class=\"slots.indicator()\"\n force-mount\n >\n <!-- Checkmark indicator -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"10\"\n height=\"10\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n data-slot=\"menu-item-indicator--checkmark\"\n aria-hidden=\"true\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </ContextMenuItemIndicator>\n\n <slot />\n </ContextMenuCheckboxItem>\n</template>\n"],"mappings":""}
|
package/dist/components/context-menu/ContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
|
|
1
2
|
import { createBlock, createElementVNode, createVNode, defineComponent, mergeModels, normalizeClass, openBlock, renderSlot, unref, useModel, withCtx } from "vue";
|
|
2
3
|
import { menuItemVariants } from "@auronui/styles";
|
|
3
4
|
import { ContextMenuCheckboxItem, ContextMenuItemIndicator } from "reka-ui";
|
|
@@ -8,7 +9,7 @@ var ContextMenuCheckboxItem_vue_vue_type_script_setup_true_lang_default = /* @__
|
|
|
8
9
|
textValue: { default: void 0 },
|
|
9
10
|
isDisabled: {
|
|
10
11
|
type: Boolean,
|
|
11
|
-
default:
|
|
12
|
+
default: void 0
|
|
12
13
|
},
|
|
13
14
|
variant: { default: "default" },
|
|
14
15
|
class: { default: void 0 },
|
|
@@ -38,11 +39,12 @@ var ContextMenuCheckboxItem_vue_vue_type_script_setup_true_lang_default = /* @__
|
|
|
38
39
|
const emit = __emit;
|
|
39
40
|
const isSelected = useModel(__props, "isSelected");
|
|
40
41
|
const slots = menuItemVariants({ variant: props.variant });
|
|
42
|
+
const isDisabled = useDeprecatedBooleanProp("ContextMenuCheckboxItem", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
|
|
41
43
|
return (_ctx, _cache) => {
|
|
42
44
|
return openBlock(), createBlock(unref(ContextMenuCheckboxItem), {
|
|
43
45
|
"model-value": props.modelValue ?? isSelected.value,
|
|
44
46
|
"text-value": props.textValue,
|
|
45
|
-
disabled:
|
|
47
|
+
disabled: unref(isDisabled),
|
|
46
48
|
as: props.as,
|
|
47
49
|
"as-child": props.asChild,
|
|
48
50
|
class: normalizeClass([unref(slots).item(), props.class]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuCheckboxItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuCheckboxItem, ContextMenuItemIndicator } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\n\nconst props = withDefaults(defineProps<{\n textValue?: string\n isDisabled?: boolean\n variant?: 'default' | 'danger'\n class?: string\n /** Controlled checked state. */\n modelValue?: boolean\n /**
|
|
1
|
+
{"version":3,"file":"ContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuCheckboxItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuCheckboxItem, ContextMenuItemIndicator } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n textValue?: string\n isDisabled?: boolean\n variant?: 'default' | 'danger'\n class?: string\n /** Controlled checked state. */\n modelValue?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n textValue: undefined,\n isDisabled: undefined,\n variant: 'default',\n class: undefined,\n modelValue: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n})\n\nconst emit = defineEmits<{\n select: [event: Event]\n 'update:modelValue': [value: boolean]\n}>()\n\nconst isSelected = defineModel<boolean>('isSelected', { default: false })\n\nconst slots = menuItemVariants({ variant: props.variant })\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ContextMenuCheckboxItem', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n</script>\n\n<template>\n <ContextMenuCheckboxItem\n :model-value=\"props.modelValue ?? isSelected\"\n :text-value=\"props.textValue\"\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"[slots.item(), props.class]\"\n @update:model-value=\"isSelected = $event; emit('update:modelValue', $event)\"\n @select=\"emit('select', $event)\"\n >\n <ContextMenuItemIndicator\n :class=\"slots.indicator()\"\n force-mount\n >\n <!-- Checkmark indicator -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"10\"\n height=\"10\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n data-slot=\"menu-item-indicator--checkmark\"\n aria-hidden=\"true\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </ContextMenuItemIndicator>\n\n <slot />\n </ContextMenuCheckboxItem>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EAwBd,MAAM,OAAO;EAKb,MAAM,aAAa,SAAoB,SAAC,aAAgC;EAExE,MAAM,QAAQ,iBAAiB,EAAE,SAAS,MAAM,SAAS,CAAA;EAEzD,MAAM,aAAa,yBACjB,2BAA2B,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SAC3F;;uBAIE,YAiC0B,MAAA,wBAAA,EAAA;IAhCvB,eAAa,MAAM,cAAc,WAAA;IACjC,cAAY,MAAM;IAClB,UAAU,MAAA,WAAU;IACpB,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAK,eAAA,CAAG,MAAA,MAAK,CAAC,MAAI,EAAI,MAAM,MAAK,CAAA;IACjC,uBAAkB,OAAA,OAAA,OAAA,MAAA,WAAA;AAAE,gBAAA,QAAa;AAAQ,UAAI,qBAAsB,OAAM;;IACzE,UAAM,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAW,OAAM;;2BAsBH,CApB3B,YAoB2B,MAAA,yBAAA,EAAA;KAnBxB,OAAK,eAAE,MAAA,MAAK,CAAC,WAAS,CAAA;KACvB,eAAA;;4BAiBM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAdN,mBAcM,OAAA;MAbJ,OAAM;MACN,OAAM;MACN,QAAO;MACP,SAAQ;MACR,MAAK;MACL,QAAO;MACP,gBAAa;MACb,kBAAe;MACf,mBAAgB;MAChB,aAAU;MACV,eAAY;SAEZ,mBAAoC,YAAA,EAA1B,QAAO,kBAAgB,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,CAAA;;sBAIrC,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuItem.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuItem } from 'reka-ui'\nimport { menuItemVariants, type MenuItemVariants } from '@auronui/styles'\n\nconst props = withDefaults(defineProps<{\n textValue?: string\n isDisabled?: boolean\n variant?: MenuItemVariants['variant']\n shortcut?: string\n description?: string\n class?: string\n /**
|
|
1
|
+
{"version":3,"file":"ContextMenuItem.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuItem } from 'reka-ui'\nimport { menuItemVariants, type MenuItemVariants } from '@auronui/styles'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n textValue?: string\n isDisabled?: boolean\n variant?: MenuItemVariants['variant']\n shortcut?: string\n description?: string\n class?: string\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n textValue: undefined,\n isDisabled: undefined,\n variant: 'default',\n shortcut: undefined,\n description: undefined,\n class: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n})\n\nconst emit = defineEmits<{\n select: [event: Event]\n}>()\n\nconst slots = menuItemVariants({ variant: props.variant })\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ContextMenuItem', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n</script>\n\n<template>\n <ContextMenuItem\n :text-value=\"props.textValue\"\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"[slots.item(), props.class]\"\n @select=\"emit('select', $event)\"\n >\n <slot name=\"startContent\" />\n\n <div class=\"flex flex-1 flex-col\">\n <span data-slot=\"label\">\n <slot />\n </span>\n <span\n v-if=\"props.description\"\n data-slot=\"description\"\n >\n {{ props.description }}\n </span>\n </div>\n\n <!-- Raw <kbd> (not <Kbd>): a menu shortcut renders as plain muted text; <Kbd> applies a\n boxed keycap style that would break visual parity with HeroUI's menu shortcuts. -->\n <kbd\n v-if=\"props.shortcut\"\n data-slot=\"shortcut\"\n class=\"ml-auto text-xs text-muted font-mono\"\n >\n {{ props.shortcut }}\n </kbd>\n\n <slot name=\"endContent\" />\n </ContextMenuItem>\n</template>\n"],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
|
|
1
2
|
import { createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, renderSlot, toDisplayString, unref, withCtx } from "vue";
|
|
2
3
|
import { menuItemVariants } from "@auronui/styles";
|
|
3
4
|
import { ContextMenuItem } from "reka-ui";
|
|
@@ -19,7 +20,7 @@ var ContextMenuItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
19
20
|
textValue: { default: void 0 },
|
|
20
21
|
isDisabled: {
|
|
21
22
|
type: Boolean,
|
|
22
|
-
default:
|
|
23
|
+
default: void 0
|
|
23
24
|
},
|
|
24
25
|
variant: { default: "default" },
|
|
25
26
|
shortcut: { default: void 0 },
|
|
@@ -40,10 +41,11 @@ var ContextMenuItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
40
41
|
const props = __props;
|
|
41
42
|
const emit = __emit;
|
|
42
43
|
const slots = menuItemVariants({ variant: props.variant });
|
|
44
|
+
const isDisabled = useDeprecatedBooleanProp("ContextMenuItem", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
|
|
43
45
|
return (_ctx, _cache) => {
|
|
44
46
|
return openBlock(), createBlock(unref(ContextMenuItem), {
|
|
45
47
|
"text-value": props.textValue,
|
|
46
|
-
disabled:
|
|
48
|
+
disabled: unref(isDisabled),
|
|
47
49
|
as: props.as,
|
|
48
50
|
"as-child": props.asChild,
|
|
49
51
|
class: normalizeClass([unref(slots).item(), props.class]),
|
package/dist/components/context-menu/ContextMenuItem.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuItem.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuItem } from 'reka-ui'\nimport { menuItemVariants, type MenuItemVariants } from '@auronui/styles'\n\nconst props = withDefaults(defineProps<{\n textValue?: string\n isDisabled?: boolean\n variant?: MenuItemVariants['variant']\n shortcut?: string\n description?: string\n class?: string\n /**
|
|
1
|
+
{"version":3,"file":"ContextMenuItem.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuItem } from 'reka-ui'\nimport { menuItemVariants, type MenuItemVariants } from '@auronui/styles'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n textValue?: string\n isDisabled?: boolean\n variant?: MenuItemVariants['variant']\n shortcut?: string\n description?: string\n class?: string\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n textValue: undefined,\n isDisabled: undefined,\n variant: 'default',\n shortcut: undefined,\n description: undefined,\n class: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n})\n\nconst emit = defineEmits<{\n select: [event: Event]\n}>()\n\nconst slots = menuItemVariants({ variant: props.variant })\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ContextMenuItem', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n</script>\n\n<template>\n <ContextMenuItem\n :text-value=\"props.textValue\"\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"[slots.item(), props.class]\"\n @select=\"emit('select', $event)\"\n >\n <slot name=\"startContent\" />\n\n <div class=\"flex flex-1 flex-col\">\n <span data-slot=\"label\">\n <slot />\n </span>\n <span\n v-if=\"props.description\"\n data-slot=\"description\"\n >\n {{ props.description }}\n </span>\n </div>\n\n <!-- Raw <kbd> (not <Kbd>): a menu shortcut renders as plain muted text; <Kbd> applies a\n boxed keycap style that would break visual parity with HeroUI's menu shortcuts. -->\n <kbd\n v-if=\"props.shortcut\"\n data-slot=\"shortcut\"\n class=\"ml-auto text-xs text-muted font-mono\"\n >\n {{ props.shortcut }}\n </kbd>\n\n <slot name=\"endContent\" />\n </ContextMenuItem>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EAyBd,MAAM,OAAO;EAIb,MAAM,QAAQ,iBAAiB,EAAE,SAAS,MAAM,SAAS,CAAA;EAEzD,MAAM,aAAa,yBACjB,mBAAmB,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SACnF;;uBAIE,YAiCkB,MAAA,gBAAA,EAAA;IAhCf,cAAY,MAAM;IAClB,UAAU,MAAA,WAAU;IACpB,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAK,eAAA,CAAG,MAAA,MAAK,CAAC,MAAI,EAAI,MAAM,MAAK,CAAA;IACjC,UAAM,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAW,OAAM;;2BAEF;KAA5B,WAA4B,KAAA,QAAA,eAAA;KAE5B,mBAUM,OAVN,YAUM,CATJ,mBAEO,QAFP,YAEO,CADL,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA,EAGF,MAAM,eAAA,WAAA,EADd,mBAKO,QALP,YAKO,gBADF,MAAM,YAAW,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA,CAAA,CAAA;KAOhB,MAAM,YAAA,WAAA,EADd,mBAMM,OANN,YAMM,gBADD,MAAM,SAAQ,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;KAGnB,WAA0B,KAAA,QAAA,aAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuRadioItem.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuRadioItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuRadioItem, ContextMenuItemIndicator } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\n\nconst props = withDefaults(defineProps<{\n value: string\n textValue?: string\n isDisabled?: boolean\n variant?: 'default' | 'danger'\n class?: string\n /**
|
|
1
|
+
{"version":3,"file":"ContextMenuRadioItem.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuRadioItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuRadioItem, ContextMenuItemIndicator } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n value: string\n textValue?: string\n isDisabled?: boolean\n variant?: 'default' | 'danger'\n class?: string\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n textValue: undefined,\n isDisabled: undefined,\n variant: 'default',\n class: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n})\n\nconst emit = defineEmits<{\n select: [event: Event]\n}>()\n\nconst slots = menuItemVariants({ variant: props.variant })\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ContextMenuRadioItem', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n</script>\n\n<template>\n <ContextMenuRadioItem\n :value=\"props.value\"\n :text-value=\"props.textValue\"\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"[slots.item(), props.class]\"\n @select=\"emit('select', $event)\"\n >\n <ContextMenuItemIndicator\n :class=\"slots.indicator()\"\n force-mount\n >\n <!-- Radio dot indicator -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"8\"\n height=\"8\"\n viewBox=\"0 0 8 8\"\n aria-hidden=\"true\"\n data-slot=\"menu-item-indicator--dot\"\n >\n <circle\n cx=\"4\"\n cy=\"4\"\n r=\"4\"\n fill=\"currentColor\"\n />\n </svg>\n </ContextMenuItemIndicator>\n\n <slot />\n </ContextMenuRadioItem>\n</template>\n"],"mappings":""}
|
package/dist/components/context-menu/ContextMenuRadioItem.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
|
|
1
2
|
import { createBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, renderSlot, unref, withCtx } from "vue";
|
|
2
3
|
import { menuItemVariants } from "@auronui/styles";
|
|
3
4
|
import { ContextMenuItemIndicator, ContextMenuRadioItem } from "reka-ui";
|
|
@@ -9,7 +10,7 @@ var ContextMenuRadioItem_vue_vue_type_script_setup_true_lang_default = /* @__PUR
|
|
|
9
10
|
textValue: { default: void 0 },
|
|
10
11
|
isDisabled: {
|
|
11
12
|
type: Boolean,
|
|
12
|
-
default:
|
|
13
|
+
default: void 0
|
|
13
14
|
},
|
|
14
15
|
variant: { default: "default" },
|
|
15
16
|
class: { default: void 0 },
|
|
@@ -28,11 +29,12 @@ var ContextMenuRadioItem_vue_vue_type_script_setup_true_lang_default = /* @__PUR
|
|
|
28
29
|
const props = __props;
|
|
29
30
|
const emit = __emit;
|
|
30
31
|
const slots = menuItemVariants({ variant: props.variant });
|
|
32
|
+
const isDisabled = useDeprecatedBooleanProp("ContextMenuRadioItem", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
|
|
31
33
|
return (_ctx, _cache) => {
|
|
32
34
|
return openBlock(), createBlock(unref(ContextMenuRadioItem), {
|
|
33
35
|
value: props.value,
|
|
34
36
|
"text-value": props.textValue,
|
|
35
|
-
disabled:
|
|
37
|
+
disabled: unref(isDisabled),
|
|
36
38
|
as: props.as,
|
|
37
39
|
"as-child": props.asChild,
|
|
38
40
|
class: normalizeClass([unref(slots).item(), props.class]),
|
package/dist/components/context-menu/ContextMenuRadioItem.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuRadioItem.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuRadioItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuRadioItem, ContextMenuItemIndicator } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\n\nconst props = withDefaults(defineProps<{\n value: string\n textValue?: string\n isDisabled?: boolean\n variant?: 'default' | 'danger'\n class?: string\n /**
|
|
1
|
+
{"version":3,"file":"ContextMenuRadioItem.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuRadioItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuRadioItem, ContextMenuItemIndicator } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n value: string\n textValue?: string\n isDisabled?: boolean\n variant?: 'default' | 'danger'\n class?: string\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n textValue: undefined,\n isDisabled: undefined,\n variant: 'default',\n class: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n})\n\nconst emit = defineEmits<{\n select: [event: Event]\n}>()\n\nconst slots = menuItemVariants({ variant: props.variant })\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ContextMenuRadioItem', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n</script>\n\n<template>\n <ContextMenuRadioItem\n :value=\"props.value\"\n :text-value=\"props.textValue\"\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"[slots.item(), props.class]\"\n @select=\"emit('select', $event)\"\n >\n <ContextMenuItemIndicator\n :class=\"slots.indicator()\"\n force-mount\n >\n <!-- Radio dot indicator -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"8\"\n height=\"8\"\n viewBox=\"0 0 8 8\"\n aria-hidden=\"true\"\n data-slot=\"menu-item-indicator--dot\"\n >\n <circle\n cx=\"4\"\n cy=\"4\"\n r=\"4\"\n fill=\"currentColor\"\n />\n </svg>\n </ContextMenuItemIndicator>\n\n <slot />\n </ContextMenuRadioItem>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EAsBd,MAAM,OAAO;EAIb,MAAM,QAAQ,iBAAiB,EAAE,SAAS,MAAM,SAAS,CAAA;EAEzD,MAAM,aAAa,yBACjB,wBAAwB,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SACxF;;uBAIE,YAgCuB,MAAA,qBAAA,EAAA;IA/BpB,OAAO,MAAM;IACb,cAAY,MAAM;IAClB,UAAU,MAAA,WAAU;IACpB,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAK,eAAA,CAAG,MAAA,MAAK,CAAC,MAAI,EAAI,MAAM,MAAK,CAAA;IACjC,UAAM,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAW,OAAM;;2BAsBH,CApB3B,YAoB2B,MAAA,yBAAA,EAAA;KAnBxB,OAAK,eAAE,MAAA,MAAK,CAAC,WAAS,CAAA;KACvB,eAAA;;4BAiBM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAdN,mBAcM,OAAA;MAbJ,OAAM;MACN,OAAM;MACN,QAAO;MACP,SAAQ;MACR,eAAY;MACZ,aAAU;SAEV,mBAKE,UAAA;MAJA,IAAG;MACH,IAAG;MACH,GAAE;MACF,MAAK;;;sBAKX,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuSubTrigger.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuSubTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuSubTrigger } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\n\nconst props = withDefaults(defineProps<{\n isDisabled?: boolean\n textValue?: string\n class?: string\n /**
|
|
1
|
+
{"version":3,"file":"ContextMenuSubTrigger.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuSubTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuSubTrigger } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n isDisabled?: boolean\n textValue?: string\n class?: string\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n isDisabled: undefined,\n textValue: undefined,\n class: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n})\n\nconst slots = menuItemVariants({ variant: 'default' })\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ContextMenuSubTrigger', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n</script>\n\n<template>\n <ContextMenuSubTrigger\n :disabled=\"isDisabled\"\n :text-value=\"props.textValue\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"[slots.item(), props.class]\"\n >\n <slot />\n <span\n :class=\"slots.submenuIndicator()\"\n aria-hidden=\"true\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\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 data-slot=\"submenu-indicator\"\n >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </span>\n </ContextMenuSubTrigger>\n</template>\n"],"mappings":""}
|
package/dist/components/context-menu/ContextMenuSubTrigger.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
|
|
1
2
|
import { createBlock, createElementVNode, defineComponent, normalizeClass, openBlock, renderSlot, unref, withCtx } from "vue";
|
|
2
3
|
import { menuItemVariants } from "@auronui/styles";
|
|
3
4
|
import { ContextMenuSubTrigger } from "reka-ui";
|
|
@@ -7,7 +8,7 @@ var ContextMenuSubTrigger_vue_vue_type_script_setup_true_lang_default = /* @__PU
|
|
|
7
8
|
props: {
|
|
8
9
|
isDisabled: {
|
|
9
10
|
type: Boolean,
|
|
10
|
-
default:
|
|
11
|
+
default: void 0
|
|
11
12
|
},
|
|
12
13
|
textValue: { default: void 0 },
|
|
13
14
|
class: { default: void 0 },
|
|
@@ -24,9 +25,10 @@ var ContextMenuSubTrigger_vue_vue_type_script_setup_true_lang_default = /* @__PU
|
|
|
24
25
|
setup(__props) {
|
|
25
26
|
const props = __props;
|
|
26
27
|
const slots = menuItemVariants({ variant: "default" });
|
|
28
|
+
const isDisabled = useDeprecatedBooleanProp("ContextMenuSubTrigger", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
|
|
27
29
|
return (_ctx, _cache) => {
|
|
28
30
|
return openBlock(), createBlock(unref(ContextMenuSubTrigger), {
|
|
29
|
-
disabled:
|
|
31
|
+
disabled: unref(isDisabled),
|
|
30
32
|
"text-value": props.textValue,
|
|
31
33
|
as: props.as,
|
|
32
34
|
"as-child": props.asChild,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuSubTrigger.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuSubTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuSubTrigger } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\n\nconst props = withDefaults(defineProps<{\n isDisabled?: boolean\n textValue?: string\n class?: string\n /**
|
|
1
|
+
{"version":3,"file":"ContextMenuSubTrigger.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuSubTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuSubTrigger } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n isDisabled?: boolean\n textValue?: string\n class?: string\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n isDisabled: undefined,\n textValue: undefined,\n class: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n})\n\nconst slots = menuItemVariants({ variant: 'default' })\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ContextMenuSubTrigger', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n</script>\n\n<template>\n <ContextMenuSubTrigger\n :disabled=\"isDisabled\"\n :text-value=\"props.textValue\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"[slots.item(), props.class]\"\n >\n <slot />\n <span\n :class=\"slots.submenuIndicator()\"\n aria-hidden=\"true\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\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 data-slot=\"submenu-indicator\"\n >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </span>\n </ContextMenuSubTrigger>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EAmBd,MAAM,QAAQ,iBAAiB,EAAE,SAAS,WAAW,CAAA;EAErD,MAAM,aAAa,yBACjB,yBAAyB,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SACzF;;uBAIE,YA2BwB,MAAA,sBAAA,EAAA;IA1BrB,UAAU,MAAA,WAAU;IACpB,cAAY,MAAM;IAClB,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAK,eAAA,CAAG,MAAA,MAAK,CAAC,MAAI,EAAI,MAAM,MAAK,CAAA;;2BAE1B,CAAR,WAAQ,KAAA,QAAA,UAAA,EACR,mBAkBO,QAAA;KAjBJ,OAAK,eAAE,MAAA,MAAK,CAAC,kBAAgB,CAAA;KAC9B,eAAY;sCAEZ,mBAaM,OAAA;KAZJ,OAAM;KACN,OAAM;KACN,QAAO;KACP,SAAQ;KACR,MAAK;KACL,QAAO;KACP,gBAAa;KACb,kBAAe;KACf,mBAAgB;KAChB,aAAU;QAEV,mBAAoC,YAAA,EAA1B,QAAO,kBAAgB,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuTrigger.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuTrigger } from 'reka-ui'\n\nconst props = withDefaults(defineProps<{\n /** When true, the context menu does not open on right-click — the native browser context menu is restored. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n disabled: undefined,\n as: undefined,\n asChild: true,\n})\n</script>\n\n<template>\n <ContextMenuTrigger\n :disabled=\"
|
|
1
|
+
{"version":3,"file":"ContextMenuTrigger.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuTrigger } from 'reka-ui'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n /** When true, the context menu does not open on right-click — the native browser context menu is restored. */\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n isDisabled: undefined,\n disabled: undefined,\n as: undefined,\n asChild: true,\n})\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ContextMenuTrigger', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n</script>\n\n<template>\n <ContextMenuTrigger\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n >\n <slot />\n </ContextMenuTrigger>\n</template>\n"],"mappings":""}
|
package/dist/components/context-menu/ContextMenuTrigger.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
|
|
1
2
|
import { createBlock, defineComponent, openBlock, renderSlot, unref, withCtx } from "vue";
|
|
2
3
|
import { ContextMenuTrigger } from "reka-ui";
|
|
3
4
|
//#region src/components/context-menu/ContextMenuTrigger.vue?vue&type=script&setup=true&lang.ts
|
|
4
5
|
var ContextMenuTrigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
5
6
|
__name: "ContextMenuTrigger",
|
|
6
7
|
props: {
|
|
8
|
+
isDisabled: {
|
|
9
|
+
type: Boolean,
|
|
10
|
+
default: void 0
|
|
11
|
+
},
|
|
7
12
|
disabled: {
|
|
8
13
|
type: Boolean,
|
|
9
14
|
default: void 0
|
|
@@ -16,9 +21,10 @@ var ContextMenuTrigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
|
|
|
16
21
|
},
|
|
17
22
|
setup(__props) {
|
|
18
23
|
const props = __props;
|
|
24
|
+
const isDisabled = useDeprecatedBooleanProp("ContextMenuTrigger", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
|
|
19
25
|
return (_ctx, _cache) => {
|
|
20
26
|
return openBlock(), createBlock(unref(ContextMenuTrigger), {
|
|
21
|
-
disabled:
|
|
27
|
+
disabled: unref(isDisabled),
|
|
22
28
|
as: props.as,
|
|
23
29
|
"as-child": props.asChild
|
|
24
30
|
}, {
|
package/dist/components/context-menu/ContextMenuTrigger.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuTrigger.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuTrigger } from 'reka-ui'\n\nconst props = withDefaults(defineProps<{\n /** When true, the context menu does not open on right-click — the native browser context menu is restored. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n disabled: undefined,\n as: undefined,\n asChild: true,\n})\n</script>\n\n<template>\n <ContextMenuTrigger\n :disabled=\"
|
|
1
|
+
{"version":3,"file":"ContextMenuTrigger.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/context-menu/ContextMenuTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ContextMenuTrigger } from 'reka-ui'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n /** When true, the context menu does not open on right-click — the native browser context menu is restored. */\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n isDisabled: undefined,\n disabled: undefined,\n as: undefined,\n asChild: true,\n})\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ContextMenuTrigger', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n</script>\n\n<template>\n <ContextMenuTrigger\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n >\n <slot />\n </ContextMenuTrigger>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAIA,MAAM,QAAQ;EAgBd,MAAM,aAAa,yBACjB,sBAAsB,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SACtF;;uBAIE,YAMqB,MAAA,mBAAA,EAAA;IALlB,UAAU,MAAA,WAAU;IACpB,IAAI,MAAM;IACV,YAAU,MAAM;;2BAET,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.js","names":[],"sources":["../../../src/components/date-input/DateInput.vue"],"sourcesContent":["<!--\n DateInput — form-field mirror of Input.vue for @internationalized/date.\n\n Anatomy, data-attributes, floating-label behavior, start/end content\n slots, and a11y wiring all mirror Input.vue. See the Input.vue docblock\n for the canonical contract.\n-->\n<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, useAttrs, useId, watch } from 'vue'\nimport { DateFieldRoot, DateFieldInput } from 'reka-ui'\nimport type { DateValue } from '@internationalized/date'\n\nimport { dateInputVariants, type DateInputVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<Props>(), {\n variant: 'flat',\n size: 'md',\n color: 'default',\n labelPlacement: 'inside',\n fullWidth: false,\n isInvalid: false,\n isDisabled: false,\n isReadOnly: false,\n isRequired: false,\n hideTimeZone: false,\n})\n\nconst modelValue = defineModel<DateValue | null | undefined>()\n\n// Reka treats `undefined` as \"uncontrolled mode\". Passing undefined back causes\n// DateFieldRoot to drop its controlled state mid-type, breaking updates from a\n// ref that starts with a value. Always pass null (= controlled + empty) instead.\nconst rekaValue = computed<DateValue | null>({\n get: () => modelValue.value ?? null,\n set: (val: DateValue | null) => { modelValue.value = val ?? null },\n})\n\ntype Props = {\n /** Visual style of the field. @default 'flat' */\n variant?: DateInputVariants['variant']\n /** Field height. @default 'md' */\n size?: DateInputVariants['size']\n /** Accent color applied to focus ring + floating label. @default 'default' */\n color?: DateInputVariants['color']\n /** Label placement relative to the field. @default 'inside' */\n labelPlacement?: DateInputVariants['labelPlacement']\n /** Stretches root wrapper to 100% width. @default false */\n fullWidth?: boolean\n /** Marks the field as invalid. @default false */\n isInvalid?: boolean\n /** Disables the field. @default false */\n isDisabled?: boolean\n /** Makes the field read-only. @default false */\n isReadOnly?: boolean\n /** Adds a required asterisk next to the label. @default false */\n isRequired?: boolean\n /** Field label. When omitted, floating-label behavior is skipped. */\n label?: string\n /** Helper text below the field. Suppressed when isInvalid && errorMessage is shown. */\n description?: string\n /** Error text below the field. Only rendered when isInvalid is true. */\n errorMessage?: string\n /** Extra classes merged onto the root wrapper. */\n class?: ClassValue\n /** Per-slot class overrides. */\n classNames?: Partial<{\n base: ClassValue\n label: ClassValue\n mainWrapper: ClassValue\n inputWrapper: ClassValue\n startContent: ClassValue\n segmentList: ClassValue\n segment: ClassValue\n endContent: ClassValue\n helperWrapper: ClassValue\n errorMessage: ClassValue\n description: ClassValue\n }>\n\n /* ─── DateInput-specific ──────────────────────────────────────── */\n defaultValue?: DateValue\n defaultPlaceholder?: DateValue\n placeholderValue?: DateValue\n minValue?: DateValue\n maxValue?: DateValue\n granularity?: 'day' | 'hour' | 'minute' | 'second'\n hourCycle?: 12 | 24\n /** Steps for segment keyboard navigation. */\n step?: Partial<Record<'hour' | 'minute' | 'second' | 'millisecond', number>>\n locale?: string\n name?: string\n hideTimeZone?: boolean\n isDateUnavailable?: (date: DateValue) => boolean\n /** Marks the field as required for form submission. */\n required?: boolean\n /** Text direction for the field. */\n dir?: 'ltr' | 'rtl'\n /** Render as a different element or component. */\n as?: string\n /** Render child as root element. */\n asChild?: boolean\n}\n\nconst attrs = useAttrs()\nconst generatedId = useId()\nconst fieldId = computed(() => (attrs.id as string | undefined) ?? `${generatedId}-field`)\nconst labelId = computed(() => `${generatedId}-label`)\nconst descriptionId = computed(() => `${generatedId}-description`)\nconst errorMessageId = computed(() => `${generatedId}-error`)\n\nconst hasLabel = computed(() => !!props.label)\nconst isFilled = computed(() => modelValue.value != null)\n\nconst showError = computed(() => props.isInvalid && !!props.errorMessage)\nconst showDescription = computed(() => !!props.description && !showError.value)\nconst hasHelper = computed(() => showError.value || showDescription.value)\nconst ariaDescribedBy = computed(() => {\n if (showError.value) return errorMessageId.value\n if (showDescription.value) return descriptionId.value\n return undefined\n})\n\nconst fieldRef = ref<HTMLElement | null>(null)\n// Reka components expose their root DOM node via $el — unwrap before using DOM APIs.\nconst fieldEl = computed<HTMLElement | null>(() => {\n const r = fieldRef.value as unknown as { $el?: HTMLElement } | HTMLElement | null\n if (!r) return null\n if (r instanceof HTMLElement) return r\n return r.$el ?? null\n})\n\n// `isFocused` tracks focus on a DATE SEGMENT specifically — not any descendant.\n// This prevents nested interactive children (e.g. a DatePickerTrigger button in\n// endContent) from flipping the field into the focused visual state.\nconst isFocused = ref(false)\nfunction updateSegmentFocus() {\n const root = fieldEl.value\n if (!root) { isFocused.value = false; return }\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n isFocused.value = !!active\n && root.contains(active)\n && active.hasAttribute('data-reka-date-field-segment')\n}\nfunction onDocFocusIn() { updateSegmentFocus() }\nfunction onDocFocusOut() { queueMicrotask(updateSegmentFocus) }\n\n// Guard against a focus snap-back after an outside click. When the user\n// clicks outside the field, we mark a short-lived \"suppress segment focus\"\n// window. Any focusin landing on a segment inside that window gets blurred\n// immediately — kills the two-click-to-blur UX regardless of which internal\n// mechanism (Reka VisuallyHidden, label-for, contenteditable selection\n// restoration) tried to restore the focus.\nlet suppressSegmentFocusUntil = 0\nfunction onDocPointerDown(e: PointerEvent) {\n const root = fieldEl.value\n if (!root) return\n const target = e.target as Node | null\n if (!target || root.contains(target)) return\n suppressSegmentFocusUntil = performance.now() + 250\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n if (active && root.contains(active) && active.hasAttribute('data-reka-date-field-segment')) {\n active.blur()\n }\n}\nfunction onDocFocusInGuard(e: FocusEvent) {\n if (performance.now() >= suppressSegmentFocusUntil) return\n const root = fieldEl.value\n if (!root) return\n const t = e.target as HTMLElement | null\n if (t && root.contains(t) && t.hasAttribute?.('data-reka-date-field-segment')) {\n t.blur()\n }\n}\n\nonMounted(() => {\n document.addEventListener('focusin', onDocFocusIn)\n document.addEventListener('focusout', onDocFocusOut)\n document.addEventListener('pointerdown', onDocPointerDown, true)\n document.addEventListener('focusin', onDocFocusInGuard, true)\n})\nonBeforeUnmount(() => {\n document.removeEventListener('focusin', onDocFocusIn)\n document.removeEventListener('focusout', onDocFocusOut)\n document.removeEventListener('pointerdown', onDocPointerDown, true)\n document.removeEventListener('focusin', onDocFocusInGuard, true)\n})\n\n// Track data-filled synchronously from the rendered segments — defaultValue +\n// isFilled from modelValue misses the uncontrolled case and the partially-typed\n// case. After each value/segment render, sniff any non-literal segment that\n// carries data-placeholder=\"false\".\nconst segmentsFilled = ref(false)\nfunction recomputeFilled() {\n const root = fieldEl.value\n if (!root || typeof root.querySelectorAll !== 'function') {\n segmentsFilled.value = false\n return\n }\n const segs = root.querySelectorAll('[data-reka-date-field-segment]:not([data-reka-date-field-segment=\"literal\"])')\n let anyFilled = false\n segs.forEach((el) => {\n if ((el as HTMLElement).dataset.placeholder === 'false') anyFilled = true\n })\n segmentsFilled.value = anyFilled\n}\nwatch([modelValue, () => props.defaultValue, () => props.granularity], () => {\n queueMicrotask(recomputeFilled)\n}, { immediate: true })\n\nconst effectiveFilled = computed(() => isFilled.value || segmentsFilled.value)\n\n// Only intervene on the INITIAL click that enters the field. Once a segment\n// already holds focus, leave subsequent mousedowns alone so the user can\n// blur naturally (clicking elsewhere) without focus snapping back to a\n// segment and requiring a second click.\nfunction handleFieldMousedown(e: MouseEvent) {\n const target = e.target as HTMLElement | null\n if (!target) return\n if (target.closest('[data-reka-date-field-segment]')) return\n if (target.closest('[data-slot=\"start-content\"]')) return\n if (target.closest('[data-slot=\"end-content\"]')) return\n if (target.closest('button, [role=\"button\"]')) return\n const root = fieldEl.value\n if (!root) return\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n if (active && root.contains(active) && active.hasAttribute('data-reka-date-field-segment')) {\n return\n }\n const first = root.querySelector<HTMLElement>(\n '[data-reka-date-field-segment]:not([data-reka-date-field-segment=\"literal\"])',\n )\n if (first) {\n e.preventDefault()\n first.focus()\n }\n}\n\nconst slotFns = computed(() =>\n dateInputVariants({\n variant: props.variant,\n size: props.size,\n color: props.color,\n fullWidth: props.fullWidth,\n isInvalid: props.isInvalid,\n isDisabled: props.isDisabled,\n isReadonly: props.isReadOnly,\n hasLabel: hasLabel.value,\n labelPlacement: props.labelPlacement,\n }),\n)\n\nconst showOutsideLabel = computed(\n () => hasLabel.value && props.labelPlacement !== 'inside',\n)\nconst showInsideLabel = computed(\n () => hasLabel.value && props.labelPlacement === 'inside',\n)\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :data-invalid=\"isInvalid || undefined\"\n :data-disabled=\"isDisabled || undefined\"\n :data-readonly=\"isReadOnly || undefined\"\n :data-required=\"isRequired || undefined\"\n :data-has-label=\"hasLabel || undefined\"\n :data-has-helper=\"hasHelper || undefined\"\n >\n <label\n v-if=\"showOutsideLabel\"\n :id=\"labelId\"\n :for=\"fieldId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n\n <div :class=\"composeClassName(slotFns.mainWrapper(), props.classNames?.mainWrapper)\">\n <DateFieldRoot\n :id=\"fieldId\"\n ref=\"fieldRef\"\n v-model=\"rekaValue\"\n :default-value=\"defaultValue\"\n :default-placeholder=\"defaultPlaceholder\"\n :placeholder=\"placeholderValue\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :granularity=\"granularity\"\n :hour-cycle=\"hourCycle\"\n :step=\"step\"\n :locale=\"locale\"\n :disabled=\"isDisabled\"\n :readonly=\"isReadOnly\"\n :name=\"name\"\n :hide-time-zone=\"hideTimeZone\"\n :is-date-unavailable=\"isDateUnavailable\"\n :required=\"required\"\n :dir=\"dir\"\n :as=\"as\"\n :as-child=\"asChild\"\n :aria-labelledby=\"hasLabel ? labelId : undefined\"\n :aria-describedby=\"ariaDescribedBy\"\n :aria-required=\"isRequired || undefined\"\n :aria-invalid=\"isInvalid || undefined\"\n :class=\"composeClassName(slotFns.inputWrapper(), props.classNames?.inputWrapper)\"\n :data-filled=\"hasLabel ? (effectiveFilled || undefined) : undefined\"\n :data-focused=\"isFocused || undefined\"\n :data-invalid=\"isInvalid || undefined\"\n :data-disabled=\"isDisabled || undefined\"\n :data-readonly=\"isReadOnly || undefined\"\n @mousedown=\"handleFieldMousedown\"\n >\n <template #default=\"{ segments }\">\n <label\n v-if=\"showInsideLabel\"\n :id=\"labelId\"\n :for=\"fieldId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n data-slot=\"start-content\"\n >\n <slot name=\"startContent\" />\n </span>\n\n <div\n :class=\"composeClassName(slotFns.segmentList(), props.classNames?.segmentList)\"\n data-slot=\"segment-list\"\n >\n <template\n v-for=\"(segment, _i) in segments\"\n :key=\"_i\"\n >\n <DateFieldInput\n :part=\"segment.part\"\n :class=\"composeClassName(slotFns.segment(), props.classNames?.segment)\"\n >\n {{ segment.value }}\n </DateFieldInput>\n </template>\n </div>\n\n <span\n v-if=\"$slots.endContent\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n data-slot=\"end-content\"\n >\n <slot name=\"endContent\" />\n </span>\n </template>\n </DateFieldRoot>\n\n <div\n v-if=\"hasHelper\"\n :class=\"composeClassName(slotFns.helperWrapper(), props.classNames?.helperWrapper)\"\n >\n <div\n v-if=\"showError\"\n :id=\"errorMessageId\"\n :class=\"composeClassName(slotFns.errorMessage(), props.classNames?.errorMessage)\"\n role=\"alert\"\n >\n {{ errorMessage }}\n </div>\n <div\n v-else-if=\"showDescription\"\n :id=\"descriptionId\"\n :class=\"composeClassName(slotFns.description(), props.classNames?.description)\"\n >\n {{ description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"DateInput.js","names":[],"sources":["../../../src/components/date-input/DateInput.vue"],"sourcesContent":["<!--\n DateInput — form-field mirror of Input.vue for @internationalized/date.\n\n Anatomy, data-attributes, floating-label behavior, start/end content\n slots, and a11y wiring all mirror Input.vue. See the Input.vue docblock\n for the canonical contract.\n-->\n<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, useAttrs, useId, watch } from 'vue'\nimport { DateFieldRoot, DateFieldInput } from 'reka-ui'\nimport type { DateValue } from '@internationalized/date'\n\nimport { dateInputVariants, type DateInputVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useFormField } from '../../composables/useFormField'\nimport FieldLabel from '../_shared/FieldLabel.vue'\nimport FormFieldHelper from '../_shared/FormFieldHelper.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 hideTimeZone: false,\n})\n\nconst modelValue = defineModel<DateValue | null | undefined>()\n\n// Reka treats `undefined` as \"uncontrolled mode\". Passing undefined back causes\n// DateFieldRoot to drop its controlled state mid-type, breaking updates from a\n// ref that starts with a value. Always pass null (= controlled + empty) instead.\nconst rekaValue = computed<DateValue | null>({\n get: () => modelValue.value ?? null,\n set: (val: DateValue | null) => { modelValue.value = val ?? null },\n})\n\ntype Props = {\n /** Visual style of the field. @default 'flat' */\n variant?: DateInputVariants['variant']\n /** Field height. @default 'md' */\n size?: DateInputVariants['size']\n /** Accent color applied to focus ring + floating label. @default 'default' */\n color?: DateInputVariants['color']\n /** Label placement relative to the field. @default 'inside' */\n labelPlacement?: DateInputVariants['labelPlacement']\n /** Stretches root wrapper to 100% width. @default false */\n fullWidth?: boolean\n /** Marks the field as invalid. @default false */\n isInvalid?: boolean\n /** Disables the field. @default false */\n isDisabled?: boolean\n /** Makes the field read-only. @default false */\n isReadOnly?: boolean\n /** Adds a required asterisk next to the label. @default false */\n isRequired?: boolean\n /** Field label. When omitted, floating-label behavior is skipped. */\n label?: string\n /** Helper text below the field. Suppressed when isInvalid && errorMessage is shown. */\n description?: string\n /** Error text below the field. Only rendered when isInvalid is true. */\n errorMessage?: string\n /** Extra classes merged onto the root wrapper. */\n class?: ClassValue\n /** Per-slot class overrides. */\n classNames?: Partial<{\n base: ClassValue\n label: ClassValue\n mainWrapper: ClassValue\n inputWrapper: ClassValue\n startContent: ClassValue\n segmentList: ClassValue\n segment: ClassValue\n endContent: ClassValue\n helperWrapper: ClassValue\n errorMessage: ClassValue\n description: ClassValue\n }>\n\n /* ─── DateInput-specific ──────────────────────────────────────── */\n defaultValue?: DateValue\n defaultPlaceholder?: DateValue\n placeholderValue?: DateValue\n minValue?: DateValue\n maxValue?: DateValue\n granularity?: 'day' | 'hour' | 'minute' | 'second'\n hourCycle?: 12 | 24\n /** Steps for segment keyboard navigation. */\n step?: Partial<Record<'hour' | 'minute' | 'second' | 'millisecond', number>>\n locale?: string\n name?: string\n hideTimeZone?: boolean\n isDateUnavailable?: (date: DateValue) => boolean\n /** Marks the field as required for form submission. */\n required?: boolean\n /** Text direction for the field. */\n dir?: 'ltr' | 'rtl'\n /** Render as a different element or component. */\n as?: string\n /** Render child as root element. */\n asChild?: boolean\n}\n\nconst attrs = useAttrs()\nconst generatedId = useId()\nconst fieldId = computed(() => (attrs.id as string | undefined) ?? `${generatedId}-field`)\nconst labelId = computed(() => `${generatedId}-label`)\n\nconst isFilled = computed(() => modelValue.value != null)\n\nconst {\n descriptionId,\n errorMessageId,\n showError,\n showDescription,\n hasHelper,\n ariaDescribedBy,\n hasLabel,\n showOutsideLabel,\n showInsideLabel,\n rootDataAttrs,\n} = useFormField({\n fieldId: () => fieldId.value,\n label: () => props.label,\n description: () => props.description,\n errorMessage: () => props.errorMessage,\n isInvalid: () => props.isInvalid,\n isDisabled: () => props.isDisabled,\n isReadOnly: () => props.isReadOnly,\n isRequired: () => props.isRequired,\n labelPlacement: () => props.labelPlacement,\n})\n\nconst fieldRef = ref<HTMLElement | null>(null)\n// Reka components expose their root DOM node via $el — unwrap before using DOM APIs.\nconst fieldEl = computed<HTMLElement | null>(() => {\n const r = fieldRef.value as unknown as { $el?: HTMLElement } | HTMLElement | null\n if (!r) return null\n if (r instanceof HTMLElement) return r\n return r.$el ?? null\n})\n\n// `isFocused` tracks focus on a DATE SEGMENT specifically — not any descendant.\n// This prevents nested interactive children (e.g. a DatePickerTrigger button in\n// endContent) from flipping the field into the focused visual state.\nconst isFocused = ref(false)\nfunction updateSegmentFocus() {\n const root = fieldEl.value\n if (!root) { isFocused.value = false; return }\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n isFocused.value = !!active\n && root.contains(active)\n && active.hasAttribute('data-reka-date-field-segment')\n}\nfunction onDocFocusIn() { updateSegmentFocus() }\nfunction onDocFocusOut() { queueMicrotask(updateSegmentFocus) }\n\n// Guard against a focus snap-back after an outside click. When the user\n// clicks outside the field, we mark a short-lived \"suppress segment focus\"\n// window. Any focusin landing on a segment inside that window gets blurred\n// immediately — kills the two-click-to-blur UX regardless of which internal\n// mechanism (Reka VisuallyHidden, label-for, contenteditable selection\n// restoration) tried to restore the focus.\nlet suppressSegmentFocusUntil = 0\nfunction onDocPointerDown(e: PointerEvent) {\n const root = fieldEl.value\n if (!root) return\n const target = e.target as Node | null\n if (!target || root.contains(target)) return\n suppressSegmentFocusUntil = performance.now() + 250\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n if (active && root.contains(active) && active.hasAttribute('data-reka-date-field-segment')) {\n active.blur()\n }\n}\nfunction onDocFocusInGuard(e: FocusEvent) {\n if (performance.now() >= suppressSegmentFocusUntil) return\n const root = fieldEl.value\n if (!root) return\n const t = e.target as HTMLElement | null\n if (t && root.contains(t) && t.hasAttribute?.('data-reka-date-field-segment')) {\n t.blur()\n }\n}\n\nonMounted(() => {\n document.addEventListener('focusin', onDocFocusIn)\n document.addEventListener('focusout', onDocFocusOut)\n document.addEventListener('pointerdown', onDocPointerDown, true)\n document.addEventListener('focusin', onDocFocusInGuard, true)\n})\nonBeforeUnmount(() => {\n document.removeEventListener('focusin', onDocFocusIn)\n document.removeEventListener('focusout', onDocFocusOut)\n document.removeEventListener('pointerdown', onDocPointerDown, true)\n document.removeEventListener('focusin', onDocFocusInGuard, true)\n})\n\n// Track data-filled synchronously from the rendered segments — defaultValue +\n// isFilled from modelValue misses the uncontrolled case and the partially-typed\n// case. After each value/segment render, sniff any non-literal segment that\n// carries data-placeholder=\"false\".\nconst segmentsFilled = ref(false)\nfunction recomputeFilled() {\n const root = fieldEl.value\n if (!root || typeof root.querySelectorAll !== 'function') {\n segmentsFilled.value = false\n return\n }\n const segs = root.querySelectorAll('[data-reka-date-field-segment]:not([data-reka-date-field-segment=\"literal\"])')\n let anyFilled = false\n segs.forEach((el) => {\n if ((el as HTMLElement).dataset.placeholder === 'false') anyFilled = true\n })\n segmentsFilled.value = anyFilled\n}\nwatch([modelValue, () => props.defaultValue, () => props.granularity], () => {\n queueMicrotask(recomputeFilled)\n}, { immediate: true })\n\nconst effectiveFilled = computed(() => isFilled.value || segmentsFilled.value)\n\n// Only intervene on the INITIAL click that enters the field. Once a segment\n// already holds focus, leave subsequent mousedowns alone so the user can\n// blur naturally (clicking elsewhere) without focus snapping back to a\n// segment and requiring a second click.\nfunction handleFieldMousedown(e: MouseEvent) {\n const target = e.target as HTMLElement | null\n if (!target) return\n if (target.closest('[data-reka-date-field-segment]')) return\n if (target.closest('[data-slot=\"start-content\"]')) return\n if (target.closest('[data-slot=\"end-content\"]')) return\n if (target.closest('button, [role=\"button\"]')) return\n const root = fieldEl.value\n if (!root) return\n const active = (root.ownerDocument ?? document).activeElement as HTMLElement | null\n if (active && root.contains(active) && active.hasAttribute('data-reka-date-field-segment')) {\n return\n }\n const first = root.querySelector<HTMLElement>(\n '[data-reka-date-field-segment]:not([data-reka-date-field-segment=\"literal\"])',\n )\n if (first) {\n e.preventDefault()\n first.focus()\n }\n}\n\nconst slotFns = computed(() =>\n dateInputVariants({\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</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n v-bind=\"rootDataAttrs\"\n >\n <FieldLabel\n v-if=\"showOutsideLabel\"\n :id=\"labelId\"\n :for=\"fieldId\"\n :label=\"label\"\n :is-required=\"isRequired\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n />\n\n <div :class=\"composeClassName(slotFns.mainWrapper(), props.classNames?.mainWrapper)\">\n <DateFieldRoot\n :id=\"fieldId\"\n ref=\"fieldRef\"\n v-model=\"rekaValue\"\n :default-value=\"defaultValue\"\n :default-placeholder=\"defaultPlaceholder\"\n :placeholder=\"placeholderValue\"\n :min-value=\"minValue\"\n :max-value=\"maxValue\"\n :granularity=\"granularity\"\n :hour-cycle=\"hourCycle\"\n :step=\"step\"\n :locale=\"locale\"\n :disabled=\"isDisabled\"\n :readonly=\"isReadOnly\"\n :name=\"name\"\n :hide-time-zone=\"hideTimeZone\"\n :is-date-unavailable=\"isDateUnavailable\"\n :required=\"required\"\n :dir=\"dir\"\n :as=\"as\"\n :as-child=\"asChild\"\n :aria-labelledby=\"hasLabel ? labelId : undefined\"\n :aria-describedby=\"ariaDescribedBy\"\n :aria-required=\"isRequired || undefined\"\n :aria-invalid=\"isInvalid || undefined\"\n :class=\"composeClassName(slotFns.inputWrapper(), props.classNames?.inputWrapper)\"\n :data-filled=\"hasLabel ? (effectiveFilled || undefined) : undefined\"\n :data-focused=\"isFocused || undefined\"\n :data-invalid=\"isInvalid || undefined\"\n :data-disabled=\"isDisabled || undefined\"\n :data-readonly=\"isReadOnly || undefined\"\n @mousedown=\"handleFieldMousedown\"\n >\n <template #default=\"{ segments }\">\n <FieldLabel\n v-if=\"showInsideLabel\"\n :id=\"labelId\"\n :for=\"fieldId\"\n :label=\"label\"\n :is-required=\"isRequired\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n />\n\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n data-slot=\"start-content\"\n >\n <slot name=\"startContent\" />\n </span>\n\n <div\n :class=\"composeClassName(slotFns.segmentList(), props.classNames?.segmentList)\"\n data-slot=\"segment-list\"\n >\n <template\n v-for=\"(segment, _i) in segments\"\n :key=\"_i\"\n >\n <DateFieldInput\n :part=\"segment.part\"\n :class=\"composeClassName(slotFns.segment(), props.classNames?.segment)\"\n >\n {{ segment.value }}\n </DateFieldInput>\n </template>\n </div>\n\n <span\n v-if=\"$slots.endContent\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n data-slot=\"end-content\"\n >\n <slot name=\"endContent\" />\n </span>\n </template>\n </DateFieldRoot>\n\n <FormFieldHelper\n :has-helper=\"hasHelper\"\n :show-error=\"showError\"\n :show-description=\"showDescription\"\n :error-message=\"errorMessage\"\n :description=\"description\"\n :error-message-id=\"errorMessageId\"\n :description-id=\"descriptionId\"\n error-role=\"alert\"\n :wrapper-class=\"composeClassName(slotFns.helperWrapper(), props.classNames?.helperWrapper)\"\n :error-class=\"composeClassName(slotFns.errorMessage(), props.classNames?.errorMessage)\"\n :description-class=\"composeClassName(slotFns.description(), props.classNames?.description)\"\n />\n </div>\n </div>\n</template>\n"],"mappings":""}
|