@auronui/vue 1.2.2 → 1.4.0
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 +165 -1
- package/dist/cjs/index.cjs +18335 -13786
- 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 +60 -53
- 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/ContextMenu.js +7 -0
- package/dist/components/context-menu/ContextMenu.js.map +1 -0
- package/dist/components/context-menu/ContextMenu.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/context-menu/ContextMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/context-menu/ContextMenuCheckboxItem.js +7 -0
- package/dist/components/context-menu/ContextMenuCheckboxItem.js.map +1 -0
- package/dist/components/context-menu/ContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang.js +91 -0
- package/dist/components/context-menu/ContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/context-menu/ContextMenuContent.js +7 -0
- package/dist/components/context-menu/ContextMenuContent.js.map +1 -0
- package/dist/components/context-menu/ContextMenuContent.vue_vue_type_script_setup_true_lang.js +135 -0
- package/dist/components/context-menu/ContextMenuContent.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/context-menu/ContextMenuItem.js +7 -0
- package/dist/components/context-menu/ContextMenuItem.js.map +1 -0
- package/dist/components/context-menu/ContextMenuItem.vue_vue_type_script_setup_true_lang.js +74 -0
- package/dist/components/context-menu/ContextMenuItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/context-menu/ContextMenuRadioGroup.js +7 -0
- package/dist/components/context-menu/ContextMenuRadioGroup.js.map +1 -0
- package/dist/components/context-menu/ContextMenuRadioGroup.vue_vue_type_script_setup_true_lang.js +40 -0
- package/dist/components/context-menu/ContextMenuRadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/context-menu/ContextMenuRadioItem.js +7 -0
- package/dist/components/context-menu/ContextMenuRadioItem.js.map +1 -0
- package/dist/components/context-menu/ContextMenuRadioItem.vue_vue_type_script_setup_true_lang.js +77 -0
- package/dist/components/context-menu/ContextMenuRadioItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/context-menu/ContextMenuSection.js +7 -0
- package/dist/components/context-menu/ContextMenuSection.js.map +1 -0
- package/dist/components/context-menu/ContextMenuSection.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/components/context-menu/ContextMenuSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/context-menu/ContextMenuSub.js +7 -0
- package/dist/components/context-menu/ContextMenuSub.js.map +1 -0
- package/dist/components/context-menu/ContextMenuSub.vue_vue_type_script_setup_true_lang.js +35 -0
- package/dist/components/context-menu/ContextMenuSub.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/context-menu/ContextMenuSubContent.js +7 -0
- package/dist/components/context-menu/ContextMenuSubContent.js.map +1 -0
- package/dist/components/context-menu/ContextMenuSubContent.vue_vue_type_script_setup_true_lang.js +155 -0
- package/dist/components/context-menu/ContextMenuSubContent.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/context-menu/ContextMenuSubTrigger.js +7 -0
- package/dist/components/context-menu/ContextMenuSubTrigger.js.map +1 -0
- package/dist/components/context-menu/ContextMenuSubTrigger.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/components/context-menu/ContextMenuSubTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/context-menu/ContextMenuTrigger.js +7 -0
- package/dist/components/context-menu/ContextMenuTrigger.js.map +1 -0
- package/dist/components/context-menu/ContextMenuTrigger.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/components/context-menu/ContextMenuTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
- 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 +7 -0
- package/dist/components/editable/Editable.js.map +1 -0
- package/dist/components/editable/Editable.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/components/editable/Editable.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/editable/EditableArea.js +7 -0
- package/dist/components/editable/EditableArea.js.map +1 -0
- package/dist/components/editable/EditableArea.vue_vue_type_script_setup_true_lang.js +41 -0
- package/dist/components/editable/EditableArea.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/editable/EditableCancelTrigger.js +7 -0
- package/dist/components/editable/EditableCancelTrigger.js.map +1 -0
- package/dist/components/editable/EditableCancelTrigger.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/components/editable/EditableCancelTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/editable/EditableEditTrigger.js +7 -0
- package/dist/components/editable/EditableEditTrigger.js.map +1 -0
- package/dist/components/editable/EditableEditTrigger.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/components/editable/EditableEditTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/editable/EditableInput.js +7 -0
- package/dist/components/editable/EditableInput.js.map +1 -0
- package/dist/components/editable/EditableInput.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/editable/EditableInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/editable/EditablePreview.js +7 -0
- package/dist/components/editable/EditablePreview.js.map +1 -0
- package/dist/components/editable/EditablePreview.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/editable/EditablePreview.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/editable/EditableSubmitTrigger.js +7 -0
- package/dist/components/editable/EditableSubmitTrigger.js.map +1 -0
- package/dist/components/editable/EditableSubmitTrigger.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/components/editable/EditableSubmitTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
- 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/form/Form.js.map +1 -1
- package/dist/components/form/Form.vue_vue_type_script_setup_true_lang.js +32 -156
- package/dist/components/form/Form.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/form/FormField.js.map +1 -1
- package/dist/components/form/FormField.vue_vue_type_script_setup_true_lang.js +44 -23
- package/dist/components/form/FormField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/form/form.context.js.map +1 -1
- package/dist/components/form/form.state.js +166 -0
- package/dist/components/form/form.state.js.map +1 -0
- package/dist/components/form/useField.js +112 -0
- package/dist/components/form/useField.js.map +1 -0
- package/dist/components/form/useForm.js +17 -0
- package/dist/components/form/useForm.js.map +1 -0
- package/dist/components/hover-card/HoverCard.js +7 -0
- package/dist/components/hover-card/HoverCard.js.map +1 -0
- package/dist/components/hover-card/HoverCard.vue_vue_type_script_lang.js +52 -0
- package/dist/components/hover-card/HoverCard.vue_vue_type_script_lang.js.map +1 -0
- package/dist/components/hover-card/HoverCardArrow.js +7 -0
- package/dist/components/hover-card/HoverCardArrow.js.map +1 -0
- package/dist/components/hover-card/HoverCardArrow.vue_vue_type_script_setup_true_lang.js +35 -0
- package/dist/components/hover-card/HoverCardArrow.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/hover-card/HoverCardContent.js +7 -0
- package/dist/components/hover-card/HoverCardContent.js.map +1 -0
- package/dist/components/hover-card/HoverCardContent.vue_vue_type_script_setup_true_lang.js +104 -0
- package/dist/components/hover-card/HoverCardContent.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/hover-card/HoverCardTrigger.js +7 -0
- package/dist/components/hover-card/HoverCardTrigger.js.map +1 -0
- package/dist/components/hover-card/HoverCardTrigger.vue_vue_type_script_setup_true_lang.js +26 -0
- package/dist/components/hover-card/HoverCardTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
- 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/Menubar.js +7 -0
- package/dist/components/menubar/Menubar.js.map +1 -0
- package/dist/components/menubar/Menubar.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/components/menubar/Menubar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/menubar/MenubarCheckboxItem.js +7 -0
- package/dist/components/menubar/MenubarCheckboxItem.js.map +1 -0
- package/dist/components/menubar/MenubarCheckboxItem.vue_vue_type_script_setup_true_lang.js +91 -0
- package/dist/components/menubar/MenubarCheckboxItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/menubar/MenubarContent.js +7 -0
- package/dist/components/menubar/MenubarContent.js.map +1 -0
- package/dist/components/menubar/MenubarContent.vue_vue_type_script_setup_true_lang.js +162 -0
- package/dist/components/menubar/MenubarContent.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/menubar/MenubarItem.js +7 -0
- package/dist/components/menubar/MenubarItem.js.map +1 -0
- package/dist/components/menubar/MenubarItem.vue_vue_type_script_setup_true_lang.js +74 -0
- package/dist/components/menubar/MenubarItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/menubar/MenubarMenu.js +7 -0
- package/dist/components/menubar/MenubarMenu.js.map +1 -0
- package/dist/components/menubar/MenubarMenu.vue_vue_type_script_setup_true_lang.js +20 -0
- package/dist/components/menubar/MenubarMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/menubar/MenubarRadioGroup.js +7 -0
- package/dist/components/menubar/MenubarRadioGroup.js.map +1 -0
- package/dist/components/menubar/MenubarRadioGroup.vue_vue_type_script_setup_true_lang.js +40 -0
- package/dist/components/menubar/MenubarRadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/menubar/MenubarRadioItem.js +7 -0
- package/dist/components/menubar/MenubarRadioItem.js.map +1 -0
- package/dist/components/menubar/MenubarRadioItem.vue_vue_type_script_setup_true_lang.js +77 -0
- package/dist/components/menubar/MenubarRadioItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/menubar/MenubarSection.js +7 -0
- package/dist/components/menubar/MenubarSection.js.map +1 -0
- package/dist/components/menubar/MenubarSection.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/components/menubar/MenubarSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/menubar/MenubarSub.js +7 -0
- package/dist/components/menubar/MenubarSub.js.map +1 -0
- package/dist/components/menubar/MenubarSub.vue_vue_type_script_setup_true_lang.js +35 -0
- package/dist/components/menubar/MenubarSub.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/menubar/MenubarSubContent.js +7 -0
- package/dist/components/menubar/MenubarSubContent.js.map +1 -0
- package/dist/components/menubar/MenubarSubContent.vue_vue_type_script_setup_true_lang.js +155 -0
- package/dist/components/menubar/MenubarSubContent.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/menubar/MenubarSubTrigger.js +7 -0
- package/dist/components/menubar/MenubarSubTrigger.js.map +1 -0
- package/dist/components/menubar/MenubarSubTrigger.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/components/menubar/MenubarSubTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/menubar/MenubarTrigger.js +7 -0
- package/dist/components/menubar/MenubarTrigger.js.map +1 -0
- package/dist/components/menubar/MenubarTrigger.vue_vue_type_script_setup_true_lang.js +59 -0
- package/dist/components/menubar/MenubarTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
- 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 +7 -0
- package/dist/components/month-picker/MonthPicker.js.map +1 -0
- package/dist/components/month-picker/MonthPicker.vue_vue_type_script_setup_true_lang.js +196 -0
- package/dist/components/month-picker/MonthPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/month-range-picker/MonthRangePicker.js +7 -0
- package/dist/components/month-range-picker/MonthRangePicker.js.map +1 -0
- package/dist/components/month-range-picker/MonthRangePicker.vue_vue_type_script_setup_true_lang.js +207 -0
- package/dist/components/month-range-picker/MonthRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenu.js +7 -0
- package/dist/components/navigation-menu/NavigationMenu.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenu.vue_vue_type_script_setup_true_lang.js +85 -0
- package/dist/components/navigation-menu/NavigationMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuContent.js +7 -0
- package/dist/components/navigation-menu/NavigationMenuContent.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuContent.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/components/navigation-menu/NavigationMenuContent.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuIndicator.js +7 -0
- package/dist/components/navigation-menu/NavigationMenuIndicator.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuIndicator.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/components/navigation-menu/NavigationMenuIndicator.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuItem.js +7 -0
- package/dist/components/navigation-menu/NavigationMenuItem.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuItem.vue_vue_type_script_setup_true_lang.js +20 -0
- package/dist/components/navigation-menu/NavigationMenuItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuLink.js +7 -0
- package/dist/components/navigation-menu/NavigationMenuLink.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuLink.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/components/navigation-menu/NavigationMenuLink.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuList.js +7 -0
- package/dist/components/navigation-menu/NavigationMenuList.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuList.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/components/navigation-menu/NavigationMenuList.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuSub.js +7 -0
- package/dist/components/navigation-menu/NavigationMenuSub.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuSub.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/components/navigation-menu/NavigationMenuSub.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuTrigger.js +7 -0
- package/dist/components/navigation-menu/NavigationMenuTrigger.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuTrigger.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/components/navigation-menu/NavigationMenuTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuViewport.js +7 -0
- package/dist/components/navigation-menu/NavigationMenuViewport.js.map +1 -0
- package/dist/components/navigation-menu/NavigationMenuViewport.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/components/navigation-menu/NavigationMenuViewport.vue_vue_type_script_setup_true_lang.js.map +1 -0
- 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.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 +7 -0
- package/dist/components/time-range-field/TimeRangeField.js.map +1 -0
- package/dist/components/time-range-field/TimeRangeField.vue_vue_type_script_setup_true_lang.js +364 -0
- package/dist/components/time-range-field/TimeRangeField.vue_vue_type_script_setup_true_lang.js.map +1 -0
- 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 +7 -0
- package/dist/components/year-range-picker/YearRangePicker.js.map +1 -0
- package/dist/components/year-range-picker/YearRangePicker.vue_vue_type_script_setup_true_lang.js +210 -0
- package/dist/components/year-range-picker/YearRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- 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 +5855 -3093
- package/dist/index.js +51 -1
- package/dist/packages/styles/dist/components/hover-card/hover-card.styles.js +10 -0
- package/dist/packages/styles/dist/components/hover-card/hover-card.styles.js.map +1 -0
- 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
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createBlock, defineComponent, mergeProps, openBlock, unref } from "vue";
|
|
2
|
+
import { HoverCardArrow } from "reka-ui";
|
|
3
|
+
//#region src/components/hover-card/HoverCardArrow.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var HoverCardArrow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
5
|
+
__name: "HoverCardArrow",
|
|
6
|
+
props: {
|
|
7
|
+
as: {},
|
|
8
|
+
asChild: { type: Boolean },
|
|
9
|
+
width: {},
|
|
10
|
+
height: {},
|
|
11
|
+
class: {}
|
|
12
|
+
},
|
|
13
|
+
setup(__props) {
|
|
14
|
+
const props = __props;
|
|
15
|
+
return (_ctx, _cache) => {
|
|
16
|
+
return openBlock(), createBlock(unref(HoverCardArrow), mergeProps({
|
|
17
|
+
as: props.as,
|
|
18
|
+
"as-child": props.asChild,
|
|
19
|
+
width: props.width,
|
|
20
|
+
height: props.height,
|
|
21
|
+
class: props.class
|
|
22
|
+
}, _ctx.$attrs), null, 16, [
|
|
23
|
+
"as",
|
|
24
|
+
"as-child",
|
|
25
|
+
"width",
|
|
26
|
+
"height",
|
|
27
|
+
"class"
|
|
28
|
+
]);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
//#endregion
|
|
33
|
+
export { HoverCardArrow_vue_vue_type_script_setup_true_lang_default as default };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=HoverCardArrow.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HoverCardArrow.vue_vue_type_script_setup_true_lang.js","names":["$attrs"],"sources":["../../../src/components/hover-card/HoverCardArrow.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { HoverCardArrow } from 'reka-ui'\n\nconst props = defineProps<{\n as?: string | object\n asChild?: boolean\n width?: number\n height?: number\n class?: string\n}>()\n</script>\n\n<template>\n <HoverCardArrow\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :width=\"props.width\"\n :height=\"props.height\"\n :class=\"props.class\"\n v-bind=\"$attrs\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;EAGA,MAAM,QAAQ;;uBAUZ,YAOE,MAAA,eAAA,EAPF,WAOE;IANC,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAO,MAAM;IACb,QAAQ,MAAM;IACd,OAAO,MAAM;MACNA,KAAAA,OAAM,EAAA,MAAA,IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import HoverCardContent_vue_vue_type_script_setup_true_lang_default from "./HoverCardContent.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region src/components/hover-card/HoverCardContent.vue
|
|
3
|
+
var HoverCardContent_default = HoverCardContent_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { HoverCardContent_default as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=HoverCardContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HoverCardContent.js","names":[],"sources":["../../../src/components/hover-card/HoverCardContent.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { HoverCardPortal, HoverCardContent } from 'reka-ui'\nimport { hoverCardVariants } from '@auronui/styles/components/hover-card'\nimport { composeClassName } from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n side?: 'top' | 'right' | 'bottom' | 'left'\n sideOffset?: number\n sideFlip?: boolean\n align?: 'start' | 'center' | 'end'\n alignOffset?: number\n alignFlip?: boolean\n avoidCollisions?: boolean\n collisionBoundary?: Element | null | Array<Element | null>\n collisionPadding?: number | Partial<Record<'top' | 'right' | 'bottom' | 'left', number>>\n arrowPadding?: number\n hideShiftedArrow?: boolean\n sticky?: 'partial' | 'always'\n hideWhenDetached?: boolean\n positionStrategy?: 'fixed' | 'absolute'\n updatePositionStrategy?: 'always' | 'optimized'\n disableUpdateOnLayoutShift?: boolean\n prioritizePosition?: boolean\n forceMount?: boolean\n class?: string\n}>(), {\n side: 'bottom',\n sideOffset: 8,\n align: 'center',\n alignOffset: 0,\n avoidCollisions: true,\n collisionPadding: 8,\n prioritizePosition: true,\n})\n\nconst emit = defineEmits<{\n 'escape-key-down': [event: KeyboardEvent]\n 'pointer-down-outside': [event: Event]\n 'focus-outside': [event: Event]\n 'interact-outside': [event: Event]\n}>()\n\nconst styles = hoverCardVariants()\n</script>\n\n<template>\n <HoverCardPortal>\n <HoverCardContent\n :side=\"props.side\"\n :side-offset=\"props.sideOffset\"\n :align=\"props.align\"\n :align-offset=\"props.alignOffset\"\n :side-flip=\"props.sideFlip\"\n :align-flip=\"props.alignFlip\"\n :avoid-collisions=\"props.avoidCollisions\"\n :collision-boundary=\"props.collisionBoundary\"\n :collision-padding=\"props.collisionPadding\"\n :arrow-padding=\"props.arrowPadding\"\n :hide-shifted-arrow=\"props.hideShiftedArrow\"\n :sticky=\"props.sticky\"\n :hide-when-detached=\"props.hideWhenDetached\"\n :position-strategy=\"props.positionStrategy\"\n :update-position-strategy=\"props.updatePositionStrategy\"\n :disable-update-on-layout-shift=\"props.disableUpdateOnLayoutShift\"\n :prioritize-position=\"props.prioritizePosition\"\n :force-mount=\"props.forceMount\"\n :class=\"composeClassName(styles.base(), props.class)\"\n v-bind=\"$attrs\"\n @escape-key-down=\"emit('escape-key-down', $event)\"\n @pointer-down-outside=\"emit('pointer-down-outside', $event)\"\n @focus-outside=\"emit('focus-outside', $event)\"\n @interact-outside=\"emit('interact-outside', $event)\"\n >\n <slot />\n </HoverCardContent>\n </HoverCardPortal>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { composeClassName } from "../../utils/composeClassName.js";
|
|
2
|
+
import { hoverCardVariants } from "../../packages/styles/dist/components/hover-card/hover-card.styles.js";
|
|
3
|
+
import { createBlock, createVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
|
|
4
|
+
import { HoverCardContent, HoverCardPortal } from "reka-ui";
|
|
5
|
+
//#region src/components/hover-card/HoverCardContent.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var HoverCardContent_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
7
|
+
__name: "HoverCardContent",
|
|
8
|
+
props: {
|
|
9
|
+
side: { default: "bottom" },
|
|
10
|
+
sideOffset: { default: 8 },
|
|
11
|
+
sideFlip: { type: Boolean },
|
|
12
|
+
align: { default: "center" },
|
|
13
|
+
alignOffset: { default: 0 },
|
|
14
|
+
alignFlip: { type: Boolean },
|
|
15
|
+
avoidCollisions: {
|
|
16
|
+
type: Boolean,
|
|
17
|
+
default: true
|
|
18
|
+
},
|
|
19
|
+
collisionBoundary: {},
|
|
20
|
+
collisionPadding: { default: 8 },
|
|
21
|
+
arrowPadding: {},
|
|
22
|
+
hideShiftedArrow: { type: Boolean },
|
|
23
|
+
sticky: {},
|
|
24
|
+
hideWhenDetached: { type: Boolean },
|
|
25
|
+
positionStrategy: {},
|
|
26
|
+
updatePositionStrategy: {},
|
|
27
|
+
disableUpdateOnLayoutShift: { type: Boolean },
|
|
28
|
+
prioritizePosition: {
|
|
29
|
+
type: Boolean,
|
|
30
|
+
default: true
|
|
31
|
+
},
|
|
32
|
+
forceMount: { type: Boolean },
|
|
33
|
+
class: {}
|
|
34
|
+
},
|
|
35
|
+
emits: [
|
|
36
|
+
"escape-key-down",
|
|
37
|
+
"pointer-down-outside",
|
|
38
|
+
"focus-outside",
|
|
39
|
+
"interact-outside"
|
|
40
|
+
],
|
|
41
|
+
setup(__props, { emit: __emit }) {
|
|
42
|
+
const props = __props;
|
|
43
|
+
const emit = __emit;
|
|
44
|
+
const styles = hoverCardVariants();
|
|
45
|
+
return (_ctx, _cache) => {
|
|
46
|
+
return openBlock(), createBlock(unref(HoverCardPortal), null, {
|
|
47
|
+
default: withCtx(() => [createVNode(unref(HoverCardContent), mergeProps({
|
|
48
|
+
side: props.side,
|
|
49
|
+
"side-offset": props.sideOffset,
|
|
50
|
+
align: props.align,
|
|
51
|
+
"align-offset": props.alignOffset,
|
|
52
|
+
"side-flip": props.sideFlip,
|
|
53
|
+
"align-flip": props.alignFlip,
|
|
54
|
+
"avoid-collisions": props.avoidCollisions,
|
|
55
|
+
"collision-boundary": props.collisionBoundary,
|
|
56
|
+
"collision-padding": props.collisionPadding,
|
|
57
|
+
"arrow-padding": props.arrowPadding,
|
|
58
|
+
"hide-shifted-arrow": props.hideShiftedArrow,
|
|
59
|
+
sticky: props.sticky,
|
|
60
|
+
"hide-when-detached": props.hideWhenDetached,
|
|
61
|
+
"position-strategy": props.positionStrategy,
|
|
62
|
+
"update-position-strategy": props.updatePositionStrategy,
|
|
63
|
+
"disable-update-on-layout-shift": props.disableUpdateOnLayoutShift,
|
|
64
|
+
"prioritize-position": props.prioritizePosition,
|
|
65
|
+
"force-mount": props.forceMount,
|
|
66
|
+
class: unref(composeClassName)(unref(styles).base(), props.class)
|
|
67
|
+
}, _ctx.$attrs, {
|
|
68
|
+
onEscapeKeyDown: _cache[0] || (_cache[0] = ($event) => emit("escape-key-down", $event)),
|
|
69
|
+
onPointerDownOutside: _cache[1] || (_cache[1] = ($event) => emit("pointer-down-outside", $event)),
|
|
70
|
+
onFocusOutside: _cache[2] || (_cache[2] = ($event) => emit("focus-outside", $event)),
|
|
71
|
+
onInteractOutside: _cache[3] || (_cache[3] = ($event) => emit("interact-outside", $event))
|
|
72
|
+
}), {
|
|
73
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
74
|
+
_: 3
|
|
75
|
+
}, 16, [
|
|
76
|
+
"side",
|
|
77
|
+
"side-offset",
|
|
78
|
+
"align",
|
|
79
|
+
"align-offset",
|
|
80
|
+
"side-flip",
|
|
81
|
+
"align-flip",
|
|
82
|
+
"avoid-collisions",
|
|
83
|
+
"collision-boundary",
|
|
84
|
+
"collision-padding",
|
|
85
|
+
"arrow-padding",
|
|
86
|
+
"hide-shifted-arrow",
|
|
87
|
+
"sticky",
|
|
88
|
+
"hide-when-detached",
|
|
89
|
+
"position-strategy",
|
|
90
|
+
"update-position-strategy",
|
|
91
|
+
"disable-update-on-layout-shift",
|
|
92
|
+
"prioritize-position",
|
|
93
|
+
"force-mount",
|
|
94
|
+
"class"
|
|
95
|
+
])]),
|
|
96
|
+
_: 3
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
//#endregion
|
|
102
|
+
export { HoverCardContent_vue_vue_type_script_setup_true_lang_default as default };
|
|
103
|
+
|
|
104
|
+
//# sourceMappingURL=HoverCardContent.vue_vue_type_script_setup_true_lang.js.map
|
package/dist/components/hover-card/HoverCardContent.vue_vue_type_script_setup_true_lang.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HoverCardContent.vue_vue_type_script_setup_true_lang.js","names":["$attrs"],"sources":["../../../src/components/hover-card/HoverCardContent.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { HoverCardPortal, HoverCardContent } from 'reka-ui'\nimport { hoverCardVariants } from '@auronui/styles/components/hover-card'\nimport { composeClassName } from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n side?: 'top' | 'right' | 'bottom' | 'left'\n sideOffset?: number\n sideFlip?: boolean\n align?: 'start' | 'center' | 'end'\n alignOffset?: number\n alignFlip?: boolean\n avoidCollisions?: boolean\n collisionBoundary?: Element | null | Array<Element | null>\n collisionPadding?: number | Partial<Record<'top' | 'right' | 'bottom' | 'left', number>>\n arrowPadding?: number\n hideShiftedArrow?: boolean\n sticky?: 'partial' | 'always'\n hideWhenDetached?: boolean\n positionStrategy?: 'fixed' | 'absolute'\n updatePositionStrategy?: 'always' | 'optimized'\n disableUpdateOnLayoutShift?: boolean\n prioritizePosition?: boolean\n forceMount?: boolean\n class?: string\n}>(), {\n side: 'bottom',\n sideOffset: 8,\n align: 'center',\n alignOffset: 0,\n avoidCollisions: true,\n collisionPadding: 8,\n prioritizePosition: true,\n})\n\nconst emit = defineEmits<{\n 'escape-key-down': [event: KeyboardEvent]\n 'pointer-down-outside': [event: Event]\n 'focus-outside': [event: Event]\n 'interact-outside': [event: Event]\n}>()\n\nconst styles = hoverCardVariants()\n</script>\n\n<template>\n <HoverCardPortal>\n <HoverCardContent\n :side=\"props.side\"\n :side-offset=\"props.sideOffset\"\n :align=\"props.align\"\n :align-offset=\"props.alignOffset\"\n :side-flip=\"props.sideFlip\"\n :align-flip=\"props.alignFlip\"\n :avoid-collisions=\"props.avoidCollisions\"\n :collision-boundary=\"props.collisionBoundary\"\n :collision-padding=\"props.collisionPadding\"\n :arrow-padding=\"props.arrowPadding\"\n :hide-shifted-arrow=\"props.hideShiftedArrow\"\n :sticky=\"props.sticky\"\n :hide-when-detached=\"props.hideWhenDetached\"\n :position-strategy=\"props.positionStrategy\"\n :update-position-strategy=\"props.updatePositionStrategy\"\n :disable-update-on-layout-shift=\"props.disableUpdateOnLayoutShift\"\n :prioritize-position=\"props.prioritizePosition\"\n :force-mount=\"props.forceMount\"\n :class=\"composeClassName(styles.base(), props.class)\"\n v-bind=\"$attrs\"\n @escape-key-down=\"emit('escape-key-down', $event)\"\n @pointer-down-outside=\"emit('pointer-down-outside', $event)\"\n @focus-outside=\"emit('focus-outside', $event)\"\n @interact-outside=\"emit('interact-outside', $event)\"\n >\n <slot />\n </HoverCardContent>\n </HoverCardPortal>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EA8Bd,MAAM,OAAO;EAOb,MAAM,SAAS,mBAAkB;;uBAI/B,YA6BkB,MAAA,gBAAA,EAAA,MAAA;2BADG,CA3BnB,YA2BmB,MAAA,iBAAA,EA3BnB,WA2BmB;KA1BhB,MAAM,MAAM;KACZ,eAAa,MAAM;KACnB,OAAO,MAAM;KACb,gBAAc,MAAM;KACpB,aAAW,MAAM;KACjB,cAAY,MAAM;KAClB,oBAAkB,MAAM;KACxB,sBAAoB,MAAM;KAC1B,qBAAmB,MAAM;KACzB,iBAAe,MAAM;KACrB,sBAAoB,MAAM;KAC1B,QAAQ,MAAM;KACd,sBAAoB,MAAM;KAC1B,qBAAmB,MAAM;KACzB,4BAA0B,MAAM;KAChC,kCAAgC,MAAM;KACtC,uBAAqB,MAAM;KAC3B,eAAa,MAAM;KACnB,OAAO,MAAA,iBAAgB,CAAC,MAAA,OAAM,CAAC,MAAI,EAAI,MAAM,MAAK;OAC3CA,KAAAA,QAAM;KACb,iBAAe,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,mBAAoB,OAAM;KAC/C,sBAAoB,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,wBAAyB,OAAM;KACzD,gBAAa,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,iBAAkB,OAAM;KAC3C,mBAAgB,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,oBAAqB,OAAM;;4BAE1C,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import HoverCardTrigger_vue_vue_type_script_setup_true_lang_default from "./HoverCardTrigger.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region src/components/hover-card/HoverCardTrigger.vue
|
|
3
|
+
var HoverCardTrigger_default = HoverCardTrigger_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { HoverCardTrigger_default as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=HoverCardTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HoverCardTrigger.js","names":[],"sources":["../../../src/components/hover-card/HoverCardTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { HoverCardTrigger } from 'reka-ui'\n\nconst props = defineProps<{\n asChild?: boolean\n as?: string | object\n}>()\n</script>\n\n<template>\n <HoverCardTrigger\n :as-child=\"props.asChild\"\n :as=\"props.as\"\n v-bind=\"$attrs\"\n >\n <slot />\n </HoverCardTrigger>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
|
|
2
|
+
import { HoverCardTrigger } from "reka-ui";
|
|
3
|
+
//#region src/components/hover-card/HoverCardTrigger.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var HoverCardTrigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
5
|
+
__name: "HoverCardTrigger",
|
|
6
|
+
props: {
|
|
7
|
+
asChild: { type: Boolean },
|
|
8
|
+
as: {}
|
|
9
|
+
},
|
|
10
|
+
setup(__props) {
|
|
11
|
+
const props = __props;
|
|
12
|
+
return (_ctx, _cache) => {
|
|
13
|
+
return openBlock(), createBlock(unref(HoverCardTrigger), mergeProps({
|
|
14
|
+
"as-child": props.asChild,
|
|
15
|
+
as: props.as
|
|
16
|
+
}, _ctx.$attrs), {
|
|
17
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
18
|
+
_: 3
|
|
19
|
+
}, 16, ["as-child", "as"]);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
//#endregion
|
|
24
|
+
export { HoverCardTrigger_vue_vue_type_script_setup_true_lang_default as default };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=HoverCardTrigger.vue_vue_type_script_setup_true_lang.js.map
|
package/dist/components/hover-card/HoverCardTrigger.vue_vue_type_script_setup_true_lang.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HoverCardTrigger.vue_vue_type_script_setup_true_lang.js","names":["$attrs"],"sources":["../../../src/components/hover-card/HoverCardTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { HoverCardTrigger } from 'reka-ui'\n\nconst props = defineProps<{\n asChild?: boolean\n as?: string | object\n}>()\n</script>\n\n<template>\n <HoverCardTrigger\n :as-child=\"props.asChild\"\n :as=\"props.as\"\n v-bind=\"$attrs\"\n >\n <slot />\n </HoverCardTrigger>\n</template>\n"],"mappings":";;;;;;;;;;EAGA,MAAM,QAAQ;;uBAOZ,YAMmB,MAAA,iBAAA,EANnB,WAMmB;IALhB,YAAU,MAAM;IAChB,IAAI,MAAM;MACHA,KAAAA,OAAM,EAAA;2BAEN,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","names":[],"sources":["../../../src/components/input/Input.vue"],"sourcesContent":["<!--\n Input — reference form-field component for @auronui/vue.\n\n This is the canonical template for every form field in the library\n (Textarea, NumberInput, DateInput, Select, etc.). Porting a new field\n means mirroring its prop surface, slot layout, data-attribute contract,\n CSS selector pairing, and a11y wiring. Keep these in sync.\n\n ─── Anatomy ────────────────────────────────────────────────────────────\n base (.input-root) ← layout container, carries class/data-attrs\n label [outside | outside-left] ← rendered here when placement !== 'inside'\n mainWrapper (.input__main-wrapper) ← groups field + helper vertically\n inputWrapper (.input) ← styled field box (border, bg, focus)\n label [inside] ← rendered here when placement === 'inside'\n startContent (.input__start-content) ← leading icon slot\n <input ref=\"inputEl\"> ← the native element\n endContent (.input__end-content) ← trailing icon slot\n clearButton (.input__clear-button) ← × button, after endContent\n passwordToggle (.input__password-toggle) ← eye button, type=\"password\" only\n helperWrapper (.input__helper-wrapper) ← holds description XOR error\n errorMessage | description\n\n ─── Data attributes on base (selector hooks) ──────────────────────────\n data-invalid — mirrors isInvalid\n data-disabled — mirrors isDisabled\n data-readonly — mirrors isReadonly\n data-required — mirrors isRequired\n data-has-label — true when label prop is set (any placement)\n data-has-helper — true when description or error is visible\n data-filled — set on inputWrapper when the value is non-empty (for\n floating-label up-state)\n\n Every interactive CSS rule in input.css pairs a pseudo-class with its\n data-attribute counterpart (Reka UI selector pairing rule), e.g.\n &:focus-within, &[data-focused=\"true\"] { ... }\n\n ─── v-model ───────────────────────────────────────────────────────────\n <Input v-model=\"value\" /> -- string | number | null\n\n ─── Emits ─────────────────────────────────────────────────────────────\n @clear -- emitted when the user activates the clear (×) button.\n The input is already empty and refocused by this point.\n\n ─── Slots ─────────────────────────────────────────────────────────────\n #startContent -- leading icon / adornment\n #endContent -- trailing icon / adornment (renders BEFORE clear/toggle,\n so you can combine them freely)\n\n ─── Accessibility contract (audited by vitest-axe) ────────────────────\n • <label for=\"{inputId}\"> wraps the label text.\n • aria-invalid reflects isInvalid.\n • aria-describedby points to whichever helper is rendered (error wins).\n • Required field uses the native `required` attribute; the visual\n asterisk is aria-hidden.\n • Clear button: tabindex=-1 (out of form tab flow), aria-label.\n • Password toggle: tabbable, aria-pressed reflects visibility.\n • All transitions are wrapped in motion-reduce:transition-none.\n\n ─── Reuse checklist for new form fields ───────────────────────────────\n 1. Copy prop names verbatim (variant, size, color, labelPlacement,\n fullWidth, isInvalid, isDisabled, isReadonly, isRequired, label,\n description, errorMessage, class, classNames).\n 2. Expose the same slot keys in tailwind-variants.\n 3. Emit the same data-attributes on the root + data-filled on the\n field box.\n 4. Reuse the aria-describedby / error-vs-description precedence\n logic verbatim.\n 5. Generate ids with useId(), scope helper ids as `{id}-error` /\n `{id}-description`.\n 6. Default labelPlacement to 'inside' and apply the inside-label\n CSS via a compoundVariant of (hasLabel=true, labelPlacement='inside').\n-->\n<script setup lang=\"ts\">\nimport { computed, nextTick, ref, useAttrs, useId, useTemplateRef } from 'vue'\nimport { inputVariants, type InputVariants } 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 isClearable: false,\n showPasswordToggle: false,\n type: 'text',\n})\n\nconst emit = defineEmits<{\n /**\n * Fired when the user activates the clear (×) button.\n * At the time this fires the v-model value is already '' and focus\n * has been returned to the input element.\n */\n clear: []\n}>()\n\n/**\n * Two-way value. String for text-like types, number for type=\"number\",\n * null allowed so controlled consumers can represent \"no value\" without\n * coercing to empty string.\n */\nconst modelValue = defineModel<string | number | null>({ default: '' })\n\ntype Props = {\n /** Visual style of the field. @default 'flat' */\n variant?: InputVariants['variant']\n /** Field height. @default 'md' */\n size?: InputVariants['size']\n /** Accent color applied to focus ring + floating label. @default 'default' */\n color?: InputVariants['color']\n /**\n * Where the `label` is rendered relative to the field.\n * - `inside`: floats above the input (shrinks when focused/filled)\n * - `outside`: sits above the field, static\n * - `outside-left`: sits to the left, horizontal layout\n * @default 'inside'\n */\n labelPlacement?: InputVariants['labelPlacement']\n /** Stretches root wrapper to 100% width. @default false */\n fullWidth?: boolean\n /** Marks the field as invalid. Triggers danger styling and enables `errorMessage`. @default false */\n isInvalid?: boolean\n /** Disables the field. @default false */\n isDisabled?: boolean\n /** Makes the field read-only. @default false */\n isReadonly?: boolean\n /** Adds a required asterisk next to the label and the `required` attribute on the input. @default false */\n isRequired?: boolean\n /** Shows an × button that clears the value and refocuses the input when value is non-empty. @default false */\n isClearable?: boolean\n /** Shows a show/hide eye button. Only active when `type === 'password'`. @default false */\n showPasswordToggle?: boolean\n /** Native input type (e.g. `text`, `email`, `password`, `number`). @default 'text' */\n type?: string\n /** Placeholder shown when empty. Hidden behind the floating label until focused/filled for `labelPlacement: 'inside'`. */\n placeholder?: string\n /** Form field name, for native form submission. */\n name?: string\n /** Field label. When omitted, the floating-label behavior is skipped. */\n label?: string\n /** Helper text displayed below the field. Suppressed when `isInvalid && errorMessage` is shown. */\n description?: string\n /** Error text displayed below the field. Only rendered when `isInvalid` is also true. Takes precedence over `description`. */\n errorMessage?: string\n /** Extra classes merged onto the root wrapper via `composeClassName`. */\n class?: ClassValue\n /**\n * Per-slot class overrides. Each key maps to a named slot in the anatomy;\n * the value is merged with the generated variant classes via `composeClassName`.\n *\n * @example\n * ```vue\n * <Input :class-names=\"{ input: 'text-xl', inputWrapper: 'border-2 border-blue-500' }\" />\n * ```\n *\n * Available slots: `base`, `mainWrapper`, `inputWrapper`, `input`,\n * `label`, `startContent`, `endContent`, `clearButton`, `passwordToggle`,\n * `helperWrapper`, `description`, `errorMessage`.\n */\n classNames?: Partial<{\n base: ClassValue\n mainWrapper: ClassValue\n inputWrapper: ClassValue\n input: ClassValue\n label: ClassValue\n startContent: ClassValue\n endContent: ClassValue\n clearButton: ClassValue\n passwordToggle: ClassValue\n helperWrapper: ClassValue\n description: ClassValue\n errorMessage: ClassValue\n }>\n}\n\nconst attrs = useAttrs()\nconst generatedId = useId()\nconst inputId = computed(() => (attrs.id as string | undefined) ?? generatedId)\nconst inputAttrs = computed(() =>\n Object.fromEntries(Object.entries(attrs).filter(([k]) => k !== 'id'))\n)\n\nconst inputEl = useTemplateRef<HTMLInputElement>('inputEl')\n\nconst hasLabel = computed(() => !!props.label)\nconst isFilled = computed(\n () => modelValue.value !== null && modelValue.value !== undefined && String(modelValue.value) !== '',\n)\n\nconst descriptionId = computed(() => `${inputId.value}-description`)\nconst errorMessageId = computed(() => `${inputId.value}-error`)\nconst showError = computed(() => props.isInvalid && !!props.errorMessage)\nconst showDescription = computed(() => !!props.description && !showError.value)\nconst hasHelper = computed(() => showError.value || showDescription.value)\nconst ariaDescribedBy = computed(() => {\n if (showError.value) return errorMessageId.value\n if (showDescription.value) return descriptionId.value\n return undefined\n})\n\nconst isPasswordVisible = ref(false)\nconst isPasswordField = computed(() => props.type === 'password')\nconst effectiveType = computed(() =>\n isPasswordField.value && isPasswordVisible.value ? 'text' : props.type,\n)\n\nconst isInteractive = computed(() => !props.isDisabled && !props.isReadonly)\nconst showClearButton = computed(\n () => props.isClearable && isFilled.value && isInteractive.value,\n)\nconst showPasswordToggleButton = computed(\n () => props.showPasswordToggle && isPasswordField.value && isInteractive.value,\n)\n\nfunction handleClear() {\n modelValue.value = ''\n emit('clear')\n nextTick(() => inputEl.value?.focus())\n}\n\nfunction togglePasswordVisibility() {\n isPasswordVisible.value = !isPasswordVisible.value\n}\n\nconst slotFns = computed(() =>\n inputVariants({\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 :for=\"inputId\"\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 <div\n :class=\"composeClassName(slotFns.inputWrapper(), props.classNames?.inputWrapper)\"\n :data-filled=\"hasLabel ? (isFilled || undefined) : undefined\"\n >\n <label\n v-if=\"showInsideLabel\"\n :for=\"inputId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n >\n <slot name=\"startContent\" />\n </span>\n <input\n v-bind=\"inputAttrs\"\n :id=\"inputId\"\n ref=\"inputEl\"\n v-model=\"modelValue\"\n :type=\"effectiveType\"\n :placeholder=\"placeholder\"\n :name=\"name\"\n :disabled=\"isDisabled || undefined\"\n :readonly=\"isReadonly || undefined\"\n :required=\"isRequired || undefined\"\n :aria-invalid=\"isInvalid || undefined\"\n :aria-describedby=\"ariaDescribedBy\"\n :class=\"composeClassName(slotFns.input(), props.classNames?.input)\"\n >\n <span\n v-if=\"$slots.endContent\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n >\n <slot name=\"endContent\" />\n </span>\n <button\n v-if=\"showClearButton\"\n type=\"button\"\n tabindex=\"-1\"\n :class=\"composeClassName(slotFns.clearButton(), props.classNames?.clearButton)\"\n aria-label=\"Clear input\"\n @click=\"handleClear\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n />\n <line\n x1=\"15\"\n y1=\"9\"\n x2=\"9\"\n y2=\"15\"\n />\n <line\n x1=\"9\"\n y1=\"9\"\n x2=\"15\"\n y2=\"15\"\n />\n </svg>\n </button>\n <button\n v-if=\"showPasswordToggleButton\"\n type=\"button\"\n :class=\"composeClassName(slotFns.passwordToggle(), props.classNames?.passwordToggle)\"\n :aria-label=\"isPasswordVisible ? 'Hide password' : 'Show password'\"\n :aria-pressed=\"isPasswordVisible\"\n @click=\"togglePasswordVisibility\"\n >\n <svg\n v-if=\"isPasswordVisible\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\" />\n <line\n x1=\"1\"\n y1=\"1\"\n x2=\"23\"\n y2=\"23\"\n />\n </svg>\n <svg\n v-else\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\" />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"3\"\n />\n </svg>\n </button>\n </div>\n\n <div\n v-if=\"hasHelper\"\n :class=\"composeClassName(slotFns.helperWrapper(), props.classNames?.helperWrapper)\"\n >\n <div\n v-if=\"showError\"\n :id=\"errorMessageId\"\n :class=\"composeClassName(slotFns.errorMessage(), props.classNames?.errorMessage)\"\n >\n {{ errorMessage }}\n </div>\n <div\n v-else-if=\"showDescription\"\n :id=\"descriptionId\"\n :class=\"composeClassName(slotFns.description(), props.classNames?.description)\"\n >\n {{ description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Input.js","names":[],"sources":["../../../src/components/input/Input.vue"],"sourcesContent":["<!--\n Input — reference form-field component for @auronui/vue.\n\n This is the canonical template for every form field in the library\n (Textarea, NumberInput, DateInput, Select, etc.). Porting a new field\n means mirroring its prop surface, slot layout, data-attribute contract,\n CSS selector pairing, and a11y wiring. Keep these in sync.\n\n ─── Anatomy ────────────────────────────────────────────────────────────\n base (.input-root) ← layout container, carries class/data-attrs\n label [outside | outside-left] ← rendered here when placement !== 'inside'\n mainWrapper (.input__main-wrapper) ← groups field + helper vertically\n inputWrapper (.input) ← styled field box (border, bg, focus)\n label [inside] ← rendered here when placement === 'inside'\n startContent (.input__start-content) ← leading icon slot\n <input ref=\"inputEl\"> ← the native element\n endContent (.input__end-content) ← trailing icon slot\n clearButton (.input__clear-button) ← × button, after endContent\n passwordToggle (.input__password-toggle) ← eye button, type=\"password\" only\n helperWrapper (.input__helper-wrapper) ← holds description XOR error\n errorMessage | description\n\n ─── Data attributes on base (selector hooks) ──────────────────────────\n data-invalid — mirrors isInvalid\n data-disabled — mirrors isDisabled\n data-readonly — mirrors isReadOnly\n data-required — mirrors isRequired\n data-has-label — true when label prop is set (any placement)\n data-has-helper — true when description or error is visible\n data-filled — set on inputWrapper when the value is non-empty (for\n floating-label up-state)\n\n Every interactive CSS rule in input.css pairs a pseudo-class with its\n data-attribute counterpart (Reka UI selector pairing rule), e.g.\n &:focus-within, &[data-focused=\"true\"] { ... }\n\n ─── v-model ───────────────────────────────────────────────────────────\n <Input v-model=\"value\" /> -- string | number | null\n\n ─── Emits ─────────────────────────────────────────────────────────────\n @clear -- emitted when the user activates the clear (×) button.\n The input is already empty and refocused by this point.\n\n ─── Slots ─────────────────────────────────────────────────────────────\n #startContent -- leading icon / adornment\n #endContent -- trailing icon / adornment (renders BEFORE clear/toggle,\n so you can combine them freely)\n\n ─── Accessibility contract (audited by vitest-axe) ────────────────────\n • <label for=\"{inputId}\"> wraps the label text.\n • aria-invalid reflects isInvalid.\n • aria-describedby points to whichever helper is rendered (error wins).\n • Required field uses the native `required` attribute; the visual\n asterisk is aria-hidden.\n • Clear button: tabindex=-1 (out of form tab flow), aria-label.\n • Password toggle: tabbable, aria-pressed reflects visibility.\n • All transitions are wrapped in motion-reduce:transition-none.\n\n ─── Reuse checklist for new form fields ───────────────────────────────\n 1. Copy prop names verbatim (variant, size, color, labelPlacement,\n fullWidth, isInvalid, isDisabled, isReadOnly, isRequired, label,\n description, errorMessage, class, classNames).\n 2. Expose the same slot keys in tailwind-variants.\n 3. Emit the same data-attributes on the root + data-filled on the\n field box.\n 4. Use the `useFormField` composable (packages/vue/src/composables/useFormField.ts)\n for the description/error/label-visibility state machine, and the\n `FieldLabel` / `FormFieldHelper` components (components/_shared/) for\n the repeated label and helper markup — do not hand-roll these again.\n 5. Generate ids with useId(), scope helper ids as `{id}-error` /\n `{id}-description`.\n 6. Default labelPlacement to 'inside' and apply the inside-label\n CSS via a compoundVariant of (hasLabel=true, labelPlacement='inside').\n-->\n<script setup lang=\"ts\">\nimport { computed, nextTick, ref, useAttrs, useId, useTemplateRef } from 'vue'\nimport { inputVariants, type InputVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\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: undefined,\n isReadonly: undefined,\n isRequired: false,\n isClearable: false,\n showPasswordToggle: false,\n type: 'text',\n})\n\nconst emit = defineEmits<{\n /**\n * Fired when the user activates the clear (×) button.\n * At the time this fires the v-model value is already '' and focus\n * has been returned to the input element.\n */\n clear: []\n}>()\n\n/**\n * Two-way value. String for text-like types, number for type=\"number\",\n * null allowed so controlled consumers can represent \"no value\" without\n * coercing to empty string.\n */\nconst modelValue = defineModel<string | number | null>({ default: '' })\n\ntype Props = {\n /** Visual style of the field. @default 'flat' */\n variant?: InputVariants['variant']\n /** Field height. @default 'md' */\n size?: InputVariants['size']\n /** Accent color applied to focus ring + floating label. @default 'default' */\n color?: InputVariants['color']\n /**\n * Where the `label` is rendered relative to the field.\n * - `inside`: floats above the input (shrinks when focused/filled)\n * - `outside`: sits above the field, static\n * - `outside-left`: sits to the left, horizontal layout\n * @default 'inside'\n */\n labelPlacement?: InputVariants['labelPlacement']\n /** Stretches root wrapper to 100% width. @default false */\n fullWidth?: boolean\n /** Marks the field as invalid. Triggers danger styling and enables `errorMessage`. @default false */\n isInvalid?: boolean\n /** Disables the field. @default false */\n isDisabled?: boolean\n /** Makes the field read-only. @default false */\n isReadOnly?: boolean\n /** @deprecated Use isReadOnly instead. */\n isReadonly?: boolean\n /** Adds a required asterisk next to the label and the `required` attribute on the input. @default false */\n isRequired?: boolean\n /** Shows an × button that clears the value and refocuses the input when value is non-empty. @default false */\n isClearable?: boolean\n /** Shows a show/hide eye button. Only active when `type === 'password'`. @default false */\n showPasswordToggle?: boolean\n /** Native input type (e.g. `text`, `email`, `password`, `number`). @default 'text' */\n type?: string\n /** Placeholder shown when empty. Hidden behind the floating label until focused/filled for `labelPlacement: 'inside'`. */\n placeholder?: string\n /** Form field name, for native form submission. */\n name?: string\n /** Field label. When omitted, the floating-label behavior is skipped. */\n label?: string\n /** Helper text displayed below the field. Suppressed when `isInvalid && errorMessage` is shown. */\n description?: string\n /** Error text displayed below the field. Only rendered when `isInvalid` is also true. Takes precedence over `description`. */\n errorMessage?: string\n /** Extra classes merged onto the root wrapper via `composeClassName`. */\n class?: ClassValue\n /**\n * Per-slot class overrides. Each key maps to a named slot in the anatomy;\n * the value is merged with the generated variant classes via `composeClassName`.\n *\n * @example\n * ```vue\n * <Input :class-names=\"{ input: 'text-xl', inputWrapper: 'border-2 border-blue-500' }\" />\n * ```\n *\n * Available slots: `base`, `mainWrapper`, `inputWrapper`, `input`,\n * `label`, `startContent`, `endContent`, `clearButton`, `passwordToggle`,\n * `helperWrapper`, `description`, `errorMessage`.\n */\n classNames?: Partial<{\n base: ClassValue\n mainWrapper: ClassValue\n inputWrapper: ClassValue\n input: ClassValue\n label: ClassValue\n startContent: ClassValue\n endContent: ClassValue\n clearButton: ClassValue\n passwordToggle: ClassValue\n helperWrapper: ClassValue\n description: ClassValue\n errorMessage: ClassValue\n }>\n}\n\nconst attrs = useAttrs()\nconst generatedId = useId()\nconst inputId = computed(() => (attrs.id as string | undefined) ?? generatedId)\nconst inputAttrs = computed(() =>\n Object.fromEntries(Object.entries(attrs).filter(([k]) => k !== 'id'))\n)\n\nconst inputEl = useTemplateRef<HTMLInputElement>('inputEl')\n\nconst isReadOnly = useDeprecatedBooleanProp(\n 'Input', 'isReadOnly', () => props.isReadOnly, 'isReadonly', () => props.isReadonly,\n)\n\nconst isFilled = computed(\n () => modelValue.value !== null && modelValue.value !== undefined && String(modelValue.value) !== '',\n)\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: () => inputId.value,\n label: () => props.label,\n description: () => props.description,\n errorMessage: () => props.errorMessage,\n isInvalid: () => props.isInvalid,\n isDisabled: () => props.isDisabled,\n isReadOnly: () => isReadOnly.value,\n isRequired: () => props.isRequired,\n labelPlacement: () => props.labelPlacement,\n})\n\nconst isPasswordVisible = ref(false)\nconst isPasswordField = computed(() => props.type === 'password')\nconst effectiveType = computed(() =>\n isPasswordField.value && isPasswordVisible.value ? 'text' : props.type,\n)\n\nconst isInteractive = computed(() => !props.isDisabled && !isReadOnly.value)\nconst showClearButton = computed(\n () => props.isClearable && isFilled.value && isInteractive.value,\n)\nconst showPasswordToggleButton = computed(\n () => props.showPasswordToggle && isPasswordField.value && isInteractive.value,\n)\n\nfunction handleClear() {\n modelValue.value = ''\n emit('clear')\n nextTick(() => inputEl.value?.focus())\n}\n\nfunction togglePasswordVisibility() {\n isPasswordVisible.value = !isPasswordVisible.value\n}\n\nconst slotFns = computed(() =>\n inputVariants({\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: isReadOnly.value,\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 :for=\"inputId\"\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 <div\n :class=\"composeClassName(slotFns.inputWrapper(), props.classNames?.inputWrapper)\"\n :data-filled=\"hasLabel ? (isFilled || undefined) : undefined\"\n >\n <FieldLabel\n v-if=\"showInsideLabel\"\n :for=\"inputId\"\n :label=\"label\"\n :is-required=\"isRequired\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n />\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n >\n <slot name=\"startContent\" />\n </span>\n <input\n v-bind=\"inputAttrs\"\n :id=\"inputId\"\n ref=\"inputEl\"\n v-model=\"modelValue\"\n :type=\"effectiveType\"\n :placeholder=\"placeholder\"\n :name=\"name\"\n :disabled=\"isDisabled || undefined\"\n :readonly=\"isReadOnly || undefined\"\n :required=\"isRequired || undefined\"\n :aria-invalid=\"isInvalid || undefined\"\n :aria-describedby=\"ariaDescribedBy\"\n :class=\"composeClassName(slotFns.input(), props.classNames?.input)\"\n >\n <span\n v-if=\"$slots.endContent\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n >\n <slot name=\"endContent\" />\n </span>\n <button\n v-if=\"showClearButton\"\n type=\"button\"\n tabindex=\"-1\"\n :class=\"composeClassName(slotFns.clearButton(), props.classNames?.clearButton)\"\n aria-label=\"Clear input\"\n @click=\"handleClear\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n />\n <line\n x1=\"15\"\n y1=\"9\"\n x2=\"9\"\n y2=\"15\"\n />\n <line\n x1=\"9\"\n y1=\"9\"\n x2=\"15\"\n y2=\"15\"\n />\n </svg>\n </button>\n <button\n v-if=\"showPasswordToggleButton\"\n type=\"button\"\n :class=\"composeClassName(slotFns.passwordToggle(), props.classNames?.passwordToggle)\"\n :aria-label=\"isPasswordVisible ? 'Hide password' : 'Show password'\"\n :aria-pressed=\"isPasswordVisible\"\n @click=\"togglePasswordVisibility\"\n >\n <svg\n v-if=\"isPasswordVisible\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\" />\n <line\n x1=\"1\"\n y1=\"1\"\n x2=\"23\"\n y2=\"23\"\n />\n </svg>\n <svg\n v-else\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\" />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"3\"\n />\n </svg>\n </button>\n </div>\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 :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":""}
|
|
@@ -1,27 +1,13 @@
|
|
|
1
1
|
import { composeClassName } from "../../utils/composeClassName.js";
|
|
2
|
-
import {
|
|
2
|
+
import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
|
|
3
|
+
import { useFormField } from "../../composables/useFormField.js";
|
|
4
|
+
import FieldLabel_default from "../_shared/FieldLabel.js";
|
|
5
|
+
import FormFieldHelper_default from "../_shared/FormFieldHelper.js";
|
|
6
|
+
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeModels, mergeProps, nextTick, normalizeClass, openBlock, ref, renderSlot, unref, useAttrs, useId, useModel, useTemplateRef, vModelDynamic, withDirectives } from "vue";
|
|
3
7
|
import { inputVariants } from "@auronui/styles";
|
|
4
8
|
//#region src/components/input/Input.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
-
var _hoisted_1 = [
|
|
6
|
-
|
|
7
|
-
"data-disabled",
|
|
8
|
-
"data-readonly",
|
|
9
|
-
"data-required",
|
|
10
|
-
"data-has-label",
|
|
11
|
-
"data-has-helper"
|
|
12
|
-
];
|
|
13
|
-
var _hoisted_2 = ["for"];
|
|
14
|
-
var _hoisted_3 = {
|
|
15
|
-
key: 0,
|
|
16
|
-
"aria-hidden": "true"
|
|
17
|
-
};
|
|
18
|
-
var _hoisted_4 = ["data-filled"];
|
|
19
|
-
var _hoisted_5 = ["for"];
|
|
20
|
-
var _hoisted_6 = {
|
|
21
|
-
key: 0,
|
|
22
|
-
"aria-hidden": "true"
|
|
23
|
-
};
|
|
24
|
-
var _hoisted_7 = [
|
|
9
|
+
var _hoisted_1 = ["data-filled"];
|
|
10
|
+
var _hoisted_2 = [
|
|
25
11
|
"id",
|
|
26
12
|
"type",
|
|
27
13
|
"placeholder",
|
|
@@ -32,8 +18,8 @@ var _hoisted_7 = [
|
|
|
32
18
|
"aria-invalid",
|
|
33
19
|
"aria-describedby"
|
|
34
20
|
];
|
|
35
|
-
var
|
|
36
|
-
var
|
|
21
|
+
var _hoisted_3 = ["aria-label", "aria-pressed"];
|
|
22
|
+
var _hoisted_4 = {
|
|
37
23
|
key: 0,
|
|
38
24
|
xmlns: "http://www.w3.org/2000/svg",
|
|
39
25
|
viewBox: "0 0 24 24",
|
|
@@ -44,7 +30,7 @@ var _hoisted_9 = {
|
|
|
44
30
|
"stroke-linejoin": "round",
|
|
45
31
|
"aria-hidden": "true"
|
|
46
32
|
};
|
|
47
|
-
var
|
|
33
|
+
var _hoisted_5 = {
|
|
48
34
|
key: 1,
|
|
49
35
|
xmlns: "http://www.w3.org/2000/svg",
|
|
50
36
|
viewBox: "0 0 24 24",
|
|
@@ -55,8 +41,6 @@ var _hoisted_10 = {
|
|
|
55
41
|
"stroke-linejoin": "round",
|
|
56
42
|
"aria-hidden": "true"
|
|
57
43
|
};
|
|
58
|
-
var _hoisted_11 = ["id"];
|
|
59
|
-
var _hoisted_12 = ["id"];
|
|
60
44
|
var Input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
61
45
|
inheritAttrs: false,
|
|
62
46
|
__name: "Input",
|
|
@@ -77,9 +61,13 @@ var Input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
77
61
|
type: Boolean,
|
|
78
62
|
default: false
|
|
79
63
|
},
|
|
64
|
+
isReadOnly: {
|
|
65
|
+
type: Boolean,
|
|
66
|
+
default: void 0
|
|
67
|
+
},
|
|
80
68
|
isReadonly: {
|
|
81
69
|
type: Boolean,
|
|
82
|
-
default:
|
|
70
|
+
default: void 0
|
|
83
71
|
},
|
|
84
72
|
isRequired: {
|
|
85
73
|
type: Boolean,
|
|
@@ -126,21 +114,23 @@ var Input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
126
114
|
const inputId = computed(() => attrs.id ?? generatedId);
|
|
127
115
|
const inputAttrs = computed(() => Object.fromEntries(Object.entries(attrs).filter(([k]) => k !== "id")));
|
|
128
116
|
const inputEl = useTemplateRef("inputEl");
|
|
129
|
-
const
|
|
117
|
+
const isReadOnly = useDeprecatedBooleanProp("Input", "isReadOnly", () => props.isReadOnly, "isReadonly", () => props.isReadonly);
|
|
130
118
|
const isFilled = computed(() => modelValue.value !== null && modelValue.value !== void 0 && String(modelValue.value) !== "");
|
|
131
|
-
const descriptionId =
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
119
|
+
const { descriptionId, errorMessageId, showError, showDescription, hasHelper, ariaDescribedBy, hasLabel, showOutsideLabel, showInsideLabel, rootDataAttrs } = useFormField({
|
|
120
|
+
fieldId: () => inputId.value,
|
|
121
|
+
label: () => props.label,
|
|
122
|
+
description: () => props.description,
|
|
123
|
+
errorMessage: () => props.errorMessage,
|
|
124
|
+
isInvalid: () => props.isInvalid,
|
|
125
|
+
isDisabled: () => props.isDisabled,
|
|
126
|
+
isReadOnly: () => isReadOnly.value,
|
|
127
|
+
isRequired: () => props.isRequired,
|
|
128
|
+
labelPlacement: () => props.labelPlacement
|
|
139
129
|
});
|
|
140
130
|
const isPasswordVisible = ref(false);
|
|
141
131
|
const isPasswordField = computed(() => props.type === "password");
|
|
142
132
|
const effectiveType = computed(() => isPasswordField.value && isPasswordVisible.value ? "text" : props.type);
|
|
143
|
-
const isInteractive = computed(() => !props.isDisabled && !
|
|
133
|
+
const isInteractive = computed(() => !props.isDisabled && !isReadOnly.value);
|
|
144
134
|
const showClearButton = computed(() => props.isClearable && isFilled.value && isInteractive.value);
|
|
145
135
|
const showPasswordToggleButton = computed(() => props.showPasswordToggle && isPasswordField.value && isInteractive.value);
|
|
146
136
|
function handleClear() {
|
|
@@ -158,34 +148,38 @@ var Input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
158
148
|
fullWidth: props.fullWidth,
|
|
159
149
|
isInvalid: props.isInvalid,
|
|
160
150
|
isDisabled: props.isDisabled,
|
|
161
|
-
isReadonly:
|
|
151
|
+
isReadonly: isReadOnly.value,
|
|
162
152
|
hasLabel: hasLabel.value,
|
|
163
153
|
labelPlacement: props.labelPlacement
|
|
164
154
|
}));
|
|
165
|
-
const showOutsideLabel = computed(() => hasLabel.value && props.labelPlacement !== "inside");
|
|
166
|
-
const showInsideLabel = computed(() => hasLabel.value && props.labelPlacement === "inside");
|
|
167
155
|
return (_ctx, _cache) => {
|
|
168
|
-
return openBlock(), createElementBlock("div", {
|
|
169
|
-
class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base)),
|
|
170
|
-
"data-invalid": __props.isInvalid || void 0,
|
|
171
|
-
"data-disabled": __props.isDisabled || void 0,
|
|
172
|
-
"data-readonly": __props.isReadonly || void 0,
|
|
173
|
-
"data-required": __props.isRequired || void 0,
|
|
174
|
-
"data-has-label": hasLabel.value || void 0,
|
|
175
|
-
"data-has-helper": hasHelper.value || void 0
|
|
176
|
-
}, [showOutsideLabel.value ? (openBlock(), createElementBlock("label", {
|
|
156
|
+
return openBlock(), createElementBlock("div", mergeProps({ class: unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base) }, unref(rootDataAttrs)), [unref(showOutsideLabel) ? (openBlock(), createBlock(FieldLabel_default, {
|
|
177
157
|
key: 0,
|
|
178
158
|
for: inputId.value,
|
|
159
|
+
label: __props.label,
|
|
160
|
+
"is-required": __props.isRequired,
|
|
179
161
|
class: normalizeClass(unref(composeClassName)(slotFns.value.label(), props.classNames?.label))
|
|
180
|
-
},
|
|
162
|
+
}, null, 8, [
|
|
163
|
+
"for",
|
|
164
|
+
"label",
|
|
165
|
+
"is-required",
|
|
166
|
+
"class"
|
|
167
|
+
])) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(unref(composeClassName)(slotFns.value.mainWrapper(), props.classNames?.mainWrapper)) }, [createElementVNode("div", {
|
|
181
168
|
class: normalizeClass(unref(composeClassName)(slotFns.value.inputWrapper(), props.classNames?.inputWrapper)),
|
|
182
|
-
"data-filled": hasLabel
|
|
169
|
+
"data-filled": unref(hasLabel) ? isFilled.value || void 0 : void 0
|
|
183
170
|
}, [
|
|
184
|
-
showInsideLabel
|
|
171
|
+
unref(showInsideLabel) ? (openBlock(), createBlock(FieldLabel_default, {
|
|
185
172
|
key: 0,
|
|
186
173
|
for: inputId.value,
|
|
174
|
+
label: __props.label,
|
|
175
|
+
"is-required": __props.isRequired,
|
|
187
176
|
class: normalizeClass(unref(composeClassName)(slotFns.value.label(), props.classNames?.label))
|
|
188
|
-
},
|
|
177
|
+
}, null, 8, [
|
|
178
|
+
"for",
|
|
179
|
+
"label",
|
|
180
|
+
"is-required",
|
|
181
|
+
"class"
|
|
182
|
+
])) : createCommentVNode("", true),
|
|
189
183
|
_ctx.$slots.startContent ? (openBlock(), createElementBlock("span", {
|
|
190
184
|
key: 1,
|
|
191
185
|
class: normalizeClass(unref(composeClassName)(slotFns.value.startContent(), props.classNames?.startContent))
|
|
@@ -199,12 +193,12 @@ var Input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
199
193
|
placeholder: __props.placeholder,
|
|
200
194
|
name: __props.name,
|
|
201
195
|
disabled: __props.isDisabled || void 0,
|
|
202
|
-
readonly:
|
|
196
|
+
readonly: unref(isReadOnly) || void 0,
|
|
203
197
|
required: __props.isRequired || void 0,
|
|
204
198
|
"aria-invalid": __props.isInvalid || void 0,
|
|
205
|
-
"aria-describedby": ariaDescribedBy
|
|
199
|
+
"aria-describedby": unref(ariaDescribedBy),
|
|
206
200
|
class: unref(composeClassName)(slotFns.value.input(), props.classNames?.input)
|
|
207
|
-
}), null, 16,
|
|
201
|
+
}), null, 16, _hoisted_2), [[vModelDynamic, modelValue.value]]),
|
|
208
202
|
_ctx.$slots.endContent ? (openBlock(), createElementBlock("span", {
|
|
209
203
|
key: 2,
|
|
210
204
|
class: normalizeClass(unref(composeClassName)(slotFns.value.endContent(), props.classNames?.endContent))
|
|
@@ -251,28 +245,39 @@ var Input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
251
245
|
"aria-label": isPasswordVisible.value ? "Hide password" : "Show password",
|
|
252
246
|
"aria-pressed": isPasswordVisible.value,
|
|
253
247
|
onClick: togglePasswordVisibility
|
|
254
|
-
}, [isPasswordVisible.value ? (openBlock(), createElementBlock("svg",
|
|
248
|
+
}, [isPasswordVisible.value ? (openBlock(), createElementBlock("svg", _hoisted_4, [..._cache[2] || (_cache[2] = [createElementVNode("path", { d: "M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24" }, null, -1), createElementVNode("line", {
|
|
255
249
|
x1: "1",
|
|
256
250
|
y1: "1",
|
|
257
251
|
x2: "23",
|
|
258
252
|
y2: "23"
|
|
259
|
-
}, null, -1)])])) : (openBlock(), createElementBlock("svg",
|
|
253
|
+
}, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_5, [..._cache[3] || (_cache[3] = [createElementVNode("path", { d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" }, null, -1), createElementVNode("circle", {
|
|
260
254
|
cx: "12",
|
|
261
255
|
cy: "12",
|
|
262
256
|
r: "3"
|
|
263
|
-
}, null, -1)])]))], 10,
|
|
264
|
-
], 10,
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
class:
|
|
275
|
-
},
|
|
257
|
+
}, null, -1)])]))], 10, _hoisted_3)) : createCommentVNode("", true)
|
|
258
|
+
], 10, _hoisted_1), createVNode(FormFieldHelper_default, {
|
|
259
|
+
"has-helper": unref(hasHelper),
|
|
260
|
+
"show-error": unref(showError),
|
|
261
|
+
"show-description": unref(showDescription),
|
|
262
|
+
"error-message": __props.errorMessage,
|
|
263
|
+
description: __props.description,
|
|
264
|
+
"error-message-id": unref(errorMessageId),
|
|
265
|
+
"description-id": unref(descriptionId),
|
|
266
|
+
"wrapper-class": unref(composeClassName)(slotFns.value.helperWrapper(), props.classNames?.helperWrapper),
|
|
267
|
+
"error-class": unref(composeClassName)(slotFns.value.errorMessage(), props.classNames?.errorMessage),
|
|
268
|
+
"description-class": unref(composeClassName)(slotFns.value.description(), props.classNames?.description)
|
|
269
|
+
}, null, 8, [
|
|
270
|
+
"has-helper",
|
|
271
|
+
"show-error",
|
|
272
|
+
"show-description",
|
|
273
|
+
"error-message",
|
|
274
|
+
"description",
|
|
275
|
+
"error-message-id",
|
|
276
|
+
"description-id",
|
|
277
|
+
"wrapper-class",
|
|
278
|
+
"error-class",
|
|
279
|
+
"description-class"
|
|
280
|
+
])], 2)], 16);
|
|
276
281
|
};
|
|
277
282
|
}
|
|
278
283
|
});
|