@bildvitta/quasar-ui-asteroid 3.0.0-beta.2 → 3.0.0-beta.5

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 (73) hide show
  1. package/dist/api/QasAppMenu.json +4 -0
  2. package/dist/api/QasBtn.json +5 -2
  3. package/dist/asteroid.cjs.css +1 -1
  4. package/dist/asteroid.cjs.js +406 -448
  5. package/dist/asteroid.cjs.min.js +2 -2
  6. package/dist/asteroid.esm.css +1 -1
  7. package/dist/asteroid.esm.js +406 -448
  8. package/dist/asteroid.esm.min.js +2 -2
  9. package/dist/asteroid.umd.css +1 -1
  10. package/dist/asteroid.umd.js +409 -451
  11. package/dist/asteroid.umd.min.js +2 -2
  12. package/dist/vetur/asteroid-attributes.json +8 -0
  13. package/dist/vetur/asteroid-tags.json +3 -1
  14. package/package.json +1 -1
  15. package/src/assets/gear.svg +27 -0
  16. package/src/components/actions/QasActions.vue +1 -5
  17. package/src/components/app-bar/QasAppBar.vue +2 -2
  18. package/src/components/app-menu/QasAppMenu.vue +8 -7
  19. package/src/components/app-menu/QasAppMenu.yml +4 -0
  20. package/src/components/box/QasBox.vue +1 -1
  21. package/src/components/btn/QasBtn.vue +9 -10
  22. package/src/components/btn/QasBtn.yml +4 -1
  23. package/src/components/card/QasCard.vue +1 -1
  24. package/src/components/copy/QasCopy.vue +1 -1
  25. package/src/components/dialog/QasDialog.vue +2 -6
  26. package/src/components/filters/QasFilters.vue +2 -2
  27. package/src/components/form-view/QasFormView.vue +4 -4
  28. package/src/components/gallery/QasGallery.vue +4 -8
  29. package/src/components/list-items/QasListItems.vue +1 -1
  30. package/src/components/list-view/QasListView.vue +2 -2
  31. package/src/components/profile/QasProfile.vue +2 -5
  32. package/src/components/resizer/QasResizer.vue +1 -1
  33. package/src/components/select-list/QasSelectList.vue +2 -5
  34. package/src/components/signature-pad/QasSignaturePad.vue +1 -1
  35. package/src/components/signature-uploader/QasSignatureUploader.vue +6 -9
  36. package/src/components/single-view/QasSingleView.vue +2 -2
  37. package/src/components/table-generator/QasTableGenerator.vue +1 -4
  38. package/src/components/text-truncate/QasTextTruncate.vue +1 -4
  39. package/src/components/transfer/QasTransfer.vue +3 -6
  40. package/src/components/uploader/QasUploader.vue +2 -2
  41. package/src/composables/index.js +1 -1
  42. package/src/composables/{useHistory.js → use-history.js} +0 -0
  43. package/src/css/components/base.scss +3 -0
  44. package/src/css/components/field.scss +4 -0
  45. package/src/css/components/index.scss +4 -0
  46. package/src/css/components/radio.scss +3 -0
  47. package/src/css/components/tabs.scss +3 -0
  48. package/src/css/mixins/index.scss +1 -0
  49. package/src/css/{set-brand.scss → mixins/set-brand.scss} +0 -0
  50. package/src/css/{background.scss → utils/background.scss} +0 -0
  51. package/src/css/{border-radius.scss → utils/border-radius.scss} +0 -0
  52. package/src/css/{border.scss → utils/border.scss} +0 -0
  53. package/src/css/{container.scss → utils/container.scss} +0 -0
  54. package/src/css/{fonts.scss → utils/fonts.scss} +0 -0
  55. package/src/css/utils/index.scss +9 -0
  56. package/src/css/{line-height.scss → utils/line-height.scss} +0 -0
  57. package/src/css/{opacity.scss → utils/opacity.scss} +0 -0
  58. package/src/css/{text.scss → utils/text.scss} +0 -0
  59. package/src/css/{unset.scss → utils/unset.scss} +0 -0
  60. package/src/css/variables/button.scss +3 -0
  61. package/src/css/variables/index.scss +3 -0
  62. package/src/css/variables/shadow.scss +33 -0
  63. package/src/css/variables/typography.scss +139 -0
  64. package/src/index.scss +11 -12
  65. package/src/mixins/index.js +1 -3
  66. package/src/pages/ErrorComponent.vue +56 -0
  67. package/src/pages/Forbidden.vue +19 -5
  68. package/src/pages/NotFound.vue +19 -5
  69. package/src/pages/ServerError.vue +23 -0
  70. package/src/plugins/screen/Screen.js +5 -0
  71. package/src/css/design-system.scss +0 -18
  72. package/src/css/shadow.scss +0 -7
  73. package/src/mixins/screen.js +0 -34
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * @bildvitta/quasar-ui-asteroid v3.0.0-beta.2
2
+ * @bildvitta/quasar-ui-asteroid v3.0.0-beta.5
3
3
  * (c) 2022 Bild & Vitta <systemteam@bild.com.br>
4
4
  * Released under the MIT License.
5
5
  */
6
+ import { openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, resolveComponent, createBlock, mergeProps, createSlots, withCtx, createCommentVNode, renderList, normalizeProps, guardReactiveProps, createVNode, Fragment, toDisplayString, resolveDynamicComponent, createTextVNode, resolveDirective, withDirectives, reactive, computed, markRaw, vShow, normalizeStyle, withModifiers, TransitionGroup } from 'vue';
6
7
  import { camelize, camelizeKeys } from 'humps';
7
- import { markRaw, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, resolveComponent, createBlock, mergeProps, createSlots, withCtx, createCommentVNode, renderList, normalizeProps, guardReactiveProps, createVNode, Fragment, toDisplayString, resolveDynamicComponent, createTextVNode, resolveDirective, withDirectives, reactive, computed, vShow, normalizeStyle, withModifiers, TransitionGroup } from 'vue';
8
8
  import { parseISO, format, isMatch } from 'date-fns';
9
9
  import { ptBR } from 'date-fns/locale';
10
10
  import { copyToClipboard, date as date$1, Dialog as Dialog$1, Notify, Screen as Screen$1, Platform, Loading, extend, uid, Quasar } from 'quasar';
@@ -17,342 +17,9 @@ import Fuse from 'fuse.js';
17
17
  import Sortable from 'sortablejs';
18
18
  import VueGoogleMaps from '@fawmi/vue-google-maps';
19
19
 
20
- var contextMixin = {
21
- computed: {
22
- mx_context () {
23
- const { limit, ordering, page, search, ...filters } = this.$route.query;
24
- return { filters, limit, ordering, page: page ? parseInt(page) : 1, search }
25
- }
26
- }
27
- };
28
-
29
- const irregularClasses = ['col', 'col-auto', 'fit'];
30
-
31
- var generatorMixin = {
32
- props: {
33
- columns: {
34
- default: () => [],
35
- type: [Array, String, Object]
36
- },
37
-
38
- fields: {
39
- default: () => ({}),
40
- type: Object
41
- },
42
-
43
- gutter: {
44
- default: 'md',
45
- type: [String, Boolean],
46
- validator: value => ['xs', 'sm', 'md', 'lg', 'xl'].includes(value)
47
- }
48
- },
49
-
50
- computed: {
51
- mx_classes () {
52
- const classes = ['row'];
53
-
54
- if (this.gutter) {
55
- classes.push(`q-col-gutter-${this.gutter}`);
56
- }
57
-
58
- return classes
59
- }
60
- },
61
-
62
- methods: {
63
- mx_getBreakpoint (columns) {
64
- const classes = [];
65
- const profiles = { col: 'col', xs: 'col-xs', sm: 'col-sm', md: 'col-md', lg: 'col-lg', xl: 'col-xl' };
66
- const { fieldProps, classes: renamedClasses, ...formattedColumns } = columns || {};
67
-
68
- for (const key in formattedColumns) {
69
- const value = formattedColumns[key];
70
- classes.push(irregularClasses.includes(value) ? value : `${profiles[key]}-${value}`);
71
- }
72
-
73
- return [...classes, renamedClasses]
74
- },
75
-
76
- mx_getFieldClass (index, isGridGenerator) {
77
- if (typeof this.columns === 'string') {
78
- return irregularClasses.includes(this.columns) ? this.columns : `col-${this.columns}`
79
- }
80
-
81
- return Array.isArray(this.columns)
82
- ? this.mx_handleColumnsByIndex(index, isGridGenerator)
83
- : this.mx_handleColumnsByField(index, isGridGenerator)
84
- },
85
-
86
- mx_handleColumnsByField (index, isGridGenerator) {
87
- if (!this.columns[index]) {
88
- return this.mx_setDefaultColumnClass(isGridGenerator)
89
- }
90
-
91
- return this.mx_getBreakpoint(this.columns[index])
92
- },
93
-
94
- mx_handleColumnsByIndex (index, isGridGenerator) {
95
- const fields = isGridGenerator ? this.fields : this.groupedFields.visible;
96
-
97
- if (!Array.isArray(fields)) {
98
- index = Object.keys(fields).findIndex(field => field === index);
99
- }
100
-
101
- const length = this.columns.length;
102
-
103
- if (!length) {
104
- return this.mx_setDefaultColumnClass(isGridGenerator)
105
- }
106
-
107
- return this.mx_getBreakpoint(this.columns[index])
108
- },
109
-
110
- mx_setDefaultColumnClass (isGridGenerator) {
111
- return isGridGenerator ? 'col-6 col-xs-12 col-sm-4' : 'col-6'
112
- }
113
- }
114
- };
115
-
116
- const levels = {
117
- 0: {
118
- color: 'negative',
119
- label: 'Muito fraco',
120
- progress: 0.05,
121
- textClass: 'text-negative'
122
- },
123
-
124
- 1: {
125
- color: 'warning',
126
- label: 'Fraco',
127
- progress: 0.25,
128
- textClass: 'text-warning'
129
- },
130
-
131
- 2: {
132
- color: 'warning',
133
- label: 'Bom',
134
- progress: 0.5,
135
- textClass: 'text-warning'
136
- },
137
-
138
- 3: {
139
- color: 'positive',
140
- label: 'Forte',
141
- progress: 0.75,
142
- textClass: 'text-positive'
143
- },
144
-
145
- 4: {
146
- color: 'positive',
147
- label: 'Muito forte',
148
- progress: 1,
149
- textClass: 'text-positive'
150
- }
151
- };
152
-
153
- var passwordMixin = {
154
- props: {
155
- levels: {
156
- default: () => levels,
157
- type: Object
158
- },
159
-
160
- // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/minlength
161
- minlength: {
162
- default: 8,
163
- type: [Number, String]
164
- },
165
-
166
- specials: {
167
- default: /[!@#$%^&*()_+\-=[\]{}|;:'",<.>/?`~]/g,
168
- type: RegExp
169
- },
170
-
171
- trackColor: {
172
- default: 'blue-grey-1',
173
- type: String
174
- },
175
-
176
- useLowercase: {
177
- default: true,
178
- type: Boolean
179
- },
180
-
181
- useNumbers: {
182
- default: true,
183
- type: Boolean
184
- },
185
-
186
- useSpecial: {
187
- default: true,
188
- type: Boolean
189
- },
190
-
191
- useUppercase: {
192
- default: true,
193
- type: Boolean
194
- }
195
- }
196
- };
197
-
198
- var screenMixin = {
199
- // TODO: Esses nomes precisam ser alterados para algo mais inteligente.
200
-
201
- computed: {
202
- mx_isSmall () {
203
- // until 599
204
- return this.$q.screen.xs
205
- },
206
-
207
- mx_isMedium () {
208
- // from 600 until 1023
209
- return this.$q.screen.sm
210
- },
211
-
212
- mx_isLarge () {
213
- // from 1024 until the limit
214
- return this.$q.screen.gt.sm
215
- },
216
-
217
- mx_untilMedium () {
218
- // from 0 until 599
219
- return this.$q.screen.lt.sm
220
- },
221
-
222
- mx_untilLarge () {
223
- // from 0 until 1023
224
- return this.$q.screen.lt.md
225
- },
226
-
227
- mx_isMobile () {
228
- return this.$q.platform.is.mobile
229
- }
230
- }
231
- };
232
-
233
- var viewMixin = {
234
- props: {
235
- dialog: {
236
- type: Boolean
237
- },
238
-
239
- entity: {
240
- required: true,
241
- type: String
242
- },
243
-
244
- url: {
245
- default: '',
246
- type: String
247
- },
248
-
249
- fields: {
250
- default: () => ({}),
251
- type: Object
252
- },
253
-
254
- errors: {
255
- default: () => ({}),
256
- type: Object
257
- },
258
-
259
- metadata: {
260
- default: () => ({}),
261
- type: Object
262
- },
263
-
264
- fetching: {
265
- type: Boolean
266
- }
267
- },
268
-
269
- emits: [
270
- 'update:fields',
271
- 'update:errors',
272
- 'update:metadata',
273
- 'update:fetching'
274
- ],
275
-
276
- data () {
277
- return {
278
- mx_errors: {},
279
- mx_fields: {},
280
- mx_metadata: {},
281
-
282
- mx_isFetching: false
283
- }
284
- },
285
-
286
- watch: {
287
- mx_isFetching (value) {
288
- this.$emit('update:fetching', value);
289
- }
290
- },
291
-
292
- computed: {
293
- mx_componentTag () {
294
- return this.dialog ? 'div' : 'q-page'
295
- },
296
-
297
- mx_componentClass () {
298
- return !this.dialog && 'container spaced'
299
- },
300
-
301
- mx_hasFooterSlot () {
302
- return !!(this.$slots.footer)
303
- },
304
-
305
- mx_hasHeaderSlot () {
306
- return !!(this.$slots.header)
307
- }
308
- },
309
-
310
- methods: {
311
- mx_fetchError (error) {
312
- const { response } = error;
313
- const exception = response?.data?.exception || error.message;
314
-
315
- this.$qas.error('Ops! Erro ao obter os dados.', exception);
316
-
317
- const status = response?.status;
318
- const redirect = ({ 403: 'Forbidden', 404: 'NotFound' })[status];
319
-
320
- if (redirect) {
321
- this.$router.replace({ name: redirect });
322
- }
323
- },
324
-
325
- mx_setErrors (errors = {}) {
326
- this.mx_errors = markRaw(errors);
327
- },
328
-
329
- mx_setFields (fields = {}) {
330
- for (const field in fields) {
331
- fields[field].name = camelize(fields[field].name);
332
- }
333
-
334
- this.mx_fields = markRaw(fields);
335
- },
336
-
337
- mx_setMetadata (metadata = {}) {
338
- this.mx_metadata = markRaw(metadata);
339
- },
340
-
341
- mx_updateModels (models) {
342
- for (const key in models) {
343
- if (!models[key]) continue
344
-
345
- this.$emit(`update:${key}`, models[key]);
346
- }
347
- }
348
- }
349
- };
350
-
351
20
  var script$L = {
352
21
  name: 'QasActions',
353
22
 
354
- mixins: [screenMixin],
355
-
356
23
  props: {
357
24
  align: {
358
25
  default: 'end',
@@ -372,7 +39,7 @@ var script$L = {
372
39
  return [
373
40
  `justify-${this.align}`,
374
41
  `q-col-gutter-${this.gutter}`,
375
- this.mx_isSmall ? 'column reverse' : 'row'
42
+ this.$qas.screen.isSmall ? 'column reverse' : 'row'
376
43
  ]
377
44
  }
378
45
  }
@@ -400,30 +67,31 @@ script$L.__file = "src/components/actions/QasActions.vue";
400
67
  var script$K = {
401
68
  name: 'QasBtn',
402
69
 
403
- mixins: [screenMixin],
404
-
405
70
  props: {
406
71
  hideLabelOnSmallScreen: {
407
72
  type: Boolean
73
+ },
74
+
75
+ label: {
76
+ type: String,
77
+ default: ''
408
78
  }
409
79
  },
410
80
 
411
81
  computed: {
412
82
  attributes () {
413
- const { label, ...attributes } = this.$attrs;
414
-
415
83
  return {
416
- ...(this.showLabel && { label }),
417
- ...attributes
84
+ ...(this.showLabel && { label: this.label }),
85
+ ...this.$attrs
418
86
  }
419
87
  },
420
88
 
421
89
  hasLabel () {
422
- return !!(this.$attrs.label || this.$slots.default)
90
+ return !!(this.label || this.$slots.default)
423
91
  },
424
92
 
425
93
  showLabel () {
426
- return this.hasLabel && !(this.hideLabelOnSmallScreen && this.mx_isSmall)
94
+ return this.hasLabel && !(this.hideLabelOnSmallScreen && this.$qas.screen.isSmall)
427
95
  },
428
96
 
429
97
  slots () {
@@ -1352,7 +1020,7 @@ function render$F(_ctx, _cache, $props, $setup, $data, $options) {
1352
1020
  const _directive_close_popup = resolveDirective("close-popup");
1353
1021
 
1354
1022
  return (openBlock(), createBlock(_component_q_header, {
1355
- class: "bg-white qas-app-bar shadow-primary",
1023
+ class: "bg-white qas-app-bar shadow-14",
1356
1024
  "height-hint": "70"
1357
1025
  }, {
1358
1026
  default: withCtx(() => [
@@ -1455,7 +1123,7 @@ function render$F(_ctx, _cache, $props, $setup, $data, $options) {
1455
1123
  ]),
1456
1124
  createVNode(_component_q_menu, {
1457
1125
  anchor: "bottom end",
1458
- class: "shadow-primary",
1126
+ class: "shadow-14",
1459
1127
  "max-height": "400px",
1460
1128
  offset: [0, 5],
1461
1129
  self: "top end"
@@ -1518,8 +1186,6 @@ script$F.__file = "src/components/app-bar/QasAppBar.vue";
1518
1186
  var script$E = {
1519
1187
  name: 'QasAppMenu',
1520
1188
 
1521
- mixins: [screenMixin],
1522
-
1523
1189
  props: {
1524
1190
  items: {
1525
1191
  default: () => [],
@@ -1536,6 +1202,11 @@ var script$E = {
1536
1202
  type: String
1537
1203
  },
1538
1204
 
1205
+ brandMenu: {
1206
+ default: '',
1207
+ type: String
1208
+ },
1209
+
1539
1210
  modules: {
1540
1211
  default: () => [],
1541
1212
  type: Array
@@ -1621,7 +1292,7 @@ var script$E = {
1621
1292
  },
1622
1293
 
1623
1294
  beforeHide () {
1624
- if (this.mx_isLarge) {
1295
+ if (this.$qas.screen.isLarge) {
1625
1296
  this.model = true;
1626
1297
  this.miniMode = !this.miniMode;
1627
1298
  }
@@ -1649,21 +1320,17 @@ var script$E = {
1649
1320
  }
1650
1321
  };
1651
1322
 
1652
- var _imports_0 = "data:image/svg+xml,%3Csvg%20width%3D%22126%22%20height%3D%2226%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20opacity%3D%22.3%22%3E%3Cg%20clip-path%3D%22url%28%23a%29%22%3E%3Cpath%20d%3D%22M6.829%2010.909c.02-2.295.059-4.6.119-6.895C9.197%202.653%2011.41%201.3%2013.58%200c2.172%201.301%204.393%202.653%206.634%204.014.07%202.295.11%204.6.12%206.895a342.175%20342.175%200%200%200%206.048%203.417c-.02%202.504-.1%205.017-.238%207.521A575.699%20575.699%200%200%200%2019.392%2026a404.892%20404.892%200%200%201-5.81-3.388A525.05%20525.05%200%200%201%207.77%2026a574.702%20574.702%200%200%200-6.753-4.153%20158.72%20158.72%200%200%201-.238-7.52%20381.833%20381.833%200%200%200%206.049-3.418Zm6.752-9.24c-1.487.884-2.994%201.788-4.521%202.702%201.487.855%202.994%201.73%204.521%202.613a830.152%20830.152%200%200%201%204.522-2.613c-1.527-.904-3.034-1.818-4.522-2.702Zm.714%206.577v5.295c1.537-.884%203.064-1.768%204.591-2.642-.01-1.759-.03-3.507-.06-5.266-1.487.855-3.004%201.729-4.53%202.613Zm5.87%2015.658a402.133%20402.133%200%200%201%204.602-2.792c.079-1.719.128-3.438.158-5.156-1.547.884-3.084%201.788-4.62%202.692-.04%201.749-.08%203.507-.14%205.256Zm4.046-9.16c-1.517-.845-3.044-1.72-4.571-2.593a767.782%20767.782%200%200%200-4.601%202.652c1.527.884%203.044%201.759%204.551%202.613%201.547-.894%203.084-1.788%204.621-2.672Zm-15.806%209.21c1.468-.835%202.955-1.71%204.462-2.594%200-1.768-.01-3.546-.01-5.315a577.521%20577.521%200%200%201-4.56%202.623c.029%201.758.059%203.527.108%205.285Zm3.719-9.15c-1.537-.885-3.064-1.78-4.601-2.653a310.65%20310.65%200%200%201-4.572%202.593c1.537.874%203.084%201.768%204.621%202.672a573.757%20573.757%200%200%200%204.552-2.613Z%22%20fill%3D%22%2300314D%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22m47.676%2021.17-.022-10.315-5.113%208.536h-1.29l-5.112-8.403V21.17h-2.756V5.61h2.378l6.18%2010.314L48.01%205.61h2.378l.022%2015.56h-2.734ZM58.193%2021.325c-1.2%200-2.282-.26-3.245-.778a5.774%205.774%200%200%201-2.268-2.156c-.533-.934-.8-1.986-.8-3.157%200-1.17.267-2.215.8-3.134a5.774%205.774%200%200%201%202.267-2.156c.964-.52%202.045-.778%203.246-.778%201.215%200%202.304.259%203.268.778a5.619%205.619%200%200%201%202.245%202.156c.548.919.822%201.963.822%203.134%200%201.17-.274%202.223-.822%203.157a5.62%205.62%200%200%201-2.245%202.156c-.964.518-2.053.778-3.268.778Zm0-2.379c1.023%200%201.867-.34%202.534-1.022.667-.682%201-1.578%201-2.69%200-1.111-.333-2.008-1-2.69-.667-.681-1.511-1.022-2.534-1.022s-1.867.34-2.534%201.022c-.652.682-.978%201.579-.978%202.69%200%201.112.326%202.008.978%202.69.667.681%201.511%201.022%202.534%201.022ZM78.513%204.675V21.17h-2.667v-1.534c-.46.563-1.03.986-1.712%201.267-.667.282-1.408.423-2.223.423-1.14%200-2.17-.252-3.09-.756a5.47%205.47%200%200%201-2.133-2.134c-.52-.934-.779-2-.779-3.2%200-1.201.26-2.26.778-3.18a5.471%205.471%200%200%201%202.135-2.134c.918-.504%201.948-.755%203.09-.755.785%200%201.503.133%202.155.4a4.337%204.337%200%200%201%201.668%201.2v-6.09h2.778Zm-6.268%2014.271c.667%200%201.267-.148%201.8-.444a3.372%203.372%200%200%200%201.267-1.312c.312-.563.467-1.215.467-1.956%200-.74-.155-1.393-.467-1.956a3.217%203.217%200%200%200-1.267-1.29%203.507%203.507%200%200%200-1.8-.466c-.667%200-1.267.155-1.8.467a3.217%203.217%200%200%200-1.268%201.289c-.311.563-.467%201.215-.467%201.956%200%20.741.156%201.393.467%201.956.311.563.734%201%201.267%201.312a3.644%203.644%200%200%200%201.8.444ZM91.854%209.299v11.87H89.21v-1.511c-.444.533-1%20.948-1.667%201.244a5.487%205.487%200%200%201-2.156.423c-1.586%200-2.838-.437-3.757-1.312-.904-.889-1.356-2.2-1.356-3.934v-6.78h2.779V15.7c0%201.067.237%201.867.711%202.4.49.52%201.178.779%202.067.779.993%200%201.779-.304%202.357-.912.592-.622.889-1.511.889-2.667V9.299h2.778ZM93.805%204.675h2.78V21.17h-2.78V4.675ZM103.773%209.166c1.749%200%203.083.422%204.002%201.267.933.83%201.4%202.09%201.4%203.778v6.958h-2.623v-1.445c-.341.519-.83.92-1.467%201.2-.622.267-1.378.4-2.267.4-.89%200-1.668-.147-2.334-.444-.667-.311-1.186-.733-1.556-1.267a3.317%203.317%200%200%201-.534-1.845c0-1.067.393-1.919%201.178-2.556.8-.652%202.053-.978%203.757-.978h3.067v-.178c0-.83-.252-1.467-.755-1.912-.489-.444-1.223-.667-2.201-.667-.667%200-1.326.104-1.978.312-.638.207-1.179.496-1.623.867l-1.09-2.023c.623-.475%201.371-.838%202.246-1.09a9.984%209.984%200%200%201%202.778-.377Zm-.377%2010.136c.696%200%201.311-.156%201.845-.467a2.638%202.638%200%200%200%201.155-1.378v-1.378h-2.867c-1.601%200-2.401.526-2.401%201.578%200%20.504.2.904.6%201.2.4.297.956.445%201.668.445ZM113.997%2011.033c.8-1.245%202.208-1.867%204.224-1.867v2.645a3.532%203.532%200%200%200-.645-.067c-1.082%200-1.927.319-2.534.956-.608.622-.912%201.526-.912%202.712v5.757h-2.778V9.3h2.645v1.734Z%22%20fill%3D%22%2300314D%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20transform%3D%22matrix%28-1%200%200%201%2026.383%200%29%22%20d%3D%22M0%200h25.603v26H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E";
1653
-
1654
1323
  const _hoisted_1$o = { class: "column flex full-height justify-between no-wrap overflow-x-hidden" };
1655
1324
  const _hoisted_2$h = {
1656
1325
  key: 0,
1657
1326
  class: "q-ma-md"
1658
1327
  };
1659
1328
  const _hoisted_3$d = /*#__PURE__*/createElementVNode("div", { class: "q-mb-sm text-caption text-grey-7 text-weight-medium" }, " Você está no modulo: ", -1 /* HOISTED */);
1660
- const _hoisted_4$9 = { class: "q-mx-md" };
1661
- const _hoisted_5$6 = {
1329
+ const _hoisted_4$9 = {
1662
1330
  key: 0,
1663
- alt: "Modular",
1664
- class: "block q-mb-md q-mx-auto",
1665
- src: _imports_0
1331
+ class: "q-mx-md"
1666
1332
  };
1333
+ const _hoisted_5$6 = ["alt", "src"];
1667
1334
 
1668
1335
  function render$E(_ctx, _cache, $props, $setup, $data, $options) {
1669
1336
  const _component_qas_select = resolveComponent("qas-select");
@@ -1804,12 +1471,18 @@ function render$E(_ctx, _cache, $props, $setup, $data, $options) {
1804
1471
  _: 1 /* STABLE */
1805
1472
  })
1806
1473
  ]),
1807
- createElementVNode("div", _hoisted_4$9, [
1808
- createCommentVNode(" TODO: O Modular não é o Asteroid, então não podemos manter esse logo aqui. "),
1809
- (!$data.isMini)
1810
- ? (openBlock(), createElementBlock("img", _hoisted_5$6))
1811
- : createCommentVNode("v-if", true)
1812
- ])
1474
+ ($props.brandMenu)
1475
+ ? (openBlock(), createElementBlock("div", _hoisted_4$9, [
1476
+ (!$data.isMini)
1477
+ ? (openBlock(), createElementBlock("img", {
1478
+ key: 0,
1479
+ alt: $props.title,
1480
+ class: "block q-mb-md q-mx-auto",
1481
+ src: $props.brandMenu
1482
+ }, null, 8 /* PROPS */, _hoisted_5$6))
1483
+ : createCommentVNode("v-if", true)
1484
+ ]))
1485
+ : createCommentVNode("v-if", true)
1813
1486
  ])
1814
1487
  ]),
1815
1488
  _: 1 /* STABLE */
@@ -1836,7 +1509,7 @@ var script$D = {
1836
1509
  boxClass () {
1837
1510
  return {
1838
1511
  'border-primary-contrast': this.outlined,
1839
- 'shadow-primary': !this.unelevated
1512
+ 'shadow-14': !this.unelevated
1840
1513
  }
1841
1514
  }
1842
1515
  }
@@ -1893,7 +1566,7 @@ var script$C = {
1893
1566
  },
1894
1567
 
1895
1568
  cardClasses () {
1896
- return this.formMode ? 'bg-white border-primary no-shadow' : 'box-shadow-1'
1569
+ return this.formMode ? 'bg-white border-primary no-shadow' : 'shadow-14'
1897
1570
  },
1898
1571
 
1899
1572
  gutterClass () {
@@ -2217,7 +1890,7 @@ function render$A(_ctx, _cache, $props, $setup, $data, $options) {
2217
1890
  ]),
2218
1891
  createVNode(_component_qas_btn, {
2219
1892
  class: "q-ml-xs",
2220
- color: "grey-5",
1893
+ color: "grey-7",
2221
1894
  flat: "",
2222
1895
  icon: $props.icon,
2223
1896
  loading: $data.isLoading,
@@ -2520,8 +2193,6 @@ var script$x = {
2520
2193
  QasActions: script$L
2521
2194
  },
2522
2195
 
2523
- mixins: [screenMixin],
2524
-
2525
2196
  props: {
2526
2197
  actionsProps: {
2527
2198
  default: () => ({}),
@@ -2604,8 +2275,8 @@ var script$x = {
2604
2275
 
2605
2276
  style () {
2606
2277
  return {
2607
- maxWidth: this.maxWidth || (this.mx_isSmall ? '' : '600px'),
2608
- minWidth: this.minWidth || (this.mx_isSmall ? '' : '400px')
2278
+ maxWidth: this.maxWidth || (this.$qas.screen.isSmall ? '' : '600px'),
2279
+ minWidth: this.minWidth || (this.$qas.screen.isSmall ? '' : '400px')
2609
2280
  }
2610
2281
  },
2611
2282
 
@@ -2773,10 +2444,15 @@ var NotifySuccess = (message, caption) => {
2773
2444
 
2774
2445
  var Screen = () => {
2775
2446
  const screensModel = {
2447
+ // até 599px
2776
2448
  isSmall: () => Screen$1.xs,
2449
+ // de 600 até 1023px
2777
2450
  isMedium: () => Screen$1.sm,
2451
+ // de 600 até 1023px
2778
2452
  isLarge: () => Screen$1.gt.sm,
2453
+ // de 0 até 599px
2779
2454
  untilMedium: () => Screen$1.lt.sm,
2455
+ // de 0 ate 1023px
2780
2456
  untilLarge: () => Screen$1.lt.md,
2781
2457
 
2782
2458
  // Plataforma
@@ -3389,39 +3065,121 @@ var script$t = {
3389
3065
  });
3390
3066
  },
3391
3067
 
3392
- beforeUnmount () {
3393
- this.autoNumeric.remove();
3068
+ beforeUnmount () {
3069
+ this.autoNumeric.remove();
3070
+ }
3071
+ };
3072
+
3073
+ const _hoisted_1$j = ["id", "model-value", "onInput"];
3074
+
3075
+ function render$t(_ctx, _cache, $props, $setup, $data, $options) {
3076
+ const _component_q_field = resolveComponent("q-field");
3077
+
3078
+ return (openBlock(), createBlock(_component_q_field, {
3079
+ modelValue: $options.model,
3080
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
3081
+ outlined: ""
3082
+ }, {
3083
+ control: withCtx(({ emitValue, floatingLabel, id, value }) => [
3084
+ withDirectives(createElementVNode("input", {
3085
+ id: id,
3086
+ ref: "input",
3087
+ class: "q-field__input",
3088
+ "model-value": value,
3089
+ onInput: $event => (emitValue($event.target.value))
3090
+ }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1$j), [
3091
+ [vShow, floatingLabel]
3092
+ ])
3093
+ ]),
3094
+ _: 1 /* STABLE */
3095
+ }, 8 /* PROPS */, ["modelValue"]))
3096
+ }
3097
+
3098
+ script$t.render = render$t;
3099
+ script$t.__file = "src/components/numeric-input/QasNumericInput.vue";
3100
+
3101
+ const levels = {
3102
+ 0: {
3103
+ color: 'negative',
3104
+ label: 'Muito fraco',
3105
+ progress: 0.05,
3106
+ textClass: 'text-negative'
3107
+ },
3108
+
3109
+ 1: {
3110
+ color: 'warning',
3111
+ label: 'Fraco',
3112
+ progress: 0.25,
3113
+ textClass: 'text-warning'
3114
+ },
3115
+
3116
+ 2: {
3117
+ color: 'warning',
3118
+ label: 'Bom',
3119
+ progress: 0.5,
3120
+ textClass: 'text-warning'
3121
+ },
3122
+
3123
+ 3: {
3124
+ color: 'positive',
3125
+ label: 'Forte',
3126
+ progress: 0.75,
3127
+ textClass: 'text-positive'
3128
+ },
3129
+
3130
+ 4: {
3131
+ color: 'positive',
3132
+ label: 'Muito forte',
3133
+ progress: 1,
3134
+ textClass: 'text-positive'
3135
+ }
3136
+ };
3137
+
3138
+ var passwordMixin = {
3139
+ props: {
3140
+ levels: {
3141
+ default: () => levels,
3142
+ type: Object
3143
+ },
3144
+
3145
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/minlength
3146
+ minlength: {
3147
+ default: 8,
3148
+ type: [Number, String]
3149
+ },
3150
+
3151
+ specials: {
3152
+ default: /[!@#$%^&*()_+\-=[\]{}|;:'",<.>/?`~]/g,
3153
+ type: RegExp
3154
+ },
3155
+
3156
+ trackColor: {
3157
+ default: 'blue-grey-1',
3158
+ type: String
3159
+ },
3160
+
3161
+ useLowercase: {
3162
+ default: true,
3163
+ type: Boolean
3164
+ },
3165
+
3166
+ useNumbers: {
3167
+ default: true,
3168
+ type: Boolean
3169
+ },
3170
+
3171
+ useSpecial: {
3172
+ default: true,
3173
+ type: Boolean
3174
+ },
3175
+
3176
+ useUppercase: {
3177
+ default: true,
3178
+ type: Boolean
3179
+ }
3394
3180
  }
3395
3181
  };
3396
3182
 
3397
- const _hoisted_1$j = ["id", "model-value", "onInput"];
3398
-
3399
- function render$t(_ctx, _cache, $props, $setup, $data, $options) {
3400
- const _component_q_field = resolveComponent("q-field");
3401
-
3402
- return (openBlock(), createBlock(_component_q_field, {
3403
- modelValue: $options.model,
3404
- "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
3405
- outlined: ""
3406
- }, {
3407
- control: withCtx(({ emitValue, floatingLabel, id, value }) => [
3408
- withDirectives(createElementVNode("input", {
3409
- id: id,
3410
- ref: "input",
3411
- class: "q-field__input",
3412
- "model-value": value,
3413
- onInput: $event => (emitValue($event.target.value))
3414
- }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1$j), [
3415
- [vShow, floatingLabel]
3416
- ])
3417
- ]),
3418
- _: 1 /* STABLE */
3419
- }, 8 /* PROPS */, ["modelValue"]))
3420
- }
3421
-
3422
- script$t.render = render$t;
3423
- script$t.__file = "src/components/numeric-input/QasNumericInput.vue";
3424
-
3425
3183
  var script$s = {
3426
3184
  name: 'QasPasswordStrengthChecker',
3427
3185
 
@@ -3893,7 +3651,7 @@ var script$q = {
3893
3651
  },
3894
3652
 
3895
3653
  getFileNameClass (isFailed) {
3896
- return isFailed ? 'text-negative' : 'text-grey-8'
3654
+ return isFailed ? 'text-negative' : 'text-grey-9'
3897
3655
  },
3898
3656
 
3899
3657
  isFailed (file) {
@@ -4085,7 +3843,7 @@ function render$q(_ctx, _cache, $props, $setup, $data, $options) {
4085
3843
  }, [
4086
3844
  createVNode(_component_qas_avatar, {
4087
3845
  class: "q-mr-sm",
4088
- color: "grey-3",
3846
+ color: "contrast-primary",
4089
3847
  icon: "o_attach_file",
4090
3848
  image: file.image,
4091
3849
  rounded: "",
@@ -4298,8 +4056,6 @@ var script$o = {
4298
4056
  QasSignaturePad: script$p
4299
4057
  },
4300
4058
 
4301
- mixins: [screenMixin],
4302
-
4303
4059
  props: {
4304
4060
  dialogProps: {
4305
4061
  type: Object,
@@ -4365,18 +4121,18 @@ var script$o = {
4365
4121
 
4366
4122
  signaturePadWidth () {
4367
4123
  const sizes = {
4368
- [this.mx_isSmall]: { width: '100%' },
4369
- [this.mx_isMedium]: { width: '570px' },
4370
- [this.mx_isLarge]: { width: '350px' }
4124
+ [this.$qas.screen.isSmall]: { width: '100%' },
4125
+ [this.$qas.screen.isMedium]: { width: '570px' },
4126
+ [this.$qas.screen.isLarge]: { width: '350px' }
4371
4127
  };
4372
4128
  return sizes.true
4373
4129
  },
4374
4130
 
4375
4131
  signaturePadHeight () {
4376
4132
  const sizes = {
4377
- [this.mx_isSmall]: '250',
4378
- [this.mx_isMedium]: '400',
4379
- [this.mx_isLarge]: '250'
4133
+ [this.$qas.screen.isSmall]: '250',
4134
+ [this.$qas.screen.isMedium]: '400',
4135
+ [this.$qas.screen.isLarge]: '250'
4380
4136
  };
4381
4137
 
4382
4138
  return sizes.true
@@ -4733,6 +4489,15 @@ function render$n(_ctx, _cache, $props, $setup, $data, $options) {
4733
4489
  script$n.render = render$n;
4734
4490
  script$n.__file = "src/components/field/QasField.vue";
4735
4491
 
4492
+ var contextMixin = {
4493
+ computed: {
4494
+ mx_context () {
4495
+ const { limit, ordering, page, search, ...filters } = this.$route.query;
4496
+ return { filters, limit, ordering, page: page ? parseInt(page) : 1, search }
4497
+ }
4498
+ }
4499
+ };
4500
+
4736
4501
  var script$m = {
4737
4502
  name: 'QasFilters',
4738
4503
 
@@ -4828,7 +4593,7 @@ var script$m = {
4828
4593
  },
4829
4594
 
4830
4595
  filterButtonColor () {
4831
- return this.hasActiveFilters ? 'primary' : 'grey-8'
4596
+ return this.hasActiveFilters ? 'primary' : 'grey-9'
4832
4597
  },
4833
4598
 
4834
4599
  filterButtonLabel () {
@@ -5143,11 +4908,11 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) {
5143
4908
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.activeFilters, (filterItem, key) => {
5144
4909
  return (openBlock(), createBlock(_component_q_chip, {
5145
4910
  key: key,
5146
- color: "grey-4",
4911
+ color: "primary",
5147
4912
  dense: "",
5148
4913
  removable: "",
5149
4914
  size: "md",
5150
- "text-color": "grey-8",
4915
+ "text-color": "white",
5151
4916
  onRemove: $event => ($options.removeFilter(filterItem))
5152
4917
  }, {
5153
4918
  default: withCtx(() => [
@@ -5170,6 +4935,93 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) {
5170
4935
  script$m.render = render$m;
5171
4936
  script$m.__file = "src/components/filters/QasFilters.vue";
5172
4937
 
4938
+ const irregularClasses = ['col', 'col-auto', 'fit'];
4939
+
4940
+ var generatorMixin = {
4941
+ props: {
4942
+ columns: {
4943
+ default: () => [],
4944
+ type: [Array, String, Object]
4945
+ },
4946
+
4947
+ fields: {
4948
+ default: () => ({}),
4949
+ type: Object
4950
+ },
4951
+
4952
+ gutter: {
4953
+ default: 'md',
4954
+ type: [String, Boolean],
4955
+ validator: value => ['xs', 'sm', 'md', 'lg', 'xl'].includes(value)
4956
+ }
4957
+ },
4958
+
4959
+ computed: {
4960
+ mx_classes () {
4961
+ const classes = ['row'];
4962
+
4963
+ if (this.gutter) {
4964
+ classes.push(`q-col-gutter-${this.gutter}`);
4965
+ }
4966
+
4967
+ return classes
4968
+ }
4969
+ },
4970
+
4971
+ methods: {
4972
+ mx_getBreakpoint (columns) {
4973
+ const classes = [];
4974
+ const profiles = { col: 'col', xs: 'col-xs', sm: 'col-sm', md: 'col-md', lg: 'col-lg', xl: 'col-xl' };
4975
+ const { fieldProps, classes: renamedClasses, ...formattedColumns } = columns || {};
4976
+
4977
+ for (const key in formattedColumns) {
4978
+ const value = formattedColumns[key];
4979
+ classes.push(irregularClasses.includes(value) ? value : `${profiles[key]}-${value}`);
4980
+ }
4981
+
4982
+ return [...classes, renamedClasses]
4983
+ },
4984
+
4985
+ mx_getFieldClass (index, isGridGenerator) {
4986
+ if (typeof this.columns === 'string') {
4987
+ return irregularClasses.includes(this.columns) ? this.columns : `col-${this.columns}`
4988
+ }
4989
+
4990
+ return Array.isArray(this.columns)
4991
+ ? this.mx_handleColumnsByIndex(index, isGridGenerator)
4992
+ : this.mx_handleColumnsByField(index, isGridGenerator)
4993
+ },
4994
+
4995
+ mx_handleColumnsByField (index, isGridGenerator) {
4996
+ if (!this.columns[index]) {
4997
+ return this.mx_setDefaultColumnClass(isGridGenerator)
4998
+ }
4999
+
5000
+ return this.mx_getBreakpoint(this.columns[index])
5001
+ },
5002
+
5003
+ mx_handleColumnsByIndex (index, isGridGenerator) {
5004
+ const fields = isGridGenerator ? this.fields : this.groupedFields.visible;
5005
+
5006
+ if (!Array.isArray(fields)) {
5007
+ index = Object.keys(fields).findIndex(field => field === index);
5008
+ }
5009
+
5010
+ const length = this.columns.length;
5011
+
5012
+ if (!length) {
5013
+ return this.mx_setDefaultColumnClass(isGridGenerator)
5014
+ }
5015
+
5016
+ return this.mx_getBreakpoint(this.columns[index])
5017
+ },
5018
+
5019
+ mx_setDefaultColumnClass (isGridGenerator) {
5020
+ return isGridGenerator ? 'col-6 col-xs-12 col-sm-4' : 'col-6'
5021
+ }
5022
+ }
5023
+ };
5024
+
5173
5025
  var script$l = {
5174
5026
  name: 'QasFormGenerator',
5175
5027
 
@@ -5277,6 +5129,124 @@ function render$l(_ctx, _cache, $props, $setup, $data, $options) {
5277
5129
  script$l.render = render$l;
5278
5130
  script$l.__file = "src/components/form-generator/QasFormGenerator.vue";
5279
5131
 
5132
+ var viewMixin = {
5133
+ props: {
5134
+ dialog: {
5135
+ type: Boolean
5136
+ },
5137
+
5138
+ entity: {
5139
+ required: true,
5140
+ type: String
5141
+ },
5142
+
5143
+ url: {
5144
+ default: '',
5145
+ type: String
5146
+ },
5147
+
5148
+ fields: {
5149
+ default: () => ({}),
5150
+ type: Object
5151
+ },
5152
+
5153
+ errors: {
5154
+ default: () => ({}),
5155
+ type: Object
5156
+ },
5157
+
5158
+ metadata: {
5159
+ default: () => ({}),
5160
+ type: Object
5161
+ },
5162
+
5163
+ fetching: {
5164
+ type: Boolean
5165
+ }
5166
+ },
5167
+
5168
+ emits: [
5169
+ 'update:fields',
5170
+ 'update:errors',
5171
+ 'update:metadata',
5172
+ 'update:fetching'
5173
+ ],
5174
+
5175
+ data () {
5176
+ return {
5177
+ mx_errors: {},
5178
+ mx_fields: {},
5179
+ mx_metadata: {},
5180
+
5181
+ mx_isFetching: false
5182
+ }
5183
+ },
5184
+
5185
+ watch: {
5186
+ mx_isFetching (value) {
5187
+ this.$emit('update:fetching', value);
5188
+ }
5189
+ },
5190
+
5191
+ computed: {
5192
+ mx_componentTag () {
5193
+ return this.dialog ? 'div' : 'q-page'
5194
+ },
5195
+
5196
+ mx_componentClass () {
5197
+ return !this.dialog && 'container spaced'
5198
+ },
5199
+
5200
+ mx_hasFooterSlot () {
5201
+ return !!(this.$slots.footer)
5202
+ },
5203
+
5204
+ mx_hasHeaderSlot () {
5205
+ return !!(this.$slots.header)
5206
+ }
5207
+ },
5208
+
5209
+ methods: {
5210
+ mx_fetchError (error) {
5211
+ const { response } = error;
5212
+ const exception = response?.data?.exception || error.message;
5213
+
5214
+ this.$qas.error('Ops! Erro ao obter os dados.', exception);
5215
+
5216
+ const status = response?.status;
5217
+ const redirect = ({ 403: 'Forbidden', 404: 'NotFound' })[status];
5218
+
5219
+ if (redirect) {
5220
+ this.$router.replace({ name: redirect });
5221
+ }
5222
+ },
5223
+
5224
+ mx_setErrors (errors = {}) {
5225
+ this.mx_errors = markRaw(errors);
5226
+ },
5227
+
5228
+ mx_setFields (fields = {}) {
5229
+ for (const field in fields) {
5230
+ fields[field].name = camelize(fields[field].name);
5231
+ }
5232
+
5233
+ this.mx_fields = markRaw(fields);
5234
+ },
5235
+
5236
+ mx_setMetadata (metadata = {}) {
5237
+ this.mx_metadata = markRaw(metadata);
5238
+ },
5239
+
5240
+ mx_updateModels (models) {
5241
+ for (const key in models) {
5242
+ if (!models[key]) continue
5243
+
5244
+ this.$emit(`update:${key}`, models[key]);
5245
+ }
5246
+ }
5247
+ }
5248
+ };
5249
+
5280
5250
  var script$k = {
5281
5251
  name: 'QasFormView',
5282
5252
 
@@ -5285,7 +5255,7 @@ var script$k = {
5285
5255
  QasDialog: script$x
5286
5256
  },
5287
5257
 
5288
- mixins: [viewMixin, screenMixin],
5258
+ mixins: [viewMixin],
5289
5259
 
5290
5260
  props: {
5291
5261
  cancelButton: {
@@ -5379,7 +5349,7 @@ var script$k = {
5379
5349
 
5380
5350
  computed: {
5381
5351
  cancelButtonClass () {
5382
- return this.mx_isSmall && 'order-last'
5352
+ return this.$qas.screen.isSmall && 'order-last'
5383
5353
  },
5384
5354
 
5385
5355
  fetchURL () {
@@ -5407,7 +5377,7 @@ var script$k = {
5407
5377
  },
5408
5378
 
5409
5379
  saveButtonClass () {
5410
- return this.mx_isSmall && 'order-first'
5380
+ return this.$qas.screen.isSmall && 'order-first'
5411
5381
  },
5412
5382
 
5413
5383
  isCancelButtonDisabled () {
@@ -5695,8 +5665,6 @@ script$k.__file = "src/components/form-view/QasFormView.vue";
5695
5665
  var script$j = {
5696
5666
  name: 'QasGallery',
5697
5667
 
5698
- mixins: [screenMixin],
5699
-
5700
5668
  props: {
5701
5669
  carouselNextIcon: {
5702
5670
  type: String,
@@ -5753,13 +5721,13 @@ var script$j = {
5753
5721
  return this.height || 'auto'
5754
5722
  }
5755
5723
 
5756
- return this.mx_isSmall ? '90px' : '120px'
5724
+ return this.$qas.screen.isSmall ? '90px' : '120px'
5757
5725
  },
5758
5726
 
5759
5727
  galleryColumnsClasses () {
5760
5728
  if (this.isSingleImage) return 'col-12'
5761
5729
 
5762
- return this.mx_isSmall ? 'col-6' : 'col-2'
5730
+ return this.$qas.screen.isSmall ? 'col-6' : 'col-2'
5763
5731
  },
5764
5732
 
5765
5733
  hideShowMore () {
@@ -5894,9 +5862,9 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
5894
5862
  modelValue: $data.imageIndex,
5895
5863
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($data.imageIndex) = $event)),
5896
5864
  animated: "",
5897
- arrows: !_ctx.mx_isSmall,
5865
+ arrows: !_ctx.$qas.screen.isSmall,
5898
5866
  "control-text-color": "primary",
5899
- fullscreen: _ctx.mx_isSmall,
5867
+ fullscreen: _ctx.$qas.screen.isSmall,
5900
5868
  height: $options.carouselImageHeight,
5901
5869
  "next-icon": $props.carouselNextIcon,
5902
5870
  "prev-icon": $props.carouselPreviousIcon,
@@ -5912,7 +5880,7 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
5912
5880
  name: index
5913
5881
  }, {
5914
5882
  default: withCtx(() => [
5915
- (_ctx.mx_isSmall)
5883
+ (_ctx.$qas.screen.isSmall)
5916
5884
  ? (openBlock(), createElementBlock("div", _hoisted_4$5, [
5917
5885
  createVNode(_component_qas_btn, {
5918
5886
  dense: "",
@@ -6248,7 +6216,7 @@ var script$f = {
6248
6216
  }
6249
6217
  };
6250
6218
 
6251
- const _hoisted_1$b = { class: "qas-list-items shadow-primary" };
6219
+ const _hoisted_1$b = { class: "qas-list-items shadow-14" };
6252
6220
 
6253
6221
  function render$f(_ctx, _cache, $props, $setup, $data, $options) {
6254
6222
  const _component_q_item_section = resolveComponent("q-item-section");
@@ -6466,7 +6434,7 @@ const _hoisted_2$7 = { class: "relative-position" };
6466
6434
  const _hoisted_3$4 = { key: 0 };
6467
6435
  const _hoisted_4$4 = { key: 1 };
6468
6436
  const _hoisted_5$3 = { class: "q-my-xl text-center" };
6469
- const _hoisted_6$1 = /*#__PURE__*/createElementVNode("div", { class: "text-grey-6" }, "Nenhum item encontrado.", -1 /* HOISTED */);
6437
+ const _hoisted_6$1 = /*#__PURE__*/createElementVNode("div", { class: "text-grey-7" }, "Nenhum item encontrado.", -1 /* HOISTED */);
6470
6438
  const _hoisted_7$1 = {
6471
6439
  key: 2,
6472
6440
  class: "q-py-lg text-center"
@@ -6514,7 +6482,7 @@ function render$e(_ctx, _cache, $props, $setup, $data, $options) {
6514
6482
  createElementVNode("div", _hoisted_5$3, [
6515
6483
  createVNode(_component_q_icon, {
6516
6484
  class: "q-mb-sm text-center",
6517
- color: "grey-6",
6485
+ color: "grey-7",
6518
6486
  name: "o_search",
6519
6487
  size: "38px"
6520
6488
  }),
@@ -7286,8 +7254,6 @@ var script$a = {
7286
7254
  QasGridGenerator: script$i
7287
7255
  },
7288
7256
 
7289
- mixins: [screenMixin],
7290
-
7291
7257
  props: {
7292
7258
  columns: {
7293
7259
  type: Object,
@@ -7328,7 +7294,7 @@ var script$a = {
7328
7294
 
7329
7295
  computed: {
7330
7296
  directionClasses () {
7331
- return this.mx_untilMedium ? 'col' : 'row items-center'
7297
+ return this.$qas.screen.untilMedium ? 'col' : 'row items-center'
7332
7298
  },
7333
7299
 
7334
7300
  userAvatarImage () {
@@ -7336,7 +7302,7 @@ var script$a = {
7336
7302
  },
7337
7303
 
7338
7304
  avatarSize () {
7339
- return this.mx_isSmall ? '145px' : '188px'
7305
+ return this.$qas.screen.isSmall ? '145px' : '188px'
7340
7306
  }
7341
7307
  },
7342
7308
 
@@ -7490,7 +7456,7 @@ function render$9(_ctx, _cache, $props, $setup, $data, $options) {
7490
7456
 
7491
7457
  return (openBlock(), createBlock(_component_q_img, {
7492
7458
  ratio: $options.ratio,
7493
- "spinner-color": "grey-6",
7459
+ "spinner-color": "grey-7",
7494
7460
  src: $options.imageSource
7495
7461
  }, {
7496
7462
  error: withCtx(() => [
@@ -7917,8 +7883,6 @@ var script$6 = {
7917
7883
  QasSearchBox: script$8
7918
7884
  },
7919
7885
 
7920
- mixins: [screenMixin],
7921
-
7922
7886
  props: {
7923
7887
  deleteOnly: {
7924
7888
  type: Boolean
@@ -8024,9 +7988,9 @@ var script$6 = {
8024
7988
  const isSelected = this.values.includes(value);
8025
7989
 
8026
7990
  return {
8027
- dense: this.mx_isSmall,
7991
+ dense: this.$qas.screen.isSmall,
8028
7992
  hideLabelOnSmallScreen: true,
8029
- icon: !this.mx_isSmall ? undefined : isSelected ? 'o_close' : 'o_add',
7993
+ icon: !this.$qas.screen.isSmall ? undefined : isSelected ? 'o_close' : 'o_add',
8030
7994
  label: isSelected ? 'Remover' : 'Adicionar',
8031
7995
  outline: isSelected,
8032
7996
  size: 'sm'
@@ -8229,7 +8193,7 @@ const _hoisted_2$2 = {
8229
8193
  key: 2,
8230
8194
  class: "q-my-xl text-center"
8231
8195
  };
8232
- const _hoisted_3$1 = /*#__PURE__*/createElementVNode("div", { class: "text-grey-6" }, "Nenhum item encontrado.", -1 /* HOISTED */);
8196
+ const _hoisted_3$1 = /*#__PURE__*/createElementVNode("div", { class: "text-grey-7" }, "Nenhum item encontrado.", -1 /* HOISTED */);
8233
8197
  const _hoisted_4$1 = { key: 3 };
8234
8198
 
8235
8199
  function render$5(_ctx, _cache, $props, $setup, $data, $options) {
@@ -8252,7 +8216,7 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
8252
8216
  ? (openBlock(), createElementBlock("div", _hoisted_2$2, [
8253
8217
  createVNode(_component_q_icon, {
8254
8218
  class: "q-mb-sm text-center",
8255
- color: "grey-6",
8219
+ color: "grey-7",
8256
8220
  name: "o_search",
8257
8221
  size: "38px"
8258
8222
  }),
@@ -8427,8 +8391,6 @@ script$4.__file = "src/components/sortable/QasSortable.vue";
8427
8391
  var script$3 = {
8428
8392
  name: 'QasTableGenerator',
8429
8393
 
8430
- mixins: [screenMixin],
8431
-
8432
8394
  props: {
8433
8395
  columns: {
8434
8396
  default: () => [],
@@ -8555,7 +8517,7 @@ var script$3 = {
8555
8517
  },
8556
8518
 
8557
8519
  tableClass () {
8558
- return this.mx_isSmall && 'qas-table-generator--mobile'
8520
+ return this.$qas.screen.isSmall && 'qas-table-generator--mobile'
8559
8521
  },
8560
8522
 
8561
8523
  hasScrollOnGrab () {
@@ -8796,8 +8758,6 @@ var script$1 = {
8796
8758
  QasDialog: script$x
8797
8759
  },
8798
8760
 
8799
- mixins: [screenMixin],
8800
-
8801
8761
  props: {
8802
8762
  dialogProps: {
8803
8763
  type: Object,
@@ -8837,7 +8797,7 @@ var script$1 = {
8837
8797
 
8838
8798
  computed: {
8839
8799
  truncateTextClass () {
8840
- return (this.isTruncated || this.mx_isSmall) && 'ellipsis q-pr-sm'
8800
+ return (this.isTruncated || this.$qas.screen.isSmall) && 'ellipsis q-pr-sm'
8841
8801
  },
8842
8802
 
8843
8803
  isTruncated () {
@@ -8939,8 +8899,6 @@ var script = {
8939
8899
  QasSearchBox: script$8
8940
8900
  },
8941
8901
 
8942
- mixins: [screenMixin],
8943
-
8944
8902
  props: {
8945
8903
  emitValue: {
8946
8904
  type: Boolean
@@ -8998,15 +8956,15 @@ var script = {
8998
8956
 
8999
8957
  computed: {
9000
8958
  actionsClass () {
9001
- return !this.mx_isSmall && 'column'
8959
+ return !this.$qas.screen.isSmall && 'column'
9002
8960
  },
9003
8961
 
9004
8962
  gutterClass () {
9005
- return `q-col-gutter-${this.mx_untilLarge ? 'md' : 'xl'}`
8963
+ return `q-col-gutter-${this.$qas.screen.untilLarge ? 'md' : 'xl'}`
9006
8964
  },
9007
8965
 
9008
8966
  iconClass () {
9009
- return !this.mx_isSmall && 'qas-transfer__icon'
8967
+ return !this.$qas.screen.isSmall && 'qas-transfer__icon'
9010
8968
  },
9011
8969
 
9012
8970
  searchBoxProps () {
@@ -9263,7 +9221,7 @@ script.__file = "src/components/transfer/QasTransfer.vue";
9263
9221
 
9264
9222
  var name = "@bildvitta/quasar-ui-asteroid";
9265
9223
  var description = "Asteroid";
9266
- var version$1 = "3.0.0-beta.2";
9224
+ var version$1 = "3.0.0-beta.5";
9267
9225
  var author = "Bild & Vitta <systemteam@bild.com.br>";
9268
9226
  var license = "MIT";
9269
9227
  var main = "dist/asteroid.cjs.min.js";