@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,24 +1,12 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { VunoUi } from '#vuno/types/slots';
|
|
3
|
-
type Props = {
|
|
4
|
-
description?: string;
|
|
5
|
-
/** Cerrar con Escape o pulsando el fondo. */
|
|
6
|
-
dismissible?: boolean;
|
|
7
|
-
/** La curvatura. Sin valor, la que traiga el tema. */
|
|
8
|
-
radius?: VunoRadius;
|
|
9
|
-
/** Ancho máximo; `full` ocupa todo el viewport. */
|
|
10
|
-
size?: VunoModalSize;
|
|
11
|
-
title?: string;
|
|
12
|
-
ui?: VunoUi<'modal'>;
|
|
13
|
-
};
|
|
1
|
+
import type { VunoModalProps } from './Modal.types.js';
|
|
14
2
|
declare const _default: typeof __VLS_export;
|
|
15
3
|
export default _default;
|
|
16
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<
|
|
4
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<VunoModalProps & {
|
|
17
5
|
open?: boolean;
|
|
18
6
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
19
7
|
close: () => any;
|
|
20
8
|
"update:open": (value: boolean) => any;
|
|
21
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
9
|
+
}, string, import("vue").PublicProps, Readonly<VunoModalProps & {
|
|
22
10
|
open?: boolean;
|
|
23
11
|
}> & Readonly<{
|
|
24
12
|
onClose?: (() => any) | undefined;
|
|
@@ -26,9 +14,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Props
|
|
|
26
14
|
}>, {
|
|
27
15
|
description: string;
|
|
28
16
|
title: string;
|
|
29
|
-
radius: VunoRadius;
|
|
30
|
-
size: VunoModalSize;
|
|
31
|
-
ui: VunoUi<"modal">;
|
|
17
|
+
radius: import("../../types/base.js").VunoRadius;
|
|
18
|
+
size: import("./Modal.types.js").VunoModalSize;
|
|
19
|
+
ui: import("../../types/slots.js").VunoUi<"modal">;
|
|
32
20
|
dismissible: boolean;
|
|
33
21
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
34
22
|
body?: () => unknown;
|
|
@@ -13,12 +13,16 @@ export declare const modalTheme: Record<"modal", {
|
|
|
13
13
|
readonly size: "full";
|
|
14
14
|
}];
|
|
15
15
|
readonly slots: {
|
|
16
|
-
readonly body: "flex-1 overflow-y-auto p-4
|
|
17
|
-
readonly
|
|
16
|
+
readonly body: "min-h-0 flex-1 overflow-y-auto p-4 pt-0";
|
|
17
|
+
readonly bodyStandalone: "pt-4";
|
|
18
|
+
readonly close: "-me-2 -mt-2 shrink-0";
|
|
19
|
+
readonly content: "flex max-h-[calc(85dvh-0.75rem)] min-h-0 flex-col sm:max-h-[calc(100dvh-3.75rem)]";
|
|
18
20
|
readonly description: "mt-1 text-sm text-vuno-muted";
|
|
19
|
-
readonly footer: "flex items-center justify-end gap-2
|
|
20
|
-
readonly
|
|
21
|
-
readonly
|
|
21
|
+
readonly footer: "flex shrink-0 items-center justify-end gap-2 pt-1.5";
|
|
22
|
+
readonly frame: "flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg bg-vuno-surface ring ring-vuno-border";
|
|
23
|
+
readonly header: "flex shrink-0 items-start justify-between gap-4 p-4";
|
|
24
|
+
readonly heading: "flex min-w-0 flex-col";
|
|
25
|
+
readonly root: "m-auto mb-0 max-h-[85dvh] w-dvw max-w-none overflow-hidden rounded-none border-0 bg-vuno-surface-1 p-1.5 text-vuno-body shadow-lg ring-0 sm:mb-auto sm:max-h-[calc(100dvh-3rem)] sm:w-[calc(100dvw-2rem)] sm:max-w-lg sm:rounded-sm sm:ring sm:ring-vuno-border";
|
|
22
26
|
readonly title: "font-semibold text-vuno-strong";
|
|
23
27
|
};
|
|
24
28
|
/**
|
|
@@ -30,29 +34,29 @@ export declare const modalTheme: Record<"modal", {
|
|
|
30
34
|
readonly radius: Record<import("../../types/base.js").VunoRadius, Record<"root", string>>;
|
|
31
35
|
readonly size: {
|
|
32
36
|
readonly sm: {
|
|
33
|
-
readonly root: "max-w-sm";
|
|
37
|
+
readonly root: "sm:max-w-sm";
|
|
34
38
|
};
|
|
35
39
|
readonly md: {
|
|
36
|
-
readonly root: "max-w-md";
|
|
40
|
+
readonly root: "sm:max-w-md";
|
|
37
41
|
};
|
|
38
42
|
readonly lg: {
|
|
39
|
-
readonly root: "max-w-lg";
|
|
43
|
+
readonly root: "sm:max-w-lg";
|
|
40
44
|
};
|
|
41
45
|
readonly xl: {
|
|
42
|
-
readonly root: "max-w-xl";
|
|
46
|
+
readonly root: "sm:max-w-xl";
|
|
43
47
|
};
|
|
44
48
|
readonly '2xl': {
|
|
45
|
-
readonly root: "max-w-2xl";
|
|
49
|
+
readonly root: "sm:max-w-2xl";
|
|
46
50
|
};
|
|
47
51
|
readonly '3xl': {
|
|
48
|
-
readonly root: "max-w-3xl";
|
|
52
|
+
readonly root: "sm:max-w-3xl";
|
|
49
53
|
};
|
|
50
54
|
readonly '4xl': {
|
|
51
|
-
readonly root: "max-w-4xl";
|
|
55
|
+
readonly root: "sm:max-w-4xl";
|
|
52
56
|
};
|
|
53
57
|
readonly full: {
|
|
54
|
-
readonly content: "h-
|
|
55
|
-
readonly root: "m-0 h-dvh max-h-dvh w-dvw max-w-none shadow-none ring-0";
|
|
58
|
+
readonly content: "h-[calc(100dvh-0.75rem)] max-h-[calc(100dvh-0.75rem)]";
|
|
59
|
+
readonly root: "m-0 h-dvh max-h-dvh w-dvw max-w-none shadow-none ring-0 sm:rounded-none";
|
|
56
60
|
};
|
|
57
61
|
};
|
|
58
62
|
};
|
|
@@ -10,20 +10,16 @@ export const modalTheme = defineTheme("modal", {
|
|
|
10
10
|
*/
|
|
11
11
|
compoundVariants: [{ class: { root: "rounded-none" }, size: "full" }],
|
|
12
12
|
slots: {
|
|
13
|
-
body: "flex-1 overflow-y-auto p-4
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* separadas por una línea»; aquí queda el alto máximo y nada más.
|
|
18
|
-
* Antes esto repetía las cinco clases, y repetidas no se mantienen
|
|
19
|
-
* juntas: un proyecto que cambiara el separador de sus tarjetas se
|
|
20
|
-
* encontraba con que sus modales no cambiaban.
|
|
21
|
-
*/
|
|
22
|
-
content: "max-h-[85vh]",
|
|
13
|
+
body: "min-h-0 flex-1 overflow-y-auto p-4 pt-0",
|
|
14
|
+
bodyStandalone: "pt-4",
|
|
15
|
+
close: "-me-2 -mt-2 shrink-0",
|
|
16
|
+
content: "flex max-h-[calc(85dvh-0.75rem)] min-h-0 flex-col sm:max-h-[calc(100dvh-3.75rem)]",
|
|
23
17
|
description: "mt-1 text-sm text-vuno-muted",
|
|
24
|
-
footer: "flex items-center justify-end gap-2
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
footer: "flex shrink-0 items-center justify-end gap-2 pt-1.5",
|
|
19
|
+
frame: "flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg bg-vuno-surface ring ring-vuno-border",
|
|
20
|
+
header: "flex shrink-0 items-start justify-between gap-4 p-4",
|
|
21
|
+
heading: "flex min-w-0 flex-col",
|
|
22
|
+
root: "m-auto mb-0 max-h-[85dvh] w-dvw max-w-none overflow-hidden rounded-none border-0 bg-vuno-surface-1 p-1.5 text-vuno-body shadow-lg ring-0 sm:mb-auto sm:max-h-[calc(100dvh-3rem)] sm:w-[calc(100dvw-2rem)] sm:max-w-lg sm:rounded-sm sm:ring sm:ring-vuno-border",
|
|
27
23
|
title: "font-semibold text-vuno-strong"
|
|
28
24
|
},
|
|
29
25
|
/**
|
|
@@ -34,14 +30,14 @@ export const modalTheme = defineTheme("modal", {
|
|
|
34
30
|
variants: {
|
|
35
31
|
radius: radiusByStep("root"),
|
|
36
32
|
size: {
|
|
37
|
-
sm: { root: "max-w-sm" },
|
|
38
|
-
md: { root: "max-w-md" },
|
|
39
|
-
lg: { root: "max-w-lg" },
|
|
40
|
-
xl: { root: "max-w-xl" },
|
|
41
|
-
"2xl": { root: "max-w-2xl" },
|
|
42
|
-
"3xl": { root: "max-w-3xl" },
|
|
43
|
-
"4xl": { root: "max-w-4xl" },
|
|
44
|
-
full: { content: "h-
|
|
33
|
+
sm: { root: "sm:max-w-sm" },
|
|
34
|
+
md: { root: "sm:max-w-md" },
|
|
35
|
+
lg: { root: "sm:max-w-lg" },
|
|
36
|
+
xl: { root: "sm:max-w-xl" },
|
|
37
|
+
"2xl": { root: "sm:max-w-2xl" },
|
|
38
|
+
"3xl": { root: "sm:max-w-3xl" },
|
|
39
|
+
"4xl": { root: "sm:max-w-4xl" },
|
|
40
|
+
full: { content: "h-[calc(100dvh-0.75rem)] max-h-[calc(100dvh-0.75rem)]", root: "m-0 h-dvh max-h-dvh w-dvw max-w-none shadow-none ring-0 sm:rounded-none" }
|
|
45
41
|
}
|
|
46
42
|
}
|
|
47
43
|
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { VunoRadius, VunoSize } from '#vuno/types/base';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
3
|
+
/** Anchos que admite el diálogo; `full` ocupa todo el viewport. */
|
|
4
|
+
export type VunoModalSize = Extract<VunoSize, '2xl' | '3xl' | '4xl' | 'full' | 'lg' | 'md' | 'sm' | 'xl'>;
|
|
5
|
+
export type VunoModalProps = {
|
|
6
|
+
description?: string;
|
|
7
|
+
dismissible?: boolean;
|
|
8
|
+
radius?: VunoRadius;
|
|
9
|
+
size?: VunoModalSize;
|
|
10
|
+
title?: string;
|
|
11
|
+
ui?: VunoUi<'modal'>;
|
|
12
|
+
};
|
|
File without changes
|
|
@@ -14,11 +14,13 @@ function releaseScrollLock() {
|
|
|
14
14
|
</script>
|
|
15
15
|
|
|
16
16
|
<script setup>
|
|
17
|
-
import {
|
|
17
|
+
import { nextTick, onBeforeUnmount, useId, useTemplateRef, watch } from "vue";
|
|
18
|
+
import { useVunoOverlayBehind } from "#vuno/composables/internal/useVunoOverlayBehind";
|
|
18
19
|
import { provideVunoPortal } from "#vuno/composables/internal/useVunoPortal";
|
|
19
|
-
import { useTheme } from "#vuno/composables/useTheme";
|
|
20
|
-
import {
|
|
21
|
-
import
|
|
20
|
+
import { useIcons, useMessages, useTheme } from "#vuno/composables/useTheme";
|
|
21
|
+
import { filled } from "#vuno/utils/slots";
|
|
22
|
+
import Button from "#vuno/components/Button/Button.vue";
|
|
23
|
+
import Text from "#vuno/components/Text/Text.vue";
|
|
22
24
|
defineOptions({ name: "VunoModal" });
|
|
23
25
|
const open = defineModel("open", { type: Boolean, ...{ default: false } });
|
|
24
26
|
const props = defineProps({
|
|
@@ -30,14 +32,22 @@ const props = defineProps({
|
|
|
30
32
|
ui: { type: Object, required: false, default: void 0 }
|
|
31
33
|
});
|
|
32
34
|
const emit = defineEmits(["close"]);
|
|
33
|
-
defineSlots();
|
|
34
|
-
const isBehindOverlay =
|
|
35
|
+
const slots = defineSlots();
|
|
36
|
+
const isBehindOverlay = useVunoOverlayBehind();
|
|
37
|
+
const icons = useIcons();
|
|
38
|
+
const messages = useMessages();
|
|
35
39
|
const ui = useTheme(
|
|
36
40
|
"modal",
|
|
37
41
|
() => props.ui,
|
|
38
42
|
() => ({ radius: props.radius, size: props.size })
|
|
39
43
|
);
|
|
40
44
|
const dialog = useTemplateRef("dialog");
|
|
45
|
+
function hasFooter() {
|
|
46
|
+
return filled(slots.footer);
|
|
47
|
+
}
|
|
48
|
+
function hasHeader() {
|
|
49
|
+
return Boolean(props.title || props.description) || filled(slots.header) || props.dismissible && !hasFooter();
|
|
50
|
+
}
|
|
41
51
|
const baseId = `vuno-${useId().replace(/[^\w-]/g, "")}`;
|
|
42
52
|
provideVunoPortal(`#${baseId}`);
|
|
43
53
|
let scrollLocked = false;
|
|
@@ -122,16 +132,6 @@ onBeforeUnmount(() => lockScroll(false));
|
|
|
122
132
|
@keydown.capture="onKeydown"
|
|
123
133
|
@mousedown="onPointerDown"
|
|
124
134
|
>
|
|
125
|
-
<!--
|
|
126
|
-
El interior es una tarjeta, literalmente.
|
|
127
|
-
«Tres regiones apiladas y separadas por una línea» es lo que `VCard`
|
|
128
|
-
define, y el modal lo repetía clase por clase. Ahora lo reutiliza:
|
|
129
|
-
un proyecto que cambie el separador de sus tarjetas cambia también
|
|
130
|
-
sus modales, que es lo que uno espera y lo que no ocurría.
|
|
131
|
-
Va en la variante `plain` porque el marco —el anillo, la sombra y el
|
|
132
|
-
radio— lo pone el `<dialog>`, y pintarlo otra vez dentro dibujaría
|
|
133
|
-
una caja dentro de otra.
|
|
134
|
-
-->
|
|
135
135
|
<!--
|
|
136
136
|
**El contenido se monta al abrir y se desmonta al cerrar.**
|
|
137
137
|
|
|
@@ -152,64 +152,98 @@ onBeforeUnmount(() => lockScroll(false));
|
|
|
152
152
|
existiendo cerrado. Eso se comprobó antes de tocarlo, porque la
|
|
153
153
|
sospecha de partida era la contraria.
|
|
154
154
|
-->
|
|
155
|
-
|
|
155
|
+
<!--
|
|
156
|
+
El marco principal y las acciones son hermanos a propósito. `VCard`
|
|
157
|
+
siempre deja el pie dentro de su superficie primaria; aquí el pie
|
|
158
|
+
queda fuera del marco para permanecer fijo, mientras cabecera y
|
|
159
|
+
cuerpo forman la única superficie que puede desplazarse.
|
|
160
|
+
-->
|
|
161
|
+
<div
|
|
156
162
|
v-if="open"
|
|
157
|
-
:
|
|
158
|
-
variant="plain"
|
|
163
|
+
:class="ui.content"
|
|
159
164
|
>
|
|
160
|
-
<
|
|
161
|
-
<
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
165
|
+
<div :class="ui.frame">
|
|
166
|
+
<div
|
|
167
|
+
v-if="hasHeader()"
|
|
168
|
+
:class="ui.header"
|
|
169
|
+
>
|
|
170
|
+
<div :class="ui.heading">
|
|
171
|
+
<template v-if="filled(slots.header)">
|
|
172
|
+
<!-- El slot reemplaza lo visible, pero no los destinos ARIA. -->
|
|
173
|
+
<Text
|
|
174
|
+
v-if="props.title"
|
|
175
|
+
:id="`${baseId}-title`"
|
|
176
|
+
class="sr-only"
|
|
177
|
+
tag="span"
|
|
178
|
+
tone="inherit"
|
|
179
|
+
variant="inherit"
|
|
180
|
+
>
|
|
181
|
+
{{ props.title }}
|
|
182
|
+
</Text>
|
|
183
|
+
|
|
184
|
+
<Text
|
|
185
|
+
v-if="props.description"
|
|
186
|
+
:id="`${baseId}-description`"
|
|
187
|
+
class="sr-only"
|
|
188
|
+
tag="span"
|
|
189
|
+
tone="inherit"
|
|
190
|
+
variant="inherit"
|
|
191
|
+
>
|
|
192
|
+
{{ props.description }}
|
|
193
|
+
</Text>
|
|
170
194
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
:id="`${baseId}-description`"
|
|
174
|
-
class="sr-only"
|
|
175
|
-
>
|
|
176
|
-
{{ props.description }}
|
|
177
|
-
</span>
|
|
195
|
+
<slot name="header" />
|
|
196
|
+
</template>
|
|
178
197
|
|
|
179
|
-
|
|
180
|
-
|
|
198
|
+
<template v-else>
|
|
199
|
+
<Text
|
|
200
|
+
v-if="props.title"
|
|
201
|
+
:id="`${baseId}-title`"
|
|
202
|
+
:class="ui.title"
|
|
203
|
+
tag="h2"
|
|
204
|
+
tone="inherit"
|
|
205
|
+
variant="inherit"
|
|
206
|
+
>
|
|
207
|
+
{{ props.title }}
|
|
208
|
+
</Text>
|
|
181
209
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
210
|
+
<Text
|
|
211
|
+
v-if="props.description"
|
|
212
|
+
:id="`${baseId}-description`"
|
|
213
|
+
:class="ui.description"
|
|
214
|
+
tag="p"
|
|
215
|
+
tone="inherit"
|
|
216
|
+
variant="inherit"
|
|
217
|
+
>
|
|
218
|
+
{{ props.description }}
|
|
219
|
+
</Text>
|
|
220
|
+
</template>
|
|
221
|
+
</div>
|
|
191
222
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
223
|
+
<Button
|
|
224
|
+
v-if="props.dismissible && !hasFooter()"
|
|
225
|
+
:aria-label="messages.close"
|
|
226
|
+
:class="ui.close"
|
|
227
|
+
:icon="icons.close"
|
|
228
|
+
size="sm"
|
|
229
|
+
variant="ghost"
|
|
230
|
+
@click="requestClose"
|
|
231
|
+
/>
|
|
232
|
+
</div>
|
|
202
233
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
234
|
+
<div :class="[ui.body, hasHeader() ? void 0 : ui.bodyStandalone]">
|
|
235
|
+
<slot name="body">
|
|
236
|
+
<slot />
|
|
237
|
+
</slot>
|
|
238
|
+
</div>
|
|
239
|
+
</div>
|
|
206
240
|
|
|
207
|
-
<
|
|
208
|
-
v-if="
|
|
209
|
-
|
|
241
|
+
<div
|
|
242
|
+
v-if="hasFooter()"
|
|
243
|
+
:class="ui.footer"
|
|
210
244
|
>
|
|
211
245
|
<slot name="footer" />
|
|
212
|
-
</
|
|
213
|
-
</
|
|
246
|
+
</div>
|
|
247
|
+
</div>
|
|
214
248
|
</dialog>
|
|
215
249
|
</template>
|
|
@@ -1,24 +1,12 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { VunoUi } from '#vuno/types/slots';
|
|
3
|
-
type Props = {
|
|
4
|
-
description?: string;
|
|
5
|
-
/** Cerrar con Escape o pulsando el fondo. */
|
|
6
|
-
dismissible?: boolean;
|
|
7
|
-
/** La curvatura. Sin valor, la que traiga el tema. */
|
|
8
|
-
radius?: VunoRadius;
|
|
9
|
-
/** Ancho máximo; `full` ocupa todo el viewport. */
|
|
10
|
-
size?: VunoModalSize;
|
|
11
|
-
title?: string;
|
|
12
|
-
ui?: VunoUi<'modal'>;
|
|
13
|
-
};
|
|
1
|
+
import type { VunoModalProps } from './Modal.types.js';
|
|
14
2
|
declare const _default: typeof __VLS_export;
|
|
15
3
|
export default _default;
|
|
16
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<
|
|
4
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<VunoModalProps & {
|
|
17
5
|
open?: boolean;
|
|
18
6
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
19
7
|
close: () => any;
|
|
20
8
|
"update:open": (value: boolean) => any;
|
|
21
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
9
|
+
}, string, import("vue").PublicProps, Readonly<VunoModalProps & {
|
|
22
10
|
open?: boolean;
|
|
23
11
|
}> & Readonly<{
|
|
24
12
|
onClose?: (() => any) | undefined;
|
|
@@ -26,9 +14,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Props
|
|
|
26
14
|
}>, {
|
|
27
15
|
description: string;
|
|
28
16
|
title: string;
|
|
29
|
-
radius: VunoRadius;
|
|
30
|
-
size: VunoModalSize;
|
|
31
|
-
ui: VunoUi<"modal">;
|
|
17
|
+
radius: import("../../types/base.js").VunoRadius;
|
|
18
|
+
size: import("./Modal.types.js").VunoModalSize;
|
|
19
|
+
ui: import("../../types/slots.js").VunoUi<"modal">;
|
|
32
20
|
dismissible: boolean;
|
|
33
21
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
34
22
|
body?: () => unknown;
|
|
@@ -1,29 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
/**
|
|
3
|
-
* La barra de navegación: izquierda, centro y derecha.
|
|
4
|
-
*
|
|
5
|
-
* **No se pega arriba ni se pinta**, y es lo que la hace reutilizable: eso
|
|
6
|
-
* lo decide el `<header>` de cada aplicación y esta barra solo reparte lo
|
|
7
|
-
* que va dentro. Si trajera su propio fondo habría dos, y si trajera su
|
|
8
|
-
* borde habría dos líneas a un píxel una de otra.
|
|
9
|
-
*
|
|
10
|
-
* Las tres regiones son slots y ninguna es obligatoria. La de la izquierda
|
|
11
|
-
* encoge y la de la derecha no, que es lo que ya se aprendió en la barra de
|
|
12
|
-
* `VPage`: lo que se recorta cuando falta sitio es el texto, nunca los
|
|
13
|
-
* botones.
|
|
14
|
-
*
|
|
15
|
-
* ```vue
|
|
16
|
-
* <header class="sticky top-0">
|
|
17
|
-
* <VNavbar>
|
|
18
|
-
* <template #left>vuno</template>
|
|
19
|
-
* <template #right><VButton label="Entrar" /></template>
|
|
20
|
-
* </VNavbar>
|
|
21
|
-
* </header>
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
type Props = {
|
|
25
|
-
ui?: VunoUi<'navbar'>;
|
|
26
|
-
};
|
|
1
|
+
import type { VunoNavbarProps } from './Navbar.types.js';
|
|
27
2
|
type __VLS_Slots = {
|
|
28
3
|
/** El centro de la barra: la navegación, normalmente. */
|
|
29
4
|
center?: () => unknown;
|
|
@@ -32,8 +7,8 @@ type __VLS_Slots = {
|
|
|
32
7
|
/** Lo de la derecha: sesión, idioma, la acción principal. */
|
|
33
8
|
right?: () => unknown;
|
|
34
9
|
};
|
|
35
|
-
declare const __VLS_base: import("vue").DefineComponent<
|
|
36
|
-
ui: VunoUi<"navbar">;
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<VunoNavbarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoNavbarProps> & Readonly<{}>, {
|
|
11
|
+
ui: import("../../types/slots.js").VunoUi<"navbar">;
|
|
37
12
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
38
13
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
39
14
|
declare const _default: typeof __VLS_export;
|
|
@@ -18,9 +18,8 @@ export declare const navbarTheme: Record<"navbar", {
|
|
|
18
18
|
* entonces un título largo a la izquierda no se trunca: empuja la barra y
|
|
19
19
|
* saca scroll horizontal a la página.
|
|
20
20
|
*
|
|
21
|
-
* La izquierda encoge y la derecha no —`min-w-0` contra `shrink-0
|
|
22
|
-
*
|
|
23
|
-
* texto, nunca los botones.
|
|
21
|
+
* La izquierda encoge y la derecha no —`min-w-0` contra `shrink-0`—: lo que
|
|
22
|
+
* se recorta es el texto, nunca los botones.
|
|
24
23
|
*/
|
|
25
24
|
readonly slots: {
|
|
26
25
|
readonly center: "flex min-w-0 items-center justify-center gap-2";
|
|
@@ -19,9 +19,8 @@ export const navbarTheme = defineTheme("navbar", {
|
|
|
19
19
|
* entonces un título largo a la izquierda no se trunca: empuja la barra y
|
|
20
20
|
* saca scroll horizontal a la página.
|
|
21
21
|
*
|
|
22
|
-
* La izquierda encoge y la derecha no —`min-w-0` contra `shrink-0
|
|
23
|
-
*
|
|
24
|
-
* texto, nunca los botones.
|
|
22
|
+
* La izquierda encoge y la derecha no —`min-w-0` contra `shrink-0`—: lo que
|
|
23
|
+
* se recorta es el texto, nunca los botones.
|
|
25
24
|
*/
|
|
26
25
|
slots: {
|
|
27
26
|
center: "flex min-w-0 items-center justify-center gap-2",
|
|
File without changes
|
|
@@ -1,29 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
/**
|
|
3
|
-
* La barra de navegación: izquierda, centro y derecha.
|
|
4
|
-
*
|
|
5
|
-
* **No se pega arriba ni se pinta**, y es lo que la hace reutilizable: eso
|
|
6
|
-
* lo decide el `<header>` de cada aplicación y esta barra solo reparte lo
|
|
7
|
-
* que va dentro. Si trajera su propio fondo habría dos, y si trajera su
|
|
8
|
-
* borde habría dos líneas a un píxel una de otra.
|
|
9
|
-
*
|
|
10
|
-
* Las tres regiones son slots y ninguna es obligatoria. La de la izquierda
|
|
11
|
-
* encoge y la de la derecha no, que es lo que ya se aprendió en la barra de
|
|
12
|
-
* `VPage`: lo que se recorta cuando falta sitio es el texto, nunca los
|
|
13
|
-
* botones.
|
|
14
|
-
*
|
|
15
|
-
* ```vue
|
|
16
|
-
* <header class="sticky top-0">
|
|
17
|
-
* <VNavbar>
|
|
18
|
-
* <template #left>vuno</template>
|
|
19
|
-
* <template #right><VButton label="Entrar" /></template>
|
|
20
|
-
* </VNavbar>
|
|
21
|
-
* </header>
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
type Props = {
|
|
25
|
-
ui?: VunoUi<'navbar'>;
|
|
26
|
-
};
|
|
1
|
+
import type { VunoNavbarProps } from './Navbar.types.js';
|
|
27
2
|
type __VLS_Slots = {
|
|
28
3
|
/** El centro de la barra: la navegación, normalmente. */
|
|
29
4
|
center?: () => unknown;
|
|
@@ -32,8 +7,8 @@ type __VLS_Slots = {
|
|
|
32
7
|
/** Lo de la derecha: sesión, idioma, la acción principal. */
|
|
33
8
|
right?: () => unknown;
|
|
34
9
|
};
|
|
35
|
-
declare const __VLS_base: import("vue").DefineComponent<
|
|
36
|
-
ui: VunoUi<"navbar">;
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<VunoNavbarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoNavbarProps> & Readonly<{}>, {
|
|
11
|
+
ui: import("../../types/slots.js").VunoUi<"navbar">;
|
|
37
12
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
38
13
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
39
14
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,37 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import
|
|
3
|
-
/**
|
|
4
|
-
* Navegación anidada: listas dentro de listas, con las ramas que contienen la
|
|
5
|
-
* página actual openKeys.
|
|
6
|
-
*
|
|
7
|
-
* **La apertura se deriva de la ruta, no del clic.** Es lo que hace que al
|
|
8
|
-
* recargar en `config/perfil/contrasena` las dos ramas de arriba estén
|
|
9
|
-
* openKeys, y que lo estén también en el HTML del servidor. Un estado que solo
|
|
10
|
-
* se moviera al pulsar dejaría la página actual escondida en cuanto alguien
|
|
11
|
-
* llegara por un enlace directo. Se recalcula al cambiar de ruta, de forma
|
|
12
|
-
* **aditiva**: navegar abre lo que hace falta y no cierra lo que el usuario
|
|
13
|
-
* abrió a mano.
|
|
14
|
-
*
|
|
15
|
-
* **Listas anidadas y no `role="tree"`.** Un árbol ARIA es un control de
|
|
16
|
-
* selección única con foco móvil, y esto es un menú de enlaces: lo que
|
|
17
|
-
* corresponde es `<ul>` dentro de `<li>` con un botón de desplegar. Ponerle
|
|
18
|
-
* `role="tree"` obligaría a reimplementar el teclado de un widget y a cambiar
|
|
19
|
-
* cómo lo anuncia un lector, para peor.
|
|
20
|
-
*/
|
|
21
|
-
type Props = {
|
|
22
|
-
/** Permite cerrar y abrir ramas; desactivado las mantiene visibles. */
|
|
23
|
-
collapsible?: boolean;
|
|
24
|
-
items: VunoNavigationItem[];
|
|
25
|
-
/** Profundidad de esta lista. Interno: lo pone la propia recursión. */
|
|
26
|
-
level?: number;
|
|
27
|
-
/** Ruta estructural de esta lista. Interno: evita colisiones entre rótulos repetidos. */
|
|
28
|
-
path?: string;
|
|
29
|
-
ui?: VunoUi<'navigationList'>;
|
|
30
|
-
};
|
|
31
|
-
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
32
|
-
path: string;
|
|
33
|
-
ui: VunoUi<"navigationList">;
|
|
1
|
+
import type { VunoNavigationListProps } from './NavigationList.types.js';
|
|
2
|
+
declare const __VLS_export: import("vue").DefineComponent<VunoNavigationListProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoNavigationListProps> & Readonly<{}>, {
|
|
34
3
|
collapsible: boolean;
|
|
4
|
+
path: string;
|
|
5
|
+
ui: import("../../types/slots.js").VunoUi<"navigationList">;
|
|
35
6
|
level: number;
|
|
36
7
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
37
8
|
declare const _default: typeof __VLS_export;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const vunoNavigationListInjectionKey = Symbol("vuno-navigation-list");
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { VunoNavigationItem } from '#vuno/types/page';
|
|
2
|
+
import type { VunoUi } from '#vuno/types/slots';
|
|
3
|
+
export type VunoNavigationListProps = {
|
|
4
|
+
collapsible?: boolean;
|
|
5
|
+
items: VunoNavigationItem[];
|
|
6
|
+
level?: number;
|
|
7
|
+
path?: string;
|
|
8
|
+
ui?: VunoUi<'navigationList'>;
|
|
9
|
+
};
|
|
File without changes
|