@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.
Files changed (314) hide show
  1. package/package.json +1 -1
  2. package/src/asteroid.js +4 -4
  3. package/src/components/actions/QasActions.vue +81 -81
  4. package/src/components/actions/QasActions.yml +34 -34
  5. package/src/components/actions-menu/QasActionsMenu.vue +251 -251
  6. package/src/components/actions-menu/QasActionsMenu.yml +89 -89
  7. package/src/components/actions-menu/composables/use-delete.js +30 -30
  8. package/src/components/actions-menu/composables/use-double-split-actions.js +42 -42
  9. package/src/components/actions-menu/composables/use-options-actions.js +27 -27
  10. package/src/components/actions-menu/composables/use-single-action.js +17 -17
  11. package/src/components/actions-menu/composables/use-single-split-actions.js +35 -35
  12. package/src/components/actions-menu/composables/use-tooltips.js +43 -43
  13. package/src/components/actions-menu/utils/get-label.js +3 -3
  14. package/src/components/actions-menu/utils/set-click-handler.js +6 -6
  15. package/src/components/alert/QasAlert.test.js +43 -43
  16. package/src/components/alert/QasAlert.vue +110 -110
  17. package/src/components/alert/QasAlert.yml +39 -39
  18. package/src/components/app-bar/QasAppBar.vue +119 -119
  19. package/src/components/app-bar/QasAppBar.yml +44 -44
  20. package/src/components/app-menu/QasAppMenu.vue +392 -392
  21. package/src/components/app-menu/QasAppMenu.yml +73 -73
  22. package/src/components/app-menu/composables/use-app-menu-dropdown.js +71 -71
  23. package/src/components/app-menu/composables/use-app-user.js +49 -49
  24. package/src/components/app-menu/composables/use-development-badge.js +23 -23
  25. package/src/components/app-menu/private/PvAppMenuDropdown.vue +71 -71
  26. package/src/components/app-menu/private/PvAppMenuHelpChat.vue +222 -222
  27. package/src/components/app-user/QasAppUser.vue +281 -281
  28. package/src/components/app-user/QasAppUser.yml +56 -56
  29. package/src/components/avatar/QasAvatar.vue +95 -95
  30. package/src/components/avatar/QasAvatar.yml +38 -38
  31. package/src/components/avatar/enums/AvatarColors.js +10 -10
  32. package/src/components/badge/QasBadge.vue +87 -87
  33. package/src/components/badge/QasBadge.yml +55 -55
  34. package/src/components/board-generator/QasBoardGenerator.vue +712 -712
  35. package/src/components/board-generator/QasBoardGenerator.yml +167 -167
  36. package/src/components/box/QasBox.vue +51 -51
  37. package/src/components/box/QasBox.yml +29 -29
  38. package/src/components/breakline/QasBreakline.vue +38 -38
  39. package/src/components/breakline/QasBreakline.yml +25 -25
  40. package/src/components/btn/QasBtn.vue +148 -148
  41. package/src/components/btn/QasBtn.yml +48 -48
  42. package/src/components/btn-dropdown/QasBtnDropdown.vue +146 -146
  43. package/src/components/btn-dropdown/QasBtnDropdown.yml +59 -59
  44. package/src/components/card/QasCard.vue +132 -132
  45. package/src/components/card/QasCard.yml +44 -44
  46. package/src/components/card-image/QasCardImage.vue +95 -95
  47. package/src/components/card-image/QasCardImage.yml +48 -48
  48. package/src/components/chart-view/QasChartView.vue +441 -441
  49. package/src/components/chart-view/QasChartView.yml +109 -109
  50. package/src/components/chart-view/config/charts/bar.js +45 -45
  51. package/src/components/chart-view/config/charts/doughnut.js +43 -43
  52. package/src/components/chart-view/config/charts/index.js +9 -9
  53. package/src/components/chart-view/config/charts/line.js +57 -57
  54. package/src/components/chart-view/config/defaults/colors.js +19 -19
  55. package/src/components/chart-view/config/defaults/font.js +5 -5
  56. package/src/components/chart-view/config/defaults/index.js +2 -2
  57. package/src/components/chart-view/config/index.js +3 -3
  58. package/src/components/chart-view/config/plugins/index.js +3 -3
  59. package/src/components/chart-view/config/plugins/legend.js +9 -9
  60. package/src/components/chart-view/config/plugins/tooltip.js +15 -15
  61. package/src/components/chart-view/config/plugins/zoom.js +31 -31
  62. package/src/components/checkbox/QasCheckbox.vue +150 -150
  63. package/src/components/checkbox/QasCheckbox.yml +36 -36
  64. package/src/components/copy/QasCopy.vue +46 -46
  65. package/src/components/copy/QasCopy.yml +23 -23
  66. package/src/components/date/QasDate.vue +600 -600
  67. package/src/components/date/QasDate.yml +69 -69
  68. package/src/components/date/enums/DateMaskOptions.js +6 -6
  69. package/src/components/date-time-input/QasDateTimeInput.vue +269 -269
  70. package/src/components/date-time-input/QasDateTimeInput.yml +64 -64
  71. package/src/components/debugger/QasDebugger.vue +31 -31
  72. package/src/components/debugger/QasDebugger.yml +10 -10
  73. package/src/components/delete/QasDelete.vue +100 -100
  74. package/src/components/delete/QasDelete.yml +60 -60
  75. package/src/components/dialog/QasDialog.vue +217 -217
  76. package/src/components/dialog/QasDialog.yml +117 -117
  77. package/src/components/dialog/composables/use-cancel.js +40 -40
  78. package/src/components/dialog/composables/use-dynamic-components.js +86 -86
  79. package/src/components/dialog/composables/use-ok.js +45 -45
  80. package/src/components/dialog-router/QasDialogRouter.vue +86 -86
  81. package/src/components/dialog-router/QasDialogRouter.yml +23 -23
  82. package/src/components/drawer/QasDrawer.vue +118 -118
  83. package/src/components/drawer/QasDrawer.yml +58 -58
  84. package/src/components/empty-result-text/QasEmptyResultText.vue +18 -18
  85. package/src/components/empty-result-text/QasEmptyResultText.yml +14 -14
  86. package/src/components/expansion-item/QasExpansionItem.vue +291 -291
  87. package/src/components/expansion-item/QasExpansionItem.yml +76 -76
  88. package/src/components/field/QasField.vue +220 -220
  89. package/src/components/field/QasField.yml +36 -36
  90. package/src/components/filters/QasFilters.vue +472 -472
  91. package/src/components/filters/QasFilters.yml +171 -171
  92. package/src/components/filters/private/PvFiltersButton.vue +101 -101
  93. package/src/components/form-generator/QasFormGenerator.vue +274 -274
  94. package/src/components/form-generator/QasFormGenerator.yml +109 -109
  95. package/src/components/form-view/QasFormView.vue +484 -484
  96. package/src/components/form-view/QasFormView.yml +253 -253
  97. package/src/components/gallery/QasGallery.vue +243 -243
  98. package/src/components/gallery/QasGallery.yml +188 -188
  99. package/src/components/gallery/composables/use-delete.js +54 -54
  100. package/src/components/gallery/private/PvGalleryCarouselDialog.vue +92 -92
  101. package/src/components/gallery/private/PvGalleryDeleteDialog.vue +54 -54
  102. package/src/components/gallery-card/QasGalleryCard.vue +153 -153
  103. package/src/components/gallery-card/QasGalleryCard.yml +61 -61
  104. package/src/components/grabbable/QasGrabbable.vue +185 -185
  105. package/src/components/grabbable/QasGrabbable.yml +26 -26
  106. package/src/components/grid-generator/QasGridGenerator.vue +210 -210
  107. package/src/components/grid-generator/QasGridGenerator.yml +127 -127
  108. package/src/components/grid-item/QasGridItem.vue +89 -89
  109. package/src/components/grid-item/QasGridItem.yml +22 -22
  110. package/src/components/header/QasHeader.vue +152 -152
  111. package/src/components/header/QasHeader.yml +50 -50
  112. package/src/components/infinite-scroll/QasInfiniteScroll.vue +168 -168
  113. package/src/components/infinite-scroll/QasInfiniteScroll.yml +78 -78
  114. package/src/components/info/QasInfo.vue +155 -155
  115. package/src/components/info/QasInfo.yml +34 -34
  116. package/src/components/input/QasInput.vue +252 -252
  117. package/src/components/input/QasInput.yml +65 -65
  118. package/src/components/label/QasLabel.vue +61 -61
  119. package/src/components/label/QasLabel.yml +44 -44
  120. package/src/components/layout/QasLayout.vue +101 -101
  121. package/src/components/layout/QasLayout.yml +46 -46
  122. package/src/components/layout/private/PvLayoutNotificationCard.vue +86 -86
  123. package/src/components/layout/private/PvLayoutNotificationsDrawer.vue +140 -140
  124. package/src/components/list-items/QasListItems.vue +125 -125
  125. package/src/components/list-items/QasListItems.yml +71 -71
  126. package/src/components/list-view/QasListView.vue +302 -302
  127. package/src/components/list-view/QasListView.yml +169 -169
  128. package/src/components/map/QasMap.vue +75 -75
  129. package/src/components/map/QasMap.yml +33 -33
  130. package/src/components/nested-fields/QasNestedFields.vue +584 -584
  131. package/src/components/nested-fields/QasNestedFields.yml +296 -296
  132. package/src/components/numeric-input/QasNumericInput.vue +206 -206
  133. package/src/components/numeric-input/QasNumericInput.yml +85 -85
  134. package/src/components/option-group/QasOptionGroup.vue +54 -54
  135. package/src/components/option-group/QasOptionGroup.yml +30 -30
  136. package/src/components/page-header/QasPageHeader.vue +143 -143
  137. package/src/components/page-header/QasPageHeader.yml +42 -42
  138. package/src/components/pagination/QasPagination.vue +71 -71
  139. package/src/components/pagination/QasPagination.yml +4 -4
  140. package/src/components/password-input/QasPasswordInput.vue +110 -110
  141. package/src/components/password-input/QasPasswordInput.yml +111 -111
  142. package/src/components/password-strength-checker/QasPasswordStrengthChecker.vue +71 -71
  143. package/src/components/password-strength-checker/QasPasswordStrengthChecker.yml +103 -103
  144. package/src/components/profile/QasProfile.vue +98 -98
  145. package/src/components/profile/QasProfile.yml +60 -60
  146. package/src/components/radio/QasRadio.vue +62 -62
  147. package/src/components/radio/QasRadio.yml +11 -11
  148. package/src/components/resizer/QasResizer.vue +90 -90
  149. package/src/components/resizer/QasResizer.yml +24 -24
  150. package/src/components/search-box/QasSearchBox.vue +294 -294
  151. package/src/components/search-box/QasSearchBox.yml +154 -154
  152. package/src/components/search-input/QasSearchInput.vue +106 -106
  153. package/src/components/search-input/QasSearchInput.yml +48 -48
  154. package/src/components/select/QasSelect.vue +514 -514
  155. package/src/components/select/QasSelect.yml +157 -157
  156. package/src/components/select-list/QasSelectList.vue +238 -238
  157. package/src/components/select-list/QasSelectList.yml +108 -108
  158. package/src/components/select-list/private/PvSelectListCheckbox.vue +31 -31
  159. package/src/components/select-list-dialog/QasSelectListDialog.vue +395 -395
  160. package/src/components/select-list-dialog/QasSelectListDialog.yml +108 -108
  161. package/src/components/signature-pad/QasSignaturePad.vue +122 -122
  162. package/src/components/signature-pad/QasSignaturePad.yml +53 -53
  163. package/src/components/signature-uploader/QasSignatureUploader.vue +164 -164
  164. package/src/components/signature-uploader/QasSignatureUploader.yml +37 -37
  165. package/src/components/single-view/QasSingleView.vue +175 -175
  166. package/src/components/single-view/QasSingleView.yml +131 -131
  167. package/src/components/sortable/QasSortable.vue +151 -151
  168. package/src/components/sortable/QasSortable.yml +65 -65
  169. package/src/components/status/QasStatus.test.js +11 -11
  170. package/src/components/status/QasStatus.vue +29 -29
  171. package/src/components/status/QasStatus.yml +10 -10
  172. package/src/components/stepper/QasStepper.vue +199 -152
  173. package/src/components/stepper/QasStepper.yml +35 -35
  174. package/src/components/stepper-form-view/QasStepperFormView.vue +86 -84
  175. package/src/components/stepper-form-view/QasStepperFormView.yml +58 -58
  176. package/src/components/table-generator/QasTableGenerator.vue +416 -416
  177. package/src/components/table-generator/QasTableGenerator.yml +94 -94
  178. package/src/components/tabs-generator/QasTabsGenerator.vue +196 -196
  179. package/src/components/tabs-generator/QasTabsGenerator.yml +53 -53
  180. package/src/components/text-truncate/QasTextTruncate.vue +274 -274
  181. package/src/components/text-truncate/QasTextTruncate.yml +60 -60
  182. package/src/components/timeline/QasTimeline.vue +140 -140
  183. package/src/components/timeline/QasTimeline.yml +36 -36
  184. package/src/components/toggle/QasToggle.vue +14 -14
  185. package/src/components/toggle/QasToggle.yml +5 -5
  186. package/src/components/toggle-visibility/QasToggleVisibility.vue +79 -79
  187. package/src/components/toggle-visibility/QasToggleVisibility.yml +30 -30
  188. package/src/components/transfer/QasTransfer.vue +239 -239
  189. package/src/components/transfer/QasTransfer.yml +60 -60
  190. package/src/components/tree-generator/QasTreeForm.vue +62 -62
  191. package/src/components/tree-generator/QasTreeGenerator.vue +488 -488
  192. package/src/components/tree-generator/QasTreeGenerator.yml +81 -81
  193. package/src/components/uploader/QasUploader.vue +691 -645
  194. package/src/components/uploader/QasUploader.yml +206 -192
  195. package/src/components/uploader/private/PvUploaderGalleryCard.vue +357 -357
  196. package/src/components/welcome/QasWelcome.vue +125 -125
  197. package/src/components/welcome/QasWelcome.yml +23 -23
  198. package/src/components/welcome/private/PvWelcomeShortcutCard.vue +58 -58
  199. package/src/components/whatsapp-link/QasWhatsappLink.vue +34 -34
  200. package/src/components/whatsapp-link/QasWhatsappLink.yml +18 -18
  201. package/src/composables/index.js +8 -8
  202. package/src/composables/private/index.js +3 -3
  203. package/src/composables/private/use-generator.js +174 -174
  204. package/src/composables/private/use-toggle-visibility.js +48 -48
  205. package/src/composables/private/use-view.js +186 -186
  206. package/src/composables/use-context.js +15 -15
  207. package/src/composables/use-form.js +32 -32
  208. package/src/composables/use-history.js +46 -46
  209. package/src/composables/use-notifications.js +128 -128
  210. package/src/composables/use-query-cache.js +60 -60
  211. package/src/composables/use-screen.js +42 -42
  212. package/src/css/base/font-face.scss +28 -28
  213. package/src/css/base/index.scss +1 -1
  214. package/src/css/components/base.scss +12 -12
  215. package/src/css/components/button.scss +116 -116
  216. package/src/css/components/checkbox.scss +14 -14
  217. package/src/css/components/editor.scss +7 -7
  218. package/src/css/components/field.scss +88 -88
  219. package/src/css/components/index.scss +10 -10
  220. package/src/css/components/item.scss +52 -52
  221. package/src/css/components/radio.scss +18 -18
  222. package/src/css/components/scrollbar.scss +20 -20
  223. package/src/css/components/tabs.scss +3 -3
  224. package/src/css/components/toggle.scss +13 -13
  225. package/src/css/mixins/index.scss +3 -3
  226. package/src/css/mixins/set-brand.scss +15 -15
  227. package/src/css/mixins/set-button.scss +26 -26
  228. package/src/css/mixins/set-typography.scss +8 -8
  229. package/src/css/plugins/index.scss +2 -2
  230. package/src/css/plugins/loading.scss +5 -5
  231. package/src/css/plugins/notify.scss +100 -100
  232. package/src/css/utils/background.scss +34 -34
  233. package/src/css/utils/border-radius.scss +29 -29
  234. package/src/css/utils/border.scss +42 -42
  235. package/src/css/utils/container.scss +36 -36
  236. package/src/css/utils/fonts.scss +5 -5
  237. package/src/css/utils/index.scss +10 -10
  238. package/src/css/utils/line-height.scss +19 -19
  239. package/src/css/utils/opacity.scss +5 -5
  240. package/src/css/utils/scroll.scss +21 -21
  241. package/src/css/utils/text.scss +15 -15
  242. package/src/css/utils/unset.scss +8 -8
  243. package/src/css/variables/button.scss +4 -4
  244. package/src/css/variables/index.scss +6 -6
  245. package/src/css/variables/scrollbar.scss +11 -11
  246. package/src/css/variables/separator.scss +2 -2
  247. package/src/css/variables/shadow.scss +3 -3
  248. package/src/css/variables/spacing.scss +98 -98
  249. package/src/css/variables/typography.scss +149 -149
  250. package/src/directives/Test.js +13 -13
  251. package/src/enums/Align.js +7 -7
  252. package/src/enums/Spacing.js +98 -98
  253. package/src/enums/Status.js +33 -33
  254. package/src/helpers/add-counter-suffix.js +3 -3
  255. package/src/helpers/base-64-to-blob.js +21 -21
  256. package/src/helpers/camelize-fields-name.js +15 -15
  257. package/src/helpers/construct-object.js +29 -29
  258. package/src/helpers/copy-to-clipboard.js +15 -15
  259. package/src/helpers/destroy-nested-children-by-key.js +33 -33
  260. package/src/helpers/download-file.js +21 -21
  261. package/src/helpers/filter-list-by-handle.js +31 -31
  262. package/src/helpers/filter-object-to-array.js +29 -29
  263. package/src/helpers/filter-object.js +34 -34
  264. package/src/helpers/filters.js +163 -163
  265. package/src/helpers/find-children-by-key.js +14 -14
  266. package/src/helpers/get-greatest-common-divisor.js +16 -16
  267. package/src/helpers/get-normalized-options.js +20 -20
  268. package/src/helpers/get-placeholder.js +19 -19
  269. package/src/helpers/get-required-label.js +3 -3
  270. package/src/helpers/get-slot-children-text.js +15 -15
  271. package/src/helpers/handle-process.js +13 -13
  272. package/src/helpers/images.js +28 -28
  273. package/src/helpers/index.js +25 -25
  274. package/src/helpers/is-empty.js +3 -3
  275. package/src/helpers/is-local-development.js +3 -3
  276. package/src/helpers/private/gutter-validator.js +15 -15
  277. package/src/helpers/private/has-parent-by-class-name.js +15 -15
  278. package/src/helpers/promise-handler.js +40 -40
  279. package/src/helpers/rules.js +7 -7
  280. package/src/helpers/set-scroll-on-grab.js +128 -128
  281. package/src/index.cjs.js +1 -1
  282. package/src/index.esm.js +4 -4
  283. package/src/index.scss +38 -38
  284. package/src/index.umd.js +2 -2
  285. package/src/mixins/context.js +8 -8
  286. package/src/mixins/delete.js +48 -48
  287. package/src/mixins/dialog-router.js +17 -17
  288. package/src/mixins/form.js +11 -11
  289. package/src/mixins/generator.js +94 -94
  290. package/src/mixins/index.js +17 -17
  291. package/src/mixins/password.js +86 -86
  292. package/src/mixins/search-filter.js +354 -354
  293. package/src/mixins/view.js +156 -156
  294. package/src/pages/ErrorComponent.vue +74 -74
  295. package/src/pages/Forbidden.vue +29 -29
  296. package/src/pages/NotFound.vue +29 -29
  297. package/src/pages/ServerError.vue +29 -29
  298. package/src/pages/Unauthorized.vue +29 -29
  299. package/src/plugins/delete/Delete.js +107 -107
  300. package/src/plugins/delete/Delete.yml +75 -75
  301. package/src/plugins/dialog/Dialog.js +14 -14
  302. package/src/plugins/dialog/Dialog.yml +10 -10
  303. package/src/plugins/index.js +13 -13
  304. package/src/plugins/notify-error/NotifyError.js +13 -13
  305. package/src/plugins/notify-error/NotifyError.yml +11 -11
  306. package/src/plugins/notify-success/NotifySuccess.js +13 -13
  307. package/src/plugins/notify-success/NotifySuccess.yml +11 -11
  308. package/src/plugins/screen/Screen.js +35 -35
  309. package/src/plugins/screen/Screen.yml +16 -16
  310. package/src/shared/date-config.js +26 -26
  311. package/src/shared/fuse-config.js +4 -4
  312. package/src/shared/notify-config.js +7 -7
  313. package/src/vue-plugin/third-party-component-handler.js +29 -29
  314. package/src/vue-plugin.js +282 -282
@@ -1,59 +1,59 @@
1
- type: component
2
-
3
- meta:
4
- desc: Componente semelhante ao QBtnDropdown porém utilizando o QasBtn e QSeparator para aplicar estilos padrões do Design System.
5
-
6
- props:
7
- buttons-props-list:
8
- desc: Lista de propriedades repassadas para os botões.
9
- default: []
10
- type: Array
11
- examples: ["[{ color: 'white', icon: 'sym_r_person' }]"]
12
-
13
- disable:
14
- desc: Desabilita o componente como um todo.
15
- default: false
16
- type: Boolean
17
-
18
- dropdown-icon:
19
- desc: Ícone a direita do dropdown.
20
- default: sym_r_more_vert
21
- type: String
22
-
23
- menu:
24
- desc: Model do menu de dropdown.
25
- default: false
26
- type: Boolean
27
- model: true
28
-
29
- use-menu-padding:
30
- desc: Habilita o espaçamento dentro do menu de 16px (q-pa-md).
31
- default: false
32
- type: Boolean
33
-
34
- use-split:
35
- desc: Divide o componente em 2 ações, o primeiro (direita) é um botão padrão, o segundo (esquerda) é um botão com ícone que abre o dropdown, criando uma separação com o QSeparator.
36
- default: false
37
- type: Boolean
38
-
39
- slots:
40
- default:
41
- desc: Slot para passar o conteúdo do dropdown (menu).
42
- bottom-[buttons-props-list-key]:
43
- desc: Slot unitário para acessar abaixo de cada botão (normalmente utilizado para tooltip).
44
-
45
- events:
46
- '@click -> function (event)':
47
- desc: Caso não tenha "useSplit", o evento é disparado ao clicar no componente como um todo, caso tenha "useSplit", o evento é disparado ao clicar no botão a esquerda.
48
- params:
49
- event:
50
- desc: Evento nativo de click.
51
- type: Object
52
-
53
- '@update:menu -> function (isMenuOpened)':
54
- desc: Retorna toda vez que o menu é aberto ou fechado
55
- params:
56
- isMenuOpened:
57
- desc: Estado do menu.
58
- default: false
59
- type: Boolean
1
+ type: component
2
+
3
+ meta:
4
+ desc: Componente semelhante ao QBtnDropdown porém utilizando o QasBtn e QSeparator para aplicar estilos padrões do Design System.
5
+
6
+ props:
7
+ buttons-props-list:
8
+ desc: Lista de propriedades repassadas para os botões.
9
+ default: []
10
+ type: Array
11
+ examples: ["[{ color: 'white', icon: 'sym_r_person' }]"]
12
+
13
+ disable:
14
+ desc: Desabilita o componente como um todo.
15
+ default: false
16
+ type: Boolean
17
+
18
+ dropdown-icon:
19
+ desc: Ícone a direita do dropdown.
20
+ default: sym_r_more_vert
21
+ type: String
22
+
23
+ menu:
24
+ desc: Model do menu de dropdown.
25
+ default: false
26
+ type: Boolean
27
+ model: true
28
+
29
+ use-menu-padding:
30
+ desc: Habilita o espaçamento dentro do menu de 16px (q-pa-md).
31
+ default: false
32
+ type: Boolean
33
+
34
+ use-split:
35
+ desc: Divide o componente em 2 ações, o primeiro (direita) é um botão padrão, o segundo (esquerda) é um botão com ícone que abre o dropdown, criando uma separação com o QSeparator.
36
+ default: false
37
+ type: Boolean
38
+
39
+ slots:
40
+ default:
41
+ desc: Slot para passar o conteúdo do dropdown (menu).
42
+ bottom-[buttons-props-list-key]:
43
+ desc: Slot unitário para acessar abaixo de cada botão (normalmente utilizado para tooltip).
44
+
45
+ events:
46
+ '@click -> function (event)':
47
+ desc: Caso não tenha "useSplit", o evento é disparado ao clicar no componente como um todo, caso tenha "useSplit", o evento é disparado ao clicar no botão a esquerda.
48
+ params:
49
+ event:
50
+ desc: Evento nativo de click.
51
+ type: Object
52
+
53
+ '@update:menu -> function (isMenuOpened)':
54
+ desc: Retorna toda vez que o menu é aberto ou fechado
55
+ params:
56
+ isMenuOpened:
57
+ desc: Estado do menu.
58
+ default: false
59
+ type: Boolean
@@ -1,132 +1,132 @@
1
- <template>
2
- <div class="qas-card">
3
- <qas-box class="rounded-borders-right" v-bind="boxProps">
4
- <q-card class="column full-height overflow-hidden shadow-0">
5
- <div class="full-width items-center justify-between no-wrap row">
6
- <component :is="titleComponent" class="ellipsis text-h5 text-no-decoration" :class="titleClasses" :to="route">
7
- <slot name="title">
8
- {{ props.title }}
9
- </slot>
10
- </component>
11
-
12
- <qas-actions-menu v-if="hasActions" v-bind="formattedActionsMenuProps" />
13
- </div>
14
-
15
- <div class="q-my-sm qas-card__content">
16
- <slot name="default" />
17
- </div>
18
-
19
- <div class="q-mt-auto">
20
- <q-separator v-if="hasFooter" class="q-mb-sm" />
21
-
22
- <slot name="footer">
23
- <q-expansion-item v-if="hasExpansion" class="full-width" dense expand-icon-class="text-primary" header-class="q-pa-none text-primary" :label="props.expansionProps.label">
24
- <slot name="expansion-content">
25
- {{ props.expansionProps.content }}
26
- </slot>
27
- </q-expansion-item>
28
- </slot>
29
- </div>
30
- </q-card>
31
- </qas-box>
32
- </div>
33
- </template>
34
-
35
- <script setup>
36
- import { computed, useSlots, inject } from 'vue'
37
-
38
- import { colors } from 'quasar'
39
-
40
- defineOptions({ name: 'QasCard' })
41
-
42
- const props = defineProps({
43
- actionsMenuProps: {
44
- type: Object,
45
- default: () => ({})
46
- },
47
-
48
- expansionProps: {
49
- type: Object,
50
- default: () => ({})
51
- },
52
-
53
- route: {
54
- type: Object,
55
- default: () => ({})
56
- },
57
-
58
- statusColor: {
59
- type: String,
60
- default: ''
61
- },
62
-
63
- title: {
64
- type: String,
65
- default: ''
66
- }
67
- })
68
-
69
- // consts
70
- const isInsideBox = inject('isBox', false)
71
-
72
- // computeds
73
- const boxProps = computed(() => {
74
- return {
75
- outlined: isInsideBox,
76
- unelevated: isInsideBox,
77
- spacingY: 'sm',
78
- style: style.value
79
- }
80
- })
81
-
82
- const hasActions = computed(() => !!Object.keys(props.actionsMenuProps).length)
83
-
84
- const hasExpansion = computed(() => !!Object.keys(props.expansionProps).length)
85
-
86
- const hasRoute = computed(() => !!Object.keys(props.route).length)
87
-
88
- const titleClasses = computed(() => {
89
- return {
90
- 'qas-card__router ': hasRoute.value
91
- }
92
- })
93
-
94
- const titleComponent = computed(() => hasRoute.value ? 'router-link' : 'h5')
95
-
96
- const style = computed(() => {
97
- if (!props.statusColor) return
98
-
99
- const { getPaletteColor } = colors
100
-
101
- return {
102
- borderLeft: `4px solid ${getPaletteColor(props.statusColor)} !important`
103
- }
104
- })
105
-
106
- const slots = useSlots()
107
-
108
- const hasFooterSlot = computed(() => !!slots.footer)
109
-
110
- const hasFooter = computed(() => hasFooterSlot.value || hasExpansion.value)
111
-
112
- const formattedActionsMenuProps = computed(() => {
113
- return {
114
- ...props.actionsMenuProps,
115
- useLabel: false
116
- }
117
- })
118
- </script>
119
-
120
- <style lang="scss">
121
- .qas-card {
122
- &__content {
123
- max-width: 100%;
124
- }
125
-
126
- &__router {
127
- &:hover {
128
- color: $primary;
129
- }
130
- }
131
- }
132
- </style>
1
+ <template>
2
+ <div class="qas-card">
3
+ <qas-box class="rounded-borders-right" v-bind="boxProps">
4
+ <q-card class="column full-height overflow-hidden shadow-0">
5
+ <div class="full-width items-center justify-between no-wrap row">
6
+ <component :is="titleComponent" class="ellipsis text-h5 text-no-decoration" :class="titleClasses" :to="route">
7
+ <slot name="title">
8
+ {{ props.title }}
9
+ </slot>
10
+ </component>
11
+
12
+ <qas-actions-menu v-if="hasActions" v-bind="formattedActionsMenuProps" />
13
+ </div>
14
+
15
+ <div class="q-my-sm qas-card__content">
16
+ <slot name="default" />
17
+ </div>
18
+
19
+ <div class="q-mt-auto">
20
+ <q-separator v-if="hasFooter" class="q-mb-sm" />
21
+
22
+ <slot name="footer">
23
+ <q-expansion-item v-if="hasExpansion" class="full-width" dense expand-icon-class="text-primary" header-class="q-pa-none text-primary" :label="props.expansionProps.label">
24
+ <slot name="expansion-content">
25
+ {{ props.expansionProps.content }}
26
+ </slot>
27
+ </q-expansion-item>
28
+ </slot>
29
+ </div>
30
+ </q-card>
31
+ </qas-box>
32
+ </div>
33
+ </template>
34
+
35
+ <script setup>
36
+ import { computed, useSlots, inject } from 'vue'
37
+
38
+ import { colors } from 'quasar'
39
+
40
+ defineOptions({ name: 'QasCard' })
41
+
42
+ const props = defineProps({
43
+ actionsMenuProps: {
44
+ type: Object,
45
+ default: () => ({})
46
+ },
47
+
48
+ expansionProps: {
49
+ type: Object,
50
+ default: () => ({})
51
+ },
52
+
53
+ route: {
54
+ type: Object,
55
+ default: () => ({})
56
+ },
57
+
58
+ statusColor: {
59
+ type: String,
60
+ default: ''
61
+ },
62
+
63
+ title: {
64
+ type: String,
65
+ default: ''
66
+ }
67
+ })
68
+
69
+ // consts
70
+ const isInsideBox = inject('isBox', false)
71
+
72
+ // computeds
73
+ const boxProps = computed(() => {
74
+ return {
75
+ outlined: isInsideBox,
76
+ unelevated: isInsideBox,
77
+ spacingY: 'sm',
78
+ style: style.value
79
+ }
80
+ })
81
+
82
+ const hasActions = computed(() => !!Object.keys(props.actionsMenuProps).length)
83
+
84
+ const hasExpansion = computed(() => !!Object.keys(props.expansionProps).length)
85
+
86
+ const hasRoute = computed(() => !!Object.keys(props.route).length)
87
+
88
+ const titleClasses = computed(() => {
89
+ return {
90
+ 'qas-card__router ': hasRoute.value
91
+ }
92
+ })
93
+
94
+ const titleComponent = computed(() => hasRoute.value ? 'router-link' : 'h5')
95
+
96
+ const style = computed(() => {
97
+ if (!props.statusColor) return
98
+
99
+ const { getPaletteColor } = colors
100
+
101
+ return {
102
+ borderLeft: `4px solid ${getPaletteColor(props.statusColor)} !important`
103
+ }
104
+ })
105
+
106
+ const slots = useSlots()
107
+
108
+ const hasFooterSlot = computed(() => !!slots.footer)
109
+
110
+ const hasFooter = computed(() => hasFooterSlot.value || hasExpansion.value)
111
+
112
+ const formattedActionsMenuProps = computed(() => {
113
+ return {
114
+ ...props.actionsMenuProps,
115
+ useLabel: false
116
+ }
117
+ })
118
+ </script>
119
+
120
+ <style lang="scss">
121
+ .qas-card {
122
+ &__content {
123
+ max-width: 100%;
124
+ }
125
+
126
+ &__router {
127
+ &:hover {
128
+ color: $primary;
129
+ }
130
+ }
131
+ }
132
+ </style>
@@ -1,44 +1,44 @@
1
- type: component
2
-
3
- meta:
4
- desc: Componente de card.
5
-
6
- props:
7
- actions-menu-props:
8
- desc: Propriedades repassadas para o QasActionsMenu.
9
- default: {}
10
- type: Object
11
-
12
- expansion-props:
13
- desc: Conteúdo que ficará dentro do "QExpansionItem", sendo separado por "label" e "content".
14
- type: Object
15
- default: {}
16
-
17
- route:
18
- desc: Rota que será utilizada ao clicar no título.
19
- default: {}
20
- type: Object
21
-
22
- status-color:
23
- desc: Insere uma borda na esquerda para indicar o status do card.
24
- default: ''
25
- examples: [red-14, blue-8, green-9]
26
- type: String
27
-
28
- title:
29
- desc: Título principal do card.
30
- default: ''
31
- type: String
32
-
33
- slots:
34
- default:
35
- desc: Slot para acessar conteúdo principal do card.
36
-
37
- title:
38
- desc: Slot para acessar conteúdo do título do card.
39
-
40
- footer:
41
- desc: Slot para acessar o footer do card.
42
-
43
- expansion-content:
44
- desc: Slot para acessar o conteúdo dentro do "QExpansionItem".
1
+ type: component
2
+
3
+ meta:
4
+ desc: Componente de card.
5
+
6
+ props:
7
+ actions-menu-props:
8
+ desc: Propriedades repassadas para o QasActionsMenu.
9
+ default: {}
10
+ type: Object
11
+
12
+ expansion-props:
13
+ desc: Conteúdo que ficará dentro do "QExpansionItem", sendo separado por "label" e "content".
14
+ type: Object
15
+ default: {}
16
+
17
+ route:
18
+ desc: Rota que será utilizada ao clicar no título.
19
+ default: {}
20
+ type: Object
21
+
22
+ status-color:
23
+ desc: Insere uma borda na esquerda para indicar o status do card.
24
+ default: ''
25
+ examples: [red-14, blue-8, green-9]
26
+ type: String
27
+
28
+ title:
29
+ desc: Título principal do card.
30
+ default: ''
31
+ type: String
32
+
33
+ slots:
34
+ default:
35
+ desc: Slot para acessar conteúdo principal do card.
36
+
37
+ title:
38
+ desc: Slot para acessar conteúdo do título do card.
39
+
40
+ footer:
41
+ desc: Slot para acessar o footer do card.
42
+
43
+ expansion-content:
44
+ desc: Slot para acessar o conteúdo dentro do "QExpansionItem".
@@ -1,95 +1,95 @@
1
- <template>
2
- <div class="col-12 col-lg-3 col-md-4 col-sm-6">
3
- <q-card class="border-radius-lg column full-height overflow-hidden" :class="cardClasses">
4
- <header v-if="props.useHeader" class="full-width overflow-hidden relative-position">
5
- <slot name="header">
6
- <q-carousel v-model="slideImage" animated class="cursor-pointer" height="205px" infinite :navigation="hasImages" navigation-icon="sym_r_fiber_manual_record" swipeable>
7
- <template #navigation-icon="{ active, btnProps, onClick }">
8
- <qas-btn color="white" :icon="getNavigationIcon(active, btnProps)" variant="tertiary" @click="onClick" />
9
- </template>
10
-
11
- <q-carousel-slide v-for="(item, index) in imagesList" :key="index" class="bg-no-repeat" :class="imagePositionClass" :img-src="item" :name="index" />
12
- </q-carousel>
13
-
14
- <div class="absolute-top flex items-center q-pa-md">
15
- <slot name="carousel-header" />
16
- </div>
17
- </slot>
18
- </header>
19
-
20
- <q-card-section class="col-grow column full-width justify-between">
21
- <div class="full-width" :class="gutterClass">
22
- <slot />
23
- </div>
24
- </q-card-section>
25
-
26
- <div v-if="hasActionsSlot" class="border-grey border-top overflow-hidden row">
27
- <slot name="actions" />
28
- </div>
29
- </q-card>
30
- </div>
31
- </template>
32
-
33
- <script setup>
34
- import { Spacing } from '../../enums/Spacing'
35
-
36
- import { ref, computed, useSlots } from 'vue'
37
-
38
- defineOptions({ name: 'QasCardImage' })
39
-
40
- const props = defineProps({
41
- imagePosition: {
42
- type: String,
43
- default: 'center'
44
- },
45
-
46
- gutter: {
47
- type: String,
48
- default: Spacing.Sm,
49
- validator: value => Object.values(Spacing).includes(value)
50
- },
51
-
52
- images: {
53
- default: () => [],
54
- type: Array
55
- },
56
-
57
- outlined: {
58
- type: Boolean
59
- },
60
-
61
- unelevated: {
62
- type: Boolean
63
- },
64
-
65
- useHeader: {
66
- type: Boolean
67
- }
68
- })
69
-
70
- const slots = useSlots()
71
-
72
- const slideImage = ref(0)
73
-
74
- const cardClasses = computed(() => {
75
- return {
76
- 'shadow-2': !props.unelevated,
77
- 'border-primary': props.outlined,
78
- 'no-shadow': props.outlined,
79
- 'bg-white': props.outlined
80
- }
81
- })
82
-
83
- const imagePositionClass = computed(() => `bg-position-${props.imagePosition}`)
84
- const gutterClass = computed(() => `q-col-gutter-${props.gutter}`)
85
-
86
- const hasActionsSlot = computed(() => !!slots.actions)
87
- const hasImages = computed(() => props.images.length > 1)
88
-
89
- const imagesLength = computed(() => props.images?.length)
90
- const imagesList = computed(() => imagesLength.value && props.images.slice(0, 3))
91
-
92
- function getNavigationIcon (active, { icon }) {
93
- return active ? 'sym_r_radio_button_checked' : icon
94
- }
95
- </script>
1
+ <template>
2
+ <div class="col-12 col-lg-3 col-md-4 col-sm-6">
3
+ <q-card class="border-radius-lg column full-height overflow-hidden" :class="cardClasses">
4
+ <header v-if="props.useHeader" class="full-width overflow-hidden relative-position">
5
+ <slot name="header">
6
+ <q-carousel v-model="slideImage" animated class="cursor-pointer" height="205px" infinite :navigation="hasImages" navigation-icon="sym_r_fiber_manual_record" swipeable>
7
+ <template #navigation-icon="{ active, btnProps, onClick }">
8
+ <qas-btn color="white" :icon="getNavigationIcon(active, btnProps)" variant="tertiary" @click="onClick" />
9
+ </template>
10
+
11
+ <q-carousel-slide v-for="(item, index) in imagesList" :key="index" class="bg-no-repeat" :class="imagePositionClass" :img-src="item" :name="index" />
12
+ </q-carousel>
13
+
14
+ <div class="absolute-top flex items-center q-pa-md">
15
+ <slot name="carousel-header" />
16
+ </div>
17
+ </slot>
18
+ </header>
19
+
20
+ <q-card-section class="col-grow column full-width justify-between">
21
+ <div class="full-width" :class="gutterClass">
22
+ <slot />
23
+ </div>
24
+ </q-card-section>
25
+
26
+ <div v-if="hasActionsSlot" class="border-grey border-top overflow-hidden row">
27
+ <slot name="actions" />
28
+ </div>
29
+ </q-card>
30
+ </div>
31
+ </template>
32
+
33
+ <script setup>
34
+ import { Spacing } from '../../enums/Spacing'
35
+
36
+ import { ref, computed, useSlots } from 'vue'
37
+
38
+ defineOptions({ name: 'QasCardImage' })
39
+
40
+ const props = defineProps({
41
+ imagePosition: {
42
+ type: String,
43
+ default: 'center'
44
+ },
45
+
46
+ gutter: {
47
+ type: String,
48
+ default: Spacing.Sm,
49
+ validator: value => Object.values(Spacing).includes(value)
50
+ },
51
+
52
+ images: {
53
+ default: () => [],
54
+ type: Array
55
+ },
56
+
57
+ outlined: {
58
+ type: Boolean
59
+ },
60
+
61
+ unelevated: {
62
+ type: Boolean
63
+ },
64
+
65
+ useHeader: {
66
+ type: Boolean
67
+ }
68
+ })
69
+
70
+ const slots = useSlots()
71
+
72
+ const slideImage = ref(0)
73
+
74
+ const cardClasses = computed(() => {
75
+ return {
76
+ 'shadow-2': !props.unelevated,
77
+ 'border-primary': props.outlined,
78
+ 'no-shadow': props.outlined,
79
+ 'bg-white': props.outlined
80
+ }
81
+ })
82
+
83
+ const imagePositionClass = computed(() => `bg-position-${props.imagePosition}`)
84
+ const gutterClass = computed(() => `q-col-gutter-${props.gutter}`)
85
+
86
+ const hasActionsSlot = computed(() => !!slots.actions)
87
+ const hasImages = computed(() => props.images.length > 1)
88
+
89
+ const imagesLength = computed(() => props.images?.length)
90
+ const imagesList = computed(() => imagesLength.value && props.images.slice(0, 3))
91
+
92
+ function getNavigationIcon (active, { icon }) {
93
+ return active ? 'sym_r_radio_button_checked' : icon
94
+ }
95
+ </script>