@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,62 @@
|
|
|
1
|
+
import { radiusByStep } from "#vuno/theme/shared";
|
|
2
|
+
import { defineTheme } from "#vuno/utils/theme";
|
|
3
|
+
export const cardTheme = defineTheme("card", {
|
|
4
|
+
/**
|
|
5
|
+
* La tarjeta. Tres regiones apiladas y separadas por una línea, que es la
|
|
6
|
+
* forma que tenía el caso real escrito a mano antes de que existiera.
|
|
7
|
+
*
|
|
8
|
+
* El relleno va en cada región y no en la raíz: con él en la raíz, la línea
|
|
9
|
+
* divisoria no llegaría a los bordes y quedaría flotando en medio.
|
|
10
|
+
*
|
|
11
|
+
* **La raíz lleva anillo de foco desde que existe `tag`.** Con `tag` la
|
|
12
|
+
* tarjeta puede **ser** un enlace o un botón, y entonces recibe el foco.
|
|
13
|
+
*
|
|
14
|
+
* Y aquí hay que decir qué pasaba de verdad, porque lo primero que se
|
|
15
|
+
* escribió en este mismo comentario era falso y lo desmintió la medición.
|
|
16
|
+
* **No se quedaba sin contorno**: quitando las tres clases con el elemento
|
|
17
|
+
* enfocado, el contorno calculado sigue siendo `1px auto` —el del navegador,
|
|
18
|
+
* que el preflight de Tailwind no neutraliza— y con las clases pasa a `2px
|
|
19
|
+
* solid` del acento, con 2px de separación. O sea que el defecto no era una
|
|
20
|
+
* tarjeta invisible al tabular, sino **la única superficie enfocable de vuno
|
|
21
|
+
* que no llevaba el anillo del sistema**: grosor, color y separación
|
|
22
|
+
* distintos de los del botón, el campo y el enlace de la miga, y a merced de
|
|
23
|
+
* lo que pinte cada navegador. Que ya lo era se ve en que el ejemplo de la
|
|
24
|
+
* ficha llevaba el anillo escrito a mano sobre el enlace que la envolvía.
|
|
25
|
+
*
|
|
26
|
+
* Va **siempre puesto y sin variante que lo encienda**, que es lo contrario
|
|
27
|
+
* de lo que pide el reflejo. El motivo es que la condición ya la impone
|
|
28
|
+
* `:focus-visible`: un elemento que no puede recibir el foco no la cumple
|
|
29
|
+
* nunca, así que sobre un `div` las tres clases no pintan nada —medido: con
|
|
30
|
+
* `tag` por defecto la tarjeta ni siquiera es parada del tabulador—. Una
|
|
31
|
+
* variante sería una segunda copia, más débil, de una condición que el CSS
|
|
32
|
+
* ya garantiza, y además tendría que **adivinar** si un `tag` cualquiera es
|
|
33
|
+
* enfocable; se equivocaría justo en el caso peligroso, el de un `div` con
|
|
34
|
+
* un `tabindex` llegado por atributos, dejando sin anillo algo que sí toma
|
|
35
|
+
* el foco.
|
|
36
|
+
*
|
|
37
|
+
* El acento se declara aquí, como en `breadcrumbLink` y en la pestaña: la
|
|
38
|
+
* tarjeta no tiene variantes de color de las que sacarlo, y sin declararlo
|
|
39
|
+
* `outline-(--vuno-accent)` se quedaría con lo que hubiera heredado.
|
|
40
|
+
*/
|
|
41
|
+
slots: {
|
|
42
|
+
body: "p-4 text-vuno-body",
|
|
43
|
+
footer: "p-4",
|
|
44
|
+
header: "p-4 font-semibold text-vuno-strong",
|
|
45
|
+
root: "flex w-full flex-col divide-y divide-vuno-border rounded-sm [--vuno-accent:var(--color-vuno-primary)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--vuno-accent)"
|
|
46
|
+
},
|
|
47
|
+
variants: {
|
|
48
|
+
radius: radiusByStep("root"),
|
|
49
|
+
/*
|
|
50
|
+
* `outline` sube un escalón sobre la página y se cierra con un borde.
|
|
51
|
+
* `soft` sube dos y no lleva borde, porque va dentro de algo que ya
|
|
52
|
+
* está levantado y ahí otro borde no separa nada: lo que distingue es
|
|
53
|
+
* la elevación.
|
|
54
|
+
*/
|
|
55
|
+
variant: {
|
|
56
|
+
outline: { root: "border border-vuno-border bg-vuno-surface-1" },
|
|
57
|
+
/* Sin contenedor: el marco lo pone quien la envuelve. */
|
|
58
|
+
plain: {},
|
|
59
|
+
soft: { root: "bg-vuno-surface-2" }
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { useTheme } from "#vuno/composables/useTheme";
|
|
3
|
+
import { filled } from "#vuno/internal/slots";
|
|
4
|
+
defineOptions({ name: "VunoCard" });
|
|
5
|
+
const props = defineProps({
|
|
6
|
+
radius: { type: String, required: false, default: void 0 },
|
|
7
|
+
tag: { type: null, required: false, default: "div" },
|
|
8
|
+
ui: { type: Object, required: false, default: void 0 },
|
|
9
|
+
variant: { type: String, required: false, default: "outline" }
|
|
10
|
+
});
|
|
11
|
+
const slots = defineSlots();
|
|
12
|
+
const ui = useTheme(
|
|
13
|
+
"card",
|
|
14
|
+
() => props.ui,
|
|
15
|
+
() => ({ radius: props.radius, variant: props.variant })
|
|
16
|
+
);
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<template>
|
|
20
|
+
<component
|
|
21
|
+
:is="props.tag"
|
|
22
|
+
:class="ui.root"
|
|
23
|
+
>
|
|
24
|
+
<div
|
|
25
|
+
v-if="filled(slots.header)"
|
|
26
|
+
:class="ui.header"
|
|
27
|
+
>
|
|
28
|
+
<slot name="header" />
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div
|
|
32
|
+
v-if="filled(slots.default)"
|
|
33
|
+
:class="ui.body"
|
|
34
|
+
>
|
|
35
|
+
<slot />
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<div
|
|
39
|
+
v-if="filled(slots.footer)"
|
|
40
|
+
:class="ui.footer"
|
|
41
|
+
>
|
|
42
|
+
<slot name="footer" />
|
|
43
|
+
</div>
|
|
44
|
+
</component>
|
|
45
|
+
</template>
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { Component } from 'vue';
|
|
2
|
+
import type { VunoRadius } from '#vuno/types/base';
|
|
3
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
4
|
+
/**
|
|
5
|
+
* Una caja que agrupa contenido, con cabecera y pie opcionales.
|
|
6
|
+
*
|
|
7
|
+
* No estaba y se decidió a propósito que no estuviera: el playground se
|
|
8
|
+
* escribió la suya a mano y el argumento fue que «si algún día vuno ofrece
|
|
9
|
+
* una tarjeta, que sea porque alguien la pida, no porque el banco de pruebas
|
|
10
|
+
* la necesitara». Entra ahora porque la han pedido, y con la forma que el
|
|
11
|
+
* caso real ya tenía: tres regiones apiladas y separadas por una línea.
|
|
12
|
+
*
|
|
13
|
+
* **No es pulsable, y eso es deliberado.** Una tarjeta que se pulsa entera es
|
|
14
|
+
* un botón o un enlace, y disfrazarla deja de serlo para el teclado y para el
|
|
15
|
+
* lector de pantalla. Si hace falta navegar, se envuelve en un `NuxtLink` o
|
|
16
|
+
* se pone un botón dentro, que es lo que hace el playground.
|
|
17
|
+
*/
|
|
18
|
+
type Props = {
|
|
19
|
+
/** La curvatura. Sin valor, la que traiga el tema. */
|
|
20
|
+
radius?: VunoRadius;
|
|
21
|
+
/**
|
|
22
|
+
* El elemento que pinta. `div` de serie; `form` para una tarjeta que
|
|
23
|
+
* se envía, `NuxtLink` para una que navega, `article` o `section`
|
|
24
|
+
* cuando el contenido lo pida.
|
|
25
|
+
*
|
|
26
|
+
* Es la forma correcta de una tarjeta pulsable, y por eso existe.
|
|
27
|
+
* Antes esto decía que una tarjeta que se pulsa entera «es un botón o
|
|
28
|
+
* un enlace, y disfrazarla deja de serlo para el teclado y para el
|
|
29
|
+
* lector de pantalla», con la salida de envolverla en un `NuxtLink`.
|
|
30
|
+
* El aviso sigue siendo cierto sobre el disfraz —un `div` con
|
|
31
|
+
* `@click` no lo arregla ningún `role`—, pero envolver no era la
|
|
32
|
+
* mejor salida: **siéndolo** no hay elemento de más, el foco cae
|
|
33
|
+
* donde debe y el navegador da gratis abrir en otra pestaña, copiar
|
|
34
|
+
* el enlace y anunciarlo como lo que es.
|
|
35
|
+
*
|
|
36
|
+
* Los atributos caen en él: `to` para un enlace, `action` y `method`
|
|
37
|
+
* para un formulario, sin declararlos aquí.
|
|
38
|
+
*
|
|
39
|
+
* **La cadena solo vale para etiquetas nativas.** Para un componente
|
|
40
|
+
* hay que pasar el componente, no su nombre: `:tag="NuxtLink"` con
|
|
41
|
+
* `import { NuxtLink } from '#components'`, nunca `tag="NuxtLink"`.
|
|
42
|
+
* Los componentes de Nuxt se auto-importan en **tiempo de
|
|
43
|
+
* compilación**, así que al resolver una cadena no hay nada
|
|
44
|
+
* registrado que encontrar — y lo que no resuelve se pinta como
|
|
45
|
+
* etiqueta nativa: sale un `<nuxtlink to="…">` literal en el DOM,
|
|
46
|
+
* con todas las clases puestas, sin `href`, sin navegación, sin
|
|
47
|
+
* foco y **sin un solo aviso**. Se ve exactamente igual que una
|
|
48
|
+
* tarjeta enlazada.
|
|
49
|
+
*/
|
|
50
|
+
tag?: Component | string;
|
|
51
|
+
ui?: VunoUi<'card'>;
|
|
52
|
+
/**
|
|
53
|
+
* `outline` para una tarjeta sobre la página: borde y un escalón de
|
|
54
|
+
* elevación. `soft` para una que ya está dentro de algo levantado —un
|
|
55
|
+
* diálogo, un panel—, donde otro borde sobra y lo que distingue es
|
|
56
|
+
* subir otro escalón.
|
|
57
|
+
*
|
|
58
|
+
* `plain` no pinta contenedor: ni fondo ni borde, solo las tres
|
|
59
|
+
* regiones y la línea que las separa. Es para cuando el marco ya lo
|
|
60
|
+
* pone otro —un `<dialog>` con su anillo y su sombra— y repetirlo
|
|
61
|
+
* dentro dibujaría una caja dentro de otra.
|
|
62
|
+
*/
|
|
63
|
+
variant?: 'outline' | 'plain' | 'soft';
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Las tres regiones se pintan solo si se rellenan.
|
|
67
|
+
*
|
|
68
|
+
* Sin esto, una tarjeta con solo cuerpo arrastraría una cabecera vacía con su
|
|
69
|
+
* relleno y su línea divisoria: un hueco y una raya que no separan nada. Se
|
|
70
|
+
* ve raro y no falla, que es el peor modo de fallar.
|
|
71
|
+
*
|
|
72
|
+
* «Rellenada» es que produzca algo y no que esté declarada; lo decide
|
|
73
|
+
* `filled`, que vive en `internal/` porque los layouts necesitan la misma
|
|
74
|
+
* regla y dos copias de una regla divergen.
|
|
75
|
+
*/
|
|
76
|
+
type __VLS_Slots = {
|
|
77
|
+
default?: () => unknown;
|
|
78
|
+
footer?: () => unknown;
|
|
79
|
+
header?: () => unknown;
|
|
80
|
+
};
|
|
81
|
+
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
82
|
+
radius: VunoRadius;
|
|
83
|
+
variant: "outline" | "plain" | "soft";
|
|
84
|
+
tag: Component | string;
|
|
85
|
+
ui: VunoUi<"card">;
|
|
86
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
87
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
88
|
+
declare const _default: typeof __VLS_export;
|
|
89
|
+
export default _default;
|
|
90
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
91
|
+
new (): {
|
|
92
|
+
$slots: S;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
2
|
+
type Props = {
|
|
3
|
+
/** Código sin transformar. También es lo que se copia al portapapeles. */
|
|
4
|
+
code: string;
|
|
5
|
+
/** HTML completo producido por un resaltador de confianza, como Shiki. */
|
|
6
|
+
highlighted?: string;
|
|
7
|
+
/** Nombre accesible cuando el bloque necesita desplazamiento horizontal. */
|
|
8
|
+
label?: string;
|
|
9
|
+
language?: string;
|
|
10
|
+
ui?: VunoUi<'code'>;
|
|
11
|
+
};
|
|
12
|
+
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
13
|
+
label: string;
|
|
14
|
+
ui: VunoUi<"code">;
|
|
15
|
+
highlighted: string;
|
|
16
|
+
language: string;
|
|
17
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
declare const _default: typeof __VLS_export;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const codeTheme: Record<"code", {
|
|
2
|
+
readonly slots: {
|
|
3
|
+
readonly copy: "absolute inset-e-2 top-1 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100 max-sm:top-0 max-sm:size-11 max-sm:opacity-100 pointer-coarse:top-0 pointer-coarse:size-11 pointer-coarse:opacity-100";
|
|
4
|
+
readonly copyError: "border-t border-vuno-error/25 bg-vuno-error/10 px-4 py-2 text-xs text-vuno-error";
|
|
5
|
+
readonly fallback: "text-vuno-body";
|
|
6
|
+
readonly header: "flex items-center gap-2 border-b border-vuno-border/70 px-4 py-2 font-mono text-xs text-vuno-muted";
|
|
7
|
+
readonly live: "sr-only";
|
|
8
|
+
readonly root: "group relative border-t border-vuno-border";
|
|
9
|
+
readonly scroller: "overflow-x-auto text-sm/relaxed [&_pre]:px-4 [&_pre]:py-3.5";
|
|
10
|
+
};
|
|
11
|
+
}>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { defineTheme } from "#vuno/utils/theme";
|
|
2
|
+
export const codeTheme = defineTheme("code", {
|
|
3
|
+
slots: {
|
|
4
|
+
copy: "absolute inset-e-2 top-1 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100 max-sm:top-0 max-sm:size-11 max-sm:opacity-100 pointer-coarse:top-0 pointer-coarse:size-11 pointer-coarse:opacity-100",
|
|
5
|
+
copyError: "border-t border-vuno-error/25 bg-vuno-error/10 px-4 py-2 text-xs text-vuno-error",
|
|
6
|
+
fallback: "text-vuno-body",
|
|
7
|
+
header: "flex items-center gap-2 border-b border-vuno-border/70 px-4 py-2 font-mono text-xs text-vuno-muted",
|
|
8
|
+
live: "sr-only",
|
|
9
|
+
root: "group relative border-t border-vuno-border",
|
|
10
|
+
scroller: "overflow-x-auto text-sm/relaxed [&_pre]:px-4 [&_pre]:py-3.5"
|
|
11
|
+
}
|
|
12
|
+
});
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed, nextTick, onBeforeUnmount, onMounted, ref, useTemplateRef, watch } from "vue";
|
|
3
|
+
import { useIcons, useMessages, useTheme } from "#vuno/composables/useTheme";
|
|
4
|
+
import Button from "#vuno/components/Button/Button.vue";
|
|
5
|
+
defineOptions({ name: "VunoCode" });
|
|
6
|
+
const props = defineProps({
|
|
7
|
+
code: { type: String, required: true },
|
|
8
|
+
highlighted: { type: String, required: false, default: void 0 },
|
|
9
|
+
label: { type: String, required: false, default: void 0 },
|
|
10
|
+
language: { type: String, required: false, default: "text" },
|
|
11
|
+
ui: { type: Object, required: false, default: void 0 }
|
|
12
|
+
});
|
|
13
|
+
const icons = useIcons();
|
|
14
|
+
const messages = useMessages();
|
|
15
|
+
const ui = useTheme("code", () => props.ui);
|
|
16
|
+
const copied = ref(false);
|
|
17
|
+
const copyFailed = ref(false);
|
|
18
|
+
const overflows = ref(false);
|
|
19
|
+
const scroller = useTemplateRef("scroller");
|
|
20
|
+
const copyLabel = computed(() => {
|
|
21
|
+
const action = copied.value ? messages.value.codeCopied : messages.value.codeCopy;
|
|
22
|
+
return props.label ? `${action}: ${props.label}` : action;
|
|
23
|
+
});
|
|
24
|
+
let observer;
|
|
25
|
+
let timer;
|
|
26
|
+
function syncOverflow() {
|
|
27
|
+
const element = scroller.value;
|
|
28
|
+
overflows.value = !!element && element.scrollWidth > element.clientWidth + 1;
|
|
29
|
+
}
|
|
30
|
+
async function copy() {
|
|
31
|
+
copyFailed.value = false;
|
|
32
|
+
try {
|
|
33
|
+
await navigator.clipboard.writeText(props.code);
|
|
34
|
+
} catch {
|
|
35
|
+
copied.value = false;
|
|
36
|
+
copyFailed.value = true;
|
|
37
|
+
clearTimeout(timer);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
copied.value = true;
|
|
41
|
+
clearTimeout(timer);
|
|
42
|
+
timer = setTimeout(() => copied.value = false, 2e3);
|
|
43
|
+
}
|
|
44
|
+
watch(
|
|
45
|
+
() => [props.code, props.highlighted],
|
|
46
|
+
() => void nextTick(syncOverflow)
|
|
47
|
+
);
|
|
48
|
+
onMounted(() => {
|
|
49
|
+
syncOverflow();
|
|
50
|
+
observer = new ResizeObserver(syncOverflow);
|
|
51
|
+
if (scroller.value) observer.observe(scroller.value);
|
|
52
|
+
});
|
|
53
|
+
onBeforeUnmount(() => {
|
|
54
|
+
observer?.disconnect();
|
|
55
|
+
clearTimeout(timer);
|
|
56
|
+
});
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
<template>
|
|
60
|
+
<div :class="ui.root">
|
|
61
|
+
<div :class="ui.header">{{ props.language }}</div>
|
|
62
|
+
|
|
63
|
+
<Button
|
|
64
|
+
:aria-label="copyLabel"
|
|
65
|
+
:class="ui.copy"
|
|
66
|
+
color="neutral"
|
|
67
|
+
:icon="copied ? icons.codeCopied : icons.codeCopy"
|
|
68
|
+
size="xs"
|
|
69
|
+
variant="soft"
|
|
70
|
+
@click="copy"
|
|
71
|
+
/>
|
|
72
|
+
|
|
73
|
+
<div
|
|
74
|
+
ref="scroller"
|
|
75
|
+
:aria-label="overflows ? props.label ?? messages.codeRegion : void 0"
|
|
76
|
+
:class="ui.scroller"
|
|
77
|
+
:role="overflows ? 'region' : void 0"
|
|
78
|
+
:tabindex="overflows ? 0 : void 0"
|
|
79
|
+
>
|
|
80
|
+
<!-- El HTML viene de un resaltador elegido por quien consume el componente. -->
|
|
81
|
+
<!-- eslint-disable vue/no-v-html -->
|
|
82
|
+
<!-- nosemgrep: javascript.vue.security.audit.xss.templates.avoid-v-html.avoid-v-html -->
|
|
83
|
+
<div
|
|
84
|
+
v-if="props.highlighted"
|
|
85
|
+
v-html="props.highlighted"
|
|
86
|
+
/>
|
|
87
|
+
<!-- eslint-enable vue/no-v-html -->
|
|
88
|
+
|
|
89
|
+
<pre
|
|
90
|
+
v-else
|
|
91
|
+
:class="ui.fallback"
|
|
92
|
+
><code>{{ props.code }}</code></pre>
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<p
|
|
96
|
+
v-if="copyFailed"
|
|
97
|
+
:class="ui.copyError"
|
|
98
|
+
role="alert"
|
|
99
|
+
>
|
|
100
|
+
{{ messages.codeCopyFailed }}
|
|
101
|
+
</p>
|
|
102
|
+
|
|
103
|
+
<span
|
|
104
|
+
aria-live="polite"
|
|
105
|
+
:class="ui.live"
|
|
106
|
+
>{{ copied ? messages.codeCopiedAnnouncement : "" }}</span
|
|
107
|
+
>
|
|
108
|
+
</div>
|
|
109
|
+
</template>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
2
|
+
type Props = {
|
|
3
|
+
/** Código sin transformar. También es lo que se copia al portapapeles. */
|
|
4
|
+
code: string;
|
|
5
|
+
/** HTML completo producido por un resaltador de confianza, como Shiki. */
|
|
6
|
+
highlighted?: string;
|
|
7
|
+
/** Nombre accesible cuando el bloque necesita desplazamiento horizontal. */
|
|
8
|
+
label?: string;
|
|
9
|
+
language?: string;
|
|
10
|
+
ui?: VunoUi<'code'>;
|
|
11
|
+
};
|
|
12
|
+
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
13
|
+
label: string;
|
|
14
|
+
ui: VunoUi<"code">;
|
|
15
|
+
highlighted: string;
|
|
16
|
+
language: string;
|
|
17
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
declare const _default: typeof __VLS_export;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { VunoConfirmOptions } from '#vuno/types/confirm';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
3
|
+
type __VLS_Props = VunoConfirmOptions & {
|
|
4
|
+
loading?: boolean;
|
|
5
|
+
ui?: VunoUi<'confirm'>;
|
|
6
|
+
};
|
|
7
|
+
type __VLS_Slots = {
|
|
8
|
+
/**
|
|
9
|
+
* Sustituye a `description`. Para cuando el aviso es información que
|
|
10
|
+
* cambia la decisión —cuántos hijos quedan huérfanos, qué se pierde—
|
|
11
|
+
* y aplanarlo a una frase la escondería.
|
|
12
|
+
*/
|
|
13
|
+
default?: () => unknown;
|
|
14
|
+
};
|
|
15
|
+
type __VLS_ModelProps = {
|
|
16
|
+
'open'?: boolean;
|
|
17
|
+
};
|
|
18
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
19
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
20
|
+
confirm: () => any;
|
|
21
|
+
cancel: () => any;
|
|
22
|
+
"update:open": (value: boolean) => any;
|
|
23
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
24
|
+
onConfirm?: (() => any) | undefined;
|
|
25
|
+
onCancel?: (() => any) | undefined;
|
|
26
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
27
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
28
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
29
|
+
declare const _default: typeof __VLS_export;
|
|
30
|
+
export default _default;
|
|
31
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
32
|
+
new (): {
|
|
33
|
+
$slots: S;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const confirmTheme: Record<"confirm", {
|
|
2
|
+
readonly slots: {
|
|
3
|
+
readonly body: "flex items-start gap-3";
|
|
4
|
+
readonly content: "";
|
|
5
|
+
readonly description: "min-w-0 space-y-1";
|
|
6
|
+
readonly footer: "justify-end";
|
|
7
|
+
readonly icon: "size-5 shrink-0 text-(--vuno-accent)";
|
|
8
|
+
};
|
|
9
|
+
readonly variants: {
|
|
10
|
+
readonly color: Record<import("../../types/base.js").VunoColor, Record<"icon", string>>;
|
|
11
|
+
};
|
|
12
|
+
}>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { accentByColor } from "#vuno/theme/shared";
|
|
2
|
+
import { defineTheme } from "#vuno/utils/theme";
|
|
3
|
+
export const confirmTheme = defineTheme("confirm", {
|
|
4
|
+
slots: {
|
|
5
|
+
body: "flex items-start gap-3",
|
|
6
|
+
content: "",
|
|
7
|
+
description: "min-w-0 space-y-1",
|
|
8
|
+
footer: "justify-end",
|
|
9
|
+
// Mismo caso que el aviso: el color por variable, no por nombre.
|
|
10
|
+
icon: "size-5 shrink-0 text-(--vuno-accent)"
|
|
11
|
+
},
|
|
12
|
+
variants: { color: accentByColor("icon") }
|
|
13
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed, nextTick } 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
|
+
import Modal from "#vuno/components/Modal/Modal.vue";
|
|
7
|
+
defineOptions({ name: "VunoConfirm" });
|
|
8
|
+
const open = defineModel("open", { type: Boolean, ...{ default: false } });
|
|
9
|
+
const props = defineProps({
|
|
10
|
+
alert: { type: Boolean, required: false },
|
|
11
|
+
cancelLabel: { type: String, required: false },
|
|
12
|
+
color: { type: String, required: false },
|
|
13
|
+
confirmLabel: { type: String, required: false },
|
|
14
|
+
description: { type: String, required: false },
|
|
15
|
+
icon: { type: String, required: false },
|
|
16
|
+
title: { type: String, required: false },
|
|
17
|
+
loading: { type: Boolean, required: false },
|
|
18
|
+
ui: { type: Object, required: false }
|
|
19
|
+
});
|
|
20
|
+
const emit = defineEmits(["cancel", "confirm"]);
|
|
21
|
+
defineSlots();
|
|
22
|
+
const icons = useIcons();
|
|
23
|
+
const messages = useMessages();
|
|
24
|
+
const color = computed(() => props.color ?? "error");
|
|
25
|
+
const ui = useTheme(
|
|
26
|
+
"confirm",
|
|
27
|
+
() => props.ui,
|
|
28
|
+
() => ({ color: color.value })
|
|
29
|
+
);
|
|
30
|
+
const modalUi = computed(() => ({ content: ui.value.content, footer: ui.value.footer }));
|
|
31
|
+
function onCancel() {
|
|
32
|
+
open.value = false;
|
|
33
|
+
emit("cancel");
|
|
34
|
+
}
|
|
35
|
+
async function onConfirm() {
|
|
36
|
+
emit("confirm");
|
|
37
|
+
await nextTick();
|
|
38
|
+
if (!props.loading) open.value = false;
|
|
39
|
+
}
|
|
40
|
+
</script>
|
|
41
|
+
|
|
42
|
+
<template>
|
|
43
|
+
<!--
|
|
44
|
+
Sobre `Modal`, no sobre el de Nuxt UI, y no por gusto: un `<dialog>`
|
|
45
|
+
nativo vive en la capa superior del navegador, que queda por encima de
|
|
46
|
+
cualquier z-index. Mezclando los dos sistemas, un confirm abierto desde
|
|
47
|
+
dentro de un `Modal` se pintaba detrás de él —estaba en el DOM y no se
|
|
48
|
+
veía—. Nativos los dos, el navegador los apila por orden de apertura.
|
|
49
|
+
-->
|
|
50
|
+
<Modal
|
|
51
|
+
v-model:open="open"
|
|
52
|
+
:dismissible="!props.loading"
|
|
53
|
+
:title="props.title ?? messages.confirmTitle"
|
|
54
|
+
:ui="modalUi"
|
|
55
|
+
>
|
|
56
|
+
<div :class="ui.body">
|
|
57
|
+
<Icon
|
|
58
|
+
:class="ui.icon"
|
|
59
|
+
:name="props.icon ?? icons.confirm"
|
|
60
|
+
/>
|
|
61
|
+
<div :class="ui.description">
|
|
62
|
+
<slot>{{ props.description ?? messages.confirmDescription }}</slot>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
<template #footer>
|
|
67
|
+
<Button
|
|
68
|
+
v-if="!props.alert"
|
|
69
|
+
color="neutral"
|
|
70
|
+
:disabled="props.loading"
|
|
71
|
+
:label="props.cancelLabel ?? messages.cancel"
|
|
72
|
+
variant="ghost"
|
|
73
|
+
@click="onCancel"
|
|
74
|
+
/>
|
|
75
|
+
<Button
|
|
76
|
+
:color="color"
|
|
77
|
+
:label="props.confirmLabel ?? messages.confirm"
|
|
78
|
+
:loading="props.loading"
|
|
79
|
+
@click="onConfirm"
|
|
80
|
+
/>
|
|
81
|
+
</template>
|
|
82
|
+
</Modal>
|
|
83
|
+
</template>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { VunoConfirmOptions } from '#vuno/types/confirm';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
3
|
+
type __VLS_Props = VunoConfirmOptions & {
|
|
4
|
+
loading?: boolean;
|
|
5
|
+
ui?: VunoUi<'confirm'>;
|
|
6
|
+
};
|
|
7
|
+
type __VLS_Slots = {
|
|
8
|
+
/**
|
|
9
|
+
* Sustituye a `description`. Para cuando el aviso es información que
|
|
10
|
+
* cambia la decisión —cuántos hijos quedan huérfanos, qué se pierde—
|
|
11
|
+
* y aplanarlo a una frase la escondería.
|
|
12
|
+
*/
|
|
13
|
+
default?: () => unknown;
|
|
14
|
+
};
|
|
15
|
+
type __VLS_ModelProps = {
|
|
16
|
+
'open'?: boolean;
|
|
17
|
+
};
|
|
18
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
19
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
20
|
+
confirm: () => any;
|
|
21
|
+
cancel: () => any;
|
|
22
|
+
"update:open": (value: boolean) => any;
|
|
23
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
24
|
+
onConfirm?: (() => any) | undefined;
|
|
25
|
+
onCancel?: (() => any) | undefined;
|
|
26
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
27
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
28
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
29
|
+
declare const _default: typeof __VLS_export;
|
|
30
|
+
export default _default;
|
|
31
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
32
|
+
new (): {
|
|
33
|
+
$slots: S;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { VunoContainerSize } from '#vuno/types/page';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
3
|
+
/**
|
|
4
|
+
* Centra el contenido y le pone un ancho máximo.
|
|
5
|
+
*
|
|
6
|
+
* **El ancho es una variante del tema y no una clase que se pasa.** Escribirlo
|
|
7
|
+
* como `class="max-w-lg"` sobre el componente sería el defecto de siempre: una
|
|
8
|
+
* clase puesta sobre un componente no pasa por tailwind-merge, así que
|
|
9
|
+
* convive con la del tema y gana el orden de la hoja — dos anchos declarados
|
|
10
|
+
* y el que se aplica depende de en qué orden salieran compilados. Por la
|
|
11
|
+
* variante hay uno solo, y un proyecto puede cambiar la escala entera desde
|
|
12
|
+
* su `app.config`.
|
|
13
|
+
*
|
|
14
|
+
* Los tamaños son los de Tailwind, de `sm` a `7xl`, más `full` para cuando lo
|
|
15
|
+
* que se quiere es solo el relleno lateral y no el tope.
|
|
16
|
+
*/
|
|
17
|
+
type Props = {
|
|
18
|
+
/**
|
|
19
|
+
* Quita el relleno lateral. Para un contenedor dentro de otro que ya
|
|
20
|
+
* lo tiene, donde el relleno se sumaría dos veces.
|
|
21
|
+
*/
|
|
22
|
+
flush?: boolean;
|
|
23
|
+
size?: VunoContainerSize;
|
|
24
|
+
ui?: VunoUi<'container'>;
|
|
25
|
+
};
|
|
26
|
+
declare var __VLS_1: {};
|
|
27
|
+
type __VLS_Slots = {} & {
|
|
28
|
+
default?: (props: typeof __VLS_1) => any;
|
|
29
|
+
};
|
|
30
|
+
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
31
|
+
size: VunoContainerSize;
|
|
32
|
+
ui: VunoUi<"container">;
|
|
33
|
+
flush: boolean;
|
|
34
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
35
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
36
|
+
declare const _default: typeof __VLS_export;
|
|
37
|
+
export default _default;
|
|
38
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
39
|
+
new (): {
|
|
40
|
+
$slots: S;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export declare const containerTheme: Record<"container", {
|
|
2
|
+
/**
|
|
3
|
+
* El contenedor. El ancho sale de la variante y no de una clase suelta: dos
|
|
4
|
+
* `max-w-*` sobre el mismo elemento no se resuelven, conviven.
|
|
5
|
+
*/
|
|
6
|
+
readonly slots: {
|
|
7
|
+
readonly root: "mx-auto w-full";
|
|
8
|
+
};
|
|
9
|
+
readonly variants: {
|
|
10
|
+
readonly padding: {
|
|
11
|
+
readonly false: {};
|
|
12
|
+
readonly true: {
|
|
13
|
+
readonly root: "px-4 sm:px-6 lg:px-8";
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
readonly size: {
|
|
17
|
+
readonly sm: {
|
|
18
|
+
readonly root: "max-w-sm";
|
|
19
|
+
};
|
|
20
|
+
readonly md: {
|
|
21
|
+
readonly root: "max-w-md";
|
|
22
|
+
};
|
|
23
|
+
readonly lg: {
|
|
24
|
+
readonly root: "max-w-lg";
|
|
25
|
+
};
|
|
26
|
+
readonly xl: {
|
|
27
|
+
readonly root: "max-w-xl";
|
|
28
|
+
};
|
|
29
|
+
readonly '2xl': {
|
|
30
|
+
readonly root: "max-w-2xl";
|
|
31
|
+
};
|
|
32
|
+
readonly '3xl': {
|
|
33
|
+
readonly root: "max-w-3xl";
|
|
34
|
+
};
|
|
35
|
+
readonly '4xl': {
|
|
36
|
+
readonly root: "max-w-4xl";
|
|
37
|
+
};
|
|
38
|
+
readonly '5xl': {
|
|
39
|
+
readonly root: "max-w-5xl";
|
|
40
|
+
};
|
|
41
|
+
readonly '6xl': {
|
|
42
|
+
readonly root: "max-w-6xl";
|
|
43
|
+
};
|
|
44
|
+
readonly '7xl': {
|
|
45
|
+
readonly root: "max-w-7xl";
|
|
46
|
+
};
|
|
47
|
+
readonly '8xl': {
|
|
48
|
+
readonly root: "max-w-8xl";
|
|
49
|
+
};
|
|
50
|
+
readonly full: {};
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
}>;
|