@groupteknology/vuno 2.0.0 → 3.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 +193 -175
- package/dist/module.json +1 -1
- package/dist/module.mjs +7 -1
- package/dist/runtime/app/assets/css/dialog.css +1 -1
- package/dist/runtime/app/assets/css/main.css +1 -1
- package/dist/runtime/app/assets/css/theme.css +1 -1
- package/dist/runtime/app/assets/css/tokens.css +1 -1
- package/dist/runtime/app/components/Alert/Alert.d.vue.ts +2 -2
- package/dist/runtime/app/components/Alert/Alert.theme.d.ts +7 -6
- package/dist/runtime/app/components/Alert/Alert.theme.js +7 -6
- package/dist/runtime/app/components/Alert/Alert.types.d.ts +10 -0
- package/dist/runtime/app/components/Alert/Alert.vue +17 -8
- package/dist/runtime/app/components/Alert/Alert.vue.d.ts +2 -2
- package/dist/runtime/app/components/App/App.d.vue.ts +3 -19
- package/dist/runtime/app/components/App/App.types.d.ts +4 -0
- package/dist/runtime/app/components/App/App.vue +48 -29
- package/dist/runtime/app/components/App/App.vue.d.ts +3 -19
- package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.vue +2 -3
- package/dist/runtime/app/components/App/internal/Toast/Toast.theme.d.ts +5 -5
- package/dist/runtime/app/components/App/internal/Toast/Toast.theme.js +7 -9
- package/dist/runtime/app/components/App/internal/Toast/Toast.vue +27 -36
- package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.d.ts +3 -3
- package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.js +3 -3
- package/dist/runtime/app/components/Avatar/Avatar.d.vue.ts +5 -22
- package/dist/runtime/app/components/Avatar/Avatar.types.d.ts +10 -0
- package/dist/runtime/app/components/Avatar/Avatar.types.js +0 -0
- package/dist/runtime/app/components/Avatar/Avatar.vue.d.ts +5 -22
- package/dist/runtime/app/components/Badge/Badge.d.vue.ts +7 -26
- package/dist/runtime/app/components/Badge/Badge.types.d.ts +12 -0
- package/dist/runtime/app/components/Badge/Badge.types.js +0 -0
- package/dist/runtime/app/components/Badge/Badge.vue.d.ts +7 -26
- package/dist/runtime/app/components/Breadcrumb/Breadcrumb.d.vue.ts +7 -0
- package/dist/runtime/app/components/Breadcrumb/Breadcrumb.theme.d.ts +15 -0
- package/dist/runtime/app/components/Breadcrumb/Breadcrumb.theme.js +16 -0
- package/dist/runtime/app/components/Breadcrumb/Breadcrumb.types.d.ts +7 -0
- package/dist/runtime/app/components/Breadcrumb/Breadcrumb.types.js +0 -0
- package/dist/runtime/app/components/Breadcrumb/Breadcrumb.vue +109 -0
- package/dist/runtime/app/components/Breadcrumb/Breadcrumb.vue.d.ts +7 -0
- package/dist/runtime/app/components/Button/Button.d.vue.ts +11 -31
- package/dist/runtime/app/components/Button/Button.theme.d.ts +36 -22
- package/dist/runtime/app/components/Button/Button.theme.js +28 -20
- package/dist/runtime/app/components/Button/Button.types.d.ts +24 -0
- package/dist/runtime/app/components/Button/Button.types.js +0 -0
- package/dist/runtime/app/components/Button/Button.vue +84 -33
- package/dist/runtime/app/components/Button/Button.vue.d.ts +11 -31
- package/dist/runtime/app/components/Card/Card.d.vue.ts +7 -69
- package/dist/runtime/app/components/Card/Card.theme.d.ts +56 -13
- package/dist/runtime/app/components/Card/Card.theme.js +39 -19
- package/dist/runtime/app/components/Card/Card.types.d.ts +12 -0
- package/dist/runtime/app/components/Card/Card.types.js +0 -0
- package/dist/runtime/app/components/Card/Card.vue +17 -11
- package/dist/runtime/app/components/Card/Card.vue.d.ts +7 -69
- package/dist/runtime/app/components/Code/Code.d.vue.ts +3 -13
- package/dist/runtime/app/components/Code/Code.theme.d.ts +1 -1
- package/dist/runtime/app/components/Code/Code.theme.js +1 -1
- package/dist/runtime/app/components/Code/Code.types.d.ts +8 -0
- package/dist/runtime/app/components/Code/Code.types.js +0 -0
- package/dist/runtime/app/components/Code/Code.vue +12 -5
- package/dist/runtime/app/components/Code/Code.vue.d.ts +3 -13
- package/dist/runtime/app/components/Collapsible/Collapsible.d.vue.ts +31 -0
- package/dist/runtime/app/components/Collapsible/Collapsible.theme.d.ts +6 -0
- package/dist/runtime/app/components/Collapsible/Collapsible.theme.js +7 -0
- package/dist/runtime/app/components/Collapsible/Collapsible.types.d.ts +4 -0
- package/dist/runtime/app/components/Collapsible/Collapsible.types.js +0 -0
- package/dist/runtime/app/components/Collapsible/Collapsible.vue +72 -0
- package/dist/runtime/app/components/Collapsible/Collapsible.vue.d.ts +31 -0
- package/dist/runtime/app/components/ColorModeButton/ColorModeButton.d.vue.ts +12 -0
- package/dist/runtime/app/components/ColorModeButton/ColorModeButton.types.d.ts +13 -0
- package/dist/runtime/app/components/ColorModeButton/ColorModeButton.types.js +0 -0
- package/dist/runtime/app/components/ColorModeButton/ColorModeButton.vue +55 -0
- package/dist/runtime/app/components/ColorModeButton/ColorModeButton.vue.d.ts +12 -0
- package/dist/runtime/app/components/Confirm/Confirm.d.vue.ts +2 -6
- package/dist/runtime/app/components/Confirm/Confirm.types.d.ts +6 -0
- package/dist/runtime/app/components/Confirm/Confirm.types.js +0 -0
- package/dist/runtime/app/components/Confirm/Confirm.vue.d.ts +2 -6
- package/dist/runtime/app/components/Container/Container.d.vue.ts +4 -28
- package/dist/runtime/app/components/Container/Container.types.d.ts +9 -0
- package/dist/runtime/app/components/Container/Container.types.js +0 -0
- package/dist/runtime/app/components/Container/Container.vue +1 -1
- package/dist/runtime/app/components/Container/Container.vue.d.ts +4 -28
- package/dist/runtime/app/components/ControlGroup/ControlGroup.d.vue.ts +5 -14
- package/dist/runtime/app/components/ControlGroup/ControlGroup.types.d.ts +9 -0
- package/dist/runtime/app/components/ControlGroup/ControlGroup.types.js +0 -0
- package/dist/runtime/app/components/ControlGroup/ControlGroup.vue.d.ts +5 -14
- package/dist/runtime/app/components/DataTable/DataTable.d.vue.ts +64 -0
- package/dist/runtime/app/components/DataTable/DataTable.theme.d.ts +17 -0
- package/dist/runtime/app/components/DataTable/DataTable.theme.js +19 -0
- package/dist/runtime/app/components/DataTable/DataTable.types.d.ts +13 -0
- package/dist/runtime/app/components/DataTable/DataTable.types.js +0 -0
- package/dist/runtime/app/components/DataTable/DataTable.vue +356 -0
- package/dist/runtime/app/components/DataTable/DataTable.vue.d.ts +64 -0
- package/dist/runtime/app/components/{Table/internal/useVunoTable.d.ts → DataTable/internal/useVunoDataTable.d.ts} +6 -29
- package/dist/runtime/app/components/{Table/internal/useVunoTable.js → DataTable/internal/useVunoDataTable.js} +2 -29
- package/dist/runtime/app/components/FieldArray/FieldArray.d.vue.ts +2 -2
- package/dist/runtime/app/components/FieldArray/FieldArray.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldArray/FieldArray.types.js +0 -0
- package/dist/runtime/app/components/FieldArray/FieldArray.vue +12 -5
- package/dist/runtime/app/components/FieldArray/FieldArray.vue.d.ts +2 -2
- package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.d.vue.ts +2 -2
- package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.types.js +0 -0
- package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue +1 -1
- package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue.d.ts +2 -2
- package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.d.vue.ts +4 -3
- package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.vue.d.ts +4 -3
- package/dist/runtime/app/components/FieldColor/FieldColor.d.vue.ts +2 -2
- package/dist/runtime/app/components/FieldColor/FieldColor.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldColor/FieldColor.types.js +0 -0
- package/dist/runtime/app/components/FieldColor/FieldColor.vue +3 -3
- package/dist/runtime/app/components/FieldColor/FieldColor.vue.d.ts +2 -2
- package/dist/runtime/app/components/FieldCurrency/FieldCurrency.d.vue.ts +2 -2
- package/dist/runtime/app/components/FieldCurrency/FieldCurrency.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldCurrency/FieldCurrency.types.js +0 -0
- package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue +3 -3
- package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue.d.ts +2 -2
- package/dist/runtime/app/components/FieldFile/FieldFile.d.vue.ts +2 -2
- package/dist/runtime/app/components/FieldFile/FieldFile.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldFile/FieldFile.types.js +0 -0
- package/dist/runtime/app/components/FieldFile/FieldFile.vue +1 -1
- package/dist/runtime/app/components/FieldFile/FieldFile.vue.d.ts +2 -2
- package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.d.vue.ts +4 -3
- package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.d.ts +1 -0
- package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.js +1 -0
- package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.vue +26 -5
- package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.vue.d.ts +4 -3
- package/dist/runtime/app/components/FieldInput/FieldInput.d.vue.ts +4 -4
- package/dist/runtime/app/components/FieldInput/FieldInput.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldInput/FieldInput.types.js +0 -0
- package/dist/runtime/app/components/FieldInput/FieldInput.vue +3 -3
- package/dist/runtime/app/components/FieldInput/FieldInput.vue.d.ts +4 -4
- package/dist/runtime/app/components/FieldNumber/FieldNumber.d.vue.ts +2 -2
- package/dist/runtime/app/components/FieldNumber/FieldNumber.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldNumber/FieldNumber.types.js +0 -0
- package/dist/runtime/app/components/FieldNumber/FieldNumber.vue +3 -3
- package/dist/runtime/app/components/FieldNumber/FieldNumber.vue.d.ts +2 -2
- package/dist/runtime/app/components/FieldPassword/FieldPassword.d.vue.ts +2 -2
- package/dist/runtime/app/components/FieldPassword/FieldPassword.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldPassword/FieldPassword.types.js +0 -0
- package/dist/runtime/app/components/FieldPassword/FieldPassword.vue +4 -4
- package/dist/runtime/app/components/FieldPassword/FieldPassword.vue.d.ts +2 -2
- package/dist/runtime/app/components/FieldRadio/FieldRadio.d.vue.ts +3 -2
- package/dist/runtime/app/components/FieldRadio/FieldRadio.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldRadio/FieldRadio.types.js +0 -0
- package/dist/runtime/app/components/FieldRadio/FieldRadio.vue +1 -1
- package/dist/runtime/app/components/FieldRadio/FieldRadio.vue.d.ts +3 -2
- package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.d.vue.ts +4 -4
- package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.vue +6 -2
- package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.vue.d.ts +4 -4
- package/dist/runtime/app/components/FieldSearch/FieldSearch.d.vue.ts +3 -3
- package/dist/runtime/app/components/FieldSearch/FieldSearch.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldSearch/FieldSearch.types.js +0 -0
- package/dist/runtime/app/components/FieldSearch/FieldSearch.vue +4 -4
- package/dist/runtime/app/components/FieldSearch/FieldSearch.vue.d.ts +3 -3
- package/dist/runtime/app/components/FieldSelect/FieldSelect.d.vue.ts +3 -2
- package/dist/runtime/app/components/FieldSelect/FieldSelect.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldSelect/FieldSelect.types.js +0 -0
- package/dist/runtime/app/components/FieldSelect/FieldSelect.vue +1 -1
- package/dist/runtime/app/components/FieldSelect/FieldSelect.vue.d.ts +3 -2
- package/dist/runtime/app/components/FieldSelect/internal/Select/Select.d.vue.ts +7 -7
- package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue +16 -6
- package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue.d.ts +7 -7
- package/dist/runtime/app/components/FieldSlug/FieldSlug.d.vue.ts +2 -2
- package/dist/runtime/app/components/FieldSlug/FieldSlug.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldSlug/FieldSlug.types.js +0 -0
- package/dist/runtime/app/components/FieldSlug/FieldSlug.vue +4 -4
- package/dist/runtime/app/components/FieldSlug/FieldSlug.vue.d.ts +2 -2
- package/dist/runtime/app/components/FieldSwitch/FieldSwitch.d.vue.ts +2 -2
- package/dist/runtime/app/components/FieldSwitch/FieldSwitch.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldSwitch/FieldSwitch.types.js +0 -0
- package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue +1 -1
- package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue.d.ts +2 -2
- package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.d.vue.ts +4 -3
- package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.vue.d.ts +4 -3
- package/dist/runtime/app/components/FieldTags/FieldTags.d.vue.ts +2 -2
- package/dist/runtime/app/components/FieldTags/FieldTags.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldTags/FieldTags.types.js +0 -0
- package/dist/runtime/app/components/FieldTags/FieldTags.vue +1 -1
- package/dist/runtime/app/components/FieldTags/FieldTags.vue.d.ts +2 -2
- package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.d.vue.ts +4 -4
- package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue +16 -6
- package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue.d.ts +4 -4
- package/dist/runtime/app/components/FieldTextarea/FieldTextarea.d.vue.ts +2 -2
- package/dist/runtime/app/components/FieldTextarea/FieldTextarea.types.d.ts +2 -0
- package/dist/runtime/app/components/FieldTextarea/FieldTextarea.types.js +0 -0
- package/dist/runtime/app/components/FieldTextarea/FieldTextarea.vue +1 -1
- package/dist/runtime/app/components/FieldTextarea/FieldTextarea.vue.d.ts +2 -2
- package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.d.vue.ts +4 -3
- package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.vue +4 -4
- package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.vue.d.ts +4 -3
- package/dist/runtime/app/components/Form/Form.d.vue.ts +3 -19
- package/dist/runtime/app/components/Form/Form.types.d.ts +8 -0
- package/dist/runtime/app/components/Form/Form.types.js +0 -0
- package/dist/runtime/app/components/Form/Form.vue +3 -3
- package/dist/runtime/app/components/Form/Form.vue.d.ts +3 -19
- package/dist/runtime/app/components/FormField/FormField.d.vue.ts +4 -18
- package/dist/runtime/app/components/FormField/FormField.types.d.ts +14 -0
- package/dist/runtime/app/components/FormField/FormField.types.js +0 -0
- package/dist/runtime/app/components/FormField/FormField.vue +26 -10
- package/dist/runtime/app/components/FormField/FormField.vue.d.ts +4 -18
- package/dist/runtime/app/components/{internal → FormField/internal}/FieldShell/FieldShell.d.vue.ts +2 -3
- package/dist/runtime/app/components/{internal → FormField/internal}/FieldShell/FieldShell.vue.d.ts +2 -3
- package/dist/runtime/app/components/FormModal/FormModal.d.vue.ts +6 -25
- package/dist/runtime/app/components/FormModal/FormModal.types.d.ts +14 -0
- package/dist/runtime/app/components/FormModal/FormModal.types.js +0 -0
- package/dist/runtime/app/components/FormModal/FormModal.vue +12 -2
- package/dist/runtime/app/components/FormModal/FormModal.vue.d.ts +6 -25
- package/dist/runtime/app/components/FormSection/FormSection.d.vue.ts +2 -13
- package/dist/runtime/app/components/FormSection/FormSection.types.d.ts +7 -0
- package/dist/runtime/app/components/FormSection/FormSection.types.js +0 -0
- package/dist/runtime/app/components/FormSection/FormSection.vue +11 -4
- package/dist/runtime/app/components/FormSection/FormSection.vue.d.ts +2 -13
- package/dist/runtime/app/components/Icon/Icon.d.vue.ts +2 -4
- package/dist/runtime/app/components/Icon/Icon.types.d.ts +3 -0
- package/dist/runtime/app/components/Icon/Icon.types.js +0 -0
- package/dist/runtime/app/components/Icon/Icon.vue.d.ts +2 -4
- package/dist/runtime/app/components/Menu/Menu.d.vue.ts +4 -21
- package/dist/runtime/app/components/Menu/Menu.types.d.ts +7 -0
- package/dist/runtime/app/components/Menu/Menu.types.js +0 -0
- package/dist/runtime/app/components/Menu/Menu.vue +18 -110
- package/dist/runtime/app/components/Menu/Menu.vue.d.ts +4 -21
- package/dist/runtime/app/components/Menu/internal/MenuLevel/MenuLevel.d.vue.ts +26 -0
- package/dist/runtime/app/components/Menu/internal/MenuLevel/MenuLevel.vue +167 -0
- package/dist/runtime/app/components/Menu/internal/MenuLevel/MenuLevel.vue.d.ts +26 -0
- package/dist/runtime/app/components/Modal/Modal.d.vue.ts +6 -18
- package/dist/runtime/app/components/Modal/Modal.theme.d.ts +18 -14
- package/dist/runtime/app/components/Modal/Modal.theme.js +17 -21
- package/dist/runtime/app/components/Modal/Modal.types.d.ts +12 -0
- package/dist/runtime/app/components/Modal/Modal.types.js +0 -0
- package/dist/runtime/app/components/Modal/Modal.vue +99 -65
- package/dist/runtime/app/components/Modal/Modal.vue.d.ts +6 -18
- package/dist/runtime/app/components/Navbar/Navbar.d.vue.ts +3 -28
- package/dist/runtime/app/components/Navbar/Navbar.theme.d.ts +2 -3
- package/dist/runtime/app/components/Navbar/Navbar.theme.js +2 -3
- package/dist/runtime/app/components/Navbar/Navbar.types.d.ts +4 -0
- package/dist/runtime/app/components/Navbar/Navbar.types.js +0 -0
- package/dist/runtime/app/components/Navbar/Navbar.vue.d.ts +3 -28
- package/dist/runtime/app/components/NavigationList/NavigationList.d.vue.ts +4 -33
- package/dist/runtime/app/components/NavigationList/NavigationList.keys.d.ts +3 -0
- package/dist/runtime/app/components/NavigationList/NavigationList.keys.js +1 -0
- package/dist/runtime/app/components/NavigationList/NavigationList.types.d.ts +9 -0
- package/dist/runtime/app/components/NavigationList/NavigationList.types.js +0 -0
- package/dist/runtime/app/components/NavigationList/NavigationList.vue +65 -19
- package/dist/runtime/app/components/NavigationList/NavigationList.vue.d.ts +4 -33
- package/dist/runtime/app/components/NavigationMenu/NavigationMenu.d.vue.ts +3 -24
- package/dist/runtime/app/components/NavigationMenu/NavigationMenu.keys.d.ts +7 -0
- package/dist/runtime/app/components/NavigationMenu/NavigationMenu.keys.js +3 -0
- package/dist/runtime/app/components/NavigationMenu/NavigationMenu.types.d.ts +10 -0
- package/dist/runtime/app/components/NavigationMenu/NavigationMenu.types.js +0 -0
- package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue +45 -13
- package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue.d.ts +3 -24
- package/dist/runtime/app/components/NavigationToc/NavigationToc.d.vue.ts +3 -10
- package/dist/runtime/app/components/NavigationToc/NavigationToc.types.d.ts +7 -0
- package/dist/runtime/app/components/NavigationToc/NavigationToc.types.js +0 -0
- package/dist/runtime/app/components/NavigationToc/NavigationToc.vue +8 -1
- package/dist/runtime/app/components/NavigationToc/NavigationToc.vue.d.ts +3 -10
- package/dist/runtime/app/components/Pagination/Pagination.d.vue.ts +5 -23
- package/dist/runtime/app/components/Pagination/Pagination.types.d.ts +11 -0
- package/dist/runtime/app/components/Pagination/Pagination.types.js +0 -0
- package/dist/runtime/app/components/Pagination/Pagination.vue +6 -2
- package/dist/runtime/app/components/Pagination/Pagination.vue.d.ts +5 -23
- package/dist/runtime/app/components/Slideover/Slideover.d.vue.ts +4 -13
- package/dist/runtime/app/components/Slideover/Slideover.types.d.ts +12 -0
- package/dist/runtime/app/components/Slideover/Slideover.types.js +0 -0
- package/dist/runtime/app/components/Slideover/Slideover.vue.d.ts +4 -13
- package/dist/runtime/app/components/State/State.d.vue.ts +2 -2
- package/dist/runtime/app/components/State/State.types.d.ts +15 -0
- package/dist/runtime/app/components/State/State.types.js +0 -0
- package/dist/runtime/app/components/State/State.vue +13 -3
- package/dist/runtime/app/components/State/State.vue.d.ts +2 -2
- package/dist/runtime/app/components/Table/Table.d.vue.ts +8 -55
- package/dist/runtime/app/components/Table/Table.theme.d.ts +17 -35
- package/dist/runtime/app/components/Table/Table.theme.js +15 -48
- package/dist/runtime/app/components/Table/Table.types.d.ts +9 -0
- package/dist/runtime/app/components/Table/Table.types.js +0 -0
- package/dist/runtime/app/components/Table/Table.vue +143 -415
- package/dist/runtime/app/components/Table/Table.vue.d.ts +8 -55
- package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.vue +13 -3
- package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.vue +8 -1
- package/dist/runtime/app/components/Table/internal/CellDate/CellDate.vue +8 -1
- package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.vue +8 -1
- package/dist/runtime/app/components/Table/internal/CellText/CellText.vue +8 -1
- package/dist/runtime/app/components/Table/internal/TableCell/TableCell.d.vue.ts +2 -2
- package/dist/runtime/app/components/Table/internal/TableCell/TableCell.vue.d.ts +2 -2
- package/dist/runtime/app/components/Table/internal/column.d.ts +9 -0
- package/dist/runtime/app/components/Table/internal/column.js +15 -0
- package/dist/runtime/app/components/Table/internal/useVunoTableSelection.d.ts +1 -1
- package/dist/runtime/app/components/Tabs/Tabs.d.vue.ts +5 -24
- package/dist/runtime/app/components/Tabs/Tabs.theme.d.ts +15 -6
- package/dist/runtime/app/components/Tabs/Tabs.theme.js +15 -6
- package/dist/runtime/app/components/Tabs/Tabs.types.d.ts +10 -0
- package/dist/runtime/app/components/Tabs/Tabs.types.js +0 -0
- package/dist/runtime/app/components/Tabs/Tabs.vue +91 -17
- package/dist/runtime/app/components/Tabs/Tabs.vue.d.ts +5 -24
- package/dist/runtime/app/components/Text/Text.d.vue.ts +19 -0
- package/dist/runtime/app/components/Text/Text.theme.d.ts +55 -0
- package/dist/runtime/app/components/Text/Text.theme.js +28 -0
- package/dist/runtime/app/components/Text/Text.types.d.ts +9 -0
- package/dist/runtime/app/components/Text/Text.types.js +0 -0
- package/dist/runtime/app/components/Text/Text.vue +37 -0
- package/dist/runtime/app/components/Text/Text.vue.d.ts +19 -0
- package/dist/runtime/app/components/Toolbar/Toolbar.d.vue.ts +17 -0
- package/dist/runtime/app/components/Toolbar/Toolbar.theme.d.ts +5 -0
- package/dist/runtime/app/components/Toolbar/Toolbar.theme.js +6 -0
- package/dist/runtime/app/components/Toolbar/Toolbar.types.d.ts +9 -0
- package/dist/runtime/app/components/Toolbar/Toolbar.types.js +0 -0
- package/dist/runtime/app/components/Toolbar/Toolbar.vue +76 -0
- package/dist/runtime/app/components/Toolbar/Toolbar.vue.d.ts +17 -0
- package/dist/runtime/app/components/Tooltip/Tooltip.d.vue.ts +5 -26
- package/dist/runtime/app/components/Tooltip/Tooltip.types.d.ts +11 -0
- package/dist/runtime/app/components/Tooltip/Tooltip.types.js +0 -0
- package/dist/runtime/app/components/Tooltip/Tooltip.vue +1 -1
- package/dist/runtime/app/components/Tooltip/Tooltip.vue.d.ts +5 -26
- package/dist/runtime/app/composables/internal/useVunoContext.d.ts +5 -0
- package/dist/runtime/app/composables/internal/useVunoContext.js +8 -0
- package/dist/runtime/app/composables/internal/useVunoControlGroup.d.ts +3 -4
- package/dist/runtime/app/composables/internal/useVunoDirection.d.ts +5 -0
- package/dist/runtime/app/composables/internal/useVunoDirection.js +8 -0
- package/dist/runtime/app/composables/internal/useVunoFormContext.d.ts +5 -0
- package/dist/runtime/app/composables/internal/useVunoFormContext.js +8 -0
- package/dist/runtime/app/composables/internal/useVunoOverlayBehind.d.ts +6 -0
- package/dist/runtime/app/composables/internal/useVunoOverlayBehind.js +8 -0
- package/dist/runtime/app/composables/useContext.js +2 -3
- package/dist/runtime/app/composables/useForm.js +2 -3
- package/dist/runtime/app/composables/useTableQuery.d.ts +1 -1
- package/dist/runtime/app/composables/useTheme.js +6 -3
- package/dist/runtime/app/{components/internal/ControlShell/ControlShell.vue.d.ts → primitives/PrimitiveControl/PrimitiveControl.d.vue.ts} +4 -3
- package/dist/runtime/app/{components/internal/ControlShell/ControlShell.theme.d.ts → primitives/PrimitiveControl/PrimitiveControl.theme.d.ts} +1 -1
- package/dist/runtime/app/{components/internal/ControlShell/ControlShell.vue → primitives/PrimitiveControl/PrimitiveControl.vue} +1 -1
- package/dist/runtime/app/{components/internal/ControlShell/ControlShell.d.vue.ts → primitives/PrimitiveControl/PrimitiveControl.vue.d.ts} +4 -3
- package/dist/runtime/app/{components/internal/Input/Input.d.vue.ts → primitives/PrimitiveInput/PrimitiveInput.d.vue.ts} +4 -3
- package/dist/runtime/app/{components/internal/Input/Input.vue → primitives/PrimitiveInput/PrimitiveInput.vue} +4 -4
- package/dist/runtime/app/{components/internal/Input/Input.vue.d.ts → primitives/PrimitiveInput/PrimitiveInput.vue.d.ts} +4 -3
- package/dist/runtime/app/{components/internal/NumberInput/NumberInput.d.vue.ts → primitives/PrimitiveNumberInput/PrimitiveNumberInput.d.vue.ts} +3 -4
- package/dist/runtime/app/{components/internal/NumberInput/NumberInput.theme.d.ts → primitives/PrimitiveNumberInput/PrimitiveNumberInput.theme.d.ts} +3 -0
- package/dist/runtime/app/{components/internal/NumberInput/NumberInput.theme.js → primitives/PrimitiveNumberInput/PrimitiveNumberInput.theme.js} +4 -1
- package/dist/runtime/app/{components/internal/NumberInput/NumberInput.vue → primitives/PrimitiveNumberInput/PrimitiveNumberInput.vue} +7 -5
- package/dist/runtime/app/{components/internal/NumberInput/NumberInput.vue.d.ts → primitives/PrimitiveNumberInput/PrimitiveNumberInput.vue.d.ts} +3 -4
- package/dist/runtime/app/theme/index.d.ts +254 -96
- package/dist/runtime/app/theme/index.js +13 -5
- package/dist/runtime/app/theme/messages.js +1 -0
- package/dist/runtime/app/theme/shared.d.ts +3 -2
- package/dist/runtime/app/theme/shared.js +2 -1
- package/dist/runtime/app/types/app.d.ts +4 -2
- package/dist/runtime/app/types/base.d.ts +5 -23
- package/dist/runtime/app/types/field.d.ts +3 -1
- package/dist/runtime/app/types/form.d.ts +3 -4
- package/dist/runtime/app/types/index.d.ts +55 -7
- package/dist/runtime/app/types/menu.d.ts +22 -0
- package/dist/runtime/app/types/menu.js +0 -0
- package/dist/runtime/app/types/page.d.ts +6 -10
- package/dist/runtime/app/types/slots.d.ts +8 -4
- package/dist/runtime/app/types/table.d.ts +28 -28
- package/dist/runtime/app/types/text.d.ts +6 -0
- package/dist/runtime/app/types/text.js +0 -0
- package/dist/runtime/app/types/theme.d.ts +15 -6
- package/dist/runtime/app/utils/format.js +3 -2
- package/dist/runtime/app/utils/path.js +1 -1
- package/dist/runtime/app/{internal → utils}/slots.d.ts +2 -2
- package/dist/runtime/app/utils/theme.d.ts +8 -41
- package/dist/runtime/app/utils/theme.js +31 -29
- package/package.json +9 -9
- package/dist/runtime/app/components/Page/Page.d.vue.ts +0 -40
- package/dist/runtime/app/components/Page/Page.theme.d.ts +0 -32
- package/dist/runtime/app/components/Page/Page.theme.js +0 -31
- package/dist/runtime/app/components/Page/Page.vue +0 -132
- package/dist/runtime/app/components/Page/Page.vue.d.ts +0 -40
- package/dist/runtime/app/internal/keys.d.ts +0 -43
- package/dist/runtime/app/internal/keys.js +0 -8
- package/dist/runtime/app/types/alert.d.ts +0 -13
- package/dist/runtime/app/types/state.d.ts +0 -35
- /package/dist/runtime/app/{types/alert.js → components/Alert/Alert.types.js} +0 -0
- /package/dist/runtime/app/{types/state.js → components/App/App.types.js} +0 -0
- /package/dist/runtime/app/components/{Table → DataTable}/internal/query.d.ts +0 -0
- /package/dist/runtime/app/components/{Table → DataTable}/internal/query.js +0 -0
- /package/dist/runtime/app/components/{internal → FormField/internal}/FieldShell/FieldShell.vue +0 -0
- /package/dist/runtime/app/{components/internal/ControlShell/ControlShell.theme.js → primitives/PrimitiveControl/PrimitiveControl.theme.js} +0 -0
- /package/dist/runtime/app/{components/internal/Input/Input.theme.d.ts → primitives/PrimitiveInput/PrimitiveInput.theme.d.ts} +0 -0
- /package/dist/runtime/app/{components/internal/Input/Input.theme.js → primitives/PrimitiveInput/PrimitiveInput.theme.js} +0 -0
- /package/dist/runtime/app/{components/internal/NumberInput → primitives/PrimitiveNumberInput}/number.d.ts +0 -0
- /package/dist/runtime/app/{components/internal/NumberInput → primitives/PrimitiveNumberInput}/number.js +0 -0
- /package/dist/runtime/app/{internal → utils}/slots.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer base{:root{color-scheme:light;--vuno-color-white:oklch(100% 0 0);--vuno-color-slate-50:oklch(98.
|
|
1
|
+
@layer base{:root{color-scheme:light;--vuno-color-white:oklch(100% 0 0);--vuno-color-slate-50:oklch(98.75% 0 0);--vuno-color-slate-100:oklch(98% 0 0);--vuno-color-slate-200:oklch(96.5% 0 0);--vuno-color-slate-300:oklch(92.2% 0 0);--vuno-color-slate-400:oklch(70.8% 0 0);--vuno-color-slate-500:oklch(55.6% 0 0);--vuno-color-slate-600:oklch(43.9% 0 0);--vuno-color-slate-700:oklch(32% 0 0);--vuno-color-slate-800:oklch(26.9% 0 0);--vuno-color-slate-900:oklch(20.5% 0 0);--vuno-color-slate-925:oklch(17% 0 0);--vuno-color-slate-950:oklch(10% 0 0);--vuno-color-blue-400:oklch(75.668% 0.1242 263.014);--vuno-color-blue-600:oklch(53.463% 0.1595 261.622);--vuno-color-violet-400:oklch(78.263% 0.0571 279.398);--vuno-color-violet-600:oklch(50.733% 0.0826 278.816);--vuno-color-emerald-400:oklch(78.38% 0.0683 165.304);--vuno-color-emerald-700:oklch(51.266% 0.071 168.046);--vuno-color-cyan-400:oklch(78.873% 0.0666 223.957);--vuno-color-cyan-700:oklch(51.089% 0.0694 228.76);--vuno-color-red-400:oklch(76.599% 0.0951 15.392);--vuno-color-red-700:oklch(54.926% 0.1344 17.946);--vuno-color-amber-300:oklch(79.558% 0.1002 81.479);--vuno-color-amber-400:oklch(51.495% 0.0997 72.607);--vuno-font-sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--vuno-font-mono:"JetBrains Mono",ui-monospace,"Cascadia Code","Source Code Pro",Menlo,monospace;--vuno-primary:var(--vuno-color-blue-600);--vuno-primary-contrast:var(--vuno-color-white);--vuno-secondary:var(--vuno-color-violet-600);--vuno-secondary-contrast:var(--vuno-color-white);--vuno-neutral:var(--vuno-color-slate-600);--vuno-neutral-contrast:var(--vuno-color-white);--vuno-surface:var(--vuno-color-white);--vuno-surface-1:var(--vuno-color-slate-100);--vuno-surface-2:var(--vuno-color-slate-200);--vuno-surface-inverse:var(--vuno-color-slate-900);--vuno-text-strong:var(--vuno-color-slate-900);--vuno-text-body:var(--vuno-color-slate-700);--vuno-text-muted:var(--vuno-color-slate-600);--vuno-text-subtle:var(--vuno-color-slate-400);--vuno-text-inverse:var(--vuno-color-slate-50);--vuno-border:var(--vuno-color-slate-300);--vuno-border-strong:var(--vuno-color-slate-500);--vuno-success:var(--vuno-color-emerald-700);--vuno-success-contrast:var(--vuno-color-white);--vuno-info:var(--vuno-color-cyan-700);--vuno-info-contrast:var(--vuno-color-white);--vuno-warning:var(--vuno-color-amber-400);--vuno-warning-contrast:var(--vuno-color-white);--vuno-error:var(--vuno-color-red-700);--vuno-error-contrast:var(--vuno-color-white);--vuno-brand:var(--vuno-color-blue-600);--vuno-brand-hover:oklch(47.771% 0.1444 262.217);--vuno-brand-contrast:var(--vuno-color-white);--vuno-control:var(--vuno-color-white);--vuno-tint:oklch(97% 0 0);--vuno-line:oklch(14.5% 0 0/10%);--vuno-focus:oklch(15% 0 0);--vuno-danger-solid:var(--vuno-color-red-700);--vuno-danger-solid-hover:oklch(47.974% 0.1224 17.032);--vuno-danger-solid-contrast:var(--vuno-color-white)}.dark{color-scheme:dark;--vuno-primary:var(--vuno-color-blue-400);--vuno-primary-contrast:var(--vuno-color-slate-950);--vuno-secondary:var(--vuno-color-violet-400);--vuno-secondary-contrast:var(--vuno-color-slate-950);--vuno-neutral:var(--vuno-color-slate-400);--vuno-neutral-contrast:var(--vuno-color-slate-950);--vuno-surface:var(--vuno-color-slate-950);--vuno-surface-1:var(--vuno-color-slate-925);--vuno-surface-2:var(--vuno-color-slate-800);--vuno-surface-inverse:var(--vuno-color-slate-100);--vuno-text-strong:var(--vuno-color-white);--vuno-text-body:var(--vuno-color-slate-300);--vuno-text-muted:var(--vuno-color-slate-400);--vuno-text-subtle:var(--vuno-color-slate-500);--vuno-text-inverse:var(--vuno-color-slate-900);--vuno-border:var(--vuno-color-slate-700);--vuno-success:var(--vuno-color-emerald-400);--vuno-success-contrast:var(--vuno-color-slate-950);--vuno-info:var(--vuno-color-cyan-400);--vuno-info-contrast:var(--vuno-color-slate-950);--vuno-warning:var(--vuno-color-amber-300);--vuno-warning-contrast:var(--vuno-color-slate-950);--vuno-error:var(--vuno-color-red-400);--vuno-error-contrast:var(--vuno-color-slate-950);--vuno-control:oklch(21% 0.006 285.885);--vuno-tint:oklch(26.9% 0 0);--vuno-line:oklch(32% 0 0);--vuno-focus:oklch(93.5% 0 0)}html{scrollbar-gutter:stable}body{background-color:var(--vuno-surface);color:var(--vuno-text-body);font-family:var(--vuno-font-sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { VunoAlertProps } from '#vuno/types/alert';
|
|
2
1
|
import type { VunoColor } from '#vuno/types/base';
|
|
2
|
+
import type { VunoAlertProps } from './Alert.types.js';
|
|
3
3
|
type __VLS_Slots = {
|
|
4
4
|
/** Acciones relacionadas con el aviso. */
|
|
5
5
|
actions?: () => unknown;
|
|
@@ -8,7 +8,7 @@ type __VLS_Slots = {
|
|
|
8
8
|
};
|
|
9
9
|
declare const __VLS_base: import("vue").DefineComponent<VunoAlertProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoAlertProps> & Readonly<{}>, {
|
|
10
10
|
color: VunoColor;
|
|
11
|
-
role: "alert" | "status";
|
|
11
|
+
role: "alert" | "status" | null;
|
|
12
12
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
13
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
14
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
export declare const alertTheme: Record<"alert", {
|
|
2
2
|
readonly slots: {
|
|
3
|
-
readonly actions: "
|
|
4
|
-
readonly body: "min-w-0 flex-1";
|
|
5
|
-
readonly
|
|
6
|
-
readonly
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
3
|
+
readonly actions: "flex shrink-0 flex-wrap items-center gap-2 empty:hidden";
|
|
4
|
+
readonly body: "flex min-w-0 flex-1 flex-wrap items-center justify-between gap-3";
|
|
5
|
+
readonly content: "flex min-w-0 flex-1 flex-col gap-0.5";
|
|
6
|
+
readonly description: "text-sm leading-snug text-(--vuno-accent)";
|
|
7
|
+
readonly icon: "mt-0.5 size-4 shrink-0 text-(--vuno-accent)";
|
|
8
|
+
readonly root: "flex w-full items-start gap-3 rounded-lg bg-(--vuno-accent)/10 px-4 py-3";
|
|
9
|
+
readonly title: "text-sm leading-snug font-medium text-(--vuno-accent)";
|
|
9
10
|
};
|
|
10
11
|
readonly variants: {
|
|
11
12
|
readonly color: Record<import("../../types/base.js").VunoColor, Record<"root", string>>;
|
|
@@ -2,12 +2,13 @@ import { accentByColor } from "#vuno/theme/shared";
|
|
|
2
2
|
import { defineTheme } from "#vuno/utils/theme";
|
|
3
3
|
export const alertTheme = defineTheme("alert", {
|
|
4
4
|
slots: {
|
|
5
|
-
actions: "
|
|
6
|
-
body: "min-w-0 flex-1",
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
actions: "flex shrink-0 flex-wrap items-center gap-2 empty:hidden",
|
|
6
|
+
body: "flex min-w-0 flex-1 flex-wrap items-center justify-between gap-3",
|
|
7
|
+
content: "flex min-w-0 flex-1 flex-col gap-0.5",
|
|
8
|
+
description: "text-sm leading-snug text-(--vuno-accent)",
|
|
9
|
+
icon: "mt-0.5 size-4 shrink-0 text-(--vuno-accent)",
|
|
10
|
+
root: "flex w-full items-start gap-3 rounded-lg bg-(--vuno-accent)/10 px-4 py-3",
|
|
11
|
+
title: "text-sm leading-snug font-medium text-(--vuno-accent)"
|
|
11
12
|
},
|
|
12
13
|
variants: { color: accentByColor("root") }
|
|
13
14
|
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { VunoColor } from '#vuno/types/base';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
3
|
+
export type VunoAlertProps = {
|
|
4
|
+
color?: VunoColor;
|
|
5
|
+
description?: string;
|
|
6
|
+
icon?: null | string;
|
|
7
|
+
role?: 'alert' | 'status' | null;
|
|
8
|
+
title: string;
|
|
9
|
+
ui?: VunoUi<'alert'>;
|
|
10
|
+
};
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
import { computed } from "vue";
|
|
3
3
|
import { useIcons, useTheme } from "#vuno/composables/useTheme";
|
|
4
4
|
import Icon from "#vuno/components/Icon/Icon.vue";
|
|
5
|
+
import Text from "#vuno/components/Text/Text.vue";
|
|
5
6
|
defineOptions({ name: "VunoAlert" });
|
|
6
7
|
const props = defineProps({
|
|
7
8
|
color: { type: String, required: false, default: "info" },
|
|
8
9
|
description: { type: String, required: false },
|
|
9
10
|
icon: { type: [null, String], required: false },
|
|
10
|
-
role: { type: String, required: false, default: "status" },
|
|
11
|
+
role: { type: [String, null], required: false, default: "status" },
|
|
11
12
|
title: { type: String, required: true },
|
|
12
13
|
ui: { type: Object, required: false }
|
|
13
14
|
});
|
|
@@ -33,7 +34,7 @@ const ui = useTheme(
|
|
|
33
34
|
<template>
|
|
34
35
|
<div
|
|
35
36
|
:class="ui.root"
|
|
36
|
-
:role="props.role"
|
|
37
|
+
:role="props.role ?? void 0"
|
|
37
38
|
>
|
|
38
39
|
<Icon
|
|
39
40
|
v-if="iconName"
|
|
@@ -42,13 +43,21 @@ const ui = useTheme(
|
|
|
42
43
|
/>
|
|
43
44
|
|
|
44
45
|
<div :class="ui.body">
|
|
45
|
-
<
|
|
46
|
+
<div :class="ui.content">
|
|
47
|
+
<Text
|
|
48
|
+
:class="ui.title"
|
|
49
|
+
tag="p"
|
|
50
|
+
tone="inherit"
|
|
51
|
+
variant="inherit"
|
|
52
|
+
>{{ props.title }}</Text
|
|
53
|
+
>
|
|
46
54
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
55
|
+
<div
|
|
56
|
+
v-if="props.description || $slots.default"
|
|
57
|
+
:class="ui.description"
|
|
58
|
+
>
|
|
59
|
+
<slot>{{ props.description }}</slot>
|
|
60
|
+
</div>
|
|
52
61
|
</div>
|
|
53
62
|
|
|
54
63
|
<div :class="ui.actions">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { VunoAlertProps } from '#vuno/types/alert';
|
|
2
1
|
import type { VunoColor } from '#vuno/types/base';
|
|
2
|
+
import type { VunoAlertProps } from './Alert.types.js';
|
|
3
3
|
type __VLS_Slots = {
|
|
4
4
|
/** Acciones relacionadas con el aviso. */
|
|
5
5
|
actions?: () => unknown;
|
|
@@ -8,7 +8,7 @@ type __VLS_Slots = {
|
|
|
8
8
|
};
|
|
9
9
|
declare const __VLS_base: import("vue").DefineComponent<VunoAlertProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoAlertProps> & Readonly<{}>, {
|
|
10
10
|
color: VunoColor;
|
|
11
|
-
role: "alert" | "status";
|
|
11
|
+
role: "alert" | "status" | null;
|
|
12
12
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
13
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
14
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,22 +1,6 @@
|
|
|
1
1
|
import { type Component } from 'vue';
|
|
2
2
|
import type { VunoAlertRequest, VunoConfirmRequest, VunoNotifyRequest } from '#vuno/types/app';
|
|
3
|
-
|
|
4
|
-
* Raíz del módulo: provee el contexto global, aloja los overlays y la pila
|
|
5
|
-
* de notificaciones.
|
|
6
|
-
*
|
|
7
|
-
* Monta directamente todo lo que necesitan las piezas del módulo.
|
|
8
|
-
*/
|
|
9
|
-
type Props = {
|
|
10
|
-
/**
|
|
11
|
-
* Dirección de lectura.
|
|
12
|
-
*
|
|
13
|
-
* Se provee a los componentes que la necesitan —hoy solo las
|
|
14
|
-
* pestañas, para invertir sus flechas— y se pone además en el
|
|
15
|
-
* elemento, que es de donde la lee el navegador para el texto y
|
|
16
|
-
* para las propiedades lógicas del CSS.
|
|
17
|
-
*/
|
|
18
|
-
dir?: 'ltr' | 'rtl';
|
|
19
|
-
};
|
|
3
|
+
import type { VunoAppProps } from './App.types.js';
|
|
20
4
|
/**
|
|
21
5
|
* Monta un componente y espera a que emita `close`.
|
|
22
6
|
*
|
|
@@ -32,14 +16,14 @@ declare var __VLS_1: {};
|
|
|
32
16
|
type __VLS_Slots = {} & {
|
|
33
17
|
default?: (props: typeof __VLS_1) => any;
|
|
34
18
|
};
|
|
35
|
-
declare const __VLS_base: import("vue").DefineComponent<
|
|
19
|
+
declare const __VLS_base: import("vue").DefineComponent<VunoAppProps, {
|
|
36
20
|
alert: (request: VunoAlertRequest) => Promise<void>;
|
|
37
21
|
closeAll: typeof closeAll;
|
|
38
22
|
confirm: (request: VunoConfirmRequest) => Promise<boolean>;
|
|
39
23
|
dismiss: typeof dismiss;
|
|
40
24
|
notify: typeof notify;
|
|
41
25
|
open: typeof open;
|
|
42
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<
|
|
26
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoAppProps> & Readonly<{}>, {
|
|
43
27
|
dir: "ltr" | "rtl";
|
|
44
28
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
45
29
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { markRaw, onBeforeUnmount,
|
|
3
|
-
import {
|
|
2
|
+
import { markRaw, onBeforeUnmount, reactive, shallowReactive } from "vue";
|
|
3
|
+
import { provideVunoContext } from "#vuno/composables/internal/useVunoContext";
|
|
4
|
+
import { provideVunoDirection } from "#vuno/composables/internal/useVunoDirection";
|
|
4
5
|
import Overlay from "#vuno/components/App/internal/Overlay/Overlay.vue";
|
|
5
6
|
import Toaster from "#vuno/components/App/internal/Toaster/Toaster.vue";
|
|
6
7
|
import Confirm from "#vuno/components/Confirm/Confirm.vue";
|
|
@@ -11,26 +12,41 @@ const props = defineProps({
|
|
|
11
12
|
const notifications = shallowReactive([]);
|
|
12
13
|
const overlays = reactive([]);
|
|
13
14
|
let nextId = 0;
|
|
15
|
+
let unmounting = false;
|
|
14
16
|
const EXIT_MS = 220;
|
|
17
|
+
const overlayRemovalTimers = /* @__PURE__ */ new Map();
|
|
15
18
|
function removeOverlay(id) {
|
|
19
|
+
const timer = overlayRemovalTimers.get(id);
|
|
20
|
+
if (timer) {
|
|
21
|
+
clearTimeout(timer);
|
|
22
|
+
overlayRemovalTimers.delete(id);
|
|
23
|
+
}
|
|
16
24
|
const index = overlays.findIndex((entry) => entry.id === id);
|
|
17
25
|
if (index !== -1) overlays.splice(index, 1);
|
|
18
26
|
}
|
|
19
27
|
function dismissOverlay(id) {
|
|
20
28
|
const entry = overlays.find((item) => item.id === id);
|
|
21
|
-
if (entry)
|
|
22
|
-
|
|
29
|
+
if (!entry) return;
|
|
30
|
+
entry.open = false;
|
|
31
|
+
if (unmounting) {
|
|
32
|
+
removeOverlay(id);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
overlayRemovalTimers.set(id, setTimeout(() => removeOverlay(id), EXIT_MS));
|
|
36
|
+
}
|
|
37
|
+
function createOverlayResolver(id, resolve) {
|
|
38
|
+
let settled = false;
|
|
39
|
+
return (value) => {
|
|
40
|
+
if (settled) return;
|
|
41
|
+
settled = true;
|
|
42
|
+
resolve(value);
|
|
43
|
+
dismissOverlay(id);
|
|
44
|
+
};
|
|
23
45
|
}
|
|
24
46
|
function open(component, props2 = {}) {
|
|
25
47
|
return new Promise((resolve) => {
|
|
26
48
|
const id = nextId++;
|
|
27
|
-
|
|
28
|
-
const settle = (value) => {
|
|
29
|
-
if (settled) return;
|
|
30
|
-
settled = true;
|
|
31
|
-
resolve(value);
|
|
32
|
-
dismissOverlay(id);
|
|
33
|
-
};
|
|
49
|
+
const settle = createOverlayResolver(id, resolve);
|
|
34
50
|
overlays.push({
|
|
35
51
|
id,
|
|
36
52
|
// El registro es reactivo en profundidad para poder animar la
|
|
@@ -65,13 +81,7 @@ function open(component, props2 = {}) {
|
|
|
65
81
|
function askConfirm(request, dismissed) {
|
|
66
82
|
return new Promise((resolve) => {
|
|
67
83
|
const id = nextId++;
|
|
68
|
-
|
|
69
|
-
const settle = (value) => {
|
|
70
|
-
if (settled) return;
|
|
71
|
-
settled = true;
|
|
72
|
-
resolve(value);
|
|
73
|
-
dismissOverlay(id);
|
|
74
|
-
};
|
|
84
|
+
const settle = createOverlayResolver(id, resolve);
|
|
75
85
|
overlays.push({
|
|
76
86
|
id,
|
|
77
87
|
component: markRaw(Confirm),
|
|
@@ -94,14 +104,17 @@ const alert = async (request) => {
|
|
|
94
104
|
await askConfirm({ ...request, alert: true }, true);
|
|
95
105
|
};
|
|
96
106
|
function closeAll() {
|
|
97
|
-
for (
|
|
107
|
+
for (let index = overlays.length - 1; index >= 0; index--) {
|
|
108
|
+
const entry = overlays[index];
|
|
109
|
+
(entry.listeners.cancel ?? entry.listeners.close)?.();
|
|
110
|
+
}
|
|
98
111
|
}
|
|
99
|
-
const
|
|
112
|
+
const notificationTimers = /* @__PURE__ */ new Map();
|
|
100
113
|
function dismiss(id) {
|
|
101
|
-
const timer =
|
|
114
|
+
const timer = notificationTimers.get(id);
|
|
102
115
|
if (timer) {
|
|
103
116
|
clearTimeout(timer);
|
|
104
|
-
|
|
117
|
+
notificationTimers.delete(id);
|
|
105
118
|
}
|
|
106
119
|
const index = notifications.findIndex((entry) => entry.id === id);
|
|
107
120
|
if (index !== -1) notifications.splice(index, 1);
|
|
@@ -111,19 +124,25 @@ function notify(request) {
|
|
|
111
124
|
const duration = request.duration ?? 5e3;
|
|
112
125
|
notifications.push({ ...request, id, color: request.color ?? "neutral", duration });
|
|
113
126
|
if (duration > 0)
|
|
114
|
-
|
|
127
|
+
notificationTimers.set(
|
|
115
128
|
id,
|
|
116
129
|
setTimeout(() => dismiss(id), duration)
|
|
117
130
|
);
|
|
118
131
|
return id;
|
|
119
132
|
}
|
|
120
133
|
onBeforeUnmount(() => {
|
|
121
|
-
|
|
122
|
-
|
|
134
|
+
unmounting = true;
|
|
135
|
+
closeAll();
|
|
136
|
+
for (const timer of overlayRemovalTimers.values()) clearTimeout(timer);
|
|
137
|
+
for (const timer of notificationTimers.values()) clearTimeout(timer);
|
|
138
|
+
overlayRemovalTimers.clear();
|
|
139
|
+
notificationTimers.clear();
|
|
140
|
+
overlays.splice(0);
|
|
141
|
+
notifications.splice(0);
|
|
123
142
|
});
|
|
124
143
|
const context = { alert, closeAll, confirm, dismiss, notifications, notify, open, overlays };
|
|
125
|
-
|
|
126
|
-
|
|
144
|
+
provideVunoDirection(() => props.dir);
|
|
145
|
+
provideVunoContext(context);
|
|
127
146
|
defineExpose({ alert, closeAll, confirm, dismiss, notify, open });
|
|
128
147
|
</script>
|
|
129
148
|
|
|
@@ -134,8 +153,8 @@ defineExpose({ alert, closeAll, confirm, dismiss, notify, open });
|
|
|
134
153
|
Vue aporta un `useId` estable que Nuxt conserva entre servidor y cliente.
|
|
135
154
|
|
|
136
155
|
El `div` es la única forma de llevar el `dir` sin pedirle nada al
|
|
137
|
-
proyecto. No
|
|
138
|
-
|
|
156
|
+
proyecto. No tiene estilos propios, pero sí forma parte del contrato:
|
|
157
|
+
es una caja de bloque alrededor de la aplicación.
|
|
139
158
|
-->
|
|
140
159
|
<div :dir="props.dir">
|
|
141
160
|
<slot />
|
|
@@ -1,22 +1,6 @@
|
|
|
1
1
|
import { type Component } from 'vue';
|
|
2
2
|
import type { VunoAlertRequest, VunoConfirmRequest, VunoNotifyRequest } from '#vuno/types/app';
|
|
3
|
-
|
|
4
|
-
* Raíz del módulo: provee el contexto global, aloja los overlays y la pila
|
|
5
|
-
* de notificaciones.
|
|
6
|
-
*
|
|
7
|
-
* Monta directamente todo lo que necesitan las piezas del módulo.
|
|
8
|
-
*/
|
|
9
|
-
type Props = {
|
|
10
|
-
/**
|
|
11
|
-
* Dirección de lectura.
|
|
12
|
-
*
|
|
13
|
-
* Se provee a los componentes que la necesitan —hoy solo las
|
|
14
|
-
* pestañas, para invertir sus flechas— y se pone además en el
|
|
15
|
-
* elemento, que es de donde la lee el navegador para el texto y
|
|
16
|
-
* para las propiedades lógicas del CSS.
|
|
17
|
-
*/
|
|
18
|
-
dir?: 'ltr' | 'rtl';
|
|
19
|
-
};
|
|
3
|
+
import type { VunoAppProps } from './App.types.js';
|
|
20
4
|
/**
|
|
21
5
|
* Monta un componente y espera a que emita `close`.
|
|
22
6
|
*
|
|
@@ -32,14 +16,14 @@ declare var __VLS_1: {};
|
|
|
32
16
|
type __VLS_Slots = {} & {
|
|
33
17
|
default?: (props: typeof __VLS_1) => any;
|
|
34
18
|
};
|
|
35
|
-
declare const __VLS_base: import("vue").DefineComponent<
|
|
19
|
+
declare const __VLS_base: import("vue").DefineComponent<VunoAppProps, {
|
|
36
20
|
alert: (request: VunoAlertRequest) => Promise<void>;
|
|
37
21
|
closeAll: typeof closeAll;
|
|
38
22
|
confirm: (request: VunoConfirmRequest) => Promise<boolean>;
|
|
39
23
|
dismiss: typeof dismiss;
|
|
40
24
|
notify: typeof notify;
|
|
41
25
|
open: typeof open;
|
|
42
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<
|
|
26
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoAppProps> & Readonly<{}>, {
|
|
43
27
|
dir: "ltr" | "rtl";
|
|
44
28
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
45
29
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import {
|
|
3
|
-
import { vunoOverlayBehindInjectionKey } from "#vuno/internal/keys";
|
|
2
|
+
import { provideVunoOverlayBehind } from "#vuno/composables/internal/useVunoOverlayBehind";
|
|
4
3
|
defineOptions({ name: "VunoOverlayItem" });
|
|
5
4
|
const props = defineProps({
|
|
6
5
|
behind: { type: Boolean, required: true },
|
|
7
6
|
entry: { type: Object, required: true }
|
|
8
7
|
});
|
|
9
|
-
|
|
8
|
+
provideVunoOverlayBehind(() => props.behind);
|
|
10
9
|
</script>
|
|
11
10
|
|
|
12
11
|
<template>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/** El apilado lo añade `Overlay`; aquí solo lo que sea del proyecto. */
|
|
2
2
|
export declare const toastTheme: Record<"toast", {
|
|
3
3
|
readonly slots: {
|
|
4
|
-
readonly
|
|
5
|
-
readonly
|
|
6
|
-
readonly
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
4
|
+
readonly actions: "absolute top-2 right-2";
|
|
5
|
+
readonly close: "rounded text-(--vuno-accent) shadow-none ring-transparent hover:bg-(--vuno-accent)/15 hover:text-(--vuno-accent)";
|
|
6
|
+
readonly content: "pr-5";
|
|
7
|
+
readonly description: "text-vuno-muted";
|
|
8
|
+
readonly root: "relative rounded-xl p-4 shadow-lg ring ring-(--vuno-accent)/25";
|
|
9
9
|
};
|
|
10
10
|
readonly variants: {
|
|
11
11
|
readonly color: Record<import("../../../../types/base.js").VunoColor, Record<"root", string>>;
|
|
@@ -2,17 +2,15 @@ import { accentByColor } from "#vuno/theme/shared";
|
|
|
2
2
|
import { defineTheme } from "#vuno/utils/theme";
|
|
3
3
|
export const toastTheme = defineTheme("toast", {
|
|
4
4
|
slots: {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
actions: "absolute top-2 right-2",
|
|
6
|
+
close: "rounded text-(--vuno-accent) shadow-none ring-transparent hover:bg-(--vuno-accent)/15 hover:text-(--vuno-accent)",
|
|
7
|
+
content: "pr-5",
|
|
8
|
+
description: "text-vuno-muted",
|
|
7
9
|
/*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* nombre compuesto como `text-${color}` no serviría: Tailwind no
|
|
11
|
-
* genera una clase que nunca aparece literal en el código.
|
|
10
|
+
* `Alert` aporta el layout, el icono y el tinte semántico. El toast
|
|
11
|
+
* solo lo eleva sobre la página y reserva sitio para cerrarlo.
|
|
12
12
|
*/
|
|
13
|
-
|
|
14
|
-
root: "flex w-full items-start gap-3 rounded-sm bg-vuno-surface-1 p-3 shadow-lg ring ring-(--vuno-accent)/25",
|
|
15
|
-
title: "text-sm font-medium text-vuno-strong"
|
|
13
|
+
root: "relative rounded-xl p-4 shadow-lg ring ring-(--vuno-accent)/25"
|
|
16
14
|
},
|
|
17
15
|
variants: { color: accentByColor("root") }
|
|
18
16
|
});
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { computed } from "vue";
|
|
3
2
|
import { useIcons, useMessages, useTheme } from "#vuno/composables/useTheme";
|
|
3
|
+
import Alert from "#vuno/components/Alert/Alert.vue";
|
|
4
4
|
import Button from "#vuno/components/Button/Button.vue";
|
|
5
|
-
import Icon from "#vuno/components/Icon/Icon.vue";
|
|
6
5
|
defineOptions({ name: "VunoToast" });
|
|
7
6
|
const props = defineProps({
|
|
8
7
|
notification: { type: Object, required: true }
|
|
@@ -11,14 +10,6 @@ const emit = defineEmits(["dismiss"]);
|
|
|
11
10
|
const icons = useIcons();
|
|
12
11
|
const messages = useMessages();
|
|
13
12
|
const ui = useTheme("toast", void 0, () => ({ color: props.notification.color ?? "neutral" }));
|
|
14
|
-
const defaultIcons = {
|
|
15
|
-
error: icons.value.notifyError,
|
|
16
|
-
info: icons.value.notifyInfo,
|
|
17
|
-
neutral: icons.value.notifyInfo,
|
|
18
|
-
success: icons.value.notifySuccess,
|
|
19
|
-
warning: icons.value.notifyWarning
|
|
20
|
-
};
|
|
21
|
-
const icon = computed(() => props.notification.icon ?? defaultIcons[props.notification.color]);
|
|
22
13
|
</script>
|
|
23
14
|
|
|
24
15
|
<template>
|
|
@@ -35,30 +26,30 @@ const icon = computed(() => props.notification.icon ?? defaultIcons[props.notifi
|
|
|
35
26
|
solo. Queda dicho aquí y en su ficha para que sea un hueco conocido y no
|
|
36
27
|
un defecto futuro.
|
|
37
28
|
-->
|
|
38
|
-
<
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
</
|
|
29
|
+
<Alert
|
|
30
|
+
:color="props.notification.color"
|
|
31
|
+
:description="props.notification.description"
|
|
32
|
+
:icon="props.notification.icon"
|
|
33
|
+
:role="null"
|
|
34
|
+
:title="props.notification.title"
|
|
35
|
+
:ui="{
|
|
36
|
+
actions: ui.actions,
|
|
37
|
+
content: ui.content,
|
|
38
|
+
description: ui.description,
|
|
39
|
+
root: ui.root
|
|
40
|
+
}"
|
|
41
|
+
>
|
|
42
|
+
<template #actions>
|
|
43
|
+
<Button
|
|
44
|
+
:aria-label="messages.close"
|
|
45
|
+
color="neutral"
|
|
46
|
+
:icon="icons.close"
|
|
47
|
+
shape="square"
|
|
48
|
+
size="xs"
|
|
49
|
+
:ui="{ base: ui.close }"
|
|
50
|
+
variant="ghost"
|
|
51
|
+
@click="emit('dismiss')"
|
|
52
|
+
/>
|
|
53
|
+
</template>
|
|
54
|
+
</Alert>
|
|
64
55
|
</template>
|
|
@@ -6,10 +6,10 @@ export declare const toasterTheme: Record<"toaster", {
|
|
|
6
6
|
readonly item: "pointer-events-auto";
|
|
7
7
|
readonly leaveActive: "absolute inset-x-0 transition duration-150 ease-in";
|
|
8
8
|
readonly leaveTo: "translate-x-4 opacity-0";
|
|
9
|
-
readonly list: "flex flex-col gap-
|
|
9
|
+
readonly list: "flex flex-col gap-3";
|
|
10
10
|
/** Sin esto, al cerrar una de en medio las de abajo dan un salto. */
|
|
11
11
|
readonly move: "transition-transform duration-200 ease-out";
|
|
12
|
-
/** Fijo
|
|
13
|
-
readonly root: "pointer-events-none fixed inset-x-4
|
|
12
|
+
/** Fijo abajo a la derecha; en móvil ocupa el ancho con margen. */
|
|
13
|
+
readonly root: "pointer-events-none fixed inset-x-4 bottom-4 z-100 flex flex-col gap-3 sm:inset-x-auto sm:right-8 sm:bottom-8 sm:w-85";
|
|
14
14
|
};
|
|
15
15
|
}>;
|
|
@@ -7,10 +7,10 @@ export const toasterTheme = defineTheme("toaster", {
|
|
|
7
7
|
item: "pointer-events-auto",
|
|
8
8
|
leaveActive: "absolute inset-x-0 transition duration-150 ease-in",
|
|
9
9
|
leaveTo: "translate-x-4 opacity-0",
|
|
10
|
-
list: "flex flex-col gap-
|
|
10
|
+
list: "flex flex-col gap-3",
|
|
11
11
|
/** Sin esto, al cerrar una de en medio las de abajo dan un salto. */
|
|
12
12
|
move: "transition-transform duration-200 ease-out",
|
|
13
|
-
/** Fijo
|
|
14
|
-
root: "pointer-events-none fixed inset-x-4
|
|
13
|
+
/** Fijo abajo a la derecha; en móvil ocupa el ancho con margen. */
|
|
14
|
+
root: "pointer-events-none fixed inset-x-4 bottom-4 z-100 flex flex-col gap-3 sm:inset-x-auto sm:right-8 sm:bottom-8 sm:w-85"
|
|
15
15
|
}
|
|
16
16
|
});
|
|
@@ -1,26 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* persona.
|
|
6
|
-
*
|
|
7
|
-
* El `alt` no es decoración: en un listado, la alternativa útil es el nombre
|
|
8
|
-
* de la fila, y de ahí salen también las iniciales cuando no hay imagen que
|
|
9
|
-
* enseñar.
|
|
10
|
-
*/
|
|
11
|
-
type Props = {
|
|
12
|
-
alt?: string;
|
|
13
|
-
/** La curvatura. Sin valor, la que traiga el tema. */
|
|
14
|
-
radius?: VunoRadius;
|
|
15
|
-
size?: VunoSize;
|
|
16
|
-
src?: string;
|
|
17
|
-
ui?: VunoUi<'avatar'>;
|
|
18
|
-
};
|
|
19
|
-
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
20
|
-
radius: VunoRadius;
|
|
21
|
-
size: VunoSize;
|
|
1
|
+
import type { VunoAvatarProps } from './Avatar.types.js';
|
|
2
|
+
declare const __VLS_export: import("vue").DefineComponent<VunoAvatarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoAvatarProps> & Readonly<{}>, {
|
|
3
|
+
radius: import("../../types/base.js").VunoRadius;
|
|
4
|
+
size: import("./Avatar.types.js").VunoAvatarSize;
|
|
22
5
|
alt: string;
|
|
23
|
-
ui: VunoUi<"avatar">;
|
|
6
|
+
ui: import("../../types/slots.js").VunoUi<"avatar">;
|
|
24
7
|
src: string;
|
|
25
8
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
26
9
|
declare const _default: typeof __VLS_export;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { VunoRadius, VunoSize } from '#vuno/types/base';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
3
|
+
export type VunoAvatarSize = Extract<VunoSize, 'lg' | 'md' | 'sm' | 'xl' | 'xs'>;
|
|
4
|
+
export type VunoAvatarProps = {
|
|
5
|
+
alt?: string;
|
|
6
|
+
radius?: VunoRadius;
|
|
7
|
+
size?: VunoAvatarSize;
|
|
8
|
+
src?: string;
|
|
9
|
+
ui?: VunoUi<'avatar'>;
|
|
10
|
+
};
|
|
File without changes
|