@groupteknology/vuno 1.0.1 → 2.0.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/README.md +53 -27
- package/dist/module.d.mts +2 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +33 -12
- package/dist/runtime/app/assets/css/dialog.css +1 -1
- package/dist/runtime/app/assets/css/stylesheet.css +1 -0
- package/dist/runtime/app/assets/css/theme.css +1 -1
- package/dist/runtime/app/assets/css/tokens.css +1 -1
- package/dist/runtime/app/components/Alert/Alert.d.vue.ts +20 -0
- package/dist/runtime/app/components/Alert/Alert.theme.d.ts +13 -0
- package/dist/runtime/app/components/Alert/Alert.theme.js +13 -0
- package/dist/runtime/app/components/Alert/Alert.vue +59 -0
- package/dist/runtime/app/components/Alert/Alert.vue.d.ts +20 -0
- package/dist/runtime/app/components/{overlays → App}/App.d.vue.ts +4 -5
- package/dist/runtime/app/components/{overlays → App}/App.vue +8 -12
- package/dist/runtime/app/components/{overlays → App}/App.vue.d.ts +4 -5
- package/dist/runtime/app/components/App/internal/Overlay/Overlay.d.vue.ts +7 -0
- package/dist/runtime/app/components/{overlays → App/internal/Overlay}/Overlay.vue +5 -6
- package/dist/runtime/app/components/App/internal/Overlay/Overlay.vue.d.ts +7 -0
- package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.d.vue.ts +8 -0
- package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.vue +19 -0
- package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.vue.d.ts +8 -0
- package/dist/runtime/app/components/{overlays → App/internal/Toast}/Toast.d.vue.ts +3 -3
- package/dist/runtime/app/components/App/internal/Toast/Toast.theme.d.ts +13 -0
- package/dist/runtime/app/components/App/internal/Toast/Toast.theme.js +18 -0
- package/dist/runtime/app/components/{overlays → App/internal/Toast}/Toast.vue +3 -2
- package/dist/runtime/app/components/{overlays → App/internal/Toast}/Toast.vue.d.ts +3 -3
- package/dist/runtime/app/components/{overlays → App/internal/Toaster}/Toaster.d.vue.ts +3 -3
- package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.d.ts +15 -0
- package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.js +16 -0
- package/dist/runtime/app/components/{overlays → App/internal/Toaster}/Toaster.vue +3 -2
- package/dist/runtime/app/components/{overlays → App/internal/Toaster}/Toaster.vue.d.ts +3 -3
- package/dist/runtime/app/components/{actions → Avatar}/Avatar.d.vue.ts +9 -5
- package/dist/runtime/app/components/Avatar/Avatar.theme.d.ts +30 -0
- package/dist/runtime/app/components/Avatar/Avatar.theme.js +22 -0
- package/dist/runtime/app/components/{actions → Avatar}/Avatar.vue +7 -5
- package/dist/runtime/app/components/{actions → Avatar}/Avatar.vue.d.ts +9 -5
- package/dist/runtime/app/components/{actions → Badge}/Badge.d.vue.ts +9 -5
- package/dist/runtime/app/components/Badge/Badge.theme.d.ts +40 -0
- package/dist/runtime/app/components/Badge/Badge.theme.js +22 -0
- package/dist/runtime/app/components/{actions → Badge}/Badge.vue +3 -0
- package/dist/runtime/app/components/{actions → Badge}/Badge.vue.d.ts +9 -5
- package/dist/runtime/app/components/{actions → Button}/Button.d.vue.ts +10 -6
- package/dist/runtime/app/components/Button/Button.theme.d.ts +88 -0
- package/dist/runtime/app/components/Button/Button.theme.js +59 -0
- package/dist/runtime/app/components/{actions → Button}/Button.vue +10 -3
- package/dist/runtime/app/components/{actions → Button}/Button.vue.d.ts +10 -6
- package/dist/runtime/app/components/{structure → Card}/Card.d.vue.ts +9 -5
- package/dist/runtime/app/components/Card/Card.theme.d.ts +57 -0
- package/dist/runtime/app/components/Card/Card.theme.js +62 -0
- package/dist/runtime/app/components/{structure → Card}/Card.vue +3 -1
- package/dist/runtime/app/components/{structure → Card}/Card.vue.d.ts +9 -5
- package/dist/runtime/app/components/Code/Code.d.vue.ts +19 -0
- package/dist/runtime/app/components/Code/Code.theme.d.ts +11 -0
- package/dist/runtime/app/components/Code/Code.theme.js +12 -0
- package/dist/runtime/app/components/Code/Code.vue +109 -0
- package/dist/runtime/app/components/Code/Code.vue.d.ts +19 -0
- package/dist/runtime/app/components/{overlays → Confirm}/Confirm.d.vue.ts +2 -2
- package/dist/runtime/app/components/Confirm/Confirm.theme.d.ts +12 -0
- package/dist/runtime/app/components/Confirm/Confirm.theme.js +13 -0
- package/dist/runtime/app/components/{overlays → Confirm}/Confirm.vue +10 -5
- package/dist/runtime/app/components/{overlays → Confirm}/Confirm.vue.d.ts +2 -2
- package/dist/runtime/app/components/{structure → Container}/Container.d.vue.ts +5 -5
- package/dist/runtime/app/components/Container/Container.theme.d.ts +53 -0
- package/dist/runtime/app/components/Container/Container.theme.js +31 -0
- package/dist/runtime/app/components/{structure → Container}/Container.vue +2 -1
- package/dist/runtime/app/components/{structure → Container}/Container.vue.d.ts +5 -5
- package/dist/runtime/app/components/ControlGroup/ControlGroup.d.vue.ts +26 -0
- package/dist/runtime/app/components/ControlGroup/ControlGroup.theme.d.ts +16 -0
- package/dist/runtime/app/components/ControlGroup/ControlGroup.theme.js +13 -0
- package/dist/runtime/app/components/ControlGroup/ControlGroup.vue +26 -0
- package/dist/runtime/app/components/ControlGroup/ControlGroup.vue.d.ts +26 -0
- package/dist/runtime/app/components/FieldArray/FieldArray.d.vue.ts +13 -0
- package/dist/runtime/app/components/FieldArray/FieldArray.theme.d.ts +12 -0
- package/dist/runtime/app/components/FieldArray/FieldArray.theme.js +13 -0
- package/dist/runtime/app/components/FieldArray/FieldArray.vue +173 -0
- package/dist/runtime/app/components/FieldArray/FieldArray.vue.d.ts +13 -0
- package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.d.vue.ts +13 -0
- package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.theme.d.ts +5 -0
- package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.theme.js +2 -0
- package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue +39 -0
- package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue.d.ts +13 -0
- package/dist/runtime/app/components/{forms → FieldCheckbox/internal/Checkbox}/Checkbox.d.vue.ts +9 -4
- package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.theme.d.ts +30 -0
- package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.theme.js +10 -0
- package/dist/runtime/app/components/{forms → FieldCheckbox/internal/Checkbox}/Checkbox.vue +7 -4
- package/dist/runtime/app/components/{forms → FieldCheckbox/internal/Checkbox}/Checkbox.vue.d.ts +9 -4
- package/dist/runtime/app/components/FieldColor/FieldColor.d.vue.ts +13 -0
- package/dist/runtime/app/components/FieldColor/FieldColor.theme.d.ts +27 -0
- package/dist/runtime/app/components/FieldColor/FieldColor.theme.js +18 -0
- package/dist/runtime/app/components/{forms/fields → FieldColor}/FieldColor.vue +39 -32
- package/dist/runtime/app/components/FieldColor/FieldColor.vue.d.ts +13 -0
- package/dist/runtime/app/components/FieldCurrency/FieldCurrency.d.vue.ts +13 -0
- package/dist/runtime/app/components/FieldCurrency/FieldCurrency.theme.d.ts +5 -0
- package/dist/runtime/app/components/FieldCurrency/FieldCurrency.theme.js +2 -0
- package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue +51 -0
- package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue.d.ts +13 -0
- package/dist/runtime/app/components/{forms/fields → FieldFile}/FieldFile.d.vue.ts +10 -2
- package/dist/runtime/app/components/FieldFile/FieldFile.theme.d.ts +5 -0
- package/dist/runtime/app/components/FieldFile/FieldFile.theme.js +2 -0
- package/dist/runtime/app/components/FieldFile/FieldFile.vue +99 -0
- package/dist/runtime/app/components/{forms/fields → FieldFile}/FieldFile.vue.d.ts +10 -2
- package/dist/runtime/app/components/{forms → FieldFile/internal/FileUpload}/FileUpload.d.vue.ts +25 -20
- package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.d.ts +88 -0
- package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.js +55 -0
- package/dist/runtime/app/components/{forms → FieldFile/internal/FileUpload}/FileUpload.vue +21 -20
- package/dist/runtime/app/components/{forms → FieldFile/internal/FileUpload}/FileUpload.vue.d.ts +25 -20
- package/dist/runtime/app/components/FieldInput/FieldInput.d.vue.ts +24 -0
- package/dist/runtime/app/components/FieldInput/FieldInput.theme.d.ts +5 -0
- package/dist/runtime/app/components/FieldInput/FieldInput.theme.js +2 -0
- package/dist/runtime/app/components/FieldInput/FieldInput.vue +61 -0
- package/dist/runtime/app/components/FieldInput/FieldInput.vue.d.ts +24 -0
- package/dist/runtime/app/components/FieldNumber/FieldNumber.d.vue.ts +13 -0
- package/dist/runtime/app/components/FieldNumber/FieldNumber.theme.d.ts +5 -0
- package/dist/runtime/app/components/FieldNumber/FieldNumber.theme.js +2 -0
- package/dist/runtime/app/components/FieldNumber/FieldNumber.vue +47 -0
- package/dist/runtime/app/components/FieldNumber/FieldNumber.vue.d.ts +13 -0
- package/dist/runtime/app/components/FieldPassword/FieldPassword.d.vue.ts +13 -0
- package/dist/runtime/app/components/FieldPassword/FieldPassword.theme.d.ts +5 -0
- package/dist/runtime/app/components/FieldPassword/FieldPassword.theme.js +2 -0
- package/dist/runtime/app/components/FieldPassword/FieldPassword.vue +62 -0
- package/dist/runtime/app/components/FieldPassword/FieldPassword.vue.d.ts +13 -0
- package/dist/runtime/app/components/FieldRadio/FieldRadio.d.vue.ts +13 -0
- package/dist/runtime/app/components/FieldRadio/FieldRadio.theme.d.ts +5 -0
- package/dist/runtime/app/components/FieldRadio/FieldRadio.theme.js +2 -0
- package/dist/runtime/app/components/FieldRadio/FieldRadio.vue +41 -0
- package/dist/runtime/app/components/FieldRadio/FieldRadio.vue.d.ts +13 -0
- package/dist/runtime/app/components/{forms → FieldRadio/internal/RadioGroup}/RadioGroup.d.vue.ts +10 -8
- package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.theme.d.ts +54 -0
- package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.theme.js +31 -0
- package/dist/runtime/app/components/{forms → FieldRadio/internal/RadioGroup}/RadioGroup.vue +7 -4
- package/dist/runtime/app/components/{forms → FieldRadio/internal/RadioGroup}/RadioGroup.vue.d.ts +10 -8
- package/dist/runtime/app/components/FieldSearch/FieldSearch.d.vue.ts +17 -0
- package/dist/runtime/app/components/FieldSearch/FieldSearch.theme.d.ts +6 -0
- package/dist/runtime/app/components/FieldSearch/FieldSearch.theme.js +7 -0
- package/dist/runtime/app/components/FieldSearch/FieldSearch.vue +74 -0
- package/dist/runtime/app/components/FieldSearch/FieldSearch.vue.d.ts +17 -0
- package/dist/runtime/app/components/FieldSelect/FieldSelect.d.vue.ts +13 -0
- package/dist/runtime/app/components/FieldSelect/FieldSelect.theme.d.ts +5 -0
- package/dist/runtime/app/components/FieldSelect/FieldSelect.theme.js +2 -0
- package/dist/runtime/app/components/FieldSelect/FieldSelect.vue +45 -0
- package/dist/runtime/app/components/FieldSelect/FieldSelect.vue.d.ts +13 -0
- package/dist/runtime/app/components/FieldSelect/internal/Select/Select.d.vue.ts +97 -0
- package/dist/runtime/app/components/FieldSelect/internal/Select/Select.theme.d.ts +36 -0
- package/dist/runtime/app/components/FieldSelect/internal/Select/Select.theme.js +49 -0
- package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue +196 -0
- package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue.d.ts +97 -0
- package/dist/runtime/app/{utils → components/FieldSelect/internal/Select}/option.d.ts +3 -4
- package/dist/runtime/app/components/FieldSelect/internal/Select/useVunoSelectState.d.ts +30 -0
- package/dist/runtime/app/components/FieldSelect/internal/Select/useVunoSelectState.js +142 -0
- package/dist/runtime/app/components/FieldSlug/FieldSlug.d.vue.ts +13 -0
- package/dist/runtime/app/components/FieldSlug/FieldSlug.theme.d.ts +5 -0
- package/dist/runtime/app/components/FieldSlug/FieldSlug.theme.js +2 -0
- package/dist/runtime/app/components/{forms/fields → FieldSlug}/FieldSlug.vue +58 -47
- package/dist/runtime/app/components/FieldSlug/FieldSlug.vue.d.ts +13 -0
- package/dist/runtime/app/components/FieldSwitch/FieldSwitch.d.vue.ts +13 -0
- package/dist/runtime/app/components/FieldSwitch/FieldSwitch.theme.d.ts +5 -0
- package/dist/runtime/app/components/FieldSwitch/FieldSwitch.theme.js +2 -0
- package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue +37 -0
- package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue.d.ts +13 -0
- package/dist/runtime/app/components/{forms → FieldSwitch/internal/Switch}/Switch.d.vue.ts +9 -4
- package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.theme.d.ts +39 -0
- package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.theme.js +20 -0
- package/dist/runtime/app/components/{forms → FieldSwitch/internal/Switch}/Switch.vue +4 -2
- package/dist/runtime/app/components/{forms → FieldSwitch/internal/Switch}/Switch.vue.d.ts +9 -4
- package/dist/runtime/app/components/FieldTags/FieldTags.d.vue.ts +13 -0
- package/dist/runtime/app/components/FieldTags/FieldTags.theme.d.ts +5 -0
- package/dist/runtime/app/components/FieldTags/FieldTags.theme.js +2 -0
- package/dist/runtime/app/components/FieldTags/FieldTags.vue +41 -0
- package/dist/runtime/app/components/FieldTags/FieldTags.vue.d.ts +13 -0
- package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.d.vue.ts +26 -0
- package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.theme.d.ts +34 -0
- package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.theme.js +20 -0
- package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue +97 -0
- package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue.d.ts +26 -0
- package/dist/runtime/app/components/{forms/fields → FieldTextarea}/FieldTextarea.d.vue.ts +10 -2
- package/dist/runtime/app/components/FieldTextarea/FieldTextarea.theme.d.ts +5 -0
- package/dist/runtime/app/components/FieldTextarea/FieldTextarea.theme.js +2 -0
- package/dist/runtime/app/components/FieldTextarea/FieldTextarea.vue +45 -0
- package/dist/runtime/app/components/{forms/fields → FieldTextarea}/FieldTextarea.vue.d.ts +10 -2
- package/dist/runtime/app/components/{forms → FieldTextarea/internal/Textarea}/Textarea.d.vue.ts +9 -4
- package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.theme.d.ts +36 -0
- package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.theme.js +37 -0
- package/dist/runtime/app/components/{forms → FieldTextarea/internal/Textarea}/Textarea.vue +6 -4
- package/dist/runtime/app/components/{forms → FieldTextarea/internal/Textarea}/Textarea.vue.d.ts +9 -4
- package/dist/runtime/app/components/{forms → Form}/Form.d.vue.ts +3 -4
- package/dist/runtime/app/components/Form/Form.theme.d.ts +9 -0
- package/dist/runtime/app/components/Form/Form.theme.js +10 -0
- package/dist/runtime/app/components/{forms → Form}/Form.vue +7 -6
- package/dist/runtime/app/components/{forms → Form}/Form.vue.d.ts +3 -4
- package/dist/runtime/app/components/Form/internal/FormFieldRenderer/FormFieldRenderer.d.vue.ts +7 -0
- package/dist/runtime/app/components/Form/internal/FormFieldRenderer/FormFieldRenderer.vue +67 -0
- package/dist/runtime/app/components/Form/internal/FormFieldRenderer/FormFieldRenderer.vue.d.ts +7 -0
- package/dist/runtime/app/components/Form/internal/standard-schema.d.ts +29 -0
- package/dist/runtime/app/{internal → components/Form/internal}/useVunoFormState.d.ts +5 -3
- package/dist/runtime/app/{internal → components/Form/internal}/useVunoFormState.js +4 -3
- package/dist/runtime/app/components/{forms → FormField}/FormField.d.vue.ts +7 -4
- package/dist/runtime/app/components/FormField/FormField.theme.d.ts +62 -0
- package/dist/runtime/app/components/FormField/FormField.theme.js +28 -0
- package/dist/runtime/app/components/{forms → FormField}/FormField.vue +61 -42
- package/dist/runtime/app/components/{forms → FormField}/FormField.vue.d.ts +7 -4
- package/dist/runtime/app/components/{forms → FormModal}/FormModal.d.vue.ts +9 -7
- package/dist/runtime/app/components/FormModal/FormModal.theme.d.ts +8 -0
- package/dist/runtime/app/components/FormModal/FormModal.theme.js +9 -0
- package/dist/runtime/app/components/{forms → FormModal}/FormModal.vue +15 -12
- package/dist/runtime/app/components/{forms → FormModal}/FormModal.vue.d.ts +9 -7
- package/dist/runtime/app/components/FormSection/FormSection.d.vue.ts +15 -0
- package/dist/runtime/app/components/FormSection/FormSection.theme.d.ts +12 -0
- package/dist/runtime/app/components/FormSection/FormSection.theme.js +14 -0
- package/dist/runtime/app/components/{forms → FormSection}/FormSection.vue +5 -3
- package/dist/runtime/app/components/FormSection/FormSection.vue.d.ts +15 -0
- package/dist/runtime/app/components/Icon/Icon.d.vue.ts +6 -0
- package/dist/runtime/app/components/Icon/Icon.vue +32 -0
- package/dist/runtime/app/components/Icon/Icon.vue.d.ts +6 -0
- package/dist/runtime/app/components/{actions → Menu}/Menu.d.vue.ts +6 -4
- package/dist/runtime/app/components/Menu/Menu.theme.d.ts +17 -0
- package/dist/runtime/app/components/Menu/Menu.theme.js +20 -0
- package/dist/runtime/app/components/{actions → Menu}/Menu.vue +20 -27
- package/dist/runtime/app/components/{actions → Menu}/Menu.vue.d.ts +6 -4
- package/dist/runtime/app/components/Modal/Modal.d.vue.ts +43 -0
- package/dist/runtime/app/components/Modal/Modal.theme.d.ts +59 -0
- package/dist/runtime/app/components/Modal/Modal.theme.js +47 -0
- package/dist/runtime/app/components/{overlays → Modal}/Modal.vue +89 -32
- package/dist/runtime/app/components/Modal/Modal.vue.d.ts +43 -0
- package/dist/runtime/app/components/{structure → Navbar}/Navbar.d.vue.ts +14 -18
- package/dist/runtime/app/components/Navbar/Navbar.theme.d.ts +31 -0
- package/dist/runtime/app/components/Navbar/Navbar.theme.js +32 -0
- package/dist/runtime/app/components/{structure → Navbar}/Navbar.vue +1 -0
- package/dist/runtime/app/components/{structure → Navbar}/Navbar.vue.d.ts +14 -18
- package/dist/runtime/app/components/NavigationList/NavigationList.d.vue.ts +38 -0
- package/dist/runtime/app/components/NavigationList/NavigationList.theme.d.ts +32 -0
- package/dist/runtime/app/components/NavigationList/NavigationList.theme.js +35 -0
- package/dist/runtime/app/components/{structure/Navigation.vue → NavigationList/NavigationList.vue} +74 -34
- package/dist/runtime/app/components/NavigationList/NavigationList.vue.d.ts +38 -0
- package/dist/runtime/app/components/NavigationMenu/NavigationMenu.d.vue.ts +31 -0
- package/dist/runtime/app/components/NavigationMenu/NavigationMenu.theme.d.ts +26 -0
- package/dist/runtime/app/components/NavigationMenu/NavigationMenu.theme.js +27 -0
- package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue +236 -0
- package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue.d.ts +31 -0
- package/dist/runtime/app/components/NavigationToc/NavigationToc.d.vue.ts +14 -0
- package/dist/runtime/app/components/NavigationToc/NavigationToc.theme.d.ts +9 -0
- package/dist/runtime/app/components/NavigationToc/NavigationToc.theme.js +10 -0
- package/dist/runtime/app/components/NavigationToc/NavigationToc.vue +81 -0
- package/dist/runtime/app/components/NavigationToc/NavigationToc.vue.d.ts +14 -0
- package/dist/runtime/app/components/{structure → Page}/Page.d.vue.ts +6 -5
- package/dist/runtime/app/components/Page/Page.theme.d.ts +32 -0
- package/dist/runtime/app/components/Page/Page.theme.js +31 -0
- package/dist/runtime/app/components/{structure → Page}/Page.vue +11 -3
- package/dist/runtime/app/components/{structure → Page}/Page.vue.d.ts +6 -5
- package/dist/runtime/app/components/{structure → Pagination}/Pagination.d.vue.ts +8 -7
- package/dist/runtime/app/components/Pagination/Pagination.theme.d.ts +13 -0
- package/dist/runtime/app/components/Pagination/Pagination.theme.js +14 -0
- package/dist/runtime/app/components/{structure → Pagination}/Pagination.vue +4 -2
- package/dist/runtime/app/components/{structure → Pagination}/Pagination.vue.d.ts +8 -7
- package/dist/runtime/app/components/{overlays/Modal.d.vue.ts → Slideover/Slideover.d.vue.ts} +10 -18
- package/dist/runtime/app/components/Slideover/Slideover.theme.d.ts +35 -0
- package/dist/runtime/app/components/Slideover/Slideover.theme.js +24 -0
- package/dist/runtime/app/components/Slideover/Slideover.vue +58 -0
- package/dist/runtime/app/components/{overlays/Modal.vue.d.ts → Slideover/Slideover.vue.d.ts} +10 -18
- package/dist/runtime/app/components/State/State.theme.d.ts +19 -0
- package/dist/runtime/app/components/State/State.theme.js +26 -0
- package/dist/runtime/app/components/{structure → State}/State.vue +8 -3
- package/dist/runtime/app/components/{structure → Table}/Table.d.vue.ts +5 -2
- package/dist/runtime/app/components/Table/Table.theme.d.ts +50 -0
- package/dist/runtime/app/components/Table/Table.theme.js +64 -0
- package/dist/runtime/app/components/{structure → Table}/Table.vue +62 -72
- package/dist/runtime/app/components/{structure → Table}/Table.vue.d.ts +5 -2
- package/dist/runtime/app/components/{structure/cells → Table/internal/CellBadge}/CellBadge.vue +2 -1
- package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.theme.d.ts +21 -0
- package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.theme.js +11 -0
- package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.vue +32 -0
- package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.theme.d.ts +5 -0
- package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.theme.js +4 -0
- package/dist/runtime/app/components/{structure/cells → Table/internal/CellCurrency}/CellCurrency.vue +1 -0
- package/dist/runtime/app/components/Table/internal/CellDate/CellDate.theme.d.ts +5 -0
- package/dist/runtime/app/components/Table/internal/CellDate/CellDate.theme.js +4 -0
- package/dist/runtime/app/components/{structure/cells → Table/internal/CellDate}/CellDate.vue +1 -0
- package/dist/runtime/app/components/{structure/cells → Table/internal/CellImage}/CellImage.vue +2 -1
- package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.theme.d.ts +5 -0
- package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.theme.js +4 -0
- package/dist/runtime/app/components/{structure/cells → Table/internal/CellNumber}/CellNumber.vue +1 -0
- package/dist/runtime/app/components/Table/internal/CellText/CellText.theme.d.ts +13 -0
- package/dist/runtime/app/components/Table/internal/CellText/CellText.theme.js +11 -0
- package/dist/runtime/app/components/{structure/cells → Table/internal/CellText}/CellText.vue +1 -0
- package/dist/runtime/app/components/{structure → Table/internal/TableCell}/TableCell.vue +9 -8
- package/dist/runtime/app/{utils → components/Table/internal}/column.js +1 -1
- package/dist/runtime/app/{internal → components/Table/internal}/useVunoTable.d.ts +23 -22
- package/dist/runtime/app/{internal → components/Table/internal}/useVunoTable.js +1 -1
- package/dist/runtime/app/components/Table/internal/useVunoTableSelection.d.ts +21 -0
- package/dist/runtime/app/components/Table/internal/useVunoTableSelection.js +29 -0
- package/dist/runtime/app/components/{structure → Tabs}/Tabs.d.vue.ts +8 -7
- package/dist/runtime/app/components/Tabs/Tabs.theme.d.ts +32 -0
- package/dist/runtime/app/components/Tabs/Tabs.theme.js +23 -0
- package/dist/runtime/app/components/{structure → Tabs}/Tabs.vue +13 -8
- package/dist/runtime/app/components/{structure → Tabs}/Tabs.vue.d.ts +8 -7
- package/dist/runtime/app/components/{actions → Tooltip}/Tooltip.d.vue.ts +6 -6
- package/dist/runtime/app/components/Tooltip/Tooltip.theme.d.ts +12 -0
- package/dist/runtime/app/components/Tooltip/Tooltip.theme.js +13 -0
- package/dist/runtime/app/components/{actions → Tooltip}/Tooltip.vue +10 -23
- package/dist/runtime/app/components/{actions → Tooltip}/Tooltip.vue.d.ts +6 -6
- package/dist/runtime/app/components/{forms → internal/ControlShell}/ControlShell.d.vue.ts +9 -5
- package/dist/runtime/app/components/internal/ControlShell/ControlShell.theme.d.ts +50 -0
- package/dist/runtime/app/components/internal/ControlShell/ControlShell.theme.js +38 -0
- package/dist/runtime/app/components/internal/ControlShell/ControlShell.vue +33 -0
- package/dist/runtime/app/components/{forms → internal/ControlShell}/ControlShell.vue.d.ts +9 -5
- package/dist/runtime/app/components/internal/FieldShell/FieldShell.d.vue.ts +23 -0
- package/dist/runtime/app/components/internal/FieldShell/FieldShell.vue +63 -0
- package/dist/runtime/app/components/internal/FieldShell/FieldShell.vue.d.ts +23 -0
- package/dist/runtime/app/components/{forms → internal/Input}/Input.d.vue.ts +15 -10
- package/dist/runtime/app/components/internal/Input/Input.theme.d.ts +30 -0
- package/dist/runtime/app/components/internal/Input/Input.theme.js +21 -0
- package/dist/runtime/app/components/{forms → internal/Input}/Input.vue +8 -6
- package/dist/runtime/app/components/{forms → internal/Input}/Input.vue.d.ts +15 -10
- package/dist/runtime/app/components/{forms → internal/NumberInput}/NumberInput.d.vue.ts +14 -8
- package/dist/runtime/app/components/internal/NumberInput/NumberInput.theme.d.ts +31 -0
- package/dist/runtime/app/components/internal/NumberInput/NumberInput.theme.js +26 -0
- package/dist/runtime/app/components/internal/NumberInput/NumberInput.vue +221 -0
- package/dist/runtime/app/components/{forms → internal/NumberInput}/NumberInput.vue.d.ts +14 -8
- package/dist/runtime/app/{utils → components/internal/NumberInput}/number.d.ts +7 -0
- package/dist/runtime/app/components/internal/NumberInput/number.js +64 -0
- package/dist/runtime/app/composables/defineShortcuts.d.ts +19 -0
- package/dist/runtime/app/composables/defineShortcuts.js +68 -0
- package/dist/runtime/app/{internal → composables/internal}/useVunoAnchor.d.ts +6 -4
- package/dist/runtime/app/{internal → composables/internal}/useVunoAnchor.js +3 -2
- package/dist/runtime/app/composables/internal/useVunoControlGroup.d.ts +17 -0
- package/dist/runtime/app/composables/internal/useVunoControlGroup.js +18 -0
- package/dist/runtime/app/{internal → composables/internal}/useVunoPortal.d.ts +3 -8
- package/dist/runtime/app/composables/internal/useVunoPortal.js +12 -0
- package/dist/runtime/app/composables/useCrud.js +5 -4
- package/dist/runtime/app/composables/useField.d.ts +3 -3
- package/dist/runtime/app/composables/useField.js +16 -8
- package/dist/runtime/app/composables/useForm.d.ts +3 -0
- package/dist/runtime/app/composables/useForm.js +2 -2
- package/dist/runtime/app/composables/useModal.js +1 -3
- package/dist/runtime/app/composables/useTableQuery.js +29 -13
- package/dist/runtime/app/composables/useTheme.d.ts +3 -2
- package/dist/runtime/app/composables/useTheme.js +4 -2
- package/dist/runtime/app/internal/keys.d.ts +11 -5
- package/dist/runtime/app/internal/keys.js +5 -2
- package/dist/runtime/app/internal/slots.d.ts +3 -0
- package/dist/runtime/app/internal/slots.js +13 -1
- package/dist/runtime/app/plugins/vue-query.d.ts +8 -0
- package/dist/runtime/app/plugins/vue-query.js +13 -0
- package/dist/runtime/app/theme/icons.js +4 -1
- package/dist/runtime/app/theme/index.d.ts +1158 -4
- package/dist/runtime/app/theme/index.js +116 -10
- package/dist/runtime/app/theme/messages.js +10 -3
- package/dist/runtime/app/theme/shared.d.ts +19 -3
- package/dist/runtime/app/theme/shared.js +15 -1
- package/dist/runtime/app/types/alert.d.ts +13 -0
- package/dist/runtime/app/types/base.d.ts +19 -1
- package/dist/runtime/app/types/field-type.d.ts +4 -0
- package/dist/runtime/app/types/field-type.js +0 -0
- package/dist/runtime/app/types/field.d.ts +132 -26
- package/dist/runtime/app/types/form.d.ts +27 -1
- package/dist/runtime/app/types/index.d.ts +15 -12
- package/dist/runtime/app/types/page.d.ts +9 -1
- package/dist/runtime/app/types/shortcuts.d.ts +44 -0
- package/dist/runtime/app/types/shortcuts.js +0 -0
- package/dist/runtime/app/types/slots.d.ts +30 -0
- package/dist/runtime/app/types/slots.js +0 -0
- package/dist/runtime/app/types/state.d.ts +3 -3
- package/dist/runtime/app/types/table.d.ts +3 -2
- package/dist/runtime/app/types/theme.d.ts +51 -13
- package/dist/runtime/app/utils/format.js +2 -2
- package/dist/runtime/app/utils/path.js +4 -2
- package/dist/runtime/app/utils/theme.d.ts +19 -1
- package/dist/runtime/app/utils/theme.js +21 -3
- package/package.json +18 -3
- package/dist/runtime/app/components/actions/Icon.d.vue.ts +0 -6
- package/dist/runtime/app/components/actions/Icon.vue +0 -32
- package/dist/runtime/app/components/actions/Icon.vue.d.ts +0 -6
- package/dist/runtime/app/components/forms/ControlShell.vue +0 -19
- package/dist/runtime/app/components/forms/FormFieldRenderer.d.vue.ts +0 -7
- package/dist/runtime/app/components/forms/FormFieldRenderer.vue +0 -88
- package/dist/runtime/app/components/forms/FormFieldRenderer.vue.d.ts +0 -7
- package/dist/runtime/app/components/forms/FormSection.d.vue.ts +0 -12
- package/dist/runtime/app/components/forms/FormSection.vue.d.ts +0 -12
- package/dist/runtime/app/components/forms/NumberInput.vue +0 -160
- package/dist/runtime/app/components/forms/Select.d.vue.ts +0 -61
- package/dist/runtime/app/components/forms/Select.vue +0 -336
- package/dist/runtime/app/components/forms/Select.vue.d.ts +0 -61
- package/dist/runtime/app/components/forms/fields/FieldArray.d.vue.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldArray.vue +0 -129
- package/dist/runtime/app/components/forms/fields/FieldArray.vue.d.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldCheckbox.d.vue.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldCheckbox.vue +0 -31
- package/dist/runtime/app/components/forms/fields/FieldCheckbox.vue.d.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldColor.d.vue.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldColor.vue.d.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldEmail.d.vue.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldEmail.vue +0 -38
- package/dist/runtime/app/components/forms/fields/FieldEmail.vue.d.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldFile.vue +0 -91
- package/dist/runtime/app/components/forms/fields/FieldNumber.d.vue.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldNumber.vue +0 -39
- package/dist/runtime/app/components/forms/fields/FieldNumber.vue.d.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldPassword.d.vue.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldPassword.vue +0 -36
- package/dist/runtime/app/components/forms/fields/FieldPassword.vue.d.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldRadio.d.vue.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldRadio.vue +0 -33
- package/dist/runtime/app/components/forms/fields/FieldRadio.vue.d.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldSelect.d.vue.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldSelect.vue +0 -37
- package/dist/runtime/app/components/forms/fields/FieldSelect.vue.d.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldSlug.d.vue.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldSlug.vue.d.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldSwitch.d.vue.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldSwitch.vue +0 -29
- package/dist/runtime/app/components/forms/fields/FieldSwitch.vue.d.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldText.d.vue.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldText.vue +0 -39
- package/dist/runtime/app/components/forms/fields/FieldText.vue.d.ts +0 -5
- package/dist/runtime/app/components/forms/fields/FieldTextarea.vue +0 -37
- package/dist/runtime/app/components/layouts/dashboard/DashboardAside.d.vue.ts +0 -56
- package/dist/runtime/app/components/layouts/dashboard/DashboardAside.vue +0 -96
- package/dist/runtime/app/components/layouts/dashboard/DashboardAside.vue.d.ts +0 -56
- package/dist/runtime/app/components/layouts/dashboard/DashboardLayout.d.vue.ts +0 -57
- package/dist/runtime/app/components/layouts/dashboard/DashboardLayout.vue +0 -164
- package/dist/runtime/app/components/layouts/dashboard/DashboardLayout.vue.d.ts +0 -57
- package/dist/runtime/app/components/layouts/dashboard/DashboardPage.d.vue.ts +0 -49
- package/dist/runtime/app/components/layouts/dashboard/DashboardPage.vue +0 -45
- package/dist/runtime/app/components/layouts/dashboard/DashboardPage.vue.d.ts +0 -49
- package/dist/runtime/app/components/layouts/public/PublicLayout.d.vue.ts +0 -50
- package/dist/runtime/app/components/layouts/public/PublicLayout.vue +0 -56
- package/dist/runtime/app/components/layouts/public/PublicLayout.vue.d.ts +0 -50
- package/dist/runtime/app/components/overlays/Context.d.vue.ts +0 -3
- package/dist/runtime/app/components/overlays/Context.vue +0 -7
- package/dist/runtime/app/components/overlays/Context.vue.d.ts +0 -3
- package/dist/runtime/app/components/overlays/Overlay.d.vue.ts +0 -7
- package/dist/runtime/app/components/overlays/Overlay.vue.d.ts +0 -7
- package/dist/runtime/app/components/structure/Navigation.d.vue.ts +0 -14
- package/dist/runtime/app/components/structure/Navigation.vue.d.ts +0 -14
- package/dist/runtime/app/components/structure/cells/CellBoolean.vue +0 -26
- package/dist/runtime/app/composables/useDashboard.d.ts +0 -14
- package/dist/runtime/app/composables/useDashboard.js +0 -9
- package/dist/runtime/app/internal/useVunoDashboard.d.ts +0 -15
- package/dist/runtime/app/internal/useVunoDashboard.js +0 -5
- package/dist/runtime/app/internal/useVunoPortal.js +0 -8
- package/dist/runtime/app/theme/actions.d.ts +0 -2
- package/dist/runtime/app/theme/actions.js +0 -123
- package/dist/runtime/app/theme/forms.d.ts +0 -2
- package/dist/runtime/app/theme/forms.js +0 -442
- package/dist/runtime/app/theme/layouts.d.ts +0 -2
- package/dist/runtime/app/theme/layouts.js +0 -76
- package/dist/runtime/app/theme/overlays.d.ts +0 -2
- package/dist/runtime/app/theme/overlays.js +0 -90
- package/dist/runtime/app/theme/structure.d.ts +0 -2
- package/dist/runtime/app/theme/structure.js +0 -351
- package/dist/runtime/app/types/dashboard.d.ts +0 -7
- package/dist/runtime/app/utils/number.js +0 -30
- package/dist/runtime/app/utils/standard-schema.d.ts +0 -62
- /package/dist/runtime/app/{utils → components/FieldSelect/internal/Select}/option.js +0 -0
- /package/dist/runtime/app/{utils → components/Form/internal}/grid.d.ts +0 -0
- /package/dist/runtime/app/{utils → components/Form/internal}/grid.js +0 -0
- /package/dist/runtime/app/{utils → components/Form/internal}/standard-schema.js +0 -0
- /package/dist/runtime/app/components/{structure → State}/State.d.vue.ts +0 -0
- /package/dist/runtime/app/components/{structure → State}/State.vue.d.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellBadge}/CellBadge.d.vue.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellBadge}/CellBadge.vue.d.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellBoolean}/CellBoolean.d.vue.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellBoolean}/CellBoolean.vue.d.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellCurrency}/CellCurrency.d.vue.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellCurrency}/CellCurrency.vue.d.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellDate}/CellDate.d.vue.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellDate}/CellDate.vue.d.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellImage}/CellImage.d.vue.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellImage}/CellImage.vue.d.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellNumber}/CellNumber.d.vue.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellNumber}/CellNumber.vue.d.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellText}/CellText.d.vue.ts +0 -0
- /package/dist/runtime/app/components/{structure/cells → Table/internal/CellText}/CellText.vue.d.ts +0 -0
- /package/dist/runtime/app/components/{structure → Table/internal/TableCell}/TableCell.d.vue.ts +0 -0
- /package/dist/runtime/app/components/{structure → Table/internal/TableCell}/TableCell.vue.d.ts +0 -0
- /package/dist/runtime/app/{utils → components/Table/internal}/column.d.ts +0 -0
- /package/dist/runtime/app/{utils → components/Table/internal}/query.d.ts +0 -0
- /package/dist/runtime/app/{utils → components/Table/internal}/query.js +0 -0
- /package/dist/runtime/app/{utils → components/Table/internal}/selection.d.ts +0 -0
- /package/dist/runtime/app/{utils → components/Table/internal}/selection.js +0 -0
- /package/dist/runtime/app/types/{dashboard.js → alert.js} +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** El apilado lo añade `Overlay`; aquí solo lo que sea del proyecto. */
|
|
2
|
+
export declare const toastTheme: Record<"toast", {
|
|
3
|
+
readonly slots: {
|
|
4
|
+
readonly body: "min-w-0 flex-1";
|
|
5
|
+
readonly description: "mt-1 text-sm text-vuno-muted";
|
|
6
|
+
readonly icon: "mt-0.5 size-5 shrink-0 text-(--vuno-accent)";
|
|
7
|
+
readonly root: "flex w-full items-start gap-3 rounded-sm bg-vuno-surface-1 p-3 shadow-lg ring ring-(--vuno-accent)/25";
|
|
8
|
+
readonly title: "text-sm font-medium text-vuno-strong";
|
|
9
|
+
};
|
|
10
|
+
readonly variants: {
|
|
11
|
+
readonly color: Record<import("../../../../types/base.js").VunoColor, Record<"root", string>>;
|
|
12
|
+
};
|
|
13
|
+
}>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { accentByColor } from "#vuno/theme/shared";
|
|
2
|
+
import { defineTheme } from "#vuno/utils/theme";
|
|
3
|
+
export const toastTheme = defineTheme("toast", {
|
|
4
|
+
slots: {
|
|
5
|
+
body: "min-w-0 flex-1",
|
|
6
|
+
description: "mt-1 text-sm text-vuno-muted",
|
|
7
|
+
/*
|
|
8
|
+
* La tarjeta declara el acento para que el icono lo herede y el
|
|
9
|
+
* anillo diferencie el estado sin teñir toda la superficie. Un
|
|
10
|
+
* nombre compuesto como `text-${color}` no serviría: Tailwind no
|
|
11
|
+
* genera una clase que nunca aparece literal en el código.
|
|
12
|
+
*/
|
|
13
|
+
icon: "mt-0.5 size-5 shrink-0 text-(--vuno-accent)",
|
|
14
|
+
root: "flex w-full items-start gap-3 rounded-sm bg-vuno-surface-1 p-3 shadow-lg ring ring-(--vuno-accent)/25",
|
|
15
|
+
title: "text-sm font-medium text-vuno-strong"
|
|
16
|
+
},
|
|
17
|
+
variants: { color: accentByColor("root") }
|
|
18
|
+
});
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed } from "vue";
|
|
3
|
-
import Button from "#vuno/components/actions/Button.vue";
|
|
4
|
-
import Icon from "#vuno/components/actions/Icon.vue";
|
|
5
3
|
import { useIcons, useMessages, useTheme } from "#vuno/composables/useTheme";
|
|
4
|
+
import Button from "#vuno/components/Button/Button.vue";
|
|
5
|
+
import Icon from "#vuno/components/Icon/Icon.vue";
|
|
6
|
+
defineOptions({ name: "VunoToast" });
|
|
6
7
|
const props = defineProps({
|
|
7
8
|
notification: { type: Object, required: true }
|
|
8
9
|
});
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { VunoNotification } from '#vuno/types/app';
|
|
2
|
-
type
|
|
2
|
+
type Props = {
|
|
3
3
|
notification: VunoNotification;
|
|
4
4
|
};
|
|
5
|
-
declare const __VLS_export: import("vue").DefineComponent<
|
|
5
|
+
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
6
|
dismiss: () => any;
|
|
7
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
7
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
8
8
|
onDismiss?: (() => any) | undefined;
|
|
9
9
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
10
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { VunoNotification } from '#vuno/types/app';
|
|
2
|
-
type
|
|
2
|
+
type Props = {
|
|
3
3
|
notifications: VunoNotification[];
|
|
4
4
|
};
|
|
5
|
-
declare const __VLS_export: import("vue").DefineComponent<
|
|
5
|
+
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
6
|
dismiss: (id: number) => any;
|
|
7
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
7
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
8
8
|
onDismiss?: ((id: number) => any) | undefined;
|
|
9
9
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
10
|
declare const _default: typeof __VLS_export;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const toasterTheme: Record<"toaster", {
|
|
2
|
+
readonly slots: {
|
|
3
|
+
/** Entra deslizando desde la derecha; sale encogiendo. */
|
|
4
|
+
readonly enterActive: "transition duration-200 ease-out";
|
|
5
|
+
readonly enterFrom: "translate-x-4 opacity-0";
|
|
6
|
+
readonly item: "pointer-events-auto";
|
|
7
|
+
readonly leaveActive: "absolute inset-x-0 transition duration-150 ease-in";
|
|
8
|
+
readonly leaveTo: "translate-x-4 opacity-0";
|
|
9
|
+
readonly list: "flex flex-col gap-2";
|
|
10
|
+
/** Sin esto, al cerrar una de en medio las de abajo dan un salto. */
|
|
11
|
+
readonly move: "transition-transform duration-200 ease-out";
|
|
12
|
+
/** Fijo arriba a la derecha; en móvil ocupa el ancho con margen. */
|
|
13
|
+
readonly root: "pointer-events-none fixed inset-x-4 top-4 z-100 flex flex-col gap-2 sm:left-auto sm:w-96";
|
|
14
|
+
};
|
|
15
|
+
}>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defineTheme } from "#vuno/utils/theme";
|
|
2
|
+
export const toasterTheme = defineTheme("toaster", {
|
|
3
|
+
slots: {
|
|
4
|
+
/** Entra deslizando desde la derecha; sale encogiendo. */
|
|
5
|
+
enterActive: "transition duration-200 ease-out",
|
|
6
|
+
enterFrom: "translate-x-4 opacity-0",
|
|
7
|
+
item: "pointer-events-auto",
|
|
8
|
+
leaveActive: "absolute inset-x-0 transition duration-150 ease-in",
|
|
9
|
+
leaveTo: "translate-x-4 opacity-0",
|
|
10
|
+
list: "flex flex-col gap-2",
|
|
11
|
+
/** Sin esto, al cerrar una de en medio las de abajo dan un salto. */
|
|
12
|
+
move: "transition-transform duration-200 ease-out",
|
|
13
|
+
/** Fijo arriba a la derecha; en móvil ocupa el ancho con margen. */
|
|
14
|
+
root: "pointer-events-none fixed inset-x-4 top-4 z-100 flex flex-col gap-2 sm:left-auto sm:w-96"
|
|
15
|
+
}
|
|
16
|
+
});
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { nextTick, ref, watch } from "vue";
|
|
3
|
-
import Toast from "#vuno/components/overlays/Toast.vue";
|
|
4
3
|
import { useTheme } from "#vuno/composables/useTheme";
|
|
4
|
+
import Toast from "#vuno/components/App/internal/Toast/Toast.vue";
|
|
5
|
+
defineOptions({ name: "VunoToaster" });
|
|
5
6
|
const props = defineProps({
|
|
6
7
|
notifications: { type: Array, required: true }
|
|
7
8
|
});
|
|
8
9
|
const emit = defineEmits(["dismiss"]);
|
|
9
10
|
const ui = useTheme("toaster");
|
|
10
|
-
const polite = ref("");
|
|
11
11
|
const assertive = ref("");
|
|
12
|
+
const polite = ref("");
|
|
12
13
|
const announced = /* @__PURE__ */ new Set();
|
|
13
14
|
const owners = { assertive: null, polite: null };
|
|
14
15
|
async function announce(region, text) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { VunoNotification } from '#vuno/types/app';
|
|
2
|
-
type
|
|
2
|
+
type Props = {
|
|
3
3
|
notifications: VunoNotification[];
|
|
4
4
|
};
|
|
5
|
-
declare const __VLS_export: import("vue").DefineComponent<
|
|
5
|
+
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
6
|
dismiss: (id: number) => any;
|
|
7
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
7
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
8
8
|
onDismiss?: ((id: number) => any) | undefined;
|
|
9
9
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
10
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { VunoRadius, VunoSize } from '#vuno/types/base';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
2
3
|
/**
|
|
3
4
|
* La imagen redonda de una fila: una foto de producto, un logotipo, una
|
|
4
5
|
* persona.
|
|
@@ -7,17 +8,20 @@ import type { VunoSize, VunoSlots } from '#vuno/types/base';
|
|
|
7
8
|
* de la fila, y de ahí salen también las iniciales cuando no hay imagen que
|
|
8
9
|
* enseñar.
|
|
9
10
|
*/
|
|
10
|
-
type
|
|
11
|
+
type Props = {
|
|
11
12
|
alt?: string;
|
|
13
|
+
/** La curvatura. Sin valor, la que traiga el tema. */
|
|
14
|
+
radius?: VunoRadius;
|
|
12
15
|
size?: VunoSize;
|
|
13
16
|
src?: string;
|
|
14
|
-
ui?:
|
|
17
|
+
ui?: VunoUi<'avatar'>;
|
|
15
18
|
};
|
|
16
|
-
declare const __VLS_export: import("vue").DefineComponent<
|
|
19
|
+
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
20
|
+
radius: VunoRadius;
|
|
17
21
|
size: VunoSize;
|
|
18
22
|
alt: string;
|
|
23
|
+
ui: VunoUi<"avatar">;
|
|
19
24
|
src: string;
|
|
20
|
-
ui: VunoSlots;
|
|
21
25
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
22
26
|
declare const _default: typeof __VLS_export;
|
|
23
27
|
export default _default;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare const avatarTheme: Record<"avatar", {
|
|
2
|
+
/**
|
|
3
|
+
* La escala es la de Nuxt UI y no una propia, para que `size: 'sm'` siga
|
|
4
|
+
* midiendo los mismos 28 px que hoy en la columna de imagen.
|
|
5
|
+
*/
|
|
6
|
+
readonly slots: {
|
|
7
|
+
readonly image: "size-full rounded-[inherit] object-cover";
|
|
8
|
+
readonly root: "inline-flex shrink-0 items-center justify-center rounded-sm bg-vuno-surface-1 align-middle font-medium text-vuno-muted select-none";
|
|
9
|
+
};
|
|
10
|
+
readonly variants: {
|
|
11
|
+
readonly radius: Record<import("../../types/base.js").VunoRadius, Record<"root", string>>;
|
|
12
|
+
readonly size: {
|
|
13
|
+
readonly xs: {
|
|
14
|
+
readonly root: "size-6 text-xs";
|
|
15
|
+
};
|
|
16
|
+
readonly sm: {
|
|
17
|
+
readonly root: "size-7 text-sm";
|
|
18
|
+
};
|
|
19
|
+
readonly md: {
|
|
20
|
+
readonly root: "size-8 text-sm";
|
|
21
|
+
};
|
|
22
|
+
readonly lg: {
|
|
23
|
+
readonly root: "size-9 text-sm";
|
|
24
|
+
};
|
|
25
|
+
readonly xl: {
|
|
26
|
+
readonly root: "size-10 text-base";
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
}>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { radiusByStep } from "#vuno/theme/shared";
|
|
2
|
+
import { defineTheme } from "#vuno/utils/theme";
|
|
3
|
+
export const avatarTheme = defineTheme("avatar", {
|
|
4
|
+
/**
|
|
5
|
+
* La escala es la de Nuxt UI y no una propia, para que `size: 'sm'` siga
|
|
6
|
+
* midiendo los mismos 28 px que hoy en la columna de imagen.
|
|
7
|
+
*/
|
|
8
|
+
slots: {
|
|
9
|
+
image: "size-full rounded-[inherit] object-cover",
|
|
10
|
+
root: "inline-flex shrink-0 items-center justify-center rounded-sm bg-vuno-surface-1 align-middle font-medium text-vuno-muted select-none"
|
|
11
|
+
},
|
|
12
|
+
variants: {
|
|
13
|
+
radius: radiusByStep("root"),
|
|
14
|
+
size: {
|
|
15
|
+
xs: { root: "size-6 text-xs" },
|
|
16
|
+
sm: { root: "size-7 text-sm" },
|
|
17
|
+
md: { root: "size-8 text-sm" },
|
|
18
|
+
lg: { root: "size-9 text-sm" },
|
|
19
|
+
xl: { root: "size-10 text-base" }
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
});
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed, ref, watch } from "vue";
|
|
3
3
|
import { useTheme } from "#vuno/composables/useTheme";
|
|
4
|
+
defineOptions({ name: "VunoAvatar" });
|
|
4
5
|
const props = defineProps({
|
|
5
6
|
alt: { type: String, required: false, default: "" },
|
|
7
|
+
radius: { type: String, required: false, default: void 0 },
|
|
6
8
|
size: { type: String, required: false, default: "md" },
|
|
7
9
|
src: { type: String, required: false, default: void 0 },
|
|
8
10
|
ui: { type: Object, required: false, default: void 0 }
|
|
@@ -10,19 +12,19 @@ const props = defineProps({
|
|
|
10
12
|
const ui = useTheme(
|
|
11
13
|
"avatar",
|
|
12
14
|
() => props.ui,
|
|
13
|
-
() => ({ size: props.size })
|
|
15
|
+
() => ({ radius: props.radius, size: props.size })
|
|
14
16
|
);
|
|
15
17
|
const failed = ref(false);
|
|
18
|
+
const showImage = computed(() => Boolean(props.src) && !failed.value);
|
|
19
|
+
const initials = computed(
|
|
20
|
+
() => props.alt.split(/\s+/).filter(Boolean).slice(0, 2).map((word) => [...word][0]?.toLocaleUpperCase() ?? "").join("")
|
|
21
|
+
);
|
|
16
22
|
watch(
|
|
17
23
|
() => props.src,
|
|
18
24
|
() => {
|
|
19
25
|
failed.value = false;
|
|
20
26
|
}
|
|
21
27
|
);
|
|
22
|
-
const showImage = computed(() => Boolean(props.src) && !failed.value);
|
|
23
|
-
const initials = computed(
|
|
24
|
-
() => props.alt.split(/\s+/).filter(Boolean).slice(0, 2).map((word) => [...word][0]?.toLocaleUpperCase() ?? "").join("")
|
|
25
|
-
);
|
|
26
28
|
</script>
|
|
27
29
|
|
|
28
30
|
<template>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { VunoRadius, VunoSize } from '#vuno/types/base';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
2
3
|
/**
|
|
3
4
|
* La imagen redonda de una fila: una foto de producto, un logotipo, una
|
|
4
5
|
* persona.
|
|
@@ -7,17 +8,20 @@ import type { VunoSize, VunoSlots } from '#vuno/types/base';
|
|
|
7
8
|
* de la fila, y de ahí salen también las iniciales cuando no hay imagen que
|
|
8
9
|
* enseñar.
|
|
9
10
|
*/
|
|
10
|
-
type
|
|
11
|
+
type Props = {
|
|
11
12
|
alt?: string;
|
|
13
|
+
/** La curvatura. Sin valor, la que traiga el tema. */
|
|
14
|
+
radius?: VunoRadius;
|
|
12
15
|
size?: VunoSize;
|
|
13
16
|
src?: string;
|
|
14
|
-
ui?:
|
|
17
|
+
ui?: VunoUi<'avatar'>;
|
|
15
18
|
};
|
|
16
|
-
declare const __VLS_export: import("vue").DefineComponent<
|
|
19
|
+
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
20
|
+
radius: VunoRadius;
|
|
17
21
|
size: VunoSize;
|
|
18
22
|
alt: string;
|
|
23
|
+
ui: VunoUi<"avatar">;
|
|
19
24
|
src: string;
|
|
20
|
-
ui: VunoSlots;
|
|
21
25
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
22
26
|
declare const _default: typeof __VLS_export;
|
|
23
27
|
export default _default;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { VunoColor,
|
|
1
|
+
import type { VunoColor, VunoRadius, VunoSize } from '#vuno/types/base';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
2
3
|
/**
|
|
3
4
|
* Una etiqueta de estado: el estado de una fila, el contador de filtros
|
|
4
5
|
* activos, el resumen de un filtro puesto.
|
|
@@ -8,23 +9,26 @@ import type { VunoColor, VunoSize, VunoSlots } from '#vuno/types/base';
|
|
|
8
9
|
* pulsa sea ese y no la etiqueta entera.
|
|
9
10
|
*/
|
|
10
11
|
type VunoBadgeVariant = 'outline' | 'soft' | 'solid' | 'subtle';
|
|
11
|
-
type
|
|
12
|
+
type Props = {
|
|
12
13
|
color?: VunoColor;
|
|
13
14
|
label?: string;
|
|
15
|
+
/** La curvatura. Sin valor, la que traiga el tema. */
|
|
16
|
+
radius?: VunoRadius;
|
|
14
17
|
size?: VunoSize;
|
|
15
|
-
ui?:
|
|
18
|
+
ui?: VunoUi<'badge'>;
|
|
16
19
|
variant?: VunoBadgeVariant;
|
|
17
20
|
};
|
|
18
21
|
declare var __VLS_1: {};
|
|
19
22
|
type __VLS_Slots = {} & {
|
|
20
23
|
default?: (props: typeof __VLS_1) => any;
|
|
21
24
|
};
|
|
22
|
-
declare const __VLS_base: import("vue").DefineComponent<
|
|
25
|
+
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
23
26
|
color: VunoColor;
|
|
27
|
+
radius: VunoRadius;
|
|
24
28
|
size: VunoSize;
|
|
25
29
|
variant: VunoBadgeVariant;
|
|
26
30
|
label: string;
|
|
27
|
-
ui:
|
|
31
|
+
ui: VunoUi<"badge">;
|
|
28
32
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
29
33
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
30
34
|
declare const _default: typeof __VLS_export;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const badgeTheme: Record<"badge", {
|
|
2
|
+
readonly slots: {
|
|
3
|
+
readonly base: "inline-flex shrink-0 items-center rounded-sm font-medium";
|
|
4
|
+
};
|
|
5
|
+
readonly variants: {
|
|
6
|
+
readonly color: Record<import("../../types/base.js").VunoColor, Record<"base", string>>;
|
|
7
|
+
readonly radius: Record<import("../../types/base.js").VunoRadius, Record<"base", string>>;
|
|
8
|
+
readonly size: {
|
|
9
|
+
readonly xs: {
|
|
10
|
+
readonly base: "gap-0.5 px-1.5 py-0.5 text-xs";
|
|
11
|
+
};
|
|
12
|
+
readonly sm: {
|
|
13
|
+
readonly base: "gap-1 px-1.5 py-0.5 text-xs";
|
|
14
|
+
};
|
|
15
|
+
readonly md: {
|
|
16
|
+
readonly base: "gap-1 px-2 py-0.5 text-xs";
|
|
17
|
+
};
|
|
18
|
+
readonly lg: {
|
|
19
|
+
readonly base: "gap-1.5 px-2 py-1 text-sm";
|
|
20
|
+
};
|
|
21
|
+
readonly xl: {
|
|
22
|
+
readonly base: "gap-1.5 px-2.5 py-1 text-sm";
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
readonly variant: {
|
|
26
|
+
readonly outline: {
|
|
27
|
+
readonly base: "border border-(--vuno-accent) text-(--vuno-accent)";
|
|
28
|
+
};
|
|
29
|
+
readonly soft: {
|
|
30
|
+
readonly base: "bg-(--vuno-accent)/10 text-(--vuno-accent)";
|
|
31
|
+
};
|
|
32
|
+
readonly solid: {
|
|
33
|
+
readonly base: "bg-(--vuno-accent) text-(--vuno-accent-contrast)";
|
|
34
|
+
};
|
|
35
|
+
readonly subtle: {
|
|
36
|
+
readonly base: "bg-(--vuno-accent)/10 text-(--vuno-accent) ring-1 ring-(--vuno-accent)/25 ring-inset";
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
}>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { accentByColor, radiusByStep } from "#vuno/theme/shared";
|
|
2
|
+
import { defineTheme } from "#vuno/utils/theme";
|
|
3
|
+
export const badgeTheme = defineTheme("badge", {
|
|
4
|
+
slots: { base: "inline-flex shrink-0 items-center rounded-sm font-medium" },
|
|
5
|
+
variants: {
|
|
6
|
+
color: accentByColor("base"),
|
|
7
|
+
radius: radiusByStep("base"),
|
|
8
|
+
size: {
|
|
9
|
+
xs: { base: "gap-0.5 px-1.5 py-0.5 text-xs" },
|
|
10
|
+
sm: { base: "gap-1 px-1.5 py-0.5 text-xs" },
|
|
11
|
+
md: { base: "gap-1 px-2 py-0.5 text-xs" },
|
|
12
|
+
lg: { base: "gap-1.5 px-2 py-1 text-sm" },
|
|
13
|
+
xl: { base: "gap-1.5 px-2.5 py-1 text-sm" }
|
|
14
|
+
},
|
|
15
|
+
variant: {
|
|
16
|
+
outline: { base: "border border-(--vuno-accent) text-(--vuno-accent)" },
|
|
17
|
+
soft: { base: "bg-(--vuno-accent)/10 text-(--vuno-accent)" },
|
|
18
|
+
solid: { base: "bg-(--vuno-accent) text-(--vuno-accent-contrast)" },
|
|
19
|
+
subtle: { base: "bg-(--vuno-accent)/10 text-(--vuno-accent) ring-1 ring-(--vuno-accent)/25 ring-inset" }
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
});
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { useTheme } from "#vuno/composables/useTheme";
|
|
3
|
+
defineOptions({ name: "VunoBadge" });
|
|
3
4
|
const props = defineProps({
|
|
4
5
|
color: { type: String, required: false, default: "primary" },
|
|
5
6
|
label: { type: String, required: false, default: void 0 },
|
|
7
|
+
radius: { type: String, required: false, default: void 0 },
|
|
6
8
|
size: { type: String, required: false, default: "md" },
|
|
7
9
|
ui: { type: Object, required: false, default: void 0 },
|
|
8
10
|
variant: { type: String, required: false, default: "solid" }
|
|
@@ -12,6 +14,7 @@ const ui = useTheme(
|
|
|
12
14
|
() => props.ui,
|
|
13
15
|
() => ({
|
|
14
16
|
color: props.color,
|
|
17
|
+
radius: props.radius,
|
|
15
18
|
size: props.size,
|
|
16
19
|
variant: props.variant
|
|
17
20
|
})
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { VunoColor,
|
|
1
|
+
import type { VunoColor, VunoRadius, VunoSize } from '#vuno/types/base';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
2
3
|
/**
|
|
3
4
|
* Una etiqueta de estado: el estado de una fila, el contador de filtros
|
|
4
5
|
* activos, el resumen de un filtro puesto.
|
|
@@ -8,23 +9,26 @@ import type { VunoColor, VunoSize, VunoSlots } from '#vuno/types/base';
|
|
|
8
9
|
* pulsa sea ese y no la etiqueta entera.
|
|
9
10
|
*/
|
|
10
11
|
type VunoBadgeVariant = 'outline' | 'soft' | 'solid' | 'subtle';
|
|
11
|
-
type
|
|
12
|
+
type Props = {
|
|
12
13
|
color?: VunoColor;
|
|
13
14
|
label?: string;
|
|
15
|
+
/** La curvatura. Sin valor, la que traiga el tema. */
|
|
16
|
+
radius?: VunoRadius;
|
|
14
17
|
size?: VunoSize;
|
|
15
|
-
ui?:
|
|
18
|
+
ui?: VunoUi<'badge'>;
|
|
16
19
|
variant?: VunoBadgeVariant;
|
|
17
20
|
};
|
|
18
21
|
declare var __VLS_1: {};
|
|
19
22
|
type __VLS_Slots = {} & {
|
|
20
23
|
default?: (props: typeof __VLS_1) => any;
|
|
21
24
|
};
|
|
22
|
-
declare const __VLS_base: import("vue").DefineComponent<
|
|
25
|
+
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
23
26
|
color: VunoColor;
|
|
27
|
+
radius: VunoRadius;
|
|
24
28
|
size: VunoSize;
|
|
25
29
|
variant: VunoBadgeVariant;
|
|
26
30
|
label: string;
|
|
27
|
-
ui:
|
|
31
|
+
ui: VunoUi<"badge">;
|
|
28
32
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
29
33
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
30
34
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { VunoColor,
|
|
1
|
+
import type { VunoColor, VunoRadius, VunoSize } from '#vuno/types/base';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
2
3
|
type VunoButtonVariant = 'ghost' | 'link' | 'outline' | 'soft' | 'solid';
|
|
3
|
-
type
|
|
4
|
+
type Props = {
|
|
4
5
|
color?: VunoColor;
|
|
5
6
|
disabled?: boolean;
|
|
6
7
|
/** Nombre Iconify, como los de `useIcons`. */
|
|
@@ -8,6 +9,8 @@ type __VLS_Props = {
|
|
|
8
9
|
label?: string;
|
|
9
10
|
/** Bloquea el botón y sustituye el icono por un giro. */
|
|
10
11
|
loading?: boolean;
|
|
12
|
+
/** La curvatura. Sin valor, la que traiga el tema. */
|
|
13
|
+
radius?: VunoRadius;
|
|
11
14
|
size?: VunoSize;
|
|
12
15
|
/** El icono va detrás de la etiqueta en vez de delante. */
|
|
13
16
|
trailing?: boolean;
|
|
@@ -17,7 +20,7 @@ type __VLS_Props = {
|
|
|
17
20
|
* convierte cualquier acción secundaria en un envío accidental.
|
|
18
21
|
*/
|
|
19
22
|
type?: 'button' | 'reset' | 'submit';
|
|
20
|
-
ui?:
|
|
23
|
+
ui?: VunoUi<'button'>;
|
|
21
24
|
variant?: VunoButtonVariant;
|
|
22
25
|
};
|
|
23
26
|
type __VLS_Slots = {
|
|
@@ -26,14 +29,15 @@ type __VLS_Slots = {
|
|
|
26
29
|
/** Va después de todo lo demás; la tabla mete ahí su contador. */
|
|
27
30
|
trailing?: () => unknown;
|
|
28
31
|
};
|
|
29
|
-
declare const __VLS_base: import("vue").DefineComponent<
|
|
32
|
+
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
30
33
|
color: VunoColor;
|
|
31
34
|
icon: string;
|
|
32
|
-
|
|
35
|
+
radius: VunoRadius;
|
|
33
36
|
size: VunoSize;
|
|
34
37
|
variant: VunoButtonVariant;
|
|
35
38
|
label: string;
|
|
36
|
-
|
|
39
|
+
type: "button" | "reset" | "submit";
|
|
40
|
+
ui: VunoUi<"button">;
|
|
37
41
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
38
42
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
39
43
|
declare const _default: typeof __VLS_export;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export declare const buttonTheme: Record<"button", {
|
|
2
|
+
/**
|
|
3
|
+
* El botón, y el primer componente propio del que todo lo demás cuelga.
|
|
4
|
+
*
|
|
5
|
+
* Las combinaciones no se escriben: la dimensión `color` solo asigna las
|
|
6
|
+
* variables de acento y la dimensión `variant` las consume, así que siete
|
|
7
|
+
* colores y cinco variantes son doce entradas en vez de treinta y cinco.
|
|
8
|
+
* `shape` no depende del tamaño porque un `aspect-square` ya cuadra la
|
|
9
|
+
* altura que haya puesto `size`.
|
|
10
|
+
*/
|
|
11
|
+
readonly slots: {
|
|
12
|
+
readonly base: "inline-flex shrink-0 cursor-pointer items-center justify-center rounded-sm font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--vuno-accent) disabled:pointer-events-none disabled:opacity-50";
|
|
13
|
+
readonly icon: "shrink-0";
|
|
14
|
+
/**
|
|
15
|
+
* Caja y no texto suelto: el contenido del slot puede ser cualquier
|
|
16
|
+
* cosa —la muestra de color del campo es un `span` con `size-4`— y
|
|
17
|
+
* dentro de un envoltorio en línea el ancho y el alto no se aplican.
|
|
18
|
+
* Con una muestra de 16 px dio 2, que era solo su borde.
|
|
19
|
+
*/
|
|
20
|
+
readonly label: "inline-flex items-center";
|
|
21
|
+
/** El giro se dibuja con un borde: un icono más sería otra descarga. */
|
|
22
|
+
readonly spinner: "shrink-0 animate-spin rounded-full border-2 border-current border-t-transparent";
|
|
23
|
+
};
|
|
24
|
+
readonly variants: {
|
|
25
|
+
readonly color: Record<import("../../types/base.js").VunoColor, Record<"base", string>>;
|
|
26
|
+
readonly groupOrientation: {
|
|
27
|
+
readonly horizontal: {
|
|
28
|
+
readonly base: "not-last:not-first:rounded-none not-only:first:rounded-e-none not-only:last:rounded-s-none focus-visible:z-1";
|
|
29
|
+
};
|
|
30
|
+
readonly vertical: {
|
|
31
|
+
readonly base: "not-last:not-first:rounded-none not-only:first:rounded-b-none not-only:last:rounded-t-none focus-visible:z-1";
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
readonly radius: Record<import("../../types/base.js").VunoRadius, Record<"base", string>>;
|
|
35
|
+
/**
|
|
36
|
+
* Sin etiqueta el botón es cuadrado, y eso sí combina con el
|
|
37
|
+
* tamaño: por eso `size` publica su altura en una variable y aquí
|
|
38
|
+
* se consume como ancho. Escribirlo con `aspect-square` parecía
|
|
39
|
+
* bastar y no basta —un `inline-flex` de ancho automático lo
|
|
40
|
+
* ensancha el relleno lateral—, y fijar el ancho por valor
|
|
41
|
+
* devolvería las cinco combinaciones.
|
|
42
|
+
*/
|
|
43
|
+
readonly shape: {
|
|
44
|
+
readonly square: {
|
|
45
|
+
readonly base: "w-(--vuno-button-size) px-0";
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
readonly size: {
|
|
49
|
+
readonly xs: {
|
|
50
|
+
readonly base: "h-(--vuno-button-size) gap-1 px-2 text-xs [--vuno-button-size:1.5rem]";
|
|
51
|
+
readonly icon: "size-3.5";
|
|
52
|
+
};
|
|
53
|
+
readonly sm: {
|
|
54
|
+
readonly base: "h-(--vuno-button-size) gap-1.5 px-2.5 text-sm [--vuno-button-size:1.75rem]";
|
|
55
|
+
readonly icon: "size-4";
|
|
56
|
+
};
|
|
57
|
+
readonly md: {
|
|
58
|
+
readonly base: "h-(--vuno-button-size) gap-1.5 px-3 text-sm [--vuno-button-size:2rem]";
|
|
59
|
+
readonly icon: "size-4";
|
|
60
|
+
};
|
|
61
|
+
readonly lg: {
|
|
62
|
+
readonly base: "h-(--vuno-button-size) gap-2 px-3.5 text-base [--vuno-button-size:2.25rem]";
|
|
63
|
+
readonly icon: "size-5";
|
|
64
|
+
};
|
|
65
|
+
readonly xl: {
|
|
66
|
+
readonly base: "h-(--vuno-button-size) gap-2 px-4 text-base [--vuno-button-size:2.5rem]";
|
|
67
|
+
readonly icon: "size-5";
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
readonly variant: {
|
|
71
|
+
readonly ghost: {
|
|
72
|
+
readonly base: "text-(--vuno-accent) hover:bg-(--vuno-accent)/10";
|
|
73
|
+
};
|
|
74
|
+
readonly link: {
|
|
75
|
+
readonly base: "text-(--vuno-accent) hover:underline";
|
|
76
|
+
};
|
|
77
|
+
readonly outline: {
|
|
78
|
+
readonly base: "border border-(--vuno-accent) text-(--vuno-accent) hover:bg-(--vuno-accent)/10";
|
|
79
|
+
};
|
|
80
|
+
readonly soft: {
|
|
81
|
+
readonly base: "bg-(--vuno-accent)/10 text-(--vuno-accent) hover:bg-(--vuno-accent)/20";
|
|
82
|
+
};
|
|
83
|
+
readonly solid: {
|
|
84
|
+
readonly base: "bg-(--vuno-accent) text-(--vuno-accent-contrast) hover:bg-(--vuno-accent)/90";
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
}>;
|