@groupteknology/vuno 1.0.0 → 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 +14 -2
- package/dist/module.json +1 -1
- package/dist/module.mjs +80 -13
- package/dist/runtime/app/assets/css/dialog.css +1 -0
- package/dist/runtime/app/assets/css/main.css +1 -0
- package/dist/runtime/app/assets/css/stylesheet.css +1 -0
- package/dist/runtime/app/assets/css/theme.css +1 -0
- package/dist/runtime/app/assets/css/tokens.css +1 -0
- 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/App/App.d.vue.ts +52 -0
- package/dist/runtime/app/components/App/App.vue +150 -0
- package/dist/runtime/app/components/App/App.vue.d.ts +52 -0
- package/dist/runtime/app/components/App/internal/Overlay/Overlay.d.vue.ts +7 -0
- package/dist/runtime/app/components/App/internal/Overlay/Overlay.vue +39 -0
- 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/App/internal/Toast/Toast.d.vue.ts +11 -0
- 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/App/internal/Toast/Toast.vue +64 -0
- package/dist/runtime/app/components/App/internal/Toast/Toast.vue.d.ts +11 -0
- package/dist/runtime/app/components/App/internal/Toaster/Toaster.d.vue.ts +11 -0
- 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/App/internal/Toaster/Toaster.vue +100 -0
- package/dist/runtime/app/components/App/internal/Toaster/Toaster.vue.d.ts +11 -0
- package/dist/runtime/app/components/Avatar/Avatar.d.vue.ts +27 -0
- 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/Avatar/Avatar.vue +51 -0
- package/dist/runtime/app/components/Avatar/Avatar.vue.d.ts +27 -0
- package/dist/runtime/app/components/Badge/Badge.d.vue.ts +40 -0
- 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/Badge/Badge.vue +28 -0
- package/dist/runtime/app/components/Badge/Badge.vue.d.ts +40 -0
- package/dist/runtime/app/components/Button/Button.d.vue.ts +49 -0
- 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/Button/Button.vue +78 -0
- package/dist/runtime/app/components/Button/Button.vue.d.ts +49 -0
- package/dist/runtime/app/components/Card/Card.d.vue.ts +94 -0
- 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/Card/Card.vue +45 -0
- package/dist/runtime/app/components/Card/Card.vue.d.ts +94 -0
- 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/Confirm/Confirm.d.vue.ts +35 -0
- 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/Confirm/Confirm.vue +83 -0
- package/dist/runtime/app/components/Confirm/Confirm.vue.d.ts +35 -0
- package/dist/runtime/app/components/Container/Container.d.vue.ts +42 -0
- 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/Container/Container.vue +20 -0
- package/dist/runtime/app/components/Container/Container.vue.d.ts +42 -0
- 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/FieldCheckbox/internal/Checkbox/Checkbox.d.vue.ts +40 -0
- 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/FieldCheckbox/internal/Checkbox/Checkbox.vue +40 -0
- package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.vue.d.ts +40 -0
- 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/FieldColor/FieldColor.vue +88 -0
- 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/FieldFile/FieldFile.d.vue.ts +26 -0
- 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/FieldFile/FieldFile.vue.d.ts +26 -0
- package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.d.vue.ts +66 -0
- 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/FieldFile/internal/FileUpload/FileUpload.vue +187 -0
- package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.vue.d.ts +66 -0
- 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/FieldRadio/internal/RadioGroup/RadioGroup.d.vue.ts +32 -0
- 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/FieldRadio/internal/RadioGroup/RadioGroup.vue +80 -0
- package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.vue.d.ts +32 -0
- 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/components/FieldSelect/internal/Select/option.d.ts +25 -0
- package/dist/runtime/app/components/FieldSelect/internal/Select/option.js +6 -0
- 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/FieldSlug/FieldSlug.vue +113 -0
- 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/FieldSwitch/internal/Switch/Switch.d.vue.ts +26 -0
- 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/FieldSwitch/internal/Switch/Switch.vue +46 -0
- package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.vue.d.ts +26 -0
- 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/FieldTextarea/FieldTextarea.d.vue.ts +26 -0
- 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/FieldTextarea/FieldTextarea.vue.d.ts +26 -0
- package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.d.vue.ts +34 -0
- 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/FieldTextarea/internal/Textarea/Textarea.vue +43 -0
- package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.vue.d.ts +34 -0
- package/dist/runtime/app/components/Form/Form.d.vue.ts +52 -0
- 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/Form/Form.vue +129 -0
- package/dist/runtime/app/components/Form/Form.vue.d.ts +52 -0
- 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/grid.d.ts +9 -0
- package/dist/runtime/app/components/Form/internal/grid.js +91 -0
- package/dist/runtime/app/components/Form/internal/standard-schema.d.ts +29 -0
- package/dist/runtime/app/components/Form/internal/standard-schema.js +15 -0
- package/dist/runtime/app/components/Form/internal/useVunoFormState.d.ts +43 -0
- package/dist/runtime/app/components/Form/internal/useVunoFormState.js +81 -0
- package/dist/runtime/app/components/FormField/FormField.d.vue.ts +35 -0
- 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/FormField/FormField.vue +124 -0
- package/dist/runtime/app/components/FormField/FormField.vue.d.ts +35 -0
- package/dist/runtime/app/components/FormModal/FormModal.d.vue.ts +63 -0
- 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/FormModal/FormModal.vue +95 -0
- package/dist/runtime/app/components/FormModal/FormModal.vue.d.ts +63 -0
- 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/FormSection/FormSection.vue +45 -0
- 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/Menu/Menu.d.vue.ts +36 -0
- 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/Menu/Menu.vue +182 -0
- package/dist/runtime/app/components/Menu/Menu.vue.d.ts +36 -0
- 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/Modal/Modal.vue +215 -0
- package/dist/runtime/app/components/Modal/Modal.vue.d.ts +43 -0
- package/dist/runtime/app/components/Navbar/Navbar.d.vue.ts +45 -0
- 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/Navbar/Navbar.vue +47 -0
- package/dist/runtime/app/components/Navbar/Navbar.vue.d.ts +45 -0
- 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/NavigationList/NavigationList.vue +187 -0
- 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/Page/Page.d.vue.ts +40 -0
- 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/Page/Page.vue +132 -0
- package/dist/runtime/app/components/Page/Page.vue.d.ts +40 -0
- package/dist/runtime/app/components/Pagination/Pagination.d.vue.ts +33 -0
- 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/Pagination/Pagination.vue +129 -0
- package/dist/runtime/app/components/Pagination/Pagination.vue.d.ts +33 -0
- package/dist/runtime/app/components/Slideover/Slideover.d.vue.ts +43 -0
- 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/Slideover/Slideover.vue.d.ts +43 -0
- package/dist/runtime/app/components/State/State.d.vue.ts +14 -0
- 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/State/State.vue +66 -0
- package/dist/runtime/app/components/State/State.vue.d.ts +14 -0
- package/dist/runtime/app/components/Table/Table.d.vue.ts +80 -0
- 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/Table/Table.vue +483 -0
- package/dist/runtime/app/components/Table/Table.vue.d.ts +80 -0
- package/dist/runtime/app/components/Table/internal/CellBadge/CellBadge.d.vue.ts +5 -0
- package/dist/runtime/app/components/Table/internal/CellBadge/CellBadge.vue +26 -0
- package/dist/runtime/app/components/Table/internal/CellBadge/CellBadge.vue.d.ts +5 -0
- package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.d.vue.ts +5 -0
- 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/CellBoolean/CellBoolean.vue.d.ts +5 -0
- package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.d.vue.ts +5 -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/Table/internal/CellCurrency/CellCurrency.vue +16 -0
- package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.vue.d.ts +5 -0
- package/dist/runtime/app/components/Table/internal/CellDate/CellDate.d.vue.ts +5 -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/Table/internal/CellDate/CellDate.vue +21 -0
- package/dist/runtime/app/components/Table/internal/CellDate/CellDate.vue.d.ts +5 -0
- package/dist/runtime/app/components/Table/internal/CellImage/CellImage.d.vue.ts +5 -0
- package/dist/runtime/app/components/Table/internal/CellImage/CellImage.vue +24 -0
- package/dist/runtime/app/components/Table/internal/CellImage/CellImage.vue.d.ts +5 -0
- package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.d.vue.ts +5 -0
- 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/Table/internal/CellNumber/CellNumber.vue +17 -0
- package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.vue.d.ts +5 -0
- package/dist/runtime/app/components/Table/internal/CellText/CellText.d.vue.ts +5 -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/Table/internal/CellText/CellText.vue +16 -0
- package/dist/runtime/app/components/Table/internal/CellText/CellText.vue.d.ts +5 -0
- package/dist/runtime/app/components/Table/internal/TableCell/TableCell.d.vue.ts +22 -0
- package/dist/runtime/app/components/Table/internal/TableCell/TableCell.vue +48 -0
- package/dist/runtime/app/components/Table/internal/TableCell/TableCell.vue.d.ts +22 -0
- package/dist/runtime/app/components/Table/internal/column.d.ts +9 -0
- package/dist/runtime/app/components/Table/internal/column.js +5 -0
- package/dist/runtime/app/components/Table/internal/query.d.ts +18 -0
- package/dist/runtime/app/components/Table/internal/query.js +8 -0
- package/dist/runtime/app/components/Table/internal/selection.d.ts +29 -0
- package/dist/runtime/app/components/Table/internal/selection.js +10 -0
- package/dist/runtime/app/components/Table/internal/useVunoTable.d.ts +93 -0
- package/dist/runtime/app/components/Table/internal/useVunoTable.js +153 -0
- 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/Tabs/Tabs.d.vue.ts +49 -0
- 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/Tabs/Tabs.vue +119 -0
- package/dist/runtime/app/components/Tabs/Tabs.vue.d.ts +49 -0
- package/dist/runtime/app/components/Tooltip/Tooltip.d.vue.ts +40 -0
- 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/Tooltip/Tooltip.vue +139 -0
- package/dist/runtime/app/components/Tooltip/Tooltip.vue.d.ts +40 -0
- package/dist/runtime/app/components/internal/ControlShell/ControlShell.d.vue.ts +41 -0
- 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/internal/ControlShell/ControlShell.vue.d.ts +41 -0
- 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/internal/Input/Input.d.vue.ts +52 -0
- 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/internal/Input/Input.vue +66 -0
- package/dist/runtime/app/components/internal/Input/Input.vue.d.ts +52 -0
- package/dist/runtime/app/components/internal/NumberInput/NumberInput.d.vue.ts +36 -0
- 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/internal/NumberInput/NumberInput.vue.d.ts +36 -0
- package/dist/runtime/app/components/internal/NumberInput/number.d.ts +42 -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/composables/internal/useVunoAnchor.d.ts +45 -0
- package/dist/runtime/app/composables/internal/useVunoAnchor.js +35 -0
- 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/composables/internal/useVunoPortal.d.ts +18 -0
- package/dist/runtime/app/composables/internal/useVunoPortal.js +12 -0
- package/dist/runtime/app/composables/useConfirm.d.ts +15 -0
- package/dist/runtime/app/composables/useConfirm.js +5 -0
- package/dist/runtime/app/composables/useContext.d.ts +11 -0
- package/dist/runtime/app/composables/useContext.js +9 -0
- package/dist/runtime/app/composables/useCrud.d.ts +23 -0
- package/dist/runtime/app/composables/useCrud.js +153 -0
- package/dist/runtime/app/composables/useField.d.ts +10 -0
- package/dist/runtime/app/composables/useField.js +42 -0
- package/dist/runtime/app/composables/useForm.d.ts +5 -0
- package/dist/runtime/app/composables/useForm.js +9 -0
- package/dist/runtime/app/composables/useModal.d.ts +21 -0
- package/dist/runtime/app/composables/useModal.js +24 -0
- package/dist/runtime/app/composables/useOverlay.d.ts +22 -0
- package/dist/runtime/app/composables/useOverlay.js +10 -0
- package/dist/runtime/app/composables/useTableQuery.d.ts +10 -0
- package/dist/runtime/app/composables/useTableQuery.js +126 -0
- package/dist/runtime/app/composables/useTheme.d.ts +31 -0
- package/dist/runtime/app/composables/useTheme.js +29 -0
- package/dist/runtime/app/composables/useToast.d.ts +28 -0
- package/dist/runtime/app/composables/useToast.js +13 -0
- package/dist/runtime/app/internal/keys.d.ts +43 -0
- package/dist/runtime/app/internal/keys.js +8 -0
- package/dist/runtime/app/internal/slots.d.ts +22 -0
- package/dist/runtime/app/internal/slots.js +24 -0
- 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.d.ts +2 -0
- package/dist/runtime/app/theme/icons.js +43 -0
- package/dist/runtime/app/theme/index.d.ts +1168 -0
- package/dist/runtime/app/theme/index.js +120 -0
- package/dist/runtime/app/theme/messages.d.ts +2 -0
- package/dist/runtime/app/theme/messages.js +70 -0
- package/dist/runtime/app/theme/shared.d.ts +42 -0
- package/dist/runtime/app/theme/shared.js +24 -0
- package/dist/runtime/app/types/alert.d.ts +13 -0
- package/dist/runtime/app/types/alert.js +0 -0
- package/dist/runtime/app/types/app-config.d.ts +8 -0
- package/dist/runtime/app/types/app-config.js +1 -0
- package/dist/runtime/app/types/app.d.ts +83 -0
- package/dist/runtime/app/types/app.js +0 -0
- package/dist/runtime/app/types/base.d.ts +78 -0
- package/dist/runtime/app/types/base.js +0 -0
- package/dist/runtime/app/types/confirm.d.ts +19 -0
- package/dist/runtime/app/types/confirm.js +0 -0
- package/dist/runtime/app/types/crud.d.ts +108 -0
- package/dist/runtime/app/types/crud.js +0 -0
- 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 +233 -0
- package/dist/runtime/app/types/field.js +0 -0
- package/dist/runtime/app/types/form.d.ts +67 -0
- package/dist/runtime/app/types/form.js +0 -0
- package/dist/runtime/app/types/index.d.ts +16 -0
- package/dist/runtime/app/types/index.js +1 -0
- package/dist/runtime/app/types/page.d.ts +61 -0
- package/dist/runtime/app/types/page.js +0 -0
- package/dist/runtime/app/types/responsive.d.ts +8 -0
- package/dist/runtime/app/types/responsive.js +0 -0
- 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 +35 -0
- package/dist/runtime/app/types/state.js +0 -0
- package/dist/runtime/app/types/table.d.ts +287 -0
- package/dist/runtime/app/types/table.js +0 -0
- package/dist/runtime/app/types/theme.d.ts +251 -0
- package/dist/runtime/app/types/theme.js +0 -0
- package/dist/runtime/app/utils/format.d.ts +18 -0
- package/dist/runtime/app/utils/format.js +36 -0
- package/dist/runtime/app/utils/pagination.d.ts +41 -0
- package/dist/runtime/app/utils/pagination.js +32 -0
- package/dist/runtime/app/utils/path.d.ts +16 -0
- package/dist/runtime/app/utils/path.js +76 -0
- package/dist/runtime/app/utils/query-key.d.ts +20 -0
- package/dist/runtime/app/utils/query-key.js +7 -0
- package/dist/runtime/app/utils/theme.d.ts +44 -0
- package/dist/runtime/app/utils/theme.js +43 -0
- package/dist/types.d.mts +3 -11
- package/package.json +18 -3
- package/dist/module.d.cts +0 -2
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export declare const slideoverTheme: Record<"slideover", {
|
|
2
|
+
readonly slots: {
|
|
3
|
+
readonly body: "";
|
|
4
|
+
readonly content: "h-dvh max-h-dvh";
|
|
5
|
+
readonly description: "";
|
|
6
|
+
readonly footer: "";
|
|
7
|
+
readonly header: "";
|
|
8
|
+
readonly root: "my-0 h-dvh max-h-dvh w-[calc(100dvw-2rem)] rounded-none";
|
|
9
|
+
readonly title: "";
|
|
10
|
+
};
|
|
11
|
+
readonly variants: {
|
|
12
|
+
readonly position: {
|
|
13
|
+
readonly end: {
|
|
14
|
+
readonly root: "ms-auto me-0";
|
|
15
|
+
};
|
|
16
|
+
readonly start: {
|
|
17
|
+
readonly root: "ms-0 me-auto";
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
readonly size: {
|
|
21
|
+
readonly sm: {
|
|
22
|
+
readonly root: "max-w-sm";
|
|
23
|
+
};
|
|
24
|
+
readonly md: {
|
|
25
|
+
readonly root: "max-w-md";
|
|
26
|
+
};
|
|
27
|
+
readonly lg: {
|
|
28
|
+
readonly root: "max-w-lg";
|
|
29
|
+
};
|
|
30
|
+
readonly xl: {
|
|
31
|
+
readonly root: "max-w-xl";
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
}>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { defineTheme } from "#vuno/utils/theme";
|
|
2
|
+
export const slideoverTheme = defineTheme("slideover", {
|
|
3
|
+
slots: {
|
|
4
|
+
body: "",
|
|
5
|
+
content: "h-dvh max-h-dvh",
|
|
6
|
+
description: "",
|
|
7
|
+
footer: "",
|
|
8
|
+
header: "",
|
|
9
|
+
root: "my-0 h-dvh max-h-dvh w-[calc(100dvw-2rem)] rounded-none",
|
|
10
|
+
title: ""
|
|
11
|
+
},
|
|
12
|
+
variants: {
|
|
13
|
+
position: {
|
|
14
|
+
end: { root: "ms-auto me-0" },
|
|
15
|
+
start: { root: "ms-0 me-auto" }
|
|
16
|
+
},
|
|
17
|
+
size: {
|
|
18
|
+
sm: { root: "max-w-sm" },
|
|
19
|
+
md: { root: "max-w-md" },
|
|
20
|
+
lg: { root: "max-w-lg" },
|
|
21
|
+
xl: { root: "max-w-xl" }
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from "vue";
|
|
3
|
+
import { useTheme } from "#vuno/composables/useTheme";
|
|
4
|
+
import Modal from "#vuno/components/Modal/Modal.vue";
|
|
5
|
+
defineOptions({ name: "VunoSlideover" });
|
|
6
|
+
const open = defineModel("open", { type: Boolean, ...{ default: false } });
|
|
7
|
+
const props = defineProps({
|
|
8
|
+
description: { type: String, required: false, default: void 0 },
|
|
9
|
+
dismissible: { type: Boolean, required: false, default: true },
|
|
10
|
+
position: { type: String, required: false, default: "end" },
|
|
11
|
+
size: { type: String, required: false, default: "md" },
|
|
12
|
+
title: { type: String, required: false, default: void 0 },
|
|
13
|
+
ui: { type: Object, required: false, default: void 0 }
|
|
14
|
+
});
|
|
15
|
+
const emit = defineEmits(["close"]);
|
|
16
|
+
defineSlots();
|
|
17
|
+
const ui = useTheme(
|
|
18
|
+
"slideover",
|
|
19
|
+
() => props.ui,
|
|
20
|
+
() => ({ position: props.position, size: props.size })
|
|
21
|
+
);
|
|
22
|
+
const modalUi = computed(() => ({ body: ui.value.body, content: ui.value.content, description: ui.value.description, footer: ui.value.footer, header: ui.value.header, root: ui.value.root, title: ui.value.title }));
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<template>
|
|
26
|
+
<Modal
|
|
27
|
+
v-model:open="open"
|
|
28
|
+
:data-position="props.position"
|
|
29
|
+
:description="props.description"
|
|
30
|
+
:dismissible="props.dismissible"
|
|
31
|
+
:title="props.title"
|
|
32
|
+
:ui="modalUi"
|
|
33
|
+
@close="emit('close')"
|
|
34
|
+
>
|
|
35
|
+
<slot />
|
|
36
|
+
|
|
37
|
+
<template
|
|
38
|
+
v-if="$slots.body"
|
|
39
|
+
#body
|
|
40
|
+
>
|
|
41
|
+
<slot name="body" />
|
|
42
|
+
</template>
|
|
43
|
+
|
|
44
|
+
<template
|
|
45
|
+
v-if="$slots.footer"
|
|
46
|
+
#footer
|
|
47
|
+
>
|
|
48
|
+
<slot name="footer" />
|
|
49
|
+
</template>
|
|
50
|
+
|
|
51
|
+
<template
|
|
52
|
+
v-if="$slots.header"
|
|
53
|
+
#header
|
|
54
|
+
>
|
|
55
|
+
<slot name="header" />
|
|
56
|
+
</template>
|
|
57
|
+
</Modal>
|
|
58
|
+
</template>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { VunoSlideoverSize } from '#vuno/types/base';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
3
|
+
type Props = {
|
|
4
|
+
description?: string;
|
|
5
|
+
dismissible?: boolean;
|
|
6
|
+
position?: 'end' | 'start';
|
|
7
|
+
size?: VunoSlideoverSize;
|
|
8
|
+
title?: string;
|
|
9
|
+
ui?: VunoUi<'slideover'>;
|
|
10
|
+
};
|
|
11
|
+
type __VLS_Props = Props;
|
|
12
|
+
type __VLS_Slots = {
|
|
13
|
+
body?: () => unknown;
|
|
14
|
+
default?: () => unknown;
|
|
15
|
+
footer?: () => unknown;
|
|
16
|
+
header?: () => unknown;
|
|
17
|
+
};
|
|
18
|
+
type __VLS_ModelProps = {
|
|
19
|
+
'open'?: boolean;
|
|
20
|
+
};
|
|
21
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
22
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
23
|
+
close: () => any;
|
|
24
|
+
"update:open": (value: boolean) => any;
|
|
25
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
26
|
+
onClose?: (() => any) | undefined;
|
|
27
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
28
|
+
}>, {
|
|
29
|
+
description: string;
|
|
30
|
+
title: string;
|
|
31
|
+
size: VunoSlideoverSize;
|
|
32
|
+
position: "end" | "start";
|
|
33
|
+
ui: VunoUi<"slideover">;
|
|
34
|
+
dismissible: boolean;
|
|
35
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
36
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
37
|
+
declare const _default: typeof __VLS_export;
|
|
38
|
+
export default _default;
|
|
39
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
40
|
+
new (): {
|
|
41
|
+
$slots: S;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { VunoStateFailureProps } from '#vuno/types/state';
|
|
2
|
+
type __VLS_Slots = {
|
|
3
|
+
/** La invitación a crear el primer registro. Solo en el estado vacío: un fallo ya trae su reintento. */
|
|
4
|
+
actions?: () => unknown;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_base: import("vue").DefineComponent<(Partial<VunoStateFailureProps> & import("#vuno/types/state").VunoStateEmptyProps) | (Partial<VunoStateFailureProps> & VunoStateFailureProps), {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<(Partial<VunoStateFailureProps> & import("#vuno/types/state").VunoStateEmptyProps) | (Partial<VunoStateFailureProps> & VunoStateFailureProps)> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
10
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
11
|
+
new (): {
|
|
12
|
+
$slots: S;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const stateTheme: Record<"state", {
|
|
2
|
+
readonly slots: {
|
|
3
|
+
readonly actions: "mt-3 empty:hidden";
|
|
4
|
+
readonly hint: "max-w-prose text-sm text-vuno-muted";
|
|
5
|
+
readonly icon: "size-8 shrink-0";
|
|
6
|
+
readonly root: "flex flex-col items-center gap-1 px-4 py-10 text-center";
|
|
7
|
+
readonly title: "font-medium text-vuno-strong";
|
|
8
|
+
};
|
|
9
|
+
readonly variants: {
|
|
10
|
+
readonly tone: {
|
|
11
|
+
readonly empty: {
|
|
12
|
+
readonly icon: "text-vuno-subtle";
|
|
13
|
+
};
|
|
14
|
+
readonly failure: {
|
|
15
|
+
readonly icon: "text-vuno-error";
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
}>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { defineTheme } from "#vuno/utils/theme";
|
|
2
|
+
export const stateTheme = defineTheme("state", {
|
|
3
|
+
slots: {
|
|
4
|
+
actions: "mt-3 empty:hidden",
|
|
5
|
+
hint: "max-w-prose text-sm text-vuno-muted",
|
|
6
|
+
icon: "size-8 shrink-0",
|
|
7
|
+
root: "flex flex-col items-center gap-1 px-4 py-10 text-center",
|
|
8
|
+
title: "font-medium text-vuno-strong"
|
|
9
|
+
},
|
|
10
|
+
/*
|
|
11
|
+
* El color del icono lo decide la variante y no el componente.
|
|
12
|
+
*
|
|
13
|
+
* Estaban los dos escritos a mano sobre el `<Icon>`, **además** del
|
|
14
|
+
* `ui.icon`: una clase puesta sobre un componente no pasa por
|
|
15
|
+
* tailwind-merge, así que convivía con la del tema y ganaba el orden de
|
|
16
|
+
* la hoja. Y la del fallo era `text-error`, que no existe —el módulo no
|
|
17
|
+
* define `--color-error`— de modo que el estado de fallo se pintaba con
|
|
18
|
+
* el color del texto normal.
|
|
19
|
+
*/
|
|
20
|
+
variants: {
|
|
21
|
+
tone: {
|
|
22
|
+
empty: { icon: "text-vuno-subtle" },
|
|
23
|
+
failure: { icon: "text-vuno-error" }
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
});
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from "vue";
|
|
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: "VunoState" });
|
|
7
|
+
const props = defineProps({
|
|
8
|
+
failure: { type: Object, required: false },
|
|
9
|
+
tone: { type: String, required: false },
|
|
10
|
+
ui: { type: Object, required: false },
|
|
11
|
+
hint: { type: String, required: false },
|
|
12
|
+
icon: { type: String, required: false },
|
|
13
|
+
title: { type: String, required: false }
|
|
14
|
+
});
|
|
15
|
+
defineSlots();
|
|
16
|
+
const icons = useIcons();
|
|
17
|
+
const messages = useMessages();
|
|
18
|
+
const failure = computed(() => props.tone === "failure" ? props.failure : void 0);
|
|
19
|
+
const empty = computed(() => props.tone === "failure" ? void 0 : props);
|
|
20
|
+
const ui = useTheme(
|
|
21
|
+
"state",
|
|
22
|
+
() => props.ui,
|
|
23
|
+
() => ({ tone: failure.value ? "failure" : "empty" })
|
|
24
|
+
);
|
|
25
|
+
const iconName = computed(() => failure.value ? icons.value.failure : empty.value?.icon ?? icons.value.empty);
|
|
26
|
+
const title = computed(() => failure.value ? failure.value.title ?? messages.value.failureTitle : empty.value?.title ?? messages.value.emptyTable);
|
|
27
|
+
const hint = computed(() => failure.value ? failure.value.hint ?? messages.value.failureHint : empty.value?.hint ?? messages.value.emptyHint);
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<div :class="ui.root">
|
|
32
|
+
<Icon
|
|
33
|
+
:class="ui.icon"
|
|
34
|
+
:name="iconName"
|
|
35
|
+
/>
|
|
36
|
+
|
|
37
|
+
<p :class="ui.title">{{ title }}</p>
|
|
38
|
+
|
|
39
|
+
<p
|
|
40
|
+
v-if="hint"
|
|
41
|
+
:class="ui.hint"
|
|
42
|
+
>
|
|
43
|
+
{{ hint }}
|
|
44
|
+
</p>
|
|
45
|
+
|
|
46
|
+
<div :class="ui.actions">
|
|
47
|
+
<!--
|
|
48
|
+
El reintento no es un slot: viaja dentro del propio fallo, de
|
|
49
|
+
modo que no se puede pintar un error y olvidarse de la salida.
|
|
50
|
+
-->
|
|
51
|
+
<Button
|
|
52
|
+
v-if="failure"
|
|
53
|
+
color="neutral"
|
|
54
|
+
:icon="icons.retry"
|
|
55
|
+
:label="messages.retry"
|
|
56
|
+
variant="outline"
|
|
57
|
+
@click="failure.retry()"
|
|
58
|
+
/>
|
|
59
|
+
|
|
60
|
+
<slot
|
|
61
|
+
v-else
|
|
62
|
+
name="actions"
|
|
63
|
+
/>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
</template>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { VunoStateFailureProps } from '#vuno/types/state';
|
|
2
|
+
type __VLS_Slots = {
|
|
3
|
+
/** La invitación a crear el primer registro. Solo en el estado vacío: un fallo ya trae su reintento. */
|
|
4
|
+
actions?: () => unknown;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_base: import("vue").DefineComponent<(Partial<VunoStateFailureProps> & import("#vuno/types/state").VunoStateEmptyProps) | (Partial<VunoStateFailureProps> & VunoStateFailureProps), {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<(Partial<VunoStateFailureProps> & import("#vuno/types/state").VunoStateEmptyProps) | (Partial<VunoStateFailureProps> & VunoStateFailureProps)> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
10
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
11
|
+
new (): {
|
|
12
|
+
$slots: S;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { VunoRadius } from '#vuno/types/base';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
3
|
+
import type { VunoTableDefinition, VunoTableFailure, VunoTableQuery, VunoTableRow } from '#vuno/types/table';
|
|
4
|
+
declare const __VLS_export: <TRow extends VunoTableRow>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
5
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<({
|
|
6
|
+
data: TRow[];
|
|
7
|
+
definition: VunoTableDefinition<TRow>;
|
|
8
|
+
/**
|
|
9
|
+
* Fallo de la consulta. Sin esto, un error se pintaría como «no hay
|
|
10
|
+
* resultados» y la tabla afirmaría que no hay nada cuando en realidad
|
|
11
|
+
* no se pudo saber.
|
|
12
|
+
*/
|
|
13
|
+
failure?: VunoTableFailure;
|
|
14
|
+
loading?: boolean;
|
|
15
|
+
/** La curvatura. Sin valor, la que traiga el tema. */
|
|
16
|
+
radius?: VunoRadius;
|
|
17
|
+
/** Total de filas en servidor, no las de la página actual. */
|
|
18
|
+
total?: number;
|
|
19
|
+
ui?: VunoUi<"table">;
|
|
20
|
+
} & {
|
|
21
|
+
/**
|
|
22
|
+
* Estado de consulta. El consumidor lo observa y devuelve `data` y `total`.
|
|
23
|
+
*
|
|
24
|
+
* Es obligatorio a propósito: la tabla no trae datos por sí misma, así que
|
|
25
|
+
* un estado interno avanzaría de página sin que nadie pidiera la siguiente
|
|
26
|
+
* —el pie diría «11-20» mientras se siguen viendo las filas 1-10—. Dónde
|
|
27
|
+
* vive ese estado lo decide `useTableQuery`: un `ref` normal o la
|
|
28
|
+
* query string.
|
|
29
|
+
*/
|
|
30
|
+
query: VunoTableQuery;
|
|
31
|
+
/** Claves de las filas seleccionadas, no las filas: con paginación en servidor las de otras páginas no están cargadas. */
|
|
32
|
+
selection?: (number | string)[];
|
|
33
|
+
}) & {
|
|
34
|
+
onRowClick?: ((row: TRow) => any) | undefined;
|
|
35
|
+
"onUpdate:query"?: ((value: VunoTableQuery) => any) | undefined;
|
|
36
|
+
"onUpdate:selection"?: ((value: (string | number)[]) => any) | undefined;
|
|
37
|
+
}> & (typeof globalThis extends {
|
|
38
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
39
|
+
} ? P : {});
|
|
40
|
+
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
41
|
+
clearFilters: () => void;
|
|
42
|
+
clearQuery: () => void;
|
|
43
|
+
clearSearch: () => void;
|
|
44
|
+
clearSelection: () => void;
|
|
45
|
+
goToPage: (page: number) => void;
|
|
46
|
+
}>) => void;
|
|
47
|
+
attrs: any;
|
|
48
|
+
slots: {
|
|
49
|
+
[key: `cell-${string}`]: (props: {
|
|
50
|
+
row: TRow;
|
|
51
|
+
value: unknown;
|
|
52
|
+
}) => unknown;
|
|
53
|
+
empty?: () => unknown;
|
|
54
|
+
'empty-actions'?: () => unknown;
|
|
55
|
+
'no-matches'?: (props: {
|
|
56
|
+
clear: () => void;
|
|
57
|
+
}) => unknown;
|
|
58
|
+
'no-matches-actions'?: (props: {
|
|
59
|
+
clear: () => void;
|
|
60
|
+
}) => unknown;
|
|
61
|
+
selection?: (props: {
|
|
62
|
+
count: number;
|
|
63
|
+
keys: (number | string)[];
|
|
64
|
+
clear: () => void;
|
|
65
|
+
}) => unknown;
|
|
66
|
+
toolbar?: (props: {
|
|
67
|
+
query: VunoTableQuery;
|
|
68
|
+
}) => unknown;
|
|
69
|
+
};
|
|
70
|
+
emit: ((evt: "rowClick", row: TRow) => void) & (((event: "update:query", value: VunoTableQuery) => void) & ((event: "update:selection", value: (string | number)[]) => void));
|
|
71
|
+
}>) => import("vue").VNode & {
|
|
72
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
73
|
+
};
|
|
74
|
+
declare const _default: typeof __VLS_export;
|
|
75
|
+
export default _default;
|
|
76
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
77
|
+
[K in keyof T]: T[K];
|
|
78
|
+
} : {
|
|
79
|
+
[K in keyof T as K]: T[K];
|
|
80
|
+
}) & {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare const tableTheme: Record<"table", {
|
|
2
|
+
readonly slots: {
|
|
3
|
+
readonly chips: "flex flex-wrap items-center gap-2";
|
|
4
|
+
readonly emptyCell: "px-4 py-6";
|
|
5
|
+
readonly filtersBody: "flex flex-col gap-4";
|
|
6
|
+
readonly filtersFooter: "flex items-center justify-between gap-2";
|
|
7
|
+
readonly footer: "flex flex-wrap items-center justify-between gap-4 px-1";
|
|
8
|
+
readonly headRow: "border-b border-vuno-border";
|
|
9
|
+
readonly meta: "flex items-center gap-2 text-sm text-vuno-muted";
|
|
10
|
+
readonly pageSizeControl: "w-auto";
|
|
11
|
+
readonly pageSizeSelect: "cursor-pointer bg-transparent py-1 pr-1 outline-none";
|
|
12
|
+
readonly root: "flex w-full flex-col gap-4";
|
|
13
|
+
readonly search: "w-full sm:max-w-xs";
|
|
14
|
+
readonly selectCell: "w-0";
|
|
15
|
+
readonly selection: "flex items-center justify-between gap-2 rounded-sm bg-vuno-primary/10 px-3 py-2 text-sm";
|
|
16
|
+
readonly skip: "sr-only rounded-sm bg-vuno-surface text-vuno-body focus:not-sr-only focus:outline-vuno-primary focus:z-10 focus:inline-block focus:px-3 focus:py-1.5 focus:text-sm focus:outline-2 focus:outline-offset-2";
|
|
17
|
+
readonly sortButton: "-mx-2";
|
|
18
|
+
readonly table: "min-w-full";
|
|
19
|
+
readonly tableRoot: "relative overflow-auto rounded-sm border border-vuno-border";
|
|
20
|
+
/**
|
|
21
|
+
* El marco va en el contenedor y no en la `<table>`.
|
|
22
|
+
*
|
|
23
|
+
* Ponerlo en la tabla obliga a `border-separate` para que el radio
|
|
24
|
+
* no lo ignore el navegador, y en ese modo el navegador **también**
|
|
25
|
+
* ignora los bordes declarados en `<tr>`, que es donde Nuxt UI pone
|
|
26
|
+
* la línea entre filas: el marco salía y las divisiones
|
|
27
|
+
* desaparecían, sin ningún error de por medio.
|
|
28
|
+
*
|
|
29
|
+
* Aquí la tabla se queda colapsada —sus líneas vuelven— y el radio
|
|
30
|
+
* recorta porque el contenedor ya tiene `overflow` propio para el
|
|
31
|
+
* desplazamiento horizontal.
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* Nuxt UI solo aplica hover a las filas con `data-selectable`, que
|
|
35
|
+
* son las que reciben un manejador de selección. Aquí se aplica
|
|
36
|
+
* siempre, y con su misma utilidad semántica para que el color lo
|
|
37
|
+
* siga decidiendo el tema del proyecto.
|
|
38
|
+
*/
|
|
39
|
+
readonly tbody: "[&>tr]:transition-colors [&>tr]:hover:bg-vuno-surface-1";
|
|
40
|
+
readonly td: "p-4 text-sm whitespace-nowrap text-vuno-muted";
|
|
41
|
+
readonly th: "px-4 py-3.5 text-start text-sm font-semibold text-vuno-strong";
|
|
42
|
+
readonly thead: "";
|
|
43
|
+
readonly toolbar: "flex flex-wrap items-center justify-between gap-2";
|
|
44
|
+
readonly toolbarActions: "flex items-center gap-2";
|
|
45
|
+
readonly tr: "border-b border-vuno-border transition-colors last:border-b-0 hover:bg-vuno-surface-1 data-[selected=true]:bg-vuno-primary/10";
|
|
46
|
+
};
|
|
47
|
+
readonly variants: {
|
|
48
|
+
readonly radius: Record<import("../../types/base.js").VunoRadius, Record<"tableRoot", string>>;
|
|
49
|
+
};
|
|
50
|
+
}>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { radiusByStep, skipLink } from "#vuno/theme/shared";
|
|
2
|
+
import { defineTheme } from "#vuno/utils/theme";
|
|
3
|
+
export const tableTheme = defineTheme("table", {
|
|
4
|
+
slots: {
|
|
5
|
+
chips: "flex flex-wrap items-center gap-2",
|
|
6
|
+
emptyCell: "px-4 py-6",
|
|
7
|
+
filtersBody: "flex flex-col gap-4",
|
|
8
|
+
filtersFooter: "flex items-center justify-between gap-2",
|
|
9
|
+
footer: "flex flex-wrap items-center justify-between gap-4 px-1",
|
|
10
|
+
headRow: "border-b border-vuno-border",
|
|
11
|
+
meta: "flex items-center gap-2 text-sm text-vuno-muted",
|
|
12
|
+
/*
|
|
13
|
+
* El ancho viaja por `ui` de instancia a propósito —pelea con el
|
|
14
|
+
* `w-full` del tema y puesto como clase convivirían los dos—, pero
|
|
15
|
+
* el valor sale de aquí en vez de estar escrito en la plantilla.
|
|
16
|
+
*/
|
|
17
|
+
pageSizeControl: "w-auto",
|
|
18
|
+
pageSizeSelect: "cursor-pointer bg-transparent py-1 pr-1 outline-none",
|
|
19
|
+
root: "flex w-full flex-col gap-4",
|
|
20
|
+
search: "w-full sm:max-w-xs",
|
|
21
|
+
selectCell: "w-0",
|
|
22
|
+
selection: "flex items-center justify-between gap-2 rounded-sm bg-vuno-primary/10 px-3 py-2 text-sm",
|
|
23
|
+
/* Ver `skipLink`: la clase está en un solo sitio para las tres. */
|
|
24
|
+
skip: skipLink,
|
|
25
|
+
/*
|
|
26
|
+
* El margen negativo cancela el relleno del botón para que la
|
|
27
|
+
* cabecera se alinee con el texto de la columna, así que depende del
|
|
28
|
+
* relleno de `baseButton`: un proyecto que cambie uno tiene que poder
|
|
29
|
+
* cambiar el otro.
|
|
30
|
+
*/
|
|
31
|
+
sortButton: "-mx-2",
|
|
32
|
+
table: "min-w-full",
|
|
33
|
+
tableRoot: "relative overflow-auto rounded-sm border border-vuno-border",
|
|
34
|
+
/**
|
|
35
|
+
* El marco va en el contenedor y no en la `<table>`.
|
|
36
|
+
*
|
|
37
|
+
* Ponerlo en la tabla obliga a `border-separate` para que el radio
|
|
38
|
+
* no lo ignore el navegador, y en ese modo el navegador **también**
|
|
39
|
+
* ignora los bordes declarados en `<tr>`, que es donde Nuxt UI pone
|
|
40
|
+
* la línea entre filas: el marco salía y las divisiones
|
|
41
|
+
* desaparecían, sin ningún error de por medio.
|
|
42
|
+
*
|
|
43
|
+
* Aquí la tabla se queda colapsada —sus líneas vuelven— y el radio
|
|
44
|
+
* recorta porque el contenedor ya tiene `overflow` propio para el
|
|
45
|
+
* desplazamiento horizontal.
|
|
46
|
+
*/
|
|
47
|
+
/**
|
|
48
|
+
* Nuxt UI solo aplica hover a las filas con `data-selectable`, que
|
|
49
|
+
* son las que reciben un manejador de selección. Aquí se aplica
|
|
50
|
+
* siempre, y con su misma utilidad semántica para que el color lo
|
|
51
|
+
* siga decidiendo el tema del proyecto.
|
|
52
|
+
*/
|
|
53
|
+
tbody: "[&>tr]:transition-colors [&>tr]:hover:bg-vuno-surface-1",
|
|
54
|
+
td: "p-4 text-sm whitespace-nowrap text-vuno-muted",
|
|
55
|
+
th: "px-4 py-3.5 text-start text-sm font-semibold text-vuno-strong",
|
|
56
|
+
thead: "",
|
|
57
|
+
toolbar: "flex flex-wrap items-center justify-between gap-2",
|
|
58
|
+
toolbarActions: "flex items-center gap-2",
|
|
59
|
+
tr: "border-b border-vuno-border transition-colors last:border-b-0 hover:bg-vuno-surface-1 data-[selected=true]:bg-vuno-primary/10"
|
|
60
|
+
},
|
|
61
|
+
variants: {
|
|
62
|
+
radius: radiusByStep("tableRoot")
|
|
63
|
+
}
|
|
64
|
+
});
|