@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,13 +1,13 @@
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
6
  (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('humps'), require('vue'), require('date-fns'), require('date-fns/locale'), require('quasar'), require('lodash-es'), require('autonumeric'), require('pica'), require('signature_pad'), require('vue-router'), require('fuse.js'), require('sortablejs'), require('@fawmi/vue-google-maps')) :
8
- typeof define === 'function' && define.amd ? define(['humps', 'vue', 'date-fns', 'date-fns/locale', 'quasar', 'lodash-es', 'autonumeric', 'pica', 'signature_pad', 'vue-router', 'fuse.js', 'sortablejs', '@fawmi/vue-google-maps'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global["{{ umdExportName }}"] = factory(global.humps, global.Vue, global.dateFns, global.dateFnsLocale, global.Quasar, global._, global.AutoNumeric, global.Pica, global.SignaturePad, global.VueRouter, global.Fuse, global.Sortable, global.VueGoogleMaps));
10
- })(this, (function (humps, vue, dateFns, locale, quasar, lodashEs, AutoNumeric, Pica, SignaturePad, vueRouter, Fuse, Sortable, VueGoogleMaps) { 'use strict';
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('vue'), require('humps'), require('date-fns'), require('date-fns/locale'), require('quasar'), require('lodash-es'), require('autonumeric'), require('pica'), require('signature_pad'), require('vue-router'), require('fuse.js'), require('sortablejs'), require('@fawmi/vue-google-maps')) :
8
+ typeof define === 'function' && define.amd ? define(['vue', 'humps', 'date-fns', 'date-fns/locale', 'quasar', 'lodash-es', 'autonumeric', 'pica', 'signature_pad', 'vue-router', 'fuse.js', 'sortablejs', '@fawmi/vue-google-maps'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global["{{ umdExportName }}"] = factory(global.Vue, global.humps, global.dateFns, global.dateFnsLocale, global.Quasar, global._, global.AutoNumeric, global.Pica, global.SignaturePad, global.VueRouter, global.Fuse, global.Sortable, global.VueGoogleMaps));
10
+ })(this, (function (vue, humps, dateFns, locale, quasar, lodashEs, AutoNumeric, Pica, SignaturePad, vueRouter, Fuse, Sortable, VueGoogleMaps) { 'use strict';
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
@@ -18,342 +18,9 @@
18
18
  var Sortable__default = /*#__PURE__*/_interopDefaultLegacy(Sortable);
19
19
  var VueGoogleMaps__default = /*#__PURE__*/_interopDefaultLegacy(VueGoogleMaps);
20
20
 
21
- var contextMixin = {
22
- computed: {
23
- mx_context () {
24
- const { limit, ordering, page, search, ...filters } = this.$route.query;
25
- return { filters, limit, ordering, page: page ? parseInt(page) : 1, search }
26
- }
27
- }
28
- };
29
-
30
- const irregularClasses = ['col', 'col-auto', 'fit'];
31
-
32
- var generatorMixin = {
33
- props: {
34
- columns: {
35
- default: () => [],
36
- type: [Array, String, Object]
37
- },
38
-
39
- fields: {
40
- default: () => ({}),
41
- type: Object
42
- },
43
-
44
- gutter: {
45
- default: 'md',
46
- type: [String, Boolean],
47
- validator: value => ['xs', 'sm', 'md', 'lg', 'xl'].includes(value)
48
- }
49
- },
50
-
51
- computed: {
52
- mx_classes () {
53
- const classes = ['row'];
54
-
55
- if (this.gutter) {
56
- classes.push(`q-col-gutter-${this.gutter}`);
57
- }
58
-
59
- return classes
60
- }
61
- },
62
-
63
- methods: {
64
- mx_getBreakpoint (columns) {
65
- const classes = [];
66
- const profiles = { col: 'col', xs: 'col-xs', sm: 'col-sm', md: 'col-md', lg: 'col-lg', xl: 'col-xl' };
67
- const { fieldProps, classes: renamedClasses, ...formattedColumns } = columns || {};
68
-
69
- for (const key in formattedColumns) {
70
- const value = formattedColumns[key];
71
- classes.push(irregularClasses.includes(value) ? value : `${profiles[key]}-${value}`);
72
- }
73
-
74
- return [...classes, renamedClasses]
75
- },
76
-
77
- mx_getFieldClass (index, isGridGenerator) {
78
- if (typeof this.columns === 'string') {
79
- return irregularClasses.includes(this.columns) ? this.columns : `col-${this.columns}`
80
- }
81
-
82
- return Array.isArray(this.columns)
83
- ? this.mx_handleColumnsByIndex(index, isGridGenerator)
84
- : this.mx_handleColumnsByField(index, isGridGenerator)
85
- },
86
-
87
- mx_handleColumnsByField (index, isGridGenerator) {
88
- if (!this.columns[index]) {
89
- return this.mx_setDefaultColumnClass(isGridGenerator)
90
- }
91
-
92
- return this.mx_getBreakpoint(this.columns[index])
93
- },
94
-
95
- mx_handleColumnsByIndex (index, isGridGenerator) {
96
- const fields = isGridGenerator ? this.fields : this.groupedFields.visible;
97
-
98
- if (!Array.isArray(fields)) {
99
- index = Object.keys(fields).findIndex(field => field === index);
100
- }
101
-
102
- const length = this.columns.length;
103
-
104
- if (!length) {
105
- return this.mx_setDefaultColumnClass(isGridGenerator)
106
- }
107
-
108
- return this.mx_getBreakpoint(this.columns[index])
109
- },
110
-
111
- mx_setDefaultColumnClass (isGridGenerator) {
112
- return isGridGenerator ? 'col-6 col-xs-12 col-sm-4' : 'col-6'
113
- }
114
- }
115
- };
116
-
117
- const levels = {
118
- 0: {
119
- color: 'negative',
120
- label: 'Muito fraco',
121
- progress: 0.05,
122
- textClass: 'text-negative'
123
- },
124
-
125
- 1: {
126
- color: 'warning',
127
- label: 'Fraco',
128
- progress: 0.25,
129
- textClass: 'text-warning'
130
- },
131
-
132
- 2: {
133
- color: 'warning',
134
- label: 'Bom',
135
- progress: 0.5,
136
- textClass: 'text-warning'
137
- },
138
-
139
- 3: {
140
- color: 'positive',
141
- label: 'Forte',
142
- progress: 0.75,
143
- textClass: 'text-positive'
144
- },
145
-
146
- 4: {
147
- color: 'positive',
148
- label: 'Muito forte',
149
- progress: 1,
150
- textClass: 'text-positive'
151
- }
152
- };
153
-
154
- var passwordMixin = {
155
- props: {
156
- levels: {
157
- default: () => levels,
158
- type: Object
159
- },
160
-
161
- // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/minlength
162
- minlength: {
163
- default: 8,
164
- type: [Number, String]
165
- },
166
-
167
- specials: {
168
- default: /[!@#$%^&*()_+\-=[\]{}|;:'",<.>/?`~]/g,
169
- type: RegExp
170
- },
171
-
172
- trackColor: {
173
- default: 'blue-grey-1',
174
- type: String
175
- },
176
-
177
- useLowercase: {
178
- default: true,
179
- type: Boolean
180
- },
181
-
182
- useNumbers: {
183
- default: true,
184
- type: Boolean
185
- },
186
-
187
- useSpecial: {
188
- default: true,
189
- type: Boolean
190
- },
191
-
192
- useUppercase: {
193
- default: true,
194
- type: Boolean
195
- }
196
- }
197
- };
198
-
199
- var screenMixin = {
200
- // TODO: Esses nomes precisam ser alterados para algo mais inteligente.
201
-
202
- computed: {
203
- mx_isSmall () {
204
- // until 599
205
- return this.$q.screen.xs
206
- },
207
-
208
- mx_isMedium () {
209
- // from 600 until 1023
210
- return this.$q.screen.sm
211
- },
212
-
213
- mx_isLarge () {
214
- // from 1024 until the limit
215
- return this.$q.screen.gt.sm
216
- },
217
-
218
- mx_untilMedium () {
219
- // from 0 until 599
220
- return this.$q.screen.lt.sm
221
- },
222
-
223
- mx_untilLarge () {
224
- // from 0 until 1023
225
- return this.$q.screen.lt.md
226
- },
227
-
228
- mx_isMobile () {
229
- return this.$q.platform.is.mobile
230
- }
231
- }
232
- };
233
-
234
- var viewMixin = {
235
- props: {
236
- dialog: {
237
- type: Boolean
238
- },
239
-
240
- entity: {
241
- required: true,
242
- type: String
243
- },
244
-
245
- url: {
246
- default: '',
247
- type: String
248
- },
249
-
250
- fields: {
251
- default: () => ({}),
252
- type: Object
253
- },
254
-
255
- errors: {
256
- default: () => ({}),
257
- type: Object
258
- },
259
-
260
- metadata: {
261
- default: () => ({}),
262
- type: Object
263
- },
264
-
265
- fetching: {
266
- type: Boolean
267
- }
268
- },
269
-
270
- emits: [
271
- 'update:fields',
272
- 'update:errors',
273
- 'update:metadata',
274
- 'update:fetching'
275
- ],
276
-
277
- data () {
278
- return {
279
- mx_errors: {},
280
- mx_fields: {},
281
- mx_metadata: {},
282
-
283
- mx_isFetching: false
284
- }
285
- },
286
-
287
- watch: {
288
- mx_isFetching (value) {
289
- this.$emit('update:fetching', value);
290
- }
291
- },
292
-
293
- computed: {
294
- mx_componentTag () {
295
- return this.dialog ? 'div' : 'q-page'
296
- },
297
-
298
- mx_componentClass () {
299
- return !this.dialog && 'container spaced'
300
- },
301
-
302
- mx_hasFooterSlot () {
303
- return !!(this.$slots.footer)
304
- },
305
-
306
- mx_hasHeaderSlot () {
307
- return !!(this.$slots.header)
308
- }
309
- },
310
-
311
- methods: {
312
- mx_fetchError (error) {
313
- const { response } = error;
314
- const exception = response?.data?.exception || error.message;
315
-
316
- this.$qas.error('Ops! Erro ao obter os dados.', exception);
317
-
318
- const status = response?.status;
319
- const redirect = ({ 403: 'Forbidden', 404: 'NotFound' })[status];
320
-
321
- if (redirect) {
322
- this.$router.replace({ name: redirect });
323
- }
324
- },
325
-
326
- mx_setErrors (errors = {}) {
327
- this.mx_errors = vue.markRaw(errors);
328
- },
329
-
330
- mx_setFields (fields = {}) {
331
- for (const field in fields) {
332
- fields[field].name = humps.camelize(fields[field].name);
333
- }
334
-
335
- this.mx_fields = vue.markRaw(fields);
336
- },
337
-
338
- mx_setMetadata (metadata = {}) {
339
- this.mx_metadata = vue.markRaw(metadata);
340
- },
341
-
342
- mx_updateModels (models) {
343
- for (const key in models) {
344
- if (!models[key]) continue
345
-
346
- this.$emit(`update:${key}`, models[key]);
347
- }
348
- }
349
- }
350
- };
351
-
352
21
  var script$L = {
353
22
  name: 'QasActions',
354
23
 
355
- mixins: [screenMixin],
356
-
357
24
  props: {
358
25
  align: {
359
26
  default: 'end',
@@ -373,7 +40,7 @@
373
40
  return [
374
41
  `justify-${this.align}`,
375
42
  `q-col-gutter-${this.gutter}`,
376
- this.mx_isSmall ? 'column reverse' : 'row'
43
+ this.$qas.screen.isSmall ? 'column reverse' : 'row'
377
44
  ]
378
45
  }
379
46
  }
@@ -401,30 +68,31 @@
401
68
  var script$K = {
402
69
  name: 'QasBtn',
403
70
 
404
- mixins: [screenMixin],
405
-
406
71
  props: {
407
72
  hideLabelOnSmallScreen: {
408
73
  type: Boolean
74
+ },
75
+
76
+ label: {
77
+ type: String,
78
+ default: ''
409
79
  }
410
80
  },
411
81
 
412
82
  computed: {
413
83
  attributes () {
414
- const { label, ...attributes } = this.$attrs;
415
-
416
84
  return {
417
- ...(this.showLabel && { label }),
418
- ...attributes
85
+ ...(this.showLabel && { label: this.label }),
86
+ ...this.$attrs
419
87
  }
420
88
  },
421
89
 
422
90
  hasLabel () {
423
- return !!(this.$attrs.label || this.$slots.default)
91
+ return !!(this.label || this.$slots.default)
424
92
  },
425
93
 
426
94
  showLabel () {
427
- return this.hasLabel && !(this.hideLabelOnSmallScreen && this.mx_isSmall)
95
+ return this.hasLabel && !(this.hideLabelOnSmallScreen && this.$qas.screen.isSmall)
428
96
  },
429
97
 
430
98
  slots () {
@@ -1353,7 +1021,7 @@
1353
1021
  const _directive_close_popup = vue.resolveDirective("close-popup");
1354
1022
 
1355
1023
  return (vue.openBlock(), vue.createBlock(_component_q_header, {
1356
- class: "bg-white qas-app-bar shadow-primary",
1024
+ class: "bg-white qas-app-bar shadow-14",
1357
1025
  "height-hint": "70"
1358
1026
  }, {
1359
1027
  default: vue.withCtx(() => [
@@ -1456,7 +1124,7 @@
1456
1124
  ]),
1457
1125
  vue.createVNode(_component_q_menu, {
1458
1126
  anchor: "bottom end",
1459
- class: "shadow-primary",
1127
+ class: "shadow-14",
1460
1128
  "max-height": "400px",
1461
1129
  offset: [0, 5],
1462
1130
  self: "top end"
@@ -1519,8 +1187,6 @@
1519
1187
  var script$E = {
1520
1188
  name: 'QasAppMenu',
1521
1189
 
1522
- mixins: [screenMixin],
1523
-
1524
1190
  props: {
1525
1191
  items: {
1526
1192
  default: () => [],
@@ -1537,6 +1203,11 @@
1537
1203
  type: String
1538
1204
  },
1539
1205
 
1206
+ brandMenu: {
1207
+ default: '',
1208
+ type: String
1209
+ },
1210
+
1540
1211
  modules: {
1541
1212
  default: () => [],
1542
1213
  type: Array
@@ -1622,7 +1293,7 @@
1622
1293
  },
1623
1294
 
1624
1295
  beforeHide () {
1625
- if (this.mx_isLarge) {
1296
+ if (this.$qas.screen.isLarge) {
1626
1297
  this.model = true;
1627
1298
  this.miniMode = !this.miniMode;
1628
1299
  }
@@ -1650,21 +1321,17 @@
1650
1321
  }
1651
1322
  };
1652
1323
 
1653
- 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";
1654
-
1655
1324
  const _hoisted_1$o = { class: "column flex full-height justify-between no-wrap overflow-x-hidden" };
1656
1325
  const _hoisted_2$h = {
1657
1326
  key: 0,
1658
1327
  class: "q-ma-md"
1659
1328
  };
1660
1329
  const _hoisted_3$d = /*#__PURE__*/vue.createElementVNode("div", { class: "q-mb-sm text-caption text-grey-7 text-weight-medium" }, " Você está no modulo: ", -1 /* HOISTED */);
1661
- const _hoisted_4$9 = { class: "q-mx-md" };
1662
- const _hoisted_5$6 = {
1330
+ const _hoisted_4$9 = {
1663
1331
  key: 0,
1664
- alt: "Modular",
1665
- class: "block q-mb-md q-mx-auto",
1666
- src: _imports_0
1332
+ class: "q-mx-md"
1667
1333
  };
1334
+ const _hoisted_5$6 = ["alt", "src"];
1668
1335
 
1669
1336
  function render$E(_ctx, _cache, $props, $setup, $data, $options) {
1670
1337
  const _component_qas_select = vue.resolveComponent("qas-select");
@@ -1805,12 +1472,18 @@
1805
1472
  _: 1 /* STABLE */
1806
1473
  })
1807
1474
  ]),
1808
- vue.createElementVNode("div", _hoisted_4$9, [
1809
- vue.createCommentVNode(" TODO: O Modular não é o Asteroid, então não podemos manter esse logo aqui. "),
1810
- (!$data.isMini)
1811
- ? (vue.openBlock(), vue.createElementBlock("img", _hoisted_5$6))
1812
- : vue.createCommentVNode("v-if", true)
1813
- ])
1475
+ ($props.brandMenu)
1476
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$9, [
1477
+ (!$data.isMini)
1478
+ ? (vue.openBlock(), vue.createElementBlock("img", {
1479
+ key: 0,
1480
+ alt: $props.title,
1481
+ class: "block q-mb-md q-mx-auto",
1482
+ src: $props.brandMenu
1483
+ }, null, 8 /* PROPS */, _hoisted_5$6))
1484
+ : vue.createCommentVNode("v-if", true)
1485
+ ]))
1486
+ : vue.createCommentVNode("v-if", true)
1814
1487
  ])
1815
1488
  ]),
1816
1489
  _: 1 /* STABLE */
@@ -1837,7 +1510,7 @@
1837
1510
  boxClass () {
1838
1511
  return {
1839
1512
  'border-primary-contrast': this.outlined,
1840
- 'shadow-primary': !this.unelevated
1513
+ 'shadow-14': !this.unelevated
1841
1514
  }
1842
1515
  }
1843
1516
  }
@@ -1894,7 +1567,7 @@
1894
1567
  },
1895
1568
 
1896
1569
  cardClasses () {
1897
- return this.formMode ? 'bg-white border-primary no-shadow' : 'box-shadow-1'
1570
+ return this.formMode ? 'bg-white border-primary no-shadow' : 'shadow-14'
1898
1571
  },
1899
1572
 
1900
1573
  gutterClass () {
@@ -2218,7 +1891,7 @@
2218
1891
  ]),
2219
1892
  vue.createVNode(_component_qas_btn, {
2220
1893
  class: "q-ml-xs",
2221
- color: "grey-5",
1894
+ color: "grey-7",
2222
1895
  flat: "",
2223
1896
  icon: $props.icon,
2224
1897
  loading: $data.isLoading,
@@ -2521,8 +2194,6 @@
2521
2194
  QasActions: script$L
2522
2195
  },
2523
2196
 
2524
- mixins: [screenMixin],
2525
-
2526
2197
  props: {
2527
2198
  actionsProps: {
2528
2199
  default: () => ({}),
@@ -2605,8 +2276,8 @@
2605
2276
 
2606
2277
  style () {
2607
2278
  return {
2608
- maxWidth: this.maxWidth || (this.mx_isSmall ? '' : '600px'),
2609
- minWidth: this.minWidth || (this.mx_isSmall ? '' : '400px')
2279
+ maxWidth: this.maxWidth || (this.$qas.screen.isSmall ? '' : '600px'),
2280
+ minWidth: this.minWidth || (this.$qas.screen.isSmall ? '' : '400px')
2610
2281
  }
2611
2282
  },
2612
2283
 
@@ -2774,10 +2445,15 @@
2774
2445
 
2775
2446
  var Screen = () => {
2776
2447
  const screensModel = {
2448
+ // até 599px
2777
2449
  isSmall: () => quasar.Screen.xs,
2450
+ // de 600 até 1023px
2778
2451
  isMedium: () => quasar.Screen.sm,
2452
+ // de 600 até 1023px
2779
2453
  isLarge: () => quasar.Screen.gt.sm,
2454
+ // de 0 até 599px
2780
2455
  untilMedium: () => quasar.Screen.lt.sm,
2456
+ // de 0 ate 1023px
2781
2457
  untilLarge: () => quasar.Screen.lt.md,
2782
2458
 
2783
2459
  // Plataforma
@@ -3390,39 +3066,121 @@
3390
3066
  });
3391
3067
  },
3392
3068
 
3393
- beforeUnmount () {
3394
- this.autoNumeric.remove();
3069
+ beforeUnmount () {
3070
+ this.autoNumeric.remove();
3071
+ }
3072
+ };
3073
+
3074
+ const _hoisted_1$j = ["id", "model-value", "onInput"];
3075
+
3076
+ function render$t(_ctx, _cache, $props, $setup, $data, $options) {
3077
+ const _component_q_field = vue.resolveComponent("q-field");
3078
+
3079
+ return (vue.openBlock(), vue.createBlock(_component_q_field, {
3080
+ modelValue: $options.model,
3081
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
3082
+ outlined: ""
3083
+ }, {
3084
+ control: vue.withCtx(({ emitValue, floatingLabel, id, value }) => [
3085
+ vue.withDirectives(vue.createElementVNode("input", {
3086
+ id: id,
3087
+ ref: "input",
3088
+ class: "q-field__input",
3089
+ "model-value": value,
3090
+ onInput: $event => (emitValue($event.target.value))
3091
+ }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1$j), [
3092
+ [vue.vShow, floatingLabel]
3093
+ ])
3094
+ ]),
3095
+ _: 1 /* STABLE */
3096
+ }, 8 /* PROPS */, ["modelValue"]))
3097
+ }
3098
+
3099
+ script$t.render = render$t;
3100
+ script$t.__file = "src/components/numeric-input/QasNumericInput.vue";
3101
+
3102
+ const levels = {
3103
+ 0: {
3104
+ color: 'negative',
3105
+ label: 'Muito fraco',
3106
+ progress: 0.05,
3107
+ textClass: 'text-negative'
3108
+ },
3109
+
3110
+ 1: {
3111
+ color: 'warning',
3112
+ label: 'Fraco',
3113
+ progress: 0.25,
3114
+ textClass: 'text-warning'
3115
+ },
3116
+
3117
+ 2: {
3118
+ color: 'warning',
3119
+ label: 'Bom',
3120
+ progress: 0.5,
3121
+ textClass: 'text-warning'
3122
+ },
3123
+
3124
+ 3: {
3125
+ color: 'positive',
3126
+ label: 'Forte',
3127
+ progress: 0.75,
3128
+ textClass: 'text-positive'
3129
+ },
3130
+
3131
+ 4: {
3132
+ color: 'positive',
3133
+ label: 'Muito forte',
3134
+ progress: 1,
3135
+ textClass: 'text-positive'
3136
+ }
3137
+ };
3138
+
3139
+ var passwordMixin = {
3140
+ props: {
3141
+ levels: {
3142
+ default: () => levels,
3143
+ type: Object
3144
+ },
3145
+
3146
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/minlength
3147
+ minlength: {
3148
+ default: 8,
3149
+ type: [Number, String]
3150
+ },
3151
+
3152
+ specials: {
3153
+ default: /[!@#$%^&*()_+\-=[\]{}|;:'",<.>/?`~]/g,
3154
+ type: RegExp
3155
+ },
3156
+
3157
+ trackColor: {
3158
+ default: 'blue-grey-1',
3159
+ type: String
3160
+ },
3161
+
3162
+ useLowercase: {
3163
+ default: true,
3164
+ type: Boolean
3165
+ },
3166
+
3167
+ useNumbers: {
3168
+ default: true,
3169
+ type: Boolean
3170
+ },
3171
+
3172
+ useSpecial: {
3173
+ default: true,
3174
+ type: Boolean
3175
+ },
3176
+
3177
+ useUppercase: {
3178
+ default: true,
3179
+ type: Boolean
3180
+ }
3395
3181
  }
3396
3182
  };
3397
3183
 
3398
- const _hoisted_1$j = ["id", "model-value", "onInput"];
3399
-
3400
- function render$t(_ctx, _cache, $props, $setup, $data, $options) {
3401
- const _component_q_field = vue.resolveComponent("q-field");
3402
-
3403
- return (vue.openBlock(), vue.createBlock(_component_q_field, {
3404
- modelValue: $options.model,
3405
- "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
3406
- outlined: ""
3407
- }, {
3408
- control: vue.withCtx(({ emitValue, floatingLabel, id, value }) => [
3409
- vue.withDirectives(vue.createElementVNode("input", {
3410
- id: id,
3411
- ref: "input",
3412
- class: "q-field__input",
3413
- "model-value": value,
3414
- onInput: $event => (emitValue($event.target.value))
3415
- }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1$j), [
3416
- [vue.vShow, floatingLabel]
3417
- ])
3418
- ]),
3419
- _: 1 /* STABLE */
3420
- }, 8 /* PROPS */, ["modelValue"]))
3421
- }
3422
-
3423
- script$t.render = render$t;
3424
- script$t.__file = "src/components/numeric-input/QasNumericInput.vue";
3425
-
3426
3184
  var script$s = {
3427
3185
  name: 'QasPasswordStrengthChecker',
3428
3186
 
@@ -3894,7 +3652,7 @@
3894
3652
  },
3895
3653
 
3896
3654
  getFileNameClass (isFailed) {
3897
- return isFailed ? 'text-negative' : 'text-grey-8'
3655
+ return isFailed ? 'text-negative' : 'text-grey-9'
3898
3656
  },
3899
3657
 
3900
3658
  isFailed (file) {
@@ -4086,7 +3844,7 @@
4086
3844
  }, [
4087
3845
  vue.createVNode(_component_qas_avatar, {
4088
3846
  class: "q-mr-sm",
4089
- color: "grey-3",
3847
+ color: "contrast-primary",
4090
3848
  icon: "o_attach_file",
4091
3849
  image: file.image,
4092
3850
  rounded: "",
@@ -4299,8 +4057,6 @@
4299
4057
  QasSignaturePad: script$p
4300
4058
  },
4301
4059
 
4302
- mixins: [screenMixin],
4303
-
4304
4060
  props: {
4305
4061
  dialogProps: {
4306
4062
  type: Object,
@@ -4366,18 +4122,18 @@
4366
4122
 
4367
4123
  signaturePadWidth () {
4368
4124
  const sizes = {
4369
- [this.mx_isSmall]: { width: '100%' },
4370
- [this.mx_isMedium]: { width: '570px' },
4371
- [this.mx_isLarge]: { width: '350px' }
4125
+ [this.$qas.screen.isSmall]: { width: '100%' },
4126
+ [this.$qas.screen.isMedium]: { width: '570px' },
4127
+ [this.$qas.screen.isLarge]: { width: '350px' }
4372
4128
  };
4373
4129
  return sizes.true
4374
4130
  },
4375
4131
 
4376
4132
  signaturePadHeight () {
4377
4133
  const sizes = {
4378
- [this.mx_isSmall]: '250',
4379
- [this.mx_isMedium]: '400',
4380
- [this.mx_isLarge]: '250'
4134
+ [this.$qas.screen.isSmall]: '250',
4135
+ [this.$qas.screen.isMedium]: '400',
4136
+ [this.$qas.screen.isLarge]: '250'
4381
4137
  };
4382
4138
 
4383
4139
  return sizes.true
@@ -4734,6 +4490,15 @@
4734
4490
  script$n.render = render$n;
4735
4491
  script$n.__file = "src/components/field/QasField.vue";
4736
4492
 
4493
+ var contextMixin = {
4494
+ computed: {
4495
+ mx_context () {
4496
+ const { limit, ordering, page, search, ...filters } = this.$route.query;
4497
+ return { filters, limit, ordering, page: page ? parseInt(page) : 1, search }
4498
+ }
4499
+ }
4500
+ };
4501
+
4737
4502
  var script$m = {
4738
4503
  name: 'QasFilters',
4739
4504
 
@@ -4829,7 +4594,7 @@
4829
4594
  },
4830
4595
 
4831
4596
  filterButtonColor () {
4832
- return this.hasActiveFilters ? 'primary' : 'grey-8'
4597
+ return this.hasActiveFilters ? 'primary' : 'grey-9'
4833
4598
  },
4834
4599
 
4835
4600
  filterButtonLabel () {
@@ -5144,11 +4909,11 @@
5144
4909
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($options.activeFilters, (filterItem, key) => {
5145
4910
  return (vue.openBlock(), vue.createBlock(_component_q_chip, {
5146
4911
  key: key,
5147
- color: "grey-4",
4912
+ color: "primary",
5148
4913
  dense: "",
5149
4914
  removable: "",
5150
4915
  size: "md",
5151
- "text-color": "grey-8",
4916
+ "text-color": "white",
5152
4917
  onRemove: $event => ($options.removeFilter(filterItem))
5153
4918
  }, {
5154
4919
  default: vue.withCtx(() => [
@@ -5171,6 +4936,93 @@
5171
4936
  script$m.render = render$m;
5172
4937
  script$m.__file = "src/components/filters/QasFilters.vue";
5173
4938
 
4939
+ const irregularClasses = ['col', 'col-auto', 'fit'];
4940
+
4941
+ var generatorMixin = {
4942
+ props: {
4943
+ columns: {
4944
+ default: () => [],
4945
+ type: [Array, String, Object]
4946
+ },
4947
+
4948
+ fields: {
4949
+ default: () => ({}),
4950
+ type: Object
4951
+ },
4952
+
4953
+ gutter: {
4954
+ default: 'md',
4955
+ type: [String, Boolean],
4956
+ validator: value => ['xs', 'sm', 'md', 'lg', 'xl'].includes(value)
4957
+ }
4958
+ },
4959
+
4960
+ computed: {
4961
+ mx_classes () {
4962
+ const classes = ['row'];
4963
+
4964
+ if (this.gutter) {
4965
+ classes.push(`q-col-gutter-${this.gutter}`);
4966
+ }
4967
+
4968
+ return classes
4969
+ }
4970
+ },
4971
+
4972
+ methods: {
4973
+ mx_getBreakpoint (columns) {
4974
+ const classes = [];
4975
+ const profiles = { col: 'col', xs: 'col-xs', sm: 'col-sm', md: 'col-md', lg: 'col-lg', xl: 'col-xl' };
4976
+ const { fieldProps, classes: renamedClasses, ...formattedColumns } = columns || {};
4977
+
4978
+ for (const key in formattedColumns) {
4979
+ const value = formattedColumns[key];
4980
+ classes.push(irregularClasses.includes(value) ? value : `${profiles[key]}-${value}`);
4981
+ }
4982
+
4983
+ return [...classes, renamedClasses]
4984
+ },
4985
+
4986
+ mx_getFieldClass (index, isGridGenerator) {
4987
+ if (typeof this.columns === 'string') {
4988
+ return irregularClasses.includes(this.columns) ? this.columns : `col-${this.columns}`
4989
+ }
4990
+
4991
+ return Array.isArray(this.columns)
4992
+ ? this.mx_handleColumnsByIndex(index, isGridGenerator)
4993
+ : this.mx_handleColumnsByField(index, isGridGenerator)
4994
+ },
4995
+
4996
+ mx_handleColumnsByField (index, isGridGenerator) {
4997
+ if (!this.columns[index]) {
4998
+ return this.mx_setDefaultColumnClass(isGridGenerator)
4999
+ }
5000
+
5001
+ return this.mx_getBreakpoint(this.columns[index])
5002
+ },
5003
+
5004
+ mx_handleColumnsByIndex (index, isGridGenerator) {
5005
+ const fields = isGridGenerator ? this.fields : this.groupedFields.visible;
5006
+
5007
+ if (!Array.isArray(fields)) {
5008
+ index = Object.keys(fields).findIndex(field => field === index);
5009
+ }
5010
+
5011
+ const length = this.columns.length;
5012
+
5013
+ if (!length) {
5014
+ return this.mx_setDefaultColumnClass(isGridGenerator)
5015
+ }
5016
+
5017
+ return this.mx_getBreakpoint(this.columns[index])
5018
+ },
5019
+
5020
+ mx_setDefaultColumnClass (isGridGenerator) {
5021
+ return isGridGenerator ? 'col-6 col-xs-12 col-sm-4' : 'col-6'
5022
+ }
5023
+ }
5024
+ };
5025
+
5174
5026
  var script$l = {
5175
5027
  name: 'QasFormGenerator',
5176
5028
 
@@ -5278,6 +5130,124 @@
5278
5130
  script$l.render = render$l;
5279
5131
  script$l.__file = "src/components/form-generator/QasFormGenerator.vue";
5280
5132
 
5133
+ var viewMixin = {
5134
+ props: {
5135
+ dialog: {
5136
+ type: Boolean
5137
+ },
5138
+
5139
+ entity: {
5140
+ required: true,
5141
+ type: String
5142
+ },
5143
+
5144
+ url: {
5145
+ default: '',
5146
+ type: String
5147
+ },
5148
+
5149
+ fields: {
5150
+ default: () => ({}),
5151
+ type: Object
5152
+ },
5153
+
5154
+ errors: {
5155
+ default: () => ({}),
5156
+ type: Object
5157
+ },
5158
+
5159
+ metadata: {
5160
+ default: () => ({}),
5161
+ type: Object
5162
+ },
5163
+
5164
+ fetching: {
5165
+ type: Boolean
5166
+ }
5167
+ },
5168
+
5169
+ emits: [
5170
+ 'update:fields',
5171
+ 'update:errors',
5172
+ 'update:metadata',
5173
+ 'update:fetching'
5174
+ ],
5175
+
5176
+ data () {
5177
+ return {
5178
+ mx_errors: {},
5179
+ mx_fields: {},
5180
+ mx_metadata: {},
5181
+
5182
+ mx_isFetching: false
5183
+ }
5184
+ },
5185
+
5186
+ watch: {
5187
+ mx_isFetching (value) {
5188
+ this.$emit('update:fetching', value);
5189
+ }
5190
+ },
5191
+
5192
+ computed: {
5193
+ mx_componentTag () {
5194
+ return this.dialog ? 'div' : 'q-page'
5195
+ },
5196
+
5197
+ mx_componentClass () {
5198
+ return !this.dialog && 'container spaced'
5199
+ },
5200
+
5201
+ mx_hasFooterSlot () {
5202
+ return !!(this.$slots.footer)
5203
+ },
5204
+
5205
+ mx_hasHeaderSlot () {
5206
+ return !!(this.$slots.header)
5207
+ }
5208
+ },
5209
+
5210
+ methods: {
5211
+ mx_fetchError (error) {
5212
+ const { response } = error;
5213
+ const exception = response?.data?.exception || error.message;
5214
+
5215
+ this.$qas.error('Ops! Erro ao obter os dados.', exception);
5216
+
5217
+ const status = response?.status;
5218
+ const redirect = ({ 403: 'Forbidden', 404: 'NotFound' })[status];
5219
+
5220
+ if (redirect) {
5221
+ this.$router.replace({ name: redirect });
5222
+ }
5223
+ },
5224
+
5225
+ mx_setErrors (errors = {}) {
5226
+ this.mx_errors = vue.markRaw(errors);
5227
+ },
5228
+
5229
+ mx_setFields (fields = {}) {
5230
+ for (const field in fields) {
5231
+ fields[field].name = humps.camelize(fields[field].name);
5232
+ }
5233
+
5234
+ this.mx_fields = vue.markRaw(fields);
5235
+ },
5236
+
5237
+ mx_setMetadata (metadata = {}) {
5238
+ this.mx_metadata = vue.markRaw(metadata);
5239
+ },
5240
+
5241
+ mx_updateModels (models) {
5242
+ for (const key in models) {
5243
+ if (!models[key]) continue
5244
+
5245
+ this.$emit(`update:${key}`, models[key]);
5246
+ }
5247
+ }
5248
+ }
5249
+ };
5250
+
5281
5251
  var script$k = {
5282
5252
  name: 'QasFormView',
5283
5253
 
@@ -5286,7 +5256,7 @@
5286
5256
  QasDialog: script$x
5287
5257
  },
5288
5258
 
5289
- mixins: [viewMixin, screenMixin],
5259
+ mixins: [viewMixin],
5290
5260
 
5291
5261
  props: {
5292
5262
  cancelButton: {
@@ -5380,7 +5350,7 @@
5380
5350
 
5381
5351
  computed: {
5382
5352
  cancelButtonClass () {
5383
- return this.mx_isSmall && 'order-last'
5353
+ return this.$qas.screen.isSmall && 'order-last'
5384
5354
  },
5385
5355
 
5386
5356
  fetchURL () {
@@ -5408,7 +5378,7 @@
5408
5378
  },
5409
5379
 
5410
5380
  saveButtonClass () {
5411
- return this.mx_isSmall && 'order-first'
5381
+ return this.$qas.screen.isSmall && 'order-first'
5412
5382
  },
5413
5383
 
5414
5384
  isCancelButtonDisabled () {
@@ -5696,8 +5666,6 @@
5696
5666
  var script$j = {
5697
5667
  name: 'QasGallery',
5698
5668
 
5699
- mixins: [screenMixin],
5700
-
5701
5669
  props: {
5702
5670
  carouselNextIcon: {
5703
5671
  type: String,
@@ -5754,13 +5722,13 @@
5754
5722
  return this.height || 'auto'
5755
5723
  }
5756
5724
 
5757
- return this.mx_isSmall ? '90px' : '120px'
5725
+ return this.$qas.screen.isSmall ? '90px' : '120px'
5758
5726
  },
5759
5727
 
5760
5728
  galleryColumnsClasses () {
5761
5729
  if (this.isSingleImage) return 'col-12'
5762
5730
 
5763
- return this.mx_isSmall ? 'col-6' : 'col-2'
5731
+ return this.$qas.screen.isSmall ? 'col-6' : 'col-2'
5764
5732
  },
5765
5733
 
5766
5734
  hideShowMore () {
@@ -5895,9 +5863,9 @@
5895
5863
  modelValue: $data.imageIndex,
5896
5864
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($data.imageIndex) = $event)),
5897
5865
  animated: "",
5898
- arrows: !_ctx.mx_isSmall,
5866
+ arrows: !_ctx.$qas.screen.isSmall,
5899
5867
  "control-text-color": "primary",
5900
- fullscreen: _ctx.mx_isSmall,
5868
+ fullscreen: _ctx.$qas.screen.isSmall,
5901
5869
  height: $options.carouselImageHeight,
5902
5870
  "next-icon": $props.carouselNextIcon,
5903
5871
  "prev-icon": $props.carouselPreviousIcon,
@@ -5913,7 +5881,7 @@
5913
5881
  name: index
5914
5882
  }, {
5915
5883
  default: vue.withCtx(() => [
5916
- (_ctx.mx_isSmall)
5884
+ (_ctx.$qas.screen.isSmall)
5917
5885
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
5918
5886
  vue.createVNode(_component_qas_btn, {
5919
5887
  dense: "",
@@ -6249,7 +6217,7 @@
6249
6217
  }
6250
6218
  };
6251
6219
 
6252
- const _hoisted_1$b = { class: "qas-list-items shadow-primary" };
6220
+ const _hoisted_1$b = { class: "qas-list-items shadow-14" };
6253
6221
 
6254
6222
  function render$f(_ctx, _cache, $props, $setup, $data, $options) {
6255
6223
  const _component_q_item_section = vue.resolveComponent("q-item-section");
@@ -6467,7 +6435,7 @@
6467
6435
  const _hoisted_3$4 = { key: 0 };
6468
6436
  const _hoisted_4$4 = { key: 1 };
6469
6437
  const _hoisted_5$3 = { class: "q-my-xl text-center" };
6470
- const _hoisted_6$1 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-grey-6" }, "Nenhum item encontrado.", -1 /* HOISTED */);
6438
+ const _hoisted_6$1 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-grey-7" }, "Nenhum item encontrado.", -1 /* HOISTED */);
6471
6439
  const _hoisted_7$1 = {
6472
6440
  key: 2,
6473
6441
  class: "q-py-lg text-center"
@@ -6515,7 +6483,7 @@
6515
6483
  vue.createElementVNode("div", _hoisted_5$3, [
6516
6484
  vue.createVNode(_component_q_icon, {
6517
6485
  class: "q-mb-sm text-center",
6518
- color: "grey-6",
6486
+ color: "grey-7",
6519
6487
  name: "o_search",
6520
6488
  size: "38px"
6521
6489
  }),
@@ -7287,8 +7255,6 @@
7287
7255
  QasGridGenerator: script$i
7288
7256
  },
7289
7257
 
7290
- mixins: [screenMixin],
7291
-
7292
7258
  props: {
7293
7259
  columns: {
7294
7260
  type: Object,
@@ -7329,7 +7295,7 @@
7329
7295
 
7330
7296
  computed: {
7331
7297
  directionClasses () {
7332
- return this.mx_untilMedium ? 'col' : 'row items-center'
7298
+ return this.$qas.screen.untilMedium ? 'col' : 'row items-center'
7333
7299
  },
7334
7300
 
7335
7301
  userAvatarImage () {
@@ -7337,7 +7303,7 @@
7337
7303
  },
7338
7304
 
7339
7305
  avatarSize () {
7340
- return this.mx_isSmall ? '145px' : '188px'
7306
+ return this.$qas.screen.isSmall ? '145px' : '188px'
7341
7307
  }
7342
7308
  },
7343
7309
 
@@ -7491,7 +7457,7 @@
7491
7457
 
7492
7458
  return (vue.openBlock(), vue.createBlock(_component_q_img, {
7493
7459
  ratio: $options.ratio,
7494
- "spinner-color": "grey-6",
7460
+ "spinner-color": "grey-7",
7495
7461
  src: $options.imageSource
7496
7462
  }, {
7497
7463
  error: vue.withCtx(() => [
@@ -7918,8 +7884,6 @@
7918
7884
  QasSearchBox: script$8
7919
7885
  },
7920
7886
 
7921
- mixins: [screenMixin],
7922
-
7923
7887
  props: {
7924
7888
  deleteOnly: {
7925
7889
  type: Boolean
@@ -8025,9 +7989,9 @@
8025
7989
  const isSelected = this.values.includes(value);
8026
7990
 
8027
7991
  return {
8028
- dense: this.mx_isSmall,
7992
+ dense: this.$qas.screen.isSmall,
8029
7993
  hideLabelOnSmallScreen: true,
8030
- icon: !this.mx_isSmall ? undefined : isSelected ? 'o_close' : 'o_add',
7994
+ icon: !this.$qas.screen.isSmall ? undefined : isSelected ? 'o_close' : 'o_add',
8031
7995
  label: isSelected ? 'Remover' : 'Adicionar',
8032
7996
  outline: isSelected,
8033
7997
  size: 'sm'
@@ -8230,7 +8194,7 @@
8230
8194
  key: 2,
8231
8195
  class: "q-my-xl text-center"
8232
8196
  };
8233
- const _hoisted_3$1 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-grey-6" }, "Nenhum item encontrado.", -1 /* HOISTED */);
8197
+ const _hoisted_3$1 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-grey-7" }, "Nenhum item encontrado.", -1 /* HOISTED */);
8234
8198
  const _hoisted_4$1 = { key: 3 };
8235
8199
 
8236
8200
  function render$5(_ctx, _cache, $props, $setup, $data, $options) {
@@ -8253,7 +8217,7 @@
8253
8217
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$2, [
8254
8218
  vue.createVNode(_component_q_icon, {
8255
8219
  class: "q-mb-sm text-center",
8256
- color: "grey-6",
8220
+ color: "grey-7",
8257
8221
  name: "o_search",
8258
8222
  size: "38px"
8259
8223
  }),
@@ -8428,8 +8392,6 @@
8428
8392
  var script$3 = {
8429
8393
  name: 'QasTableGenerator',
8430
8394
 
8431
- mixins: [screenMixin],
8432
-
8433
8395
  props: {
8434
8396
  columns: {
8435
8397
  default: () => [],
@@ -8556,7 +8518,7 @@
8556
8518
  },
8557
8519
 
8558
8520
  tableClass () {
8559
- return this.mx_isSmall && 'qas-table-generator--mobile'
8521
+ return this.$qas.screen.isSmall && 'qas-table-generator--mobile'
8560
8522
  },
8561
8523
 
8562
8524
  hasScrollOnGrab () {
@@ -8797,8 +8759,6 @@
8797
8759
  QasDialog: script$x
8798
8760
  },
8799
8761
 
8800
- mixins: [screenMixin],
8801
-
8802
8762
  props: {
8803
8763
  dialogProps: {
8804
8764
  type: Object,
@@ -8838,7 +8798,7 @@
8838
8798
 
8839
8799
  computed: {
8840
8800
  truncateTextClass () {
8841
- return (this.isTruncated || this.mx_isSmall) && 'ellipsis q-pr-sm'
8801
+ return (this.isTruncated || this.$qas.screen.isSmall) && 'ellipsis q-pr-sm'
8842
8802
  },
8843
8803
 
8844
8804
  isTruncated () {
@@ -8940,8 +8900,6 @@
8940
8900
  QasSearchBox: script$8
8941
8901
  },
8942
8902
 
8943
- mixins: [screenMixin],
8944
-
8945
8903
  props: {
8946
8904
  emitValue: {
8947
8905
  type: Boolean
@@ -8999,15 +8957,15 @@
8999
8957
 
9000
8958
  computed: {
9001
8959
  actionsClass () {
9002
- return !this.mx_isSmall && 'column'
8960
+ return !this.$qas.screen.isSmall && 'column'
9003
8961
  },
9004
8962
 
9005
8963
  gutterClass () {
9006
- return `q-col-gutter-${this.mx_untilLarge ? 'md' : 'xl'}`
8964
+ return `q-col-gutter-${this.$qas.screen.untilLarge ? 'md' : 'xl'}`
9007
8965
  },
9008
8966
 
9009
8967
  iconClass () {
9010
- return !this.mx_isSmall && 'qas-transfer__icon'
8968
+ return !this.$qas.screen.isSmall && 'qas-transfer__icon'
9011
8969
  },
9012
8970
 
9013
8971
  searchBoxProps () {
@@ -9264,7 +9222,7 @@
9264
9222
 
9265
9223
  var name = "@bildvitta/quasar-ui-asteroid";
9266
9224
  var description = "Asteroid";
9267
- var version$1 = "3.0.0-beta.2";
9225
+ var version$1 = "3.0.0-beta.5";
9268
9226
  var author = "Bild & Vitta <systemteam@bild.com.br>";
9269
9227
  var license = "MIT";
9270
9228
  var main = "dist/asteroid.cjs.min.js";