@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,5 +1,5 @@
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
  */
@@ -7,8 +7,8 @@
7
7
 
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
- var humps = require('humps');
11
10
  var vue = require('vue');
11
+ var humps = require('humps');
12
12
  var dateFns = require('date-fns');
13
13
  var locale = require('date-fns/locale');
14
14
  var quasar = require('quasar');
@@ -30,342 +30,9 @@ var Fuse__default = /*#__PURE__*/_interopDefaultLegacy(Fuse);
30
30
  var Sortable__default = /*#__PURE__*/_interopDefaultLegacy(Sortable);
31
31
  var VueGoogleMaps__default = /*#__PURE__*/_interopDefaultLegacy(VueGoogleMaps);
32
32
 
33
- var contextMixin = {
34
- computed: {
35
- mx_context () {
36
- const { limit, ordering, page, search, ...filters } = this.$route.query;
37
- return { filters, limit, ordering, page: page ? parseInt(page) : 1, search }
38
- }
39
- }
40
- };
41
-
42
- const irregularClasses = ['col', 'col-auto', 'fit'];
43
-
44
- var generatorMixin = {
45
- props: {
46
- columns: {
47
- default: () => [],
48
- type: [Array, String, Object]
49
- },
50
-
51
- fields: {
52
- default: () => ({}),
53
- type: Object
54
- },
55
-
56
- gutter: {
57
- default: 'md',
58
- type: [String, Boolean],
59
- validator: value => ['xs', 'sm', 'md', 'lg', 'xl'].includes(value)
60
- }
61
- },
62
-
63
- computed: {
64
- mx_classes () {
65
- const classes = ['row'];
66
-
67
- if (this.gutter) {
68
- classes.push(`q-col-gutter-${this.gutter}`);
69
- }
70
-
71
- return classes
72
- }
73
- },
74
-
75
- methods: {
76
- mx_getBreakpoint (columns) {
77
- const classes = [];
78
- const profiles = { col: 'col', xs: 'col-xs', sm: 'col-sm', md: 'col-md', lg: 'col-lg', xl: 'col-xl' };
79
- const { fieldProps, classes: renamedClasses, ...formattedColumns } = columns || {};
80
-
81
- for (const key in formattedColumns) {
82
- const value = formattedColumns[key];
83
- classes.push(irregularClasses.includes(value) ? value : `${profiles[key]}-${value}`);
84
- }
85
-
86
- return [...classes, renamedClasses]
87
- },
88
-
89
- mx_getFieldClass (index, isGridGenerator) {
90
- if (typeof this.columns === 'string') {
91
- return irregularClasses.includes(this.columns) ? this.columns : `col-${this.columns}`
92
- }
93
-
94
- return Array.isArray(this.columns)
95
- ? this.mx_handleColumnsByIndex(index, isGridGenerator)
96
- : this.mx_handleColumnsByField(index, isGridGenerator)
97
- },
98
-
99
- mx_handleColumnsByField (index, isGridGenerator) {
100
- if (!this.columns[index]) {
101
- return this.mx_setDefaultColumnClass(isGridGenerator)
102
- }
103
-
104
- return this.mx_getBreakpoint(this.columns[index])
105
- },
106
-
107
- mx_handleColumnsByIndex (index, isGridGenerator) {
108
- const fields = isGridGenerator ? this.fields : this.groupedFields.visible;
109
-
110
- if (!Array.isArray(fields)) {
111
- index = Object.keys(fields).findIndex(field => field === index);
112
- }
113
-
114
- const length = this.columns.length;
115
-
116
- if (!length) {
117
- return this.mx_setDefaultColumnClass(isGridGenerator)
118
- }
119
-
120
- return this.mx_getBreakpoint(this.columns[index])
121
- },
122
-
123
- mx_setDefaultColumnClass (isGridGenerator) {
124
- return isGridGenerator ? 'col-6 col-xs-12 col-sm-4' : 'col-6'
125
- }
126
- }
127
- };
128
-
129
- const levels = {
130
- 0: {
131
- color: 'negative',
132
- label: 'Muito fraco',
133
- progress: 0.05,
134
- textClass: 'text-negative'
135
- },
136
-
137
- 1: {
138
- color: 'warning',
139
- label: 'Fraco',
140
- progress: 0.25,
141
- textClass: 'text-warning'
142
- },
143
-
144
- 2: {
145
- color: 'warning',
146
- label: 'Bom',
147
- progress: 0.5,
148
- textClass: 'text-warning'
149
- },
150
-
151
- 3: {
152
- color: 'positive',
153
- label: 'Forte',
154
- progress: 0.75,
155
- textClass: 'text-positive'
156
- },
157
-
158
- 4: {
159
- color: 'positive',
160
- label: 'Muito forte',
161
- progress: 1,
162
- textClass: 'text-positive'
163
- }
164
- };
165
-
166
- var passwordMixin = {
167
- props: {
168
- levels: {
169
- default: () => levels,
170
- type: Object
171
- },
172
-
173
- // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/minlength
174
- minlength: {
175
- default: 8,
176
- type: [Number, String]
177
- },
178
-
179
- specials: {
180
- default: /[!@#$%^&*()_+\-=[\]{}|;:'",<.>/?`~]/g,
181
- type: RegExp
182
- },
183
-
184
- trackColor: {
185
- default: 'blue-grey-1',
186
- type: String
187
- },
188
-
189
- useLowercase: {
190
- default: true,
191
- type: Boolean
192
- },
193
-
194
- useNumbers: {
195
- default: true,
196
- type: Boolean
197
- },
198
-
199
- useSpecial: {
200
- default: true,
201
- type: Boolean
202
- },
203
-
204
- useUppercase: {
205
- default: true,
206
- type: Boolean
207
- }
208
- }
209
- };
210
-
211
- var screenMixin = {
212
- // TODO: Esses nomes precisam ser alterados para algo mais inteligente.
213
-
214
- computed: {
215
- mx_isSmall () {
216
- // until 599
217
- return this.$q.screen.xs
218
- },
219
-
220
- mx_isMedium () {
221
- // from 600 until 1023
222
- return this.$q.screen.sm
223
- },
224
-
225
- mx_isLarge () {
226
- // from 1024 until the limit
227
- return this.$q.screen.gt.sm
228
- },
229
-
230
- mx_untilMedium () {
231
- // from 0 until 599
232
- return this.$q.screen.lt.sm
233
- },
234
-
235
- mx_untilLarge () {
236
- // from 0 until 1023
237
- return this.$q.screen.lt.md
238
- },
239
-
240
- mx_isMobile () {
241
- return this.$q.platform.is.mobile
242
- }
243
- }
244
- };
245
-
246
- var viewMixin = {
247
- props: {
248
- dialog: {
249
- type: Boolean
250
- },
251
-
252
- entity: {
253
- required: true,
254
- type: String
255
- },
256
-
257
- url: {
258
- default: '',
259
- type: String
260
- },
261
-
262
- fields: {
263
- default: () => ({}),
264
- type: Object
265
- },
266
-
267
- errors: {
268
- default: () => ({}),
269
- type: Object
270
- },
271
-
272
- metadata: {
273
- default: () => ({}),
274
- type: Object
275
- },
276
-
277
- fetching: {
278
- type: Boolean
279
- }
280
- },
281
-
282
- emits: [
283
- 'update:fields',
284
- 'update:errors',
285
- 'update:metadata',
286
- 'update:fetching'
287
- ],
288
-
289
- data () {
290
- return {
291
- mx_errors: {},
292
- mx_fields: {},
293
- mx_metadata: {},
294
-
295
- mx_isFetching: false
296
- }
297
- },
298
-
299
- watch: {
300
- mx_isFetching (value) {
301
- this.$emit('update:fetching', value);
302
- }
303
- },
304
-
305
- computed: {
306
- mx_componentTag () {
307
- return this.dialog ? 'div' : 'q-page'
308
- },
309
-
310
- mx_componentClass () {
311
- return !this.dialog && 'container spaced'
312
- },
313
-
314
- mx_hasFooterSlot () {
315
- return !!(this.$slots.footer)
316
- },
317
-
318
- mx_hasHeaderSlot () {
319
- return !!(this.$slots.header)
320
- }
321
- },
322
-
323
- methods: {
324
- mx_fetchError (error) {
325
- const { response } = error;
326
- const exception = response?.data?.exception || error.message;
327
-
328
- this.$qas.error('Ops! Erro ao obter os dados.', exception);
329
-
330
- const status = response?.status;
331
- const redirect = ({ 403: 'Forbidden', 404: 'NotFound' })[status];
332
-
333
- if (redirect) {
334
- this.$router.replace({ name: redirect });
335
- }
336
- },
337
-
338
- mx_setErrors (errors = {}) {
339
- this.mx_errors = vue.markRaw(errors);
340
- },
341
-
342
- mx_setFields (fields = {}) {
343
- for (const field in fields) {
344
- fields[field].name = humps.camelize(fields[field].name);
345
- }
346
-
347
- this.mx_fields = vue.markRaw(fields);
348
- },
349
-
350
- mx_setMetadata (metadata = {}) {
351
- this.mx_metadata = vue.markRaw(metadata);
352
- },
353
-
354
- mx_updateModels (models) {
355
- for (const key in models) {
356
- if (!models[key]) continue
357
-
358
- this.$emit(`update:${key}`, models[key]);
359
- }
360
- }
361
- }
362
- };
363
-
364
33
  var script$L = {
365
34
  name: 'QasActions',
366
35
 
367
- mixins: [screenMixin],
368
-
369
36
  props: {
370
37
  align: {
371
38
  default: 'end',
@@ -385,7 +52,7 @@ var script$L = {
385
52
  return [
386
53
  `justify-${this.align}`,
387
54
  `q-col-gutter-${this.gutter}`,
388
- this.mx_isSmall ? 'column reverse' : 'row'
55
+ this.$qas.screen.isSmall ? 'column reverse' : 'row'
389
56
  ]
390
57
  }
391
58
  }
@@ -413,30 +80,31 @@ script$L.__file = "src/components/actions/QasActions.vue";
413
80
  var script$K = {
414
81
  name: 'QasBtn',
415
82
 
416
- mixins: [screenMixin],
417
-
418
83
  props: {
419
84
  hideLabelOnSmallScreen: {
420
85
  type: Boolean
86
+ },
87
+
88
+ label: {
89
+ type: String,
90
+ default: ''
421
91
  }
422
92
  },
423
93
 
424
94
  computed: {
425
95
  attributes () {
426
- const { label, ...attributes } = this.$attrs;
427
-
428
96
  return {
429
- ...(this.showLabel && { label }),
430
- ...attributes
97
+ ...(this.showLabel && { label: this.label }),
98
+ ...this.$attrs
431
99
  }
432
100
  },
433
101
 
434
102
  hasLabel () {
435
- return !!(this.$attrs.label || this.$slots.default)
103
+ return !!(this.label || this.$slots.default)
436
104
  },
437
105
 
438
106
  showLabel () {
439
- return this.hasLabel && !(this.hideLabelOnSmallScreen && this.mx_isSmall)
107
+ return this.hasLabel && !(this.hideLabelOnSmallScreen && this.$qas.screen.isSmall)
440
108
  },
441
109
 
442
110
  slots () {
@@ -1365,7 +1033,7 @@ function render$F(_ctx, _cache, $props, $setup, $data, $options) {
1365
1033
  const _directive_close_popup = vue.resolveDirective("close-popup");
1366
1034
 
1367
1035
  return (vue.openBlock(), vue.createBlock(_component_q_header, {
1368
- class: "bg-white qas-app-bar shadow-primary",
1036
+ class: "bg-white qas-app-bar shadow-14",
1369
1037
  "height-hint": "70"
1370
1038
  }, {
1371
1039
  default: vue.withCtx(() => [
@@ -1468,7 +1136,7 @@ function render$F(_ctx, _cache, $props, $setup, $data, $options) {
1468
1136
  ]),
1469
1137
  vue.createVNode(_component_q_menu, {
1470
1138
  anchor: "bottom end",
1471
- class: "shadow-primary",
1139
+ class: "shadow-14",
1472
1140
  "max-height": "400px",
1473
1141
  offset: [0, 5],
1474
1142
  self: "top end"
@@ -1531,8 +1199,6 @@ script$F.__file = "src/components/app-bar/QasAppBar.vue";
1531
1199
  var script$E = {
1532
1200
  name: 'QasAppMenu',
1533
1201
 
1534
- mixins: [screenMixin],
1535
-
1536
1202
  props: {
1537
1203
  items: {
1538
1204
  default: () => [],
@@ -1549,6 +1215,11 @@ var script$E = {
1549
1215
  type: String
1550
1216
  },
1551
1217
 
1218
+ brandMenu: {
1219
+ default: '',
1220
+ type: String
1221
+ },
1222
+
1552
1223
  modules: {
1553
1224
  default: () => [],
1554
1225
  type: Array
@@ -1634,7 +1305,7 @@ var script$E = {
1634
1305
  },
1635
1306
 
1636
1307
  beforeHide () {
1637
- if (this.mx_isLarge) {
1308
+ if (this.$qas.screen.isLarge) {
1638
1309
  this.model = true;
1639
1310
  this.miniMode = !this.miniMode;
1640
1311
  }
@@ -1662,21 +1333,17 @@ var script$E = {
1662
1333
  }
1663
1334
  };
1664
1335
 
1665
- 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";
1666
-
1667
1336
  const _hoisted_1$o = { class: "column flex full-height justify-between no-wrap overflow-x-hidden" };
1668
1337
  const _hoisted_2$h = {
1669
1338
  key: 0,
1670
1339
  class: "q-ma-md"
1671
1340
  };
1672
1341
  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 */);
1673
- const _hoisted_4$9 = { class: "q-mx-md" };
1674
- const _hoisted_5$6 = {
1342
+ const _hoisted_4$9 = {
1675
1343
  key: 0,
1676
- alt: "Modular",
1677
- class: "block q-mb-md q-mx-auto",
1678
- src: _imports_0
1344
+ class: "q-mx-md"
1679
1345
  };
1346
+ const _hoisted_5$6 = ["alt", "src"];
1680
1347
 
1681
1348
  function render$E(_ctx, _cache, $props, $setup, $data, $options) {
1682
1349
  const _component_qas_select = vue.resolveComponent("qas-select");
@@ -1817,12 +1484,18 @@ function render$E(_ctx, _cache, $props, $setup, $data, $options) {
1817
1484
  _: 1 /* STABLE */
1818
1485
  })
1819
1486
  ]),
1820
- vue.createElementVNode("div", _hoisted_4$9, [
1821
- vue.createCommentVNode(" TODO: O Modular não é o Asteroid, então não podemos manter esse logo aqui. "),
1822
- (!$data.isMini)
1823
- ? (vue.openBlock(), vue.createElementBlock("img", _hoisted_5$6))
1824
- : vue.createCommentVNode("v-if", true)
1825
- ])
1487
+ ($props.brandMenu)
1488
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$9, [
1489
+ (!$data.isMini)
1490
+ ? (vue.openBlock(), vue.createElementBlock("img", {
1491
+ key: 0,
1492
+ alt: $props.title,
1493
+ class: "block q-mb-md q-mx-auto",
1494
+ src: $props.brandMenu
1495
+ }, null, 8 /* PROPS */, _hoisted_5$6))
1496
+ : vue.createCommentVNode("v-if", true)
1497
+ ]))
1498
+ : vue.createCommentVNode("v-if", true)
1826
1499
  ])
1827
1500
  ]),
1828
1501
  _: 1 /* STABLE */
@@ -1849,7 +1522,7 @@ var script$D = {
1849
1522
  boxClass () {
1850
1523
  return {
1851
1524
  'border-primary-contrast': this.outlined,
1852
- 'shadow-primary': !this.unelevated
1525
+ 'shadow-14': !this.unelevated
1853
1526
  }
1854
1527
  }
1855
1528
  }
@@ -1906,7 +1579,7 @@ var script$C = {
1906
1579
  },
1907
1580
 
1908
1581
  cardClasses () {
1909
- return this.formMode ? 'bg-white border-primary no-shadow' : 'box-shadow-1'
1582
+ return this.formMode ? 'bg-white border-primary no-shadow' : 'shadow-14'
1910
1583
  },
1911
1584
 
1912
1585
  gutterClass () {
@@ -2230,7 +1903,7 @@ function render$A(_ctx, _cache, $props, $setup, $data, $options) {
2230
1903
  ]),
2231
1904
  vue.createVNode(_component_qas_btn, {
2232
1905
  class: "q-ml-xs",
2233
- color: "grey-5",
1906
+ color: "grey-7",
2234
1907
  flat: "",
2235
1908
  icon: $props.icon,
2236
1909
  loading: $data.isLoading,
@@ -2533,8 +2206,6 @@ var script$x = {
2533
2206
  QasActions: script$L
2534
2207
  },
2535
2208
 
2536
- mixins: [screenMixin],
2537
-
2538
2209
  props: {
2539
2210
  actionsProps: {
2540
2211
  default: () => ({}),
@@ -2617,8 +2288,8 @@ var script$x = {
2617
2288
 
2618
2289
  style () {
2619
2290
  return {
2620
- maxWidth: this.maxWidth || (this.mx_isSmall ? '' : '600px'),
2621
- minWidth: this.minWidth || (this.mx_isSmall ? '' : '400px')
2291
+ maxWidth: this.maxWidth || (this.$qas.screen.isSmall ? '' : '600px'),
2292
+ minWidth: this.minWidth || (this.$qas.screen.isSmall ? '' : '400px')
2622
2293
  }
2623
2294
  },
2624
2295
 
@@ -2786,10 +2457,15 @@ var NotifySuccess = (message, caption) => {
2786
2457
 
2787
2458
  var Screen = () => {
2788
2459
  const screensModel = {
2460
+ // até 599px
2789
2461
  isSmall: () => quasar.Screen.xs,
2462
+ // de 600 até 1023px
2790
2463
  isMedium: () => quasar.Screen.sm,
2464
+ // de 600 até 1023px
2791
2465
  isLarge: () => quasar.Screen.gt.sm,
2466
+ // de 0 até 599px
2792
2467
  untilMedium: () => quasar.Screen.lt.sm,
2468
+ // de 0 ate 1023px
2793
2469
  untilLarge: () => quasar.Screen.lt.md,
2794
2470
 
2795
2471
  // Plataforma
@@ -3402,39 +3078,121 @@ var script$t = {
3402
3078
  });
3403
3079
  },
3404
3080
 
3405
- beforeUnmount () {
3406
- this.autoNumeric.remove();
3081
+ beforeUnmount () {
3082
+ this.autoNumeric.remove();
3083
+ }
3084
+ };
3085
+
3086
+ const _hoisted_1$j = ["id", "model-value", "onInput"];
3087
+
3088
+ function render$t(_ctx, _cache, $props, $setup, $data, $options) {
3089
+ const _component_q_field = vue.resolveComponent("q-field");
3090
+
3091
+ return (vue.openBlock(), vue.createBlock(_component_q_field, {
3092
+ modelValue: $options.model,
3093
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
3094
+ outlined: ""
3095
+ }, {
3096
+ control: vue.withCtx(({ emitValue, floatingLabel, id, value }) => [
3097
+ vue.withDirectives(vue.createElementVNode("input", {
3098
+ id: id,
3099
+ ref: "input",
3100
+ class: "q-field__input",
3101
+ "model-value": value,
3102
+ onInput: $event => (emitValue($event.target.value))
3103
+ }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1$j), [
3104
+ [vue.vShow, floatingLabel]
3105
+ ])
3106
+ ]),
3107
+ _: 1 /* STABLE */
3108
+ }, 8 /* PROPS */, ["modelValue"]))
3109
+ }
3110
+
3111
+ script$t.render = render$t;
3112
+ script$t.__file = "src/components/numeric-input/QasNumericInput.vue";
3113
+
3114
+ const levels = {
3115
+ 0: {
3116
+ color: 'negative',
3117
+ label: 'Muito fraco',
3118
+ progress: 0.05,
3119
+ textClass: 'text-negative'
3120
+ },
3121
+
3122
+ 1: {
3123
+ color: 'warning',
3124
+ label: 'Fraco',
3125
+ progress: 0.25,
3126
+ textClass: 'text-warning'
3127
+ },
3128
+
3129
+ 2: {
3130
+ color: 'warning',
3131
+ label: 'Bom',
3132
+ progress: 0.5,
3133
+ textClass: 'text-warning'
3134
+ },
3135
+
3136
+ 3: {
3137
+ color: 'positive',
3138
+ label: 'Forte',
3139
+ progress: 0.75,
3140
+ textClass: 'text-positive'
3141
+ },
3142
+
3143
+ 4: {
3144
+ color: 'positive',
3145
+ label: 'Muito forte',
3146
+ progress: 1,
3147
+ textClass: 'text-positive'
3148
+ }
3149
+ };
3150
+
3151
+ var passwordMixin = {
3152
+ props: {
3153
+ levels: {
3154
+ default: () => levels,
3155
+ type: Object
3156
+ },
3157
+
3158
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/minlength
3159
+ minlength: {
3160
+ default: 8,
3161
+ type: [Number, String]
3162
+ },
3163
+
3164
+ specials: {
3165
+ default: /[!@#$%^&*()_+\-=[\]{}|;:'",<.>/?`~]/g,
3166
+ type: RegExp
3167
+ },
3168
+
3169
+ trackColor: {
3170
+ default: 'blue-grey-1',
3171
+ type: String
3172
+ },
3173
+
3174
+ useLowercase: {
3175
+ default: true,
3176
+ type: Boolean
3177
+ },
3178
+
3179
+ useNumbers: {
3180
+ default: true,
3181
+ type: Boolean
3182
+ },
3183
+
3184
+ useSpecial: {
3185
+ default: true,
3186
+ type: Boolean
3187
+ },
3188
+
3189
+ useUppercase: {
3190
+ default: true,
3191
+ type: Boolean
3192
+ }
3407
3193
  }
3408
3194
  };
3409
3195
 
3410
- const _hoisted_1$j = ["id", "model-value", "onInput"];
3411
-
3412
- function render$t(_ctx, _cache, $props, $setup, $data, $options) {
3413
- const _component_q_field = vue.resolveComponent("q-field");
3414
-
3415
- return (vue.openBlock(), vue.createBlock(_component_q_field, {
3416
- modelValue: $options.model,
3417
- "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
3418
- outlined: ""
3419
- }, {
3420
- control: vue.withCtx(({ emitValue, floatingLabel, id, value }) => [
3421
- vue.withDirectives(vue.createElementVNode("input", {
3422
- id: id,
3423
- ref: "input",
3424
- class: "q-field__input",
3425
- "model-value": value,
3426
- onInput: $event => (emitValue($event.target.value))
3427
- }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1$j), [
3428
- [vue.vShow, floatingLabel]
3429
- ])
3430
- ]),
3431
- _: 1 /* STABLE */
3432
- }, 8 /* PROPS */, ["modelValue"]))
3433
- }
3434
-
3435
- script$t.render = render$t;
3436
- script$t.__file = "src/components/numeric-input/QasNumericInput.vue";
3437
-
3438
3196
  var script$s = {
3439
3197
  name: 'QasPasswordStrengthChecker',
3440
3198
 
@@ -3906,7 +3664,7 @@ var script$q = {
3906
3664
  },
3907
3665
 
3908
3666
  getFileNameClass (isFailed) {
3909
- return isFailed ? 'text-negative' : 'text-grey-8'
3667
+ return isFailed ? 'text-negative' : 'text-grey-9'
3910
3668
  },
3911
3669
 
3912
3670
  isFailed (file) {
@@ -4098,7 +3856,7 @@ function render$q(_ctx, _cache, $props, $setup, $data, $options) {
4098
3856
  }, [
4099
3857
  vue.createVNode(_component_qas_avatar, {
4100
3858
  class: "q-mr-sm",
4101
- color: "grey-3",
3859
+ color: "contrast-primary",
4102
3860
  icon: "o_attach_file",
4103
3861
  image: file.image,
4104
3862
  rounded: "",
@@ -4311,8 +4069,6 @@ var script$o = {
4311
4069
  QasSignaturePad: script$p
4312
4070
  },
4313
4071
 
4314
- mixins: [screenMixin],
4315
-
4316
4072
  props: {
4317
4073
  dialogProps: {
4318
4074
  type: Object,
@@ -4378,18 +4134,18 @@ var script$o = {
4378
4134
 
4379
4135
  signaturePadWidth () {
4380
4136
  const sizes = {
4381
- [this.mx_isSmall]: { width: '100%' },
4382
- [this.mx_isMedium]: { width: '570px' },
4383
- [this.mx_isLarge]: { width: '350px' }
4137
+ [this.$qas.screen.isSmall]: { width: '100%' },
4138
+ [this.$qas.screen.isMedium]: { width: '570px' },
4139
+ [this.$qas.screen.isLarge]: { width: '350px' }
4384
4140
  };
4385
4141
  return sizes.true
4386
4142
  },
4387
4143
 
4388
4144
  signaturePadHeight () {
4389
4145
  const sizes = {
4390
- [this.mx_isSmall]: '250',
4391
- [this.mx_isMedium]: '400',
4392
- [this.mx_isLarge]: '250'
4146
+ [this.$qas.screen.isSmall]: '250',
4147
+ [this.$qas.screen.isMedium]: '400',
4148
+ [this.$qas.screen.isLarge]: '250'
4393
4149
  };
4394
4150
 
4395
4151
  return sizes.true
@@ -4746,6 +4502,15 @@ function render$n(_ctx, _cache, $props, $setup, $data, $options) {
4746
4502
  script$n.render = render$n;
4747
4503
  script$n.__file = "src/components/field/QasField.vue";
4748
4504
 
4505
+ var contextMixin = {
4506
+ computed: {
4507
+ mx_context () {
4508
+ const { limit, ordering, page, search, ...filters } = this.$route.query;
4509
+ return { filters, limit, ordering, page: page ? parseInt(page) : 1, search }
4510
+ }
4511
+ }
4512
+ };
4513
+
4749
4514
  var script$m = {
4750
4515
  name: 'QasFilters',
4751
4516
 
@@ -4841,7 +4606,7 @@ var script$m = {
4841
4606
  },
4842
4607
 
4843
4608
  filterButtonColor () {
4844
- return this.hasActiveFilters ? 'primary' : 'grey-8'
4609
+ return this.hasActiveFilters ? 'primary' : 'grey-9'
4845
4610
  },
4846
4611
 
4847
4612
  filterButtonLabel () {
@@ -5156,11 +4921,11 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) {
5156
4921
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($options.activeFilters, (filterItem, key) => {
5157
4922
  return (vue.openBlock(), vue.createBlock(_component_q_chip, {
5158
4923
  key: key,
5159
- color: "grey-4",
4924
+ color: "primary",
5160
4925
  dense: "",
5161
4926
  removable: "",
5162
4927
  size: "md",
5163
- "text-color": "grey-8",
4928
+ "text-color": "white",
5164
4929
  onRemove: $event => ($options.removeFilter(filterItem))
5165
4930
  }, {
5166
4931
  default: vue.withCtx(() => [
@@ -5183,6 +4948,93 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) {
5183
4948
  script$m.render = render$m;
5184
4949
  script$m.__file = "src/components/filters/QasFilters.vue";
5185
4950
 
4951
+ const irregularClasses = ['col', 'col-auto', 'fit'];
4952
+
4953
+ var generatorMixin = {
4954
+ props: {
4955
+ columns: {
4956
+ default: () => [],
4957
+ type: [Array, String, Object]
4958
+ },
4959
+
4960
+ fields: {
4961
+ default: () => ({}),
4962
+ type: Object
4963
+ },
4964
+
4965
+ gutter: {
4966
+ default: 'md',
4967
+ type: [String, Boolean],
4968
+ validator: value => ['xs', 'sm', 'md', 'lg', 'xl'].includes(value)
4969
+ }
4970
+ },
4971
+
4972
+ computed: {
4973
+ mx_classes () {
4974
+ const classes = ['row'];
4975
+
4976
+ if (this.gutter) {
4977
+ classes.push(`q-col-gutter-${this.gutter}`);
4978
+ }
4979
+
4980
+ return classes
4981
+ }
4982
+ },
4983
+
4984
+ methods: {
4985
+ mx_getBreakpoint (columns) {
4986
+ const classes = [];
4987
+ const profiles = { col: 'col', xs: 'col-xs', sm: 'col-sm', md: 'col-md', lg: 'col-lg', xl: 'col-xl' };
4988
+ const { fieldProps, classes: renamedClasses, ...formattedColumns } = columns || {};
4989
+
4990
+ for (const key in formattedColumns) {
4991
+ const value = formattedColumns[key];
4992
+ classes.push(irregularClasses.includes(value) ? value : `${profiles[key]}-${value}`);
4993
+ }
4994
+
4995
+ return [...classes, renamedClasses]
4996
+ },
4997
+
4998
+ mx_getFieldClass (index, isGridGenerator) {
4999
+ if (typeof this.columns === 'string') {
5000
+ return irregularClasses.includes(this.columns) ? this.columns : `col-${this.columns}`
5001
+ }
5002
+
5003
+ return Array.isArray(this.columns)
5004
+ ? this.mx_handleColumnsByIndex(index, isGridGenerator)
5005
+ : this.mx_handleColumnsByField(index, isGridGenerator)
5006
+ },
5007
+
5008
+ mx_handleColumnsByField (index, isGridGenerator) {
5009
+ if (!this.columns[index]) {
5010
+ return this.mx_setDefaultColumnClass(isGridGenerator)
5011
+ }
5012
+
5013
+ return this.mx_getBreakpoint(this.columns[index])
5014
+ },
5015
+
5016
+ mx_handleColumnsByIndex (index, isGridGenerator) {
5017
+ const fields = isGridGenerator ? this.fields : this.groupedFields.visible;
5018
+
5019
+ if (!Array.isArray(fields)) {
5020
+ index = Object.keys(fields).findIndex(field => field === index);
5021
+ }
5022
+
5023
+ const length = this.columns.length;
5024
+
5025
+ if (!length) {
5026
+ return this.mx_setDefaultColumnClass(isGridGenerator)
5027
+ }
5028
+
5029
+ return this.mx_getBreakpoint(this.columns[index])
5030
+ },
5031
+
5032
+ mx_setDefaultColumnClass (isGridGenerator) {
5033
+ return isGridGenerator ? 'col-6 col-xs-12 col-sm-4' : 'col-6'
5034
+ }
5035
+ }
5036
+ };
5037
+
5186
5038
  var script$l = {
5187
5039
  name: 'QasFormGenerator',
5188
5040
 
@@ -5290,6 +5142,124 @@ function render$l(_ctx, _cache, $props, $setup, $data, $options) {
5290
5142
  script$l.render = render$l;
5291
5143
  script$l.__file = "src/components/form-generator/QasFormGenerator.vue";
5292
5144
 
5145
+ var viewMixin = {
5146
+ props: {
5147
+ dialog: {
5148
+ type: Boolean
5149
+ },
5150
+
5151
+ entity: {
5152
+ required: true,
5153
+ type: String
5154
+ },
5155
+
5156
+ url: {
5157
+ default: '',
5158
+ type: String
5159
+ },
5160
+
5161
+ fields: {
5162
+ default: () => ({}),
5163
+ type: Object
5164
+ },
5165
+
5166
+ errors: {
5167
+ default: () => ({}),
5168
+ type: Object
5169
+ },
5170
+
5171
+ metadata: {
5172
+ default: () => ({}),
5173
+ type: Object
5174
+ },
5175
+
5176
+ fetching: {
5177
+ type: Boolean
5178
+ }
5179
+ },
5180
+
5181
+ emits: [
5182
+ 'update:fields',
5183
+ 'update:errors',
5184
+ 'update:metadata',
5185
+ 'update:fetching'
5186
+ ],
5187
+
5188
+ data () {
5189
+ return {
5190
+ mx_errors: {},
5191
+ mx_fields: {},
5192
+ mx_metadata: {},
5193
+
5194
+ mx_isFetching: false
5195
+ }
5196
+ },
5197
+
5198
+ watch: {
5199
+ mx_isFetching (value) {
5200
+ this.$emit('update:fetching', value);
5201
+ }
5202
+ },
5203
+
5204
+ computed: {
5205
+ mx_componentTag () {
5206
+ return this.dialog ? 'div' : 'q-page'
5207
+ },
5208
+
5209
+ mx_componentClass () {
5210
+ return !this.dialog && 'container spaced'
5211
+ },
5212
+
5213
+ mx_hasFooterSlot () {
5214
+ return !!(this.$slots.footer)
5215
+ },
5216
+
5217
+ mx_hasHeaderSlot () {
5218
+ return !!(this.$slots.header)
5219
+ }
5220
+ },
5221
+
5222
+ methods: {
5223
+ mx_fetchError (error) {
5224
+ const { response } = error;
5225
+ const exception = response?.data?.exception || error.message;
5226
+
5227
+ this.$qas.error('Ops! Erro ao obter os dados.', exception);
5228
+
5229
+ const status = response?.status;
5230
+ const redirect = ({ 403: 'Forbidden', 404: 'NotFound' })[status];
5231
+
5232
+ if (redirect) {
5233
+ this.$router.replace({ name: redirect });
5234
+ }
5235
+ },
5236
+
5237
+ mx_setErrors (errors = {}) {
5238
+ this.mx_errors = vue.markRaw(errors);
5239
+ },
5240
+
5241
+ mx_setFields (fields = {}) {
5242
+ for (const field in fields) {
5243
+ fields[field].name = humps.camelize(fields[field].name);
5244
+ }
5245
+
5246
+ this.mx_fields = vue.markRaw(fields);
5247
+ },
5248
+
5249
+ mx_setMetadata (metadata = {}) {
5250
+ this.mx_metadata = vue.markRaw(metadata);
5251
+ },
5252
+
5253
+ mx_updateModels (models) {
5254
+ for (const key in models) {
5255
+ if (!models[key]) continue
5256
+
5257
+ this.$emit(`update:${key}`, models[key]);
5258
+ }
5259
+ }
5260
+ }
5261
+ };
5262
+
5293
5263
  var script$k = {
5294
5264
  name: 'QasFormView',
5295
5265
 
@@ -5298,7 +5268,7 @@ var script$k = {
5298
5268
  QasDialog: script$x
5299
5269
  },
5300
5270
 
5301
- mixins: [viewMixin, screenMixin],
5271
+ mixins: [viewMixin],
5302
5272
 
5303
5273
  props: {
5304
5274
  cancelButton: {
@@ -5392,7 +5362,7 @@ var script$k = {
5392
5362
 
5393
5363
  computed: {
5394
5364
  cancelButtonClass () {
5395
- return this.mx_isSmall && 'order-last'
5365
+ return this.$qas.screen.isSmall && 'order-last'
5396
5366
  },
5397
5367
 
5398
5368
  fetchURL () {
@@ -5420,7 +5390,7 @@ var script$k = {
5420
5390
  },
5421
5391
 
5422
5392
  saveButtonClass () {
5423
- return this.mx_isSmall && 'order-first'
5393
+ return this.$qas.screen.isSmall && 'order-first'
5424
5394
  },
5425
5395
 
5426
5396
  isCancelButtonDisabled () {
@@ -5708,8 +5678,6 @@ script$k.__file = "src/components/form-view/QasFormView.vue";
5708
5678
  var script$j = {
5709
5679
  name: 'QasGallery',
5710
5680
 
5711
- mixins: [screenMixin],
5712
-
5713
5681
  props: {
5714
5682
  carouselNextIcon: {
5715
5683
  type: String,
@@ -5766,13 +5734,13 @@ var script$j = {
5766
5734
  return this.height || 'auto'
5767
5735
  }
5768
5736
 
5769
- return this.mx_isSmall ? '90px' : '120px'
5737
+ return this.$qas.screen.isSmall ? '90px' : '120px'
5770
5738
  },
5771
5739
 
5772
5740
  galleryColumnsClasses () {
5773
5741
  if (this.isSingleImage) return 'col-12'
5774
5742
 
5775
- return this.mx_isSmall ? 'col-6' : 'col-2'
5743
+ return this.$qas.screen.isSmall ? 'col-6' : 'col-2'
5776
5744
  },
5777
5745
 
5778
5746
  hideShowMore () {
@@ -5907,9 +5875,9 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
5907
5875
  modelValue: $data.imageIndex,
5908
5876
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($data.imageIndex) = $event)),
5909
5877
  animated: "",
5910
- arrows: !_ctx.mx_isSmall,
5878
+ arrows: !_ctx.$qas.screen.isSmall,
5911
5879
  "control-text-color": "primary",
5912
- fullscreen: _ctx.mx_isSmall,
5880
+ fullscreen: _ctx.$qas.screen.isSmall,
5913
5881
  height: $options.carouselImageHeight,
5914
5882
  "next-icon": $props.carouselNextIcon,
5915
5883
  "prev-icon": $props.carouselPreviousIcon,
@@ -5925,7 +5893,7 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
5925
5893
  name: index
5926
5894
  }, {
5927
5895
  default: vue.withCtx(() => [
5928
- (_ctx.mx_isSmall)
5896
+ (_ctx.$qas.screen.isSmall)
5929
5897
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
5930
5898
  vue.createVNode(_component_qas_btn, {
5931
5899
  dense: "",
@@ -6261,7 +6229,7 @@ var script$f = {
6261
6229
  }
6262
6230
  };
6263
6231
 
6264
- const _hoisted_1$b = { class: "qas-list-items shadow-primary" };
6232
+ const _hoisted_1$b = { class: "qas-list-items shadow-14" };
6265
6233
 
6266
6234
  function render$f(_ctx, _cache, $props, $setup, $data, $options) {
6267
6235
  const _component_q_item_section = vue.resolveComponent("q-item-section");
@@ -6479,7 +6447,7 @@ const _hoisted_2$7 = { class: "relative-position" };
6479
6447
  const _hoisted_3$4 = { key: 0 };
6480
6448
  const _hoisted_4$4 = { key: 1 };
6481
6449
  const _hoisted_5$3 = { class: "q-my-xl text-center" };
6482
- const _hoisted_6$1 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-grey-6" }, "Nenhum item encontrado.", -1 /* HOISTED */);
6450
+ const _hoisted_6$1 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-grey-7" }, "Nenhum item encontrado.", -1 /* HOISTED */);
6483
6451
  const _hoisted_7$1 = {
6484
6452
  key: 2,
6485
6453
  class: "q-py-lg text-center"
@@ -6527,7 +6495,7 @@ function render$e(_ctx, _cache, $props, $setup, $data, $options) {
6527
6495
  vue.createElementVNode("div", _hoisted_5$3, [
6528
6496
  vue.createVNode(_component_q_icon, {
6529
6497
  class: "q-mb-sm text-center",
6530
- color: "grey-6",
6498
+ color: "grey-7",
6531
6499
  name: "o_search",
6532
6500
  size: "38px"
6533
6501
  }),
@@ -7299,8 +7267,6 @@ var script$a = {
7299
7267
  QasGridGenerator: script$i
7300
7268
  },
7301
7269
 
7302
- mixins: [screenMixin],
7303
-
7304
7270
  props: {
7305
7271
  columns: {
7306
7272
  type: Object,
@@ -7341,7 +7307,7 @@ var script$a = {
7341
7307
 
7342
7308
  computed: {
7343
7309
  directionClasses () {
7344
- return this.mx_untilMedium ? 'col' : 'row items-center'
7310
+ return this.$qas.screen.untilMedium ? 'col' : 'row items-center'
7345
7311
  },
7346
7312
 
7347
7313
  userAvatarImage () {
@@ -7349,7 +7315,7 @@ var script$a = {
7349
7315
  },
7350
7316
 
7351
7317
  avatarSize () {
7352
- return this.mx_isSmall ? '145px' : '188px'
7318
+ return this.$qas.screen.isSmall ? '145px' : '188px'
7353
7319
  }
7354
7320
  },
7355
7321
 
@@ -7503,7 +7469,7 @@ function render$9(_ctx, _cache, $props, $setup, $data, $options) {
7503
7469
 
7504
7470
  return (vue.openBlock(), vue.createBlock(_component_q_img, {
7505
7471
  ratio: $options.ratio,
7506
- "spinner-color": "grey-6",
7472
+ "spinner-color": "grey-7",
7507
7473
  src: $options.imageSource
7508
7474
  }, {
7509
7475
  error: vue.withCtx(() => [
@@ -7930,8 +7896,6 @@ var script$6 = {
7930
7896
  QasSearchBox: script$8
7931
7897
  },
7932
7898
 
7933
- mixins: [screenMixin],
7934
-
7935
7899
  props: {
7936
7900
  deleteOnly: {
7937
7901
  type: Boolean
@@ -8037,9 +8001,9 @@ var script$6 = {
8037
8001
  const isSelected = this.values.includes(value);
8038
8002
 
8039
8003
  return {
8040
- dense: this.mx_isSmall,
8004
+ dense: this.$qas.screen.isSmall,
8041
8005
  hideLabelOnSmallScreen: true,
8042
- icon: !this.mx_isSmall ? undefined : isSelected ? 'o_close' : 'o_add',
8006
+ icon: !this.$qas.screen.isSmall ? undefined : isSelected ? 'o_close' : 'o_add',
8043
8007
  label: isSelected ? 'Remover' : 'Adicionar',
8044
8008
  outline: isSelected,
8045
8009
  size: 'sm'
@@ -8242,7 +8206,7 @@ const _hoisted_2$2 = {
8242
8206
  key: 2,
8243
8207
  class: "q-my-xl text-center"
8244
8208
  };
8245
- const _hoisted_3$1 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-grey-6" }, "Nenhum item encontrado.", -1 /* HOISTED */);
8209
+ const _hoisted_3$1 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-grey-7" }, "Nenhum item encontrado.", -1 /* HOISTED */);
8246
8210
  const _hoisted_4$1 = { key: 3 };
8247
8211
 
8248
8212
  function render$5(_ctx, _cache, $props, $setup, $data, $options) {
@@ -8265,7 +8229,7 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
8265
8229
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$2, [
8266
8230
  vue.createVNode(_component_q_icon, {
8267
8231
  class: "q-mb-sm text-center",
8268
- color: "grey-6",
8232
+ color: "grey-7",
8269
8233
  name: "o_search",
8270
8234
  size: "38px"
8271
8235
  }),
@@ -8440,8 +8404,6 @@ script$4.__file = "src/components/sortable/QasSortable.vue";
8440
8404
  var script$3 = {
8441
8405
  name: 'QasTableGenerator',
8442
8406
 
8443
- mixins: [screenMixin],
8444
-
8445
8407
  props: {
8446
8408
  columns: {
8447
8409
  default: () => [],
@@ -8568,7 +8530,7 @@ var script$3 = {
8568
8530
  },
8569
8531
 
8570
8532
  tableClass () {
8571
- return this.mx_isSmall && 'qas-table-generator--mobile'
8533
+ return this.$qas.screen.isSmall && 'qas-table-generator--mobile'
8572
8534
  },
8573
8535
 
8574
8536
  hasScrollOnGrab () {
@@ -8809,8 +8771,6 @@ var script$1 = {
8809
8771
  QasDialog: script$x
8810
8772
  },
8811
8773
 
8812
- mixins: [screenMixin],
8813
-
8814
8774
  props: {
8815
8775
  dialogProps: {
8816
8776
  type: Object,
@@ -8850,7 +8810,7 @@ var script$1 = {
8850
8810
 
8851
8811
  computed: {
8852
8812
  truncateTextClass () {
8853
- return (this.isTruncated || this.mx_isSmall) && 'ellipsis q-pr-sm'
8813
+ return (this.isTruncated || this.$qas.screen.isSmall) && 'ellipsis q-pr-sm'
8854
8814
  },
8855
8815
 
8856
8816
  isTruncated () {
@@ -8952,8 +8912,6 @@ var script = {
8952
8912
  QasSearchBox: script$8
8953
8913
  },
8954
8914
 
8955
- mixins: [screenMixin],
8956
-
8957
8915
  props: {
8958
8916
  emitValue: {
8959
8917
  type: Boolean
@@ -9011,15 +8969,15 @@ var script = {
9011
8969
 
9012
8970
  computed: {
9013
8971
  actionsClass () {
9014
- return !this.mx_isSmall && 'column'
8972
+ return !this.$qas.screen.isSmall && 'column'
9015
8973
  },
9016
8974
 
9017
8975
  gutterClass () {
9018
- return `q-col-gutter-${this.mx_untilLarge ? 'md' : 'xl'}`
8976
+ return `q-col-gutter-${this.$qas.screen.untilLarge ? 'md' : 'xl'}`
9019
8977
  },
9020
8978
 
9021
8979
  iconClass () {
9022
- return !this.mx_isSmall && 'qas-transfer__icon'
8980
+ return !this.$qas.screen.isSmall && 'qas-transfer__icon'
9023
8981
  },
9024
8982
 
9025
8983
  searchBoxProps () {
@@ -9276,7 +9234,7 @@ script.__file = "src/components/transfer/QasTransfer.vue";
9276
9234
 
9277
9235
  var name = "@bildvitta/quasar-ui-asteroid";
9278
9236
  var description = "Asteroid";
9279
- var version$1 = "3.0.0-beta.2";
9237
+ var version$1 = "3.0.0-beta.5";
9280
9238
  var author = "Bild & Vitta <systemteam@bild.com.br>";
9281
9239
  var license = "MIT";
9282
9240
  var main = "dist/asteroid.cjs.min.js";