@bildvitta/quasar-ui-asteroid 3.17.0-beta.21 → 3.17.0-beta.22
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/package.json +1 -1
- package/src/asteroid.js +4 -4
- package/src/components/actions/QasActions.vue +81 -81
- package/src/components/actions/QasActions.yml +34 -34
- package/src/components/actions-menu/QasActionsMenu.vue +251 -251
- package/src/components/actions-menu/QasActionsMenu.yml +89 -89
- package/src/components/actions-menu/composables/use-delete.js +30 -30
- package/src/components/actions-menu/composables/use-double-split-actions.js +42 -42
- package/src/components/actions-menu/composables/use-options-actions.js +27 -27
- package/src/components/actions-menu/composables/use-single-action.js +17 -17
- package/src/components/actions-menu/composables/use-single-split-actions.js +35 -35
- package/src/components/actions-menu/composables/use-tooltips.js +43 -43
- package/src/components/actions-menu/utils/get-label.js +3 -3
- package/src/components/actions-menu/utils/set-click-handler.js +6 -6
- package/src/components/alert/QasAlert.test.js +43 -43
- package/src/components/alert/QasAlert.vue +110 -110
- package/src/components/alert/QasAlert.yml +39 -39
- package/src/components/app-bar/QasAppBar.vue +119 -119
- package/src/components/app-bar/QasAppBar.yml +44 -44
- package/src/components/app-menu/QasAppMenu.vue +392 -392
- package/src/components/app-menu/QasAppMenu.yml +73 -73
- package/src/components/app-menu/composables/use-app-menu-dropdown.js +71 -71
- package/src/components/app-menu/composables/use-app-user.js +49 -49
- package/src/components/app-menu/composables/use-development-badge.js +23 -23
- package/src/components/app-menu/private/PvAppMenuDropdown.vue +71 -71
- package/src/components/app-menu/private/PvAppMenuHelpChat.vue +222 -222
- package/src/components/app-user/QasAppUser.vue +281 -281
- package/src/components/app-user/QasAppUser.yml +56 -56
- package/src/components/avatar/QasAvatar.vue +95 -95
- package/src/components/avatar/QasAvatar.yml +38 -38
- package/src/components/avatar/enums/AvatarColors.js +10 -10
- package/src/components/badge/QasBadge.vue +87 -87
- package/src/components/badge/QasBadge.yml +55 -55
- package/src/components/board-generator/QasBoardGenerator.vue +712 -712
- package/src/components/board-generator/QasBoardGenerator.yml +167 -167
- package/src/components/box/QasBox.vue +51 -51
- package/src/components/box/QasBox.yml +29 -29
- package/src/components/breakline/QasBreakline.vue +38 -38
- package/src/components/breakline/QasBreakline.yml +25 -25
- package/src/components/btn/QasBtn.vue +148 -148
- package/src/components/btn/QasBtn.yml +48 -48
- package/src/components/btn-dropdown/QasBtnDropdown.vue +146 -146
- package/src/components/btn-dropdown/QasBtnDropdown.yml +59 -59
- package/src/components/card/QasCard.vue +132 -132
- package/src/components/card/QasCard.yml +44 -44
- package/src/components/card-image/QasCardImage.vue +95 -95
- package/src/components/card-image/QasCardImage.yml +48 -48
- package/src/components/chart-view/QasChartView.vue +441 -441
- package/src/components/chart-view/QasChartView.yml +109 -109
- package/src/components/chart-view/config/charts/bar.js +45 -45
- package/src/components/chart-view/config/charts/doughnut.js +43 -43
- package/src/components/chart-view/config/charts/index.js +9 -9
- package/src/components/chart-view/config/charts/line.js +57 -57
- package/src/components/chart-view/config/defaults/colors.js +19 -19
- package/src/components/chart-view/config/defaults/font.js +5 -5
- package/src/components/chart-view/config/defaults/index.js +2 -2
- package/src/components/chart-view/config/index.js +3 -3
- package/src/components/chart-view/config/plugins/index.js +3 -3
- package/src/components/chart-view/config/plugins/legend.js +9 -9
- package/src/components/chart-view/config/plugins/tooltip.js +15 -15
- package/src/components/chart-view/config/plugins/zoom.js +31 -31
- package/src/components/checkbox/QasCheckbox.vue +150 -150
- package/src/components/checkbox/QasCheckbox.yml +36 -36
- package/src/components/copy/QasCopy.vue +46 -46
- package/src/components/copy/QasCopy.yml +23 -23
- package/src/components/date/QasDate.vue +600 -600
- package/src/components/date/QasDate.yml +69 -69
- package/src/components/date/enums/DateMaskOptions.js +6 -6
- package/src/components/date-time-input/QasDateTimeInput.vue +269 -269
- package/src/components/date-time-input/QasDateTimeInput.yml +64 -64
- package/src/components/debugger/QasDebugger.vue +31 -31
- package/src/components/debugger/QasDebugger.yml +10 -10
- package/src/components/delete/QasDelete.vue +100 -100
- package/src/components/delete/QasDelete.yml +60 -60
- package/src/components/dialog/QasDialog.vue +217 -217
- package/src/components/dialog/QasDialog.yml +117 -117
- package/src/components/dialog/composables/use-cancel.js +40 -40
- package/src/components/dialog/composables/use-dynamic-components.js +86 -86
- package/src/components/dialog/composables/use-ok.js +45 -45
- package/src/components/dialog-router/QasDialogRouter.vue +86 -86
- package/src/components/dialog-router/QasDialogRouter.yml +23 -23
- package/src/components/drawer/QasDrawer.vue +118 -118
- package/src/components/drawer/QasDrawer.yml +58 -58
- package/src/components/empty-result-text/QasEmptyResultText.vue +18 -18
- package/src/components/empty-result-text/QasEmptyResultText.yml +14 -14
- package/src/components/expansion-item/QasExpansionItem.vue +291 -291
- package/src/components/expansion-item/QasExpansionItem.yml +76 -76
- package/src/components/field/QasField.vue +220 -220
- package/src/components/field/QasField.yml +36 -36
- package/src/components/filters/QasFilters.vue +472 -472
- package/src/components/filters/QasFilters.yml +171 -171
- package/src/components/filters/private/PvFiltersButton.vue +101 -101
- package/src/components/form-generator/QasFormGenerator.vue +274 -274
- package/src/components/form-generator/QasFormGenerator.yml +109 -109
- package/src/components/form-view/QasFormView.vue +484 -484
- package/src/components/form-view/QasFormView.yml +253 -253
- package/src/components/gallery/QasGallery.vue +243 -243
- package/src/components/gallery/QasGallery.yml +188 -188
- package/src/components/gallery/composables/use-delete.js +54 -54
- package/src/components/gallery/private/PvGalleryCarouselDialog.vue +92 -92
- package/src/components/gallery/private/PvGalleryDeleteDialog.vue +54 -54
- package/src/components/gallery-card/QasGalleryCard.vue +153 -153
- package/src/components/gallery-card/QasGalleryCard.yml +61 -61
- package/src/components/grabbable/QasGrabbable.vue +185 -185
- package/src/components/grabbable/QasGrabbable.yml +26 -26
- package/src/components/grid-generator/QasGridGenerator.vue +210 -210
- package/src/components/grid-generator/QasGridGenerator.yml +127 -127
- package/src/components/grid-item/QasGridItem.vue +89 -89
- package/src/components/grid-item/QasGridItem.yml +22 -22
- package/src/components/header/QasHeader.vue +152 -152
- package/src/components/header/QasHeader.yml +50 -50
- package/src/components/infinite-scroll/QasInfiniteScroll.vue +168 -168
- package/src/components/infinite-scroll/QasInfiniteScroll.yml +78 -78
- package/src/components/info/QasInfo.vue +155 -155
- package/src/components/info/QasInfo.yml +34 -34
- package/src/components/input/QasInput.vue +252 -252
- package/src/components/input/QasInput.yml +65 -65
- package/src/components/label/QasLabel.vue +61 -61
- package/src/components/label/QasLabel.yml +44 -44
- package/src/components/layout/QasLayout.vue +101 -101
- package/src/components/layout/QasLayout.yml +46 -46
- package/src/components/layout/private/PvLayoutNotificationCard.vue +86 -86
- package/src/components/layout/private/PvLayoutNotificationsDrawer.vue +140 -140
- package/src/components/list-items/QasListItems.vue +125 -125
- package/src/components/list-items/QasListItems.yml +71 -71
- package/src/components/list-view/QasListView.vue +302 -302
- package/src/components/list-view/QasListView.yml +169 -169
- package/src/components/map/QasMap.vue +75 -75
- package/src/components/map/QasMap.yml +33 -33
- package/src/components/nested-fields/QasNestedFields.vue +584 -584
- package/src/components/nested-fields/QasNestedFields.yml +296 -296
- package/src/components/numeric-input/QasNumericInput.vue +206 -206
- package/src/components/numeric-input/QasNumericInput.yml +85 -85
- package/src/components/option-group/QasOptionGroup.vue +54 -54
- package/src/components/option-group/QasOptionGroup.yml +30 -30
- package/src/components/page-header/QasPageHeader.vue +143 -143
- package/src/components/page-header/QasPageHeader.yml +42 -42
- package/src/components/pagination/QasPagination.vue +71 -71
- package/src/components/pagination/QasPagination.yml +4 -4
- package/src/components/password-input/QasPasswordInput.vue +110 -110
- package/src/components/password-input/QasPasswordInput.yml +111 -111
- package/src/components/password-strength-checker/QasPasswordStrengthChecker.vue +71 -71
- package/src/components/password-strength-checker/QasPasswordStrengthChecker.yml +103 -103
- package/src/components/profile/QasProfile.vue +98 -98
- package/src/components/profile/QasProfile.yml +60 -60
- package/src/components/radio/QasRadio.vue +62 -62
- package/src/components/radio/QasRadio.yml +11 -11
- package/src/components/resizer/QasResizer.vue +90 -90
- package/src/components/resizer/QasResizer.yml +24 -24
- package/src/components/search-box/QasSearchBox.vue +294 -294
- package/src/components/search-box/QasSearchBox.yml +154 -154
- package/src/components/search-input/QasSearchInput.vue +106 -106
- package/src/components/search-input/QasSearchInput.yml +48 -48
- package/src/components/select/QasSelect.vue +514 -514
- package/src/components/select/QasSelect.yml +157 -157
- package/src/components/select-list/QasSelectList.vue +238 -238
- package/src/components/select-list/QasSelectList.yml +108 -108
- package/src/components/select-list/private/PvSelectListCheckbox.vue +31 -31
- package/src/components/select-list-dialog/QasSelectListDialog.vue +395 -395
- package/src/components/select-list-dialog/QasSelectListDialog.yml +108 -108
- package/src/components/signature-pad/QasSignaturePad.vue +122 -122
- package/src/components/signature-pad/QasSignaturePad.yml +53 -53
- package/src/components/signature-uploader/QasSignatureUploader.vue +164 -164
- package/src/components/signature-uploader/QasSignatureUploader.yml +37 -37
- package/src/components/single-view/QasSingleView.vue +175 -175
- package/src/components/single-view/QasSingleView.yml +131 -131
- package/src/components/sortable/QasSortable.vue +151 -151
- package/src/components/sortable/QasSortable.yml +65 -65
- package/src/components/status/QasStatus.test.js +11 -11
- package/src/components/status/QasStatus.vue +29 -29
- package/src/components/status/QasStatus.yml +10 -10
- package/src/components/stepper/QasStepper.vue +199 -152
- package/src/components/stepper/QasStepper.yml +35 -35
- package/src/components/stepper-form-view/QasStepperFormView.vue +86 -84
- package/src/components/stepper-form-view/QasStepperFormView.yml +58 -58
- package/src/components/table-generator/QasTableGenerator.vue +416 -416
- package/src/components/table-generator/QasTableGenerator.yml +94 -94
- package/src/components/tabs-generator/QasTabsGenerator.vue +196 -196
- package/src/components/tabs-generator/QasTabsGenerator.yml +53 -53
- package/src/components/text-truncate/QasTextTruncate.vue +274 -274
- package/src/components/text-truncate/QasTextTruncate.yml +60 -60
- package/src/components/timeline/QasTimeline.vue +140 -140
- package/src/components/timeline/QasTimeline.yml +36 -36
- package/src/components/toggle/QasToggle.vue +14 -14
- package/src/components/toggle/QasToggle.yml +5 -5
- package/src/components/toggle-visibility/QasToggleVisibility.vue +79 -79
- package/src/components/toggle-visibility/QasToggleVisibility.yml +30 -30
- package/src/components/transfer/QasTransfer.vue +239 -239
- package/src/components/transfer/QasTransfer.yml +60 -60
- package/src/components/tree-generator/QasTreeForm.vue +62 -62
- package/src/components/tree-generator/QasTreeGenerator.vue +488 -488
- package/src/components/tree-generator/QasTreeGenerator.yml +81 -81
- package/src/components/uploader/QasUploader.vue +691 -645
- package/src/components/uploader/QasUploader.yml +206 -192
- package/src/components/uploader/private/PvUploaderGalleryCard.vue +357 -357
- package/src/components/welcome/QasWelcome.vue +125 -125
- package/src/components/welcome/QasWelcome.yml +23 -23
- package/src/components/welcome/private/PvWelcomeShortcutCard.vue +58 -58
- package/src/components/whatsapp-link/QasWhatsappLink.vue +34 -34
- package/src/components/whatsapp-link/QasWhatsappLink.yml +18 -18
- package/src/composables/index.js +8 -8
- package/src/composables/private/index.js +3 -3
- package/src/composables/private/use-generator.js +174 -174
- package/src/composables/private/use-toggle-visibility.js +48 -48
- package/src/composables/private/use-view.js +186 -186
- package/src/composables/use-context.js +15 -15
- package/src/composables/use-form.js +32 -32
- package/src/composables/use-history.js +46 -46
- package/src/composables/use-notifications.js +128 -128
- package/src/composables/use-query-cache.js +60 -60
- package/src/composables/use-screen.js +42 -42
- package/src/css/base/font-face.scss +28 -28
- package/src/css/base/index.scss +1 -1
- package/src/css/components/base.scss +12 -12
- package/src/css/components/button.scss +116 -116
- package/src/css/components/checkbox.scss +14 -14
- package/src/css/components/editor.scss +7 -7
- package/src/css/components/field.scss +88 -88
- package/src/css/components/index.scss +10 -10
- package/src/css/components/item.scss +52 -52
- package/src/css/components/radio.scss +18 -18
- package/src/css/components/scrollbar.scss +20 -20
- package/src/css/components/tabs.scss +3 -3
- package/src/css/components/toggle.scss +13 -13
- package/src/css/mixins/index.scss +3 -3
- package/src/css/mixins/set-brand.scss +15 -15
- package/src/css/mixins/set-button.scss +26 -26
- package/src/css/mixins/set-typography.scss +8 -8
- package/src/css/plugins/index.scss +2 -2
- package/src/css/plugins/loading.scss +5 -5
- package/src/css/plugins/notify.scss +100 -100
- package/src/css/utils/background.scss +34 -34
- package/src/css/utils/border-radius.scss +29 -29
- package/src/css/utils/border.scss +42 -42
- package/src/css/utils/container.scss +36 -36
- package/src/css/utils/fonts.scss +5 -5
- package/src/css/utils/index.scss +10 -10
- package/src/css/utils/line-height.scss +19 -19
- package/src/css/utils/opacity.scss +5 -5
- package/src/css/utils/scroll.scss +21 -21
- package/src/css/utils/text.scss +15 -15
- package/src/css/utils/unset.scss +8 -8
- package/src/css/variables/button.scss +4 -4
- package/src/css/variables/index.scss +6 -6
- package/src/css/variables/scrollbar.scss +11 -11
- package/src/css/variables/separator.scss +2 -2
- package/src/css/variables/shadow.scss +3 -3
- package/src/css/variables/spacing.scss +98 -98
- package/src/css/variables/typography.scss +149 -149
- package/src/directives/Test.js +13 -13
- package/src/enums/Align.js +7 -7
- package/src/enums/Spacing.js +98 -98
- package/src/enums/Status.js +33 -33
- package/src/helpers/add-counter-suffix.js +3 -3
- package/src/helpers/base-64-to-blob.js +21 -21
- package/src/helpers/camelize-fields-name.js +15 -15
- package/src/helpers/construct-object.js +29 -29
- package/src/helpers/copy-to-clipboard.js +15 -15
- package/src/helpers/destroy-nested-children-by-key.js +33 -33
- package/src/helpers/download-file.js +21 -21
- package/src/helpers/filter-list-by-handle.js +31 -31
- package/src/helpers/filter-object-to-array.js +29 -29
- package/src/helpers/filter-object.js +34 -34
- package/src/helpers/filters.js +163 -163
- package/src/helpers/find-children-by-key.js +14 -14
- package/src/helpers/get-greatest-common-divisor.js +16 -16
- package/src/helpers/get-normalized-options.js +20 -20
- package/src/helpers/get-placeholder.js +19 -19
- package/src/helpers/get-required-label.js +3 -3
- package/src/helpers/get-slot-children-text.js +15 -15
- package/src/helpers/handle-process.js +13 -13
- package/src/helpers/images.js +28 -28
- package/src/helpers/index.js +25 -25
- package/src/helpers/is-empty.js +3 -3
- package/src/helpers/is-local-development.js +3 -3
- package/src/helpers/private/gutter-validator.js +15 -15
- package/src/helpers/private/has-parent-by-class-name.js +15 -15
- package/src/helpers/promise-handler.js +40 -40
- package/src/helpers/rules.js +7 -7
- package/src/helpers/set-scroll-on-grab.js +128 -128
- package/src/index.cjs.js +1 -1
- package/src/index.esm.js +4 -4
- package/src/index.scss +38 -38
- package/src/index.umd.js +2 -2
- package/src/mixins/context.js +8 -8
- package/src/mixins/delete.js +48 -48
- package/src/mixins/dialog-router.js +17 -17
- package/src/mixins/form.js +11 -11
- package/src/mixins/generator.js +94 -94
- package/src/mixins/index.js +17 -17
- package/src/mixins/password.js +86 -86
- package/src/mixins/search-filter.js +354 -354
- package/src/mixins/view.js +156 -156
- package/src/pages/ErrorComponent.vue +74 -74
- package/src/pages/Forbidden.vue +29 -29
- package/src/pages/NotFound.vue +29 -29
- package/src/pages/ServerError.vue +29 -29
- package/src/pages/Unauthorized.vue +29 -29
- package/src/plugins/delete/Delete.js +107 -107
- package/src/plugins/delete/Delete.yml +75 -75
- package/src/plugins/dialog/Dialog.js +14 -14
- package/src/plugins/dialog/Dialog.yml +10 -10
- package/src/plugins/index.js +13 -13
- package/src/plugins/notify-error/NotifyError.js +13 -13
- package/src/plugins/notify-error/NotifyError.yml +11 -11
- package/src/plugins/notify-success/NotifySuccess.js +13 -13
- package/src/plugins/notify-success/NotifySuccess.yml +11 -11
- package/src/plugins/screen/Screen.js +35 -35
- package/src/plugins/screen/Screen.yml +16 -16
- package/src/shared/date-config.js +26 -26
- package/src/shared/fuse-config.js +4 -4
- package/src/shared/notify-config.js +7 -7
- package/src/vue-plugin/third-party-component-handler.js +29 -29
- package/src/vue-plugin.js +282 -282
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
type: component
|
|
2
|
-
|
|
3
|
-
meta:
|
|
4
|
-
desc: Componente de card expansivo, wrapper do QExpansionItem(https://quasar.dev/vue-components/expansion-item)
|
|
5
|
-
|
|
6
|
-
props:
|
|
7
|
-
badges:
|
|
8
|
-
desc: Lista de badges que serão exibidas na parte superior do card.
|
|
9
|
-
type: Array
|
|
10
|
-
|
|
11
|
-
disable:
|
|
12
|
-
desc: Desabilita o componente e aplica estilo de desabilitado no label e no button.
|
|
13
|
-
default: false
|
|
14
|
-
type: Boolean
|
|
15
|
-
|
|
16
|
-
disable-button:
|
|
17
|
-
desc: Desabilita o componente sem aplicar o estilo de desabilitado no label (usar em casos onde não tem conteúdo no slot content).
|
|
18
|
-
default: false
|
|
19
|
-
type: Boolean
|
|
20
|
-
|
|
21
|
-
error:
|
|
22
|
-
desc: Booleano que caso seja true o card passa a ter uma borda vermelha.
|
|
23
|
-
type: Boolean
|
|
24
|
-
|
|
25
|
-
error-message:
|
|
26
|
-
desc: Mensagem de erro onde será exibida na parte inferior do card.
|
|
27
|
-
type: String
|
|
28
|
-
|
|
29
|
-
group:
|
|
30
|
-
desc: Agrupamento para estado aberto|fechado.
|
|
31
|
-
default: ''
|
|
32
|
-
type: String
|
|
33
|
-
|
|
34
|
-
label:
|
|
35
|
-
desc: Titulo exibido na parte superior do card.
|
|
36
|
-
type: String
|
|
37
|
-
|
|
38
|
-
model-value:
|
|
39
|
-
desc: Model que controla o estado aberto|fechado.
|
|
40
|
-
default: false
|
|
41
|
-
type: Boolean
|
|
42
|
-
|
|
43
|
-
max-content-height:
|
|
44
|
-
desc: Define um tamanho máximo de altura do conteúdo.
|
|
45
|
-
default: ''
|
|
46
|
-
type: String
|
|
47
|
-
|
|
48
|
-
grid-generator-props:
|
|
49
|
-
desc: Propriedades que serão repassadas para o QasGridGenerator.
|
|
50
|
-
type: Object
|
|
51
|
-
|
|
52
|
-
use-header-separator:
|
|
53
|
-
desc: Propriedade para forçar o QSeparator no header.
|
|
54
|
-
type: Boolean
|
|
55
|
-
default: undefined
|
|
56
|
-
|
|
57
|
-
slots:
|
|
58
|
-
header:
|
|
59
|
-
desc: Slot para substituir o conteúdo do header (não inclui o botão dropdown).
|
|
60
|
-
|
|
61
|
-
header-bottom:
|
|
62
|
-
desc: Slot para acessar o conteúdo que fica abaixo do header.
|
|
63
|
-
|
|
64
|
-
header-label:
|
|
65
|
-
desc: Slot para substituir o conteúdo da label do header.
|
|
66
|
-
|
|
67
|
-
content:
|
|
68
|
-
desc: Slot para substituir o conteúdo principal do card.
|
|
69
|
-
|
|
70
|
-
events:
|
|
71
|
-
'@update:model-value -> function(value)':
|
|
72
|
-
desc: Dispara quando o model-value altera, também usado para v-model.
|
|
73
|
-
params:
|
|
74
|
-
value:
|
|
75
|
-
desc: Novo valor do model.
|
|
76
|
-
type: Boolean
|
|
1
|
+
type: component
|
|
2
|
+
|
|
3
|
+
meta:
|
|
4
|
+
desc: Componente de card expansivo, wrapper do QExpansionItem(https://quasar.dev/vue-components/expansion-item)
|
|
5
|
+
|
|
6
|
+
props:
|
|
7
|
+
badges:
|
|
8
|
+
desc: Lista de badges que serão exibidas na parte superior do card.
|
|
9
|
+
type: Array
|
|
10
|
+
|
|
11
|
+
disable:
|
|
12
|
+
desc: Desabilita o componente e aplica estilo de desabilitado no label e no button.
|
|
13
|
+
default: false
|
|
14
|
+
type: Boolean
|
|
15
|
+
|
|
16
|
+
disable-button:
|
|
17
|
+
desc: Desabilita o componente sem aplicar o estilo de desabilitado no label (usar em casos onde não tem conteúdo no slot content).
|
|
18
|
+
default: false
|
|
19
|
+
type: Boolean
|
|
20
|
+
|
|
21
|
+
error:
|
|
22
|
+
desc: Booleano que caso seja true o card passa a ter uma borda vermelha.
|
|
23
|
+
type: Boolean
|
|
24
|
+
|
|
25
|
+
error-message:
|
|
26
|
+
desc: Mensagem de erro onde será exibida na parte inferior do card.
|
|
27
|
+
type: String
|
|
28
|
+
|
|
29
|
+
group:
|
|
30
|
+
desc: Agrupamento para estado aberto|fechado.
|
|
31
|
+
default: ''
|
|
32
|
+
type: String
|
|
33
|
+
|
|
34
|
+
label:
|
|
35
|
+
desc: Titulo exibido na parte superior do card.
|
|
36
|
+
type: String
|
|
37
|
+
|
|
38
|
+
model-value:
|
|
39
|
+
desc: Model que controla o estado aberto|fechado.
|
|
40
|
+
default: false
|
|
41
|
+
type: Boolean
|
|
42
|
+
|
|
43
|
+
max-content-height:
|
|
44
|
+
desc: Define um tamanho máximo de altura do conteúdo.
|
|
45
|
+
default: ''
|
|
46
|
+
type: String
|
|
47
|
+
|
|
48
|
+
grid-generator-props:
|
|
49
|
+
desc: Propriedades que serão repassadas para o QasGridGenerator.
|
|
50
|
+
type: Object
|
|
51
|
+
|
|
52
|
+
use-header-separator:
|
|
53
|
+
desc: Propriedade para forçar o QSeparator no header.
|
|
54
|
+
type: Boolean
|
|
55
|
+
default: undefined
|
|
56
|
+
|
|
57
|
+
slots:
|
|
58
|
+
header:
|
|
59
|
+
desc: Slot para substituir o conteúdo do header (não inclui o botão dropdown).
|
|
60
|
+
|
|
61
|
+
header-bottom:
|
|
62
|
+
desc: Slot para acessar o conteúdo que fica abaixo do header.
|
|
63
|
+
|
|
64
|
+
header-label:
|
|
65
|
+
desc: Slot para substituir o conteúdo da label do header.
|
|
66
|
+
|
|
67
|
+
content:
|
|
68
|
+
desc: Slot para substituir o conteúdo principal do card.
|
|
69
|
+
|
|
70
|
+
events:
|
|
71
|
+
'@update:model-value -> function(value)':
|
|
72
|
+
desc: Dispara quando o model-value altera, também usado para v-model.
|
|
73
|
+
params:
|
|
74
|
+
value:
|
|
75
|
+
desc: Novo valor do model.
|
|
76
|
+
type: Boolean
|
|
@@ -1,220 +1,220 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<component :is="component.is" v-bind="component" :data-cy="field.name" :model-value="formattedValue" @update:model-value="updateModel">
|
|
3
|
-
<template v-for="(_, name) in $slots" #[name]="context">
|
|
4
|
-
<slot :name="name" v-bind="context || {}" />
|
|
5
|
-
</template>
|
|
6
|
-
</component>
|
|
7
|
-
</template>
|
|
8
|
-
|
|
9
|
-
<script>
|
|
10
|
-
import QasCheckbox from '../checkbox/QasCheckbox.vue'
|
|
11
|
-
import QasDateTimeInput from '../date-time-input/QasDateTimeInput.vue'
|
|
12
|
-
import QasInput from '../input/QasInput.vue'
|
|
13
|
-
import QasNumericInput from '../numeric-input/QasNumericInput.vue'
|
|
14
|
-
import QasOptionGroup from '../option-group/QasOptionGroup.vue'
|
|
15
|
-
import QasPasswordInput from '../password-input/QasPasswordInput.vue'
|
|
16
|
-
import QasSignatureUploader from '../signature-uploader/QasSignatureUploader.vue'
|
|
17
|
-
import QasUploader from '../uploader/QasUploader.vue'
|
|
18
|
-
import QasToggle from '../toggle/QasToggle.vue'
|
|
19
|
-
import QasRadio from '../radio/QasRadio.vue'
|
|
20
|
-
|
|
21
|
-
const attributesProfile = {
|
|
22
|
-
maxLength: 'maxlength',
|
|
23
|
-
minLength: 'minlength',
|
|
24
|
-
readOnly: 'readonly'
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export default {
|
|
28
|
-
name: 'QasField',
|
|
29
|
-
|
|
30
|
-
components: {
|
|
31
|
-
QasCheckbox,
|
|
32
|
-
QasDateTimeInput,
|
|
33
|
-
QasInput,
|
|
34
|
-
QasNumericInput,
|
|
35
|
-
QasOptionGroup,
|
|
36
|
-
QasPasswordInput,
|
|
37
|
-
QasSignatureUploader,
|
|
38
|
-
QasUploader,
|
|
39
|
-
QasToggle,
|
|
40
|
-
QasRadio
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
inheritAttrs: false,
|
|
44
|
-
|
|
45
|
-
props: {
|
|
46
|
-
error: {
|
|
47
|
-
default: '',
|
|
48
|
-
type: [Array, String]
|
|
49
|
-
},
|
|
50
|
-
|
|
51
|
-
field: {
|
|
52
|
-
default: () => ({}),
|
|
53
|
-
required: true,
|
|
54
|
-
type: Object
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
modelValue: {
|
|
58
|
-
default: undefined,
|
|
59
|
-
type: [Object, Array, String, Number, Boolean]
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
emits: ['update:modelValue'],
|
|
64
|
-
|
|
65
|
-
computed: {
|
|
66
|
-
component () {
|
|
67
|
-
const {
|
|
68
|
-
disable,
|
|
69
|
-
entity,
|
|
70
|
-
extensions,
|
|
71
|
-
filled,
|
|
72
|
-
label,
|
|
73
|
-
mask,
|
|
74
|
-
maxFiles,
|
|
75
|
-
maxlength,
|
|
76
|
-
minlength,
|
|
77
|
-
multiple,
|
|
78
|
-
name,
|
|
79
|
-
options,
|
|
80
|
-
placeholder,
|
|
81
|
-
places,
|
|
82
|
-
prefix,
|
|
83
|
-
readonly,
|
|
84
|
-
required,
|
|
85
|
-
suffix,
|
|
86
|
-
type,
|
|
87
|
-
useIso,
|
|
88
|
-
useLazyLoading,
|
|
89
|
-
useStrengthChecker
|
|
90
|
-
} = this.formattedField
|
|
91
|
-
|
|
92
|
-
// Default error attributes for Quasar.
|
|
93
|
-
const error = {
|
|
94
|
-
error: this.hasError || undefined,
|
|
95
|
-
errorMessage: this.errorMessage || undefined
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// Compact default fields attributes.
|
|
99
|
-
const input = {
|
|
100
|
-
label,
|
|
101
|
-
hideBottomSpace: !error.error,
|
|
102
|
-
...error,
|
|
103
|
-
readonly,
|
|
104
|
-
required,
|
|
105
|
-
disable,
|
|
106
|
-
filled,
|
|
107
|
-
maxlength,
|
|
108
|
-
minlength,
|
|
109
|
-
suffix,
|
|
110
|
-
placeholder,
|
|
111
|
-
prefix,
|
|
112
|
-
useIso
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
const numericInput = { is: 'qas-numeric-input', places, ...input }
|
|
116
|
-
const datetimeInput = { is: 'qas-date-time-input', useIso, ...input }
|
|
117
|
-
|
|
118
|
-
// It'll generate a list of acceptable files extensions.
|
|
119
|
-
const accept = extensions && extensions.length ? extensions.map(extension => `.${extension}`).join(',') : ''
|
|
120
|
-
|
|
121
|
-
// Editor default toolbar.
|
|
122
|
-
const toolbar = [
|
|
123
|
-
['undo', 'redo'],
|
|
124
|
-
['bold', 'italic', 'underline'],
|
|
125
|
-
['left', 'center', 'right', 'justify'],
|
|
126
|
-
['hr', 'link'],
|
|
127
|
-
['quote', 'unordered', 'ordered', 'outdent', 'indent'],
|
|
128
|
-
['print', 'fullscreen']
|
|
129
|
-
]
|
|
130
|
-
|
|
131
|
-
// Profiles
|
|
132
|
-
const profiles = {
|
|
133
|
-
default: { is: 'qas-input', ...input, mask },
|
|
134
|
-
textarea: { is: 'qas-input', type, ...input },
|
|
135
|
-
number: { is: 'qas-input', type: 'number', ...input },
|
|
136
|
-
hidden: { is: 'input', name, type },
|
|
137
|
-
email: { is: 'qas-input', type, ...input },
|
|
138
|
-
password: { is: 'qas-password-input', ...input, useStrengthChecker },
|
|
139
|
-
|
|
140
|
-
decimal: { ...numericInput, mode: 'decimal' },
|
|
141
|
-
money: { ...numericInput, mode: 'money' },
|
|
142
|
-
percent: { ...numericInput, mode: 'percent' },
|
|
143
|
-
|
|
144
|
-
date: { ...datetimeInput, useDateOnly: true },
|
|
145
|
-
datetime: { ...datetimeInput },
|
|
146
|
-
time: { ...datetimeInput, useTimeOnly: true },
|
|
147
|
-
|
|
148
|
-
boolean: { is: 'qas-toggle', label, ...error },
|
|
149
|
-
checkbox: { is: 'qas-checkbox', label, options, ...error },
|
|
150
|
-
radio: { is: 'qas-radio', label, options },
|
|
151
|
-
|
|
152
|
-
upload: { is: 'qas-uploader', accept, autoUpload: true, entity, label, multiple, readonly, maxFiles, ...error },
|
|
153
|
-
editor: { is: 'q-editor', toolbar, ...error },
|
|
154
|
-
|
|
155
|
-
'signature-uploader': { is: 'qas-signature-uploader', uploaderProps: { entity, label, ...error } },
|
|
156
|
-
|
|
157
|
-
select: { is: 'qas-select', entity, name, multiple, options, useLazyLoading, ...input }
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
return {
|
|
161
|
-
...(profiles[type] || profiles.default),
|
|
162
|
-
...this.$attrs
|
|
163
|
-
}
|
|
164
|
-
},
|
|
165
|
-
|
|
166
|
-
errorMessage () {
|
|
167
|
-
return Array.isArray(this.error) ? this.error.join(' ') : this.error
|
|
168
|
-
},
|
|
169
|
-
|
|
170
|
-
// This computed will change the key name when the server sends different key.
|
|
171
|
-
formattedField () {
|
|
172
|
-
const field = {}
|
|
173
|
-
|
|
174
|
-
for (const key in this.field) {
|
|
175
|
-
field[attributesProfile[key] || key] = this.field[key]
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
return field
|
|
179
|
-
},
|
|
180
|
-
|
|
181
|
-
formattedValue () {
|
|
182
|
-
if (!this.isBoolean) {
|
|
183
|
-
return this.modelValue
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
if (this.isEmptyValue) {
|
|
187
|
-
return !!this.modelValue
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
return JSON.parse(this.modelValue)
|
|
191
|
-
},
|
|
192
|
-
|
|
193
|
-
hasError () {
|
|
194
|
-
return !!(Array.isArray(this.error) ? this.error.length : this.error)
|
|
195
|
-
},
|
|
196
|
-
|
|
197
|
-
isBoolean () {
|
|
198
|
-
return this.field.type === 'boolean'
|
|
199
|
-
},
|
|
200
|
-
|
|
201
|
-
isEmptyValue () {
|
|
202
|
-
if (!this.isBoolean) {
|
|
203
|
-
return false
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
return !this.modelValue && (this.modelValue === undefined || typeof this.modelValue === 'string')
|
|
207
|
-
},
|
|
208
|
-
|
|
209
|
-
isNumberType () {
|
|
210
|
-
return this.field.type === 'number'
|
|
211
|
-
}
|
|
212
|
-
},
|
|
213
|
-
|
|
214
|
-
methods: {
|
|
215
|
-
updateModel (value) {
|
|
216
|
-
this.$emit('update:modelValue', this.isNumberType ? Number(value) : value)
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<component :is="component.is" v-bind="component" :data-cy="field.name" :model-value="formattedValue" @update:model-value="updateModel">
|
|
3
|
+
<template v-for="(_, name) in $slots" #[name]="context">
|
|
4
|
+
<slot :name="name" v-bind="context || {}" />
|
|
5
|
+
</template>
|
|
6
|
+
</component>
|
|
7
|
+
</template>
|
|
8
|
+
|
|
9
|
+
<script>
|
|
10
|
+
import QasCheckbox from '../checkbox/QasCheckbox.vue'
|
|
11
|
+
import QasDateTimeInput from '../date-time-input/QasDateTimeInput.vue'
|
|
12
|
+
import QasInput from '../input/QasInput.vue'
|
|
13
|
+
import QasNumericInput from '../numeric-input/QasNumericInput.vue'
|
|
14
|
+
import QasOptionGroup from '../option-group/QasOptionGroup.vue'
|
|
15
|
+
import QasPasswordInput from '../password-input/QasPasswordInput.vue'
|
|
16
|
+
import QasSignatureUploader from '../signature-uploader/QasSignatureUploader.vue'
|
|
17
|
+
import QasUploader from '../uploader/QasUploader.vue'
|
|
18
|
+
import QasToggle from '../toggle/QasToggle.vue'
|
|
19
|
+
import QasRadio from '../radio/QasRadio.vue'
|
|
20
|
+
|
|
21
|
+
const attributesProfile = {
|
|
22
|
+
maxLength: 'maxlength',
|
|
23
|
+
minLength: 'minlength',
|
|
24
|
+
readOnly: 'readonly'
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export default {
|
|
28
|
+
name: 'QasField',
|
|
29
|
+
|
|
30
|
+
components: {
|
|
31
|
+
QasCheckbox,
|
|
32
|
+
QasDateTimeInput,
|
|
33
|
+
QasInput,
|
|
34
|
+
QasNumericInput,
|
|
35
|
+
QasOptionGroup,
|
|
36
|
+
QasPasswordInput,
|
|
37
|
+
QasSignatureUploader,
|
|
38
|
+
QasUploader,
|
|
39
|
+
QasToggle,
|
|
40
|
+
QasRadio
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
inheritAttrs: false,
|
|
44
|
+
|
|
45
|
+
props: {
|
|
46
|
+
error: {
|
|
47
|
+
default: '',
|
|
48
|
+
type: [Array, String]
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
field: {
|
|
52
|
+
default: () => ({}),
|
|
53
|
+
required: true,
|
|
54
|
+
type: Object
|
|
55
|
+
},
|
|
56
|
+
|
|
57
|
+
modelValue: {
|
|
58
|
+
default: undefined,
|
|
59
|
+
type: [Object, Array, String, Number, Boolean]
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
|
|
63
|
+
emits: ['update:modelValue'],
|
|
64
|
+
|
|
65
|
+
computed: {
|
|
66
|
+
component () {
|
|
67
|
+
const {
|
|
68
|
+
disable,
|
|
69
|
+
entity,
|
|
70
|
+
extensions,
|
|
71
|
+
filled,
|
|
72
|
+
label,
|
|
73
|
+
mask,
|
|
74
|
+
maxFiles,
|
|
75
|
+
maxlength,
|
|
76
|
+
minlength,
|
|
77
|
+
multiple,
|
|
78
|
+
name,
|
|
79
|
+
options,
|
|
80
|
+
placeholder,
|
|
81
|
+
places,
|
|
82
|
+
prefix,
|
|
83
|
+
readonly,
|
|
84
|
+
required,
|
|
85
|
+
suffix,
|
|
86
|
+
type,
|
|
87
|
+
useIso,
|
|
88
|
+
useLazyLoading,
|
|
89
|
+
useStrengthChecker
|
|
90
|
+
} = this.formattedField
|
|
91
|
+
|
|
92
|
+
// Default error attributes for Quasar.
|
|
93
|
+
const error = {
|
|
94
|
+
error: this.hasError || undefined,
|
|
95
|
+
errorMessage: this.errorMessage || undefined
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Compact default fields attributes.
|
|
99
|
+
const input = {
|
|
100
|
+
label,
|
|
101
|
+
hideBottomSpace: !error.error,
|
|
102
|
+
...error,
|
|
103
|
+
readonly,
|
|
104
|
+
required,
|
|
105
|
+
disable,
|
|
106
|
+
filled,
|
|
107
|
+
maxlength,
|
|
108
|
+
minlength,
|
|
109
|
+
suffix,
|
|
110
|
+
placeholder,
|
|
111
|
+
prefix,
|
|
112
|
+
useIso
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const numericInput = { is: 'qas-numeric-input', places, ...input }
|
|
116
|
+
const datetimeInput = { is: 'qas-date-time-input', useIso, ...input }
|
|
117
|
+
|
|
118
|
+
// It'll generate a list of acceptable files extensions.
|
|
119
|
+
const accept = extensions && extensions.length ? extensions.map(extension => `.${extension}`).join(',') : ''
|
|
120
|
+
|
|
121
|
+
// Editor default toolbar.
|
|
122
|
+
const toolbar = [
|
|
123
|
+
['undo', 'redo'],
|
|
124
|
+
['bold', 'italic', 'underline'],
|
|
125
|
+
['left', 'center', 'right', 'justify'],
|
|
126
|
+
['hr', 'link'],
|
|
127
|
+
['quote', 'unordered', 'ordered', 'outdent', 'indent'],
|
|
128
|
+
['print', 'fullscreen']
|
|
129
|
+
]
|
|
130
|
+
|
|
131
|
+
// Profiles
|
|
132
|
+
const profiles = {
|
|
133
|
+
default: { is: 'qas-input', ...input, mask },
|
|
134
|
+
textarea: { is: 'qas-input', type, ...input },
|
|
135
|
+
number: { is: 'qas-input', type: 'number', ...input },
|
|
136
|
+
hidden: { is: 'input', name, type },
|
|
137
|
+
email: { is: 'qas-input', type, ...input },
|
|
138
|
+
password: { is: 'qas-password-input', ...input, useStrengthChecker },
|
|
139
|
+
|
|
140
|
+
decimal: { ...numericInput, mode: 'decimal' },
|
|
141
|
+
money: { ...numericInput, mode: 'money' },
|
|
142
|
+
percent: { ...numericInput, mode: 'percent' },
|
|
143
|
+
|
|
144
|
+
date: { ...datetimeInput, useDateOnly: true },
|
|
145
|
+
datetime: { ...datetimeInput },
|
|
146
|
+
time: { ...datetimeInput, useTimeOnly: true },
|
|
147
|
+
|
|
148
|
+
boolean: { is: 'qas-toggle', label, ...error },
|
|
149
|
+
checkbox: { is: 'qas-checkbox', label, options, ...error },
|
|
150
|
+
radio: { is: 'qas-radio', label, options },
|
|
151
|
+
|
|
152
|
+
upload: { is: 'qas-uploader', accept, autoUpload: true, entity, label, multiple, readonly, maxFiles, ...error },
|
|
153
|
+
editor: { is: 'q-editor', toolbar, ...error },
|
|
154
|
+
|
|
155
|
+
'signature-uploader': { is: 'qas-signature-uploader', uploaderProps: { entity, label, ...error } },
|
|
156
|
+
|
|
157
|
+
select: { is: 'qas-select', entity, name, multiple, options, useLazyLoading, ...input }
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
return {
|
|
161
|
+
...(profiles[type] || profiles.default),
|
|
162
|
+
...this.$attrs
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
|
|
166
|
+
errorMessage () {
|
|
167
|
+
return Array.isArray(this.error) ? this.error.join(' ') : this.error
|
|
168
|
+
},
|
|
169
|
+
|
|
170
|
+
// This computed will change the key name when the server sends different key.
|
|
171
|
+
formattedField () {
|
|
172
|
+
const field = {}
|
|
173
|
+
|
|
174
|
+
for (const key in this.field) {
|
|
175
|
+
field[attributesProfile[key] || key] = this.field[key]
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
return field
|
|
179
|
+
},
|
|
180
|
+
|
|
181
|
+
formattedValue () {
|
|
182
|
+
if (!this.isBoolean) {
|
|
183
|
+
return this.modelValue
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
if (this.isEmptyValue) {
|
|
187
|
+
return !!this.modelValue
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return JSON.parse(this.modelValue)
|
|
191
|
+
},
|
|
192
|
+
|
|
193
|
+
hasError () {
|
|
194
|
+
return !!(Array.isArray(this.error) ? this.error.length : this.error)
|
|
195
|
+
},
|
|
196
|
+
|
|
197
|
+
isBoolean () {
|
|
198
|
+
return this.field.type === 'boolean'
|
|
199
|
+
},
|
|
200
|
+
|
|
201
|
+
isEmptyValue () {
|
|
202
|
+
if (!this.isBoolean) {
|
|
203
|
+
return false
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
return !this.modelValue && (this.modelValue === undefined || typeof this.modelValue === 'string')
|
|
207
|
+
},
|
|
208
|
+
|
|
209
|
+
isNumberType () {
|
|
210
|
+
return this.field.type === 'number'
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
|
|
214
|
+
methods: {
|
|
215
|
+
updateModel (value) {
|
|
216
|
+
this.$emit('update:modelValue', this.isNumberType ? Number(value) : value)
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
</script>
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
type: component
|
|
2
|
-
|
|
3
|
-
meta:
|
|
4
|
-
desc: Componente para criação de campos dinâmicos.
|
|
5
|
-
|
|
6
|
-
props:
|
|
7
|
-
error:
|
|
8
|
-
desc: Array ou String contendo a mensagem de erro.
|
|
9
|
-
type: [Array, String]
|
|
10
|
-
|
|
11
|
-
field:
|
|
12
|
-
desc: Field contendo informações necessárias para a criação do campo correspondente.
|
|
13
|
-
default: {}
|
|
14
|
-
required: true
|
|
15
|
-
type: Object
|
|
16
|
-
examples: ["{ name: 'email', type: 'email', label: 'E-mail' }"]
|
|
17
|
-
|
|
18
|
-
model-value:
|
|
19
|
-
desc: Model do componente, usado para o v-model.
|
|
20
|
-
default: undefined
|
|
21
|
-
type: [Object, Array, String, Number, Boolean]
|
|
22
|
-
examples: [v-model="value"]
|
|
23
|
-
model: true
|
|
24
|
-
|
|
25
|
-
events:
|
|
26
|
-
'@update:model-value -> function(value)':
|
|
27
|
-
desc: Dispara quando o model-value altera, também usado para v-model.
|
|
28
|
-
params:
|
|
29
|
-
value:
|
|
30
|
-
desc: Novo valor do model.
|
|
31
|
-
type: [Object, Array, String, Number, Boolean]
|
|
32
|
-
|
|
33
|
-
selectors:
|
|
34
|
-
'[fieldName]':
|
|
35
|
-
desc: Seletor criado a partir da propriedade "name" do campo.
|
|
36
|
-
examples: ['data-cy="email"', 'data-cy="phone"', 'data-cy="password"']
|
|
1
|
+
type: component
|
|
2
|
+
|
|
3
|
+
meta:
|
|
4
|
+
desc: Componente para criação de campos dinâmicos.
|
|
5
|
+
|
|
6
|
+
props:
|
|
7
|
+
error:
|
|
8
|
+
desc: Array ou String contendo a mensagem de erro.
|
|
9
|
+
type: [Array, String]
|
|
10
|
+
|
|
11
|
+
field:
|
|
12
|
+
desc: Field contendo informações necessárias para a criação do campo correspondente.
|
|
13
|
+
default: {}
|
|
14
|
+
required: true
|
|
15
|
+
type: Object
|
|
16
|
+
examples: ["{ name: 'email', type: 'email', label: 'E-mail' }"]
|
|
17
|
+
|
|
18
|
+
model-value:
|
|
19
|
+
desc: Model do componente, usado para o v-model.
|
|
20
|
+
default: undefined
|
|
21
|
+
type: [Object, Array, String, Number, Boolean]
|
|
22
|
+
examples: [v-model="value"]
|
|
23
|
+
model: true
|
|
24
|
+
|
|
25
|
+
events:
|
|
26
|
+
'@update:model-value -> function(value)':
|
|
27
|
+
desc: Dispara quando o model-value altera, também usado para v-model.
|
|
28
|
+
params:
|
|
29
|
+
value:
|
|
30
|
+
desc: Novo valor do model.
|
|
31
|
+
type: [Object, Array, String, Number, Boolean]
|
|
32
|
+
|
|
33
|
+
selectors:
|
|
34
|
+
'[fieldName]':
|
|
35
|
+
desc: Seletor criado a partir da propriedade "name" do campo.
|
|
36
|
+
examples: ['data-cy="email"', 'data-cy="phone"', 'data-cy="password"']
|