@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
@@ -71,6 +71,10 @@
71
71
  "description": "Título que vai ficar no label do select de módulos.",
72
72
  "type": "string"
73
73
  },
74
+ "qas-app-menu/brand-menu": {
75
+ "description": "Imagem para ser usada como logo no menu.",
76
+ "type": "string"
77
+ },
74
78
  "qas-app-menu/modules": {
75
79
  "description": "Lista de módulos que o usuário tem acesso para navegar.",
76
80
  "type": "array"
@@ -123,6 +127,10 @@
123
127
  "description": "Esconde o rótulo (label) do botão quando o tamanho da tela for pequeno.",
124
128
  "type": "boolean"
125
129
  },
130
+ "qas-btn/label": {
131
+ "description": "Rótulo do botão.",
132
+ "type": "string"
133
+ },
126
134
  "qas-card/bg-image-position": {
127
135
  "description": "Posição da imagem \"background-position\".",
128
136
  "type": "string"
@@ -39,6 +39,7 @@
39
39
  "model-value",
40
40
  "items",
41
41
  "title",
42
+ "brand-menu",
42
43
  "modules"
43
44
  ],
44
45
  "description": "Menu lateral."
@@ -71,7 +72,8 @@
71
72
  },
72
73
  "qas-btn": {
73
74
  "attributes": [
74
- "hide-label-on-small-screen"
75
+ "hide-label-on-small-screen",
76
+ "label"
75
77
  ],
76
78
  "description": "O mesmo botão do Quasar (QBtn), mas com o nosso estilo, tem acesso a todas propriedades do componente do quasar. Tem a função de criar gatilhos para ações. Eles podem ser utilizados isoladamente ou ​​como parte de outros componentes de padrões maiores, como formulários, caixas de diálogo e feedbacks."
77
79
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bildvitta/quasar-ui-asteroid",
3
3
  "description": "Asteroid",
4
- "version": "3.0.0-beta.2",
4
+ "version": "3.0.0-beta.5",
5
5
  "author": "Bild & Vitta <systemteam@bild.com.br>",
6
6
  "license": "MIT",
7
7
  "main": "dist/asteroid.cjs.min.js",
@@ -0,0 +1,27 @@
1
+ <?xml version='1.0' encoding='utf-8'?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 100 100">
3
+ <g>
4
+ <path id="small" fill="#424242" d="m86.6 10.3v-0.1c-1.5-2-3.3-3.7-5.4-5.3v0.1c-1.7 1.3-3.4 2.7-5 4.1-0.7-0.4-1.3-0.7-1.9-1-0.8-0.4-1.6-0.8-2.5-1-0.3-0.1-0.6-0.2-0.9-0.2-0.2-2.2-0.4-4.4-0.7-6.6-1-0.2-2-0.2-3.1-0.3h-1.6c-1 0.1-1.9 0.1-2.8 0.3-0.3 2.1-0.5 4.3-0.6 6.5-0.4 0-0.7 0.1-1.1 0.2-0.1 0-0.2 0-0.3 0.1-0.8 0.2-1.6 0.6-2.4 1-0.7 0.3-1.3 0.6-1.9 1-1.7-1.4-3.3-2.7-5-4.1l-0.1-0.1c-0.4 0.3-0.8 0.6-1.1 0.9-0.7 0.5-1.3 1.1-1.8 1.7-0.9 0.8-1.6 1.8-2.4 2.8h0.1c1.3 1.7 2.7 3.3 4.1 5-0.4 0.6-0.8 1.3-1.1 1.9-0.4 0.8-0.7 1.7-0.9 2.5-0.2 0.4-0.3 0.8-0.3 1.1-2.2 0.2-4.4 0.4-6.5 0.7-0.2 1-0.3 2-0.3 3.1 0 1.5 0.1 3 0.4 4.4 2.1 0.2 4.2 0.4 6.4 0.6 0 0.4 0.1 0.8 0.3 1.1 0.2 0.9 0.5 1.7 0.9 2.6 0.4 0.7 0.7 1.4 1.2 2-1.4 1.7-2.8 3.3-4.1 5 1.5 2.1 3.3 3.9 5.4 5.4v-0.1c1.6-1.3 3.3-2.7 4.9-4.1h0.1c0.5 0.3 1.1 0.6 1.6 0.9 0.9 0.4 1.9 0.8 2.8 1 0.4 0.1 0.7 0.2 1 0.3 0.2 2.1 0.4 4.3 0.7 6.5 0.9 0.1 1.8 0.2 2.8 0.2h1.5c1.1 0 2.2-0.1 3.3-0.3 0.2-2.1 0.4-4.3 0.6-6.5 0.3-0.1 0.6-0.2 0.9-0.3 0.9-0.2 1.7-0.5 2.5-0.9 0.7-0.3 1.4-0.7 2.1-1.2 0 0.1 0 0.1 0.1 0.1 1.6 1.4 3.3 2.8 5 4.1 0.3-0.2 0.6-0.4 1-0.7 0.6-0.5 1.2-1.1 1.7-1.7 0.9-0.9 1.8-1.9 2.6-3-1.4-1.7-2.8-3.4-4.2-5v-0.1c0.3-0.5 0.6-1.1 0.9-1.7 0.3-0.8 0.7-1.6 0.9-2.4 0-0.1 0-0.2 0.1-0.2 0-0.4 0.1-0.7 0.2-0.9 2.2-0.2 4.4-0.4 6.5-0.6 0.2-1 0.2-2 0.3-3v-1.7c-0.1-1-0.1-2-0.3-3-2.1-0.2-4.3-0.4-6.5-0.6-0.1-0.3-0.2-0.6-0.2-0.9-0.3-0.9-0.6-1.8-1-2.7-0.3-0.6-0.7-1.3-1-1.9 1.3-1.6 2.7-3.3 4.1-5zm-26.7 8.3c1.8-1.9 4-2.8 6.5-2.7 2.6-0.1 4.7 0.8 6.6 2.7 1.8 1.8 2.7 4 2.7 6.5 0 2.6-0.9 4.7-2.7 6.6-1.9 1.8-4 2.7-6.6 2.7-2.5 0-4.7-0.9-6.5-2.7-1.8-1.9-2.7-4-2.7-6.6 0-2.5 0.9-4.7 2.7-6.5z"></path>
5
+ <path fill="#424242" d="m66.5 17.2c-2.2 0-4 0.8-5.6 2.3-1.5 1.6-2.3 3.4-2.3 5.6s0.8 4 2.3 5.6c1.6 1.6 3.4 2.4 5.6 2.4s4-0.8 5.6-2.4 2.3-3.4 2.3-5.6-0.7-4-2.3-5.6c-1.6-1.5-3.4-2.3-5.6-2.3zm-4.2 3.7c1.2-1.1 2.6-1.7 4.2-1.7s3 0.6 4.2 1.7c1.2 1.2 1.7 2.5 1.7 4.2s-0.5 3.1-1.7 4.2c-1.2 1.2-2.6 1.8-4.2 1.8s-3-0.6-4.2-1.8c-1.1-1.1-1.7-2.5-1.7-4.2 0-1.6 0.6-3 1.7-4.2z"/>
6
+ <animateTransform
7
+ attributeName="transform"
8
+ attributeType="XML"
9
+ type="rotate"
10
+ from="360 66 25.1"
11
+ to="0 66 25.1"
12
+ dur="6s"
13
+ repeatCount="indefinite"/>
14
+ </g>
15
+ <g>
16
+ <path id="big" fill="#424242" d="m40.8 33.6c-0.4-0.2-0.7-0.3-1-0.3-1.2-0.3-2.4-0.5-3.6-0.7-1.1 2.7-2 5.3-2.9 7.9h-1.8c-1.2 0.1-2.3 0.2-3.4 0.4-0.9 0.1-1.8 0.4-2.7 0.7-1.6-2.3-3.3-4.6-4.9-6.8l-0.1-0.1c-0.6 0.2-1.2 0.4-1.7 0.7-1 0.4-1.9 0.9-2.8 1.5-1.4 0.7-2.7 1.6-3.9 2.7v0.1c1.2 2.5 2.3 5 3.5 7.5-0.7 0.7-1.3 1.3-1.9 2.1-0.8 0.8-1.5 1.8-2.1 2.8-0.3 0.4-0.5 0.8-0.7 1.3-2.8-0.5-5.6-1-8.4-1.4-0.5 1.2-1 2.4-1.4 3.7-0.4 2-0.8 3.9-1 5.8l7.8 3v1.4c0 1.1 0.1 2.3 0.4 3.5 0.1 1 0.4 2 0.7 3-2.3 1.6-4.5 3.2-6.8 4.9 1.2 3 2.9 5.8 4.9 8.4h0.1c2.5-1.2 5-2.3 7.6-3.5 0.6 0.6 1.2 1.1 1.8 1.7 0.9 0.8 2 1.5 3.2 2.2 0.3 0.2 0.7 0.4 1.1 0.7-0.5 2.7-0.9 5.5-1.3 8.3 1.1 0.5 2.2 0.9 3.4 1.2 0.3 0.1 0.9 0.3 1.9 0.5 1.4 0.4 2.8 0.6 4.1 0.8 1.1-2.7 2.1-5.3 3-8h1.3c1.2 0 2.3-0.1 3.4-0.3 1-0.2 2-0.5 3-0.8 0 0 0 0.1 0.1 0.1 1.6 2.3 3.3 4.6 4.9 6.9 0.5-0.3 1-0.5 1.4-0.7 1-0.4 1.9-0.9 2.8-1.4 1.5-0.9 2.9-1.9 4.2-3-1.1-2.6-2.3-5.1-3.5-7.7 0.6-0.6 1.1-1.2 1.7-1.8 0.7-0.9 1.4-1.9 2-2.8 0-0.1 0.1-0.2 0.1-0.3 0.2-0.3 0.4-0.7 0.6-1 2.8 0.5 5.6 0.9 8.4 1.4 0.5-1.2 0.9-2.4 1.3-3.7 0.1-0.3 0.2-0.6 0.3-1 0.1-0.3 0.1-0.6 0.3-1 0.2-1.3 0.5-2.6 0.6-3.8-2.6-1.1-5.3-2-7.9-3v-1.2c0-1.2-0.1-2.5-0.4-3.7-0.1-0.9-0.4-1.8-0.6-2.7 2.3-1.6 4.6-3.3 6.8-5h0.1c-1.2-3-2.8-5.8-5-8.4-2.6 1.1-5.1 2.3-7.6 3.5-0.7-0.7-1.4-1.4-2.1-2-0.9-0.7-1.8-1.4-2.8-1.9-0.3-0.3-0.7-0.5-1-0.7 0.4-2.8 0.9-5.6 1.3-8.4-1.2-0.5-2.5-1-3.8-1.4-0.3-0.1-0.7-0.2-1-0.2zm-18.6 37.4c-1.7-2.9-2.1-5.9-1.2-9.1 0.8-3.2 2.7-5.6 5.6-7.3 2.8-1.6 5.9-2 9-1.2 3.2 0.9 5.7 2.7 7.3 5.6 1.7 2.9 2.1 5.9 1.2 9.1-0.8 3.2-2.7 5.6-5.5 7.2-3 1.7-6 2.1-9.1 1.2-3.2-0.8-5.7-2.7-7.3-5.5z"></path>
17
+ <path fill="#424242" d="m22.8 62.4c-0.8 2.7-0.5 5.3 0.9 7.7h0.1c1.4 2.5 3.5 4 6.2 4.8 2.7 0.7 5.3 0.4 7.8-1 2.5-1.5 4-3.5 4.8-6.2v-0.1c0.7-2.7 0.3-5.3-1.1-7.7-1.4-2.5-3.5-4.1-6.2-4.8-2.7-0.8-5.4-0.4-7.8 1-2.5 1.4-4 3.5-4.7 6.3zm6-4c1.9-1.1 3.8-1.4 5.8-0.8 2 0.5 3.6 1.7 4.7 3.6 1.1 1.8 1.3 3.8 0.8 5.8-0.6 2-1.8 3.6-3.6 4.6v0.1c-1.9 1-3.8 1.3-5.8 0.7-2.1-0.5-3.6-1.7-4.7-3.6-1-1.8-1.3-3.7-0.8-5.8 0.6-2 1.8-3.5 3.6-4.6z" />
18
+ <animateTransform
19
+ attributeName="transform"
20
+ attributeType="XML"
21
+ type="rotate"
22
+ from="0 32.5 65"
23
+ to="360 32.5 65"
24
+ dur="6s"
25
+ repeatCount="indefinite"/>
26
+ </g>
27
+ </svg>
@@ -11,13 +11,9 @@
11
11
  </template>
12
12
 
13
13
  <script>
14
- import { screenMixin } from '../../mixins'
15
-
16
14
  export default {
17
15
  name: 'QasActions',
18
16
 
19
- mixins: [screenMixin],
20
-
21
17
  props: {
22
18
  align: {
23
19
  default: 'end',
@@ -37,7 +33,7 @@ export default {
37
33
  return [
38
34
  `justify-${this.align}`,
39
35
  `q-col-gutter-${this.gutter}`,
40
- this.mx_isSmall ? 'column reverse' : 'row'
36
+ this.$qas.screen.isSmall ? 'column reverse' : 'row'
41
37
  ]
42
38
  }
43
39
  }
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <q-header class="bg-white qas-app-bar shadow-primary" height-hint="70">
2
+ <q-header class="bg-white qas-app-bar shadow-14" height-hint="70">
3
3
  <q-toolbar class="qas-app-bar__toolbar" color="bg-white">
4
4
  <q-ajax-bar color="white" position="top" size="2px" />
5
5
 
@@ -30,7 +30,7 @@
30
30
  <div class="ellipsis text-bold">{{ user.email }}</div>
31
31
  </div>
32
32
 
33
- <q-menu anchor="bottom end" class="shadow-primary" max-height="400px" :offset="[0, 5]" self="top end">
33
+ <q-menu anchor="bottom end" class="shadow-14" max-height="400px" :offset="[0, 5]" self="top end">
34
34
  <div class="qas-app-bar__user-menu">
35
35
  <div class="q-pa-lg text-center">
36
36
  <button class="unset" @click="goToProfile">
@@ -35,23 +35,19 @@
35
35
  </q-list>
36
36
  </div>
37
37
 
38
- <div class="q-mx-md">
39
- <!-- TODO: O Modular não é o Asteroid, então não podemos manter esse logo aqui. -->
40
- <img v-if="!isMini" alt="Modular" class="block q-mb-md q-mx-auto" src="../../assets/logo-modular.svg">
38
+ <div v-if="brandMenu" class="q-mx-md">
39
+ <img v-if="!isMini" :alt="title" class="block q-mb-md q-mx-auto" :src="brandMenu">
41
40
  </div>
42
41
  </div>
43
42
  </q-drawer>
44
43
  </template>
45
44
 
46
45
  <script>
47
- import { screenMixin } from '../../mixins'
48
46
  import { isLocalDevelopment } from '../../helpers'
49
47
 
50
48
  export default {
51
49
  name: 'QasAppMenu',
52
50
 
53
- mixins: [screenMixin],
54
-
55
51
  props: {
56
52
  items: {
57
53
  default: () => [],
@@ -68,6 +64,11 @@ export default {
68
64
  type: String
69
65
  },
70
66
 
67
+ brandMenu: {
68
+ default: '',
69
+ type: String
70
+ },
71
+
71
72
  modules: {
72
73
  default: () => [],
73
74
  type: Array
@@ -153,7 +154,7 @@ export default {
153
154
  },
154
155
 
155
156
  beforeHide () {
156
- if (this.mx_isLarge) {
157
+ if (this.$qas.screen.isLarge) {
157
158
  this.model = true
158
159
  this.miniMode = !this.miniMode
159
160
  }
@@ -18,6 +18,10 @@ props:
18
18
  desc: Título que vai ficar no label do select de módulos.
19
19
  type: String
20
20
 
21
+ brand-menu:
22
+ desc: Imagem para ser usada como logo no menu.
23
+ type: String
24
+
21
25
  modules:
22
26
  desc: Lista de módulos que o usuário tem acesso para navegar.
23
27
  type: Array
@@ -22,7 +22,7 @@ export default {
22
22
  boxClass () {
23
23
  return {
24
24
  'border-primary-contrast': this.outlined,
25
- 'shadow-primary': !this.unelevated
25
+ 'shadow-14': !this.unelevated
26
26
  }
27
27
  }
28
28
  }
@@ -9,35 +9,34 @@
9
9
  </template>
10
10
 
11
11
  <script>
12
- import { screenMixin } from '../../mixins'
13
-
14
12
  export default {
15
13
  name: 'QasBtn',
16
14
 
17
- mixins: [screenMixin],
18
-
19
15
  props: {
20
16
  hideLabelOnSmallScreen: {
21
17
  type: Boolean
18
+ },
19
+
20
+ label: {
21
+ type: String,
22
+ default: ''
22
23
  }
23
24
  },
24
25
 
25
26
  computed: {
26
27
  attributes () {
27
- const { label, ...attributes } = this.$attrs
28
-
29
28
  return {
30
- ...(this.showLabel && { label }),
31
- ...attributes
29
+ ...(this.showLabel && { label: this.label }),
30
+ ...this.$attrs
32
31
  }
33
32
  },
34
33
 
35
34
  hasLabel () {
36
- return !!(this.$attrs.label || this.$slots.default)
35
+ return !!(this.label || this.$slots.default)
37
36
  },
38
37
 
39
38
  showLabel () {
40
- return this.hasLabel && !(this.hideLabelOnSmallScreen && this.mx_isSmall)
39
+ return this.hasLabel && !(this.hideLabelOnSmallScreen && this.$qas.screen.isSmall)
41
40
  },
42
41
 
43
42
  slots () {
@@ -10,4 +10,7 @@ props:
10
10
  hide-label-on-small-screen:
11
11
  desc: Esconde o rótulo (label) do botão quando o tamanho da tela for pequeno.
12
12
  type: Boolean
13
- default: 'false'
13
+
14
+ label:
15
+ desc: Rótulo do botão.
16
+ type: String
@@ -71,7 +71,7 @@ export default {
71
71
  },
72
72
 
73
73
  cardClasses () {
74
- return this.formMode ? 'bg-white border-primary no-shadow' : 'box-shadow-1'
74
+ return this.formMode ? 'bg-white border-primary no-shadow' : 'shadow-14'
75
75
  },
76
76
 
77
77
  gutterClass () {
@@ -2,7 +2,7 @@
2
2
  <span>
3
3
  <slot>{{ text }}</slot>
4
4
 
5
- <qas-btn class="q-ml-xs" color="grey-5" flat :icon="icon" :loading="isLoading" round :size="size" @click="copy">
5
+ <qas-btn class="q-ml-xs" color="grey-7" flat :icon="icon" :loading="isLoading" round :size="size" @click="copy">
6
6
  <q-tooltip>Copiar</q-tooltip>
7
7
  </qas-btn>
8
8
  </span>
@@ -39,8 +39,6 @@
39
39
  import QasBtn from '../btn/QasBtn.vue'
40
40
  import QasActions from '../actions/QasActions.vue'
41
41
 
42
- import screenMixin from '../../mixins/screen'
43
-
44
42
  export default {
45
43
  name: 'QasDialog',
46
44
 
@@ -49,8 +47,6 @@ export default {
49
47
  QasActions
50
48
  },
51
49
 
52
- mixins: [screenMixin],
53
-
54
50
  props: {
55
51
  actionsProps: {
56
52
  default: () => ({}),
@@ -133,8 +129,8 @@ export default {
133
129
 
134
130
  style () {
135
131
  return {
136
- maxWidth: this.maxWidth || (this.mx_isSmall ? '' : '600px'),
137
- minWidth: this.minWidth || (this.mx_isSmall ? '' : '400px')
132
+ maxWidth: this.maxWidth || (this.$qas.screen.isSmall ? '' : '600px'),
133
+ minWidth: this.minWidth || (this.$qas.screen.isSmall ? '' : '400px')
138
134
  }
139
135
  },
140
136
 
@@ -41,7 +41,7 @@
41
41
  </div>
42
42
 
43
43
  <div v-if="useChip && hasActiveFilters" class="q-mt-md">
44
- <q-chip v-for="(filterItem, key) in activeFilters" :key="key" color="grey-4" dense removable size="md" text-color="grey-8" @remove="removeFilter(filterItem)">{{ filterItem.label }} = "{{ getChipValue(filterItem.value) }}"</q-chip>
44
+ <q-chip v-for="(filterItem, key) in activeFilters" :key="key" color="primary" dense removable size="md" text-color="white" @remove="removeFilter(filterItem)">{{ filterItem.label }} = "{{ getChipValue(filterItem.value) }}"</q-chip>
45
45
  </div>
46
46
 
47
47
  <slot :context="mx_context" :filter="filter" :filters="activeFilters" :remove-filter="removeFilter" />
@@ -150,7 +150,7 @@ export default {
150
150
  },
151
151
 
152
152
  filterButtonColor () {
153
- return this.hasActiveFilters ? 'primary' : 'grey-8'
153
+ return this.hasActiveFilters ? 'primary' : 'grey-9'
154
154
  },
155
155
 
156
156
  filterButtonLabel () {
@@ -42,7 +42,7 @@ import { NotifyError, NotifySuccess } from '../../plugins'
42
42
  import QasBtn from '../btn/QasBtn.vue'
43
43
  import QasDialog from '../dialog/QasDialog.vue'
44
44
 
45
- import { viewMixin, screenMixin } from '../../mixins'
45
+ import { viewMixin } from '../../mixins'
46
46
 
47
47
  export default {
48
48
  name: 'QasFormView',
@@ -52,7 +52,7 @@ export default {
52
52
  QasDialog
53
53
  },
54
54
 
55
- mixins: [viewMixin, screenMixin],
55
+ mixins: [viewMixin],
56
56
 
57
57
  props: {
58
58
  cancelButton: {
@@ -146,7 +146,7 @@ export default {
146
146
 
147
147
  computed: {
148
148
  cancelButtonClass () {
149
- return this.mx_isSmall && 'order-last'
149
+ return this.$qas.screen.isSmall && 'order-last'
150
150
  },
151
151
 
152
152
  fetchURL () {
@@ -174,7 +174,7 @@ export default {
174
174
  },
175
175
 
176
176
  saveButtonClass () {
177
- return this.mx_isSmall && 'order-first'
177
+ return this.$qas.screen.isSmall && 'order-first'
178
178
  },
179
179
 
180
180
  isCancelButtonDisabled () {
@@ -17,9 +17,9 @@
17
17
  </div>
18
18
  </template>
19
19
  <template #description>
20
- <q-carousel v-model="imageIndex" animated :arrows="!mx_isSmall" control-text-color="primary" :fullscreen="mx_isSmall" :height="carouselImageHeight" :next-icon="carouselNextIcon" :prev-icon="carouselPreviousIcon" swipeable :thumbnails="showThumbnails">
20
+ <q-carousel v-model="imageIndex" animated :arrows="!$qas.screen.isSmall" control-text-color="primary" :fullscreen="$qas.screen.isSmall" :height="carouselImageHeight" :next-icon="carouselNextIcon" :prev-icon="carouselPreviousIcon" swipeable :thumbnails="showThumbnails">
21
21
  <q-carousel-slide v-for="(image, index) in clonedImages" :key="index" class="bg-no-repeat bg-size-contain" :img-src="image" :name="index">
22
- <div v-if="mx_isSmall" class="full-width justify-end row">
22
+ <div v-if="$qas.screen.isSmall" class="full-width justify-end row">
23
23
  <qas-btn dense flat icon="o_close" @click="toggleCarouselDialog" />
24
24
  </div>
25
25
  </q-carousel-slide>
@@ -31,13 +31,9 @@
31
31
  </template>
32
32
 
33
33
  <script>
34
- import screenMixin from '../../mixins/screen'
35
-
36
34
  export default {
37
35
  name: 'QasGallery',
38
36
 
39
- mixins: [screenMixin],
40
-
41
37
  props: {
42
38
  carouselNextIcon: {
43
39
  type: String,
@@ -94,13 +90,13 @@ export default {
94
90
  return this.height || 'auto'
95
91
  }
96
92
 
97
- return this.mx_isSmall ? '90px' : '120px'
93
+ return this.$qas.screen.isSmall ? '90px' : '120px'
98
94
  },
99
95
 
100
96
  galleryColumnsClasses () {
101
97
  if (this.isSingleImage) return 'col-12'
102
98
 
103
- return this.mx_isSmall ? 'col-6' : 'col-2'
99
+ return this.$qas.screen.isSmall ? 'col-6' : 'col-2'
104
100
  },
105
101
 
106
102
  hideShowMore () {
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="qas-list-items shadow-primary">
2
+ <div class="qas-list-items shadow-14">
3
3
  <q-list bordered class="rounded-borders" separator>
4
4
  <q-item v-for="(item, index) in list" :key="index" v-ripple :clickable="!redirectOnIcon" :to="redirect(item)">
5
5
  <slot :index="index" :item="item" name="item">
@@ -17,8 +17,8 @@
17
17
  <div v-else-if="!mx_isFetching">
18
18
  <slot name="empty-results">
19
19
  <div class="q-my-xl text-center">
20
- <q-icon class="q-mb-sm text-center" color="grey-6" name="o_search" size="38px" />
21
- <div class="text-grey-6">Nenhum item encontrado.</div>
20
+ <q-icon class="q-mb-sm text-center" color="grey-7" name="o_search" size="38px" />
21
+ <div class="text-grey-7">Nenhum item encontrado.</div>
22
22
  </div>
23
23
  </slot>
24
24
  </div>
@@ -25,7 +25,6 @@
25
25
 
26
26
  <script>
27
27
  import filterObject from '../../helpers/filter-object'
28
- import screenMixin from '../../mixins/screen'
29
28
 
30
29
  import QasAvatar from '../avatar/QasAvatar.vue'
31
30
  import QasBox from '../box/QasBox.vue'
@@ -40,8 +39,6 @@ export default {
40
39
  QasGridGenerator
41
40
  },
42
41
 
43
- mixins: [screenMixin],
44
-
45
42
  props: {
46
43
  columns: {
47
44
  type: Object,
@@ -82,7 +79,7 @@ export default {
82
79
 
83
80
  computed: {
84
81
  directionClasses () {
85
- return this.mx_untilMedium ? 'col' : 'row items-center'
82
+ return this.$qas.screen.untilMedium ? 'col' : 'row items-center'
86
83
  },
87
84
 
88
85
  userAvatarImage () {
@@ -90,7 +87,7 @@ export default {
90
87
  },
91
88
 
92
89
  avatarSize () {
93
- return this.mx_isSmall ? '145px' : '188px'
90
+ return this.$qas.screen.isSmall ? '145px' : '188px'
94
91
  }
95
92
  },
96
93
 
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <q-img :ratio="ratio" spinner-color="grey-6" :src="imageSource">
2
+ <q-img :ratio="ratio" spinner-color="grey-7" :src="imageSource">
3
3
  <template #error>
4
4
  <div class="absolute-full bg-grey-2 flex flex-center text-grey">⚠︎</div>
5
5
  </template>
@@ -24,7 +24,6 @@
24
24
 
25
25
  <script>
26
26
  import { sortBy } from 'lodash-es'
27
- import { screenMixin } from '../../mixins'
28
27
 
29
28
  import QasBtn from '../btn/QasBtn.vue'
30
29
  import QasSearchBox from '../search-box/QasSearchBox.vue'
@@ -37,8 +36,6 @@ export default {
37
36
  QasSearchBox
38
37
  },
39
38
 
40
- mixins: [screenMixin],
41
-
42
39
  props: {
43
40
  deleteOnly: {
44
41
  type: Boolean
@@ -144,9 +141,9 @@ export default {
144
141
  const isSelected = this.values.includes(value)
145
142
 
146
143
  return {
147
- dense: this.mx_isSmall,
144
+ dense: this.$qas.screen.isSmall,
148
145
  hideLabelOnSmallScreen: true,
149
- icon: !this.mx_isSmall ? undefined : isSelected ? 'o_close' : 'o_add',
146
+ icon: !this.$qas.screen.isSmall ? undefined : isSelected ? 'o_close' : 'o_add',
150
147
  label: isSelected ? 'Remover' : 'Adicionar',
151
148
  outline: isSelected,
152
149
  size: 'sm'
@@ -116,7 +116,7 @@ export default {
116
116
  <style lang="scss">
117
117
  .qas-signature-pad {
118
118
  &__canvas {
119
- border: 1px solid $grey-3;
119
+ border: 1px solid $separator-color;
120
120
  }
121
121
  }
122
122
  </style>
@@ -38,7 +38,6 @@
38
38
  import QasDialog from '../dialog/QasDialog.vue'
39
39
  import QasUploader from '../uploader/QasUploader.vue'
40
40
  import QasSignaturePad from '../signature-pad/QasSignaturePad.vue'
41
- import { screenMixin } from '../../mixins'
42
41
  import { base64ToBlob } from '../../helpers'
43
42
  import { NotifyError } from '../../plugins'
44
43
 
@@ -51,8 +50,6 @@ export default {
51
50
  QasSignaturePad
52
51
  },
53
52
 
54
- mixins: [screenMixin],
55
-
56
53
  props: {
57
54
  dialogProps: {
58
55
  type: Object,
@@ -118,18 +115,18 @@ export default {
118
115
 
119
116
  signaturePadWidth () {
120
117
  const sizes = {
121
- [this.mx_isSmall]: { width: '100%' },
122
- [this.mx_isMedium]: { width: '570px' },
123
- [this.mx_isLarge]: { width: '350px' }
118
+ [this.$qas.screen.isSmall]: { width: '100%' },
119
+ [this.$qas.screen.isMedium]: { width: '570px' },
120
+ [this.$qas.screen.isLarge]: { width: '350px' }
124
121
  }
125
122
  return sizes.true
126
123
  },
127
124
 
128
125
  signaturePadHeight () {
129
126
  const sizes = {
130
- [this.mx_isSmall]: '250',
131
- [this.mx_isMedium]: '400',
132
- [this.mx_isLarge]: '250'
127
+ [this.$qas.screen.isSmall]: '250',
128
+ [this.$qas.screen.isMedium]: '400',
129
+ [this.$qas.screen.isLarge]: '250'
133
130
  }
134
131
 
135
132
  return sizes.true
@@ -9,8 +9,8 @@
9
9
  </template>
10
10
 
11
11
  <div v-else-if="!mx_isFetching" class="q-my-xl text-center">
12
- <q-icon class="q-mb-sm text-center" color="grey-6" name="o_search" size="38px" />
13
- <div class="text-grey-6">Nenhum item encontrado.</div>
12
+ <q-icon class="q-mb-sm text-center" color="grey-7" name="o_search" size="38px" />
13
+ <div class="text-grey-7">Nenhum item encontrado.</div>
14
14
  </div>
15
15
 
16
16
  <footer v-if="mx_hasFooterSlot">
@@ -16,13 +16,10 @@
16
16
  import { extend } from 'quasar'
17
17
  import { humanize } from '../../helpers/filters'
18
18
  import { setScrollOnGrab } from '../../helpers'
19
- import screenMixin from '../../mixins/screen'
20
19
 
21
20
  export default {
22
21
  name: 'QasTableGenerator',
23
22
 
24
- mixins: [screenMixin],
25
-
26
23
  props: {
27
24
  columns: {
28
25
  default: () => [],
@@ -149,7 +146,7 @@ export default {
149
146
  },
150
147
 
151
148
  tableClass () {
152
- return this.mx_isSmall && 'qas-table-generator--mobile'
149
+ return this.$qas.screen.isSmall && 'qas-table-generator--mobile'
153
150
  },
154
151
 
155
152
  hasScrollOnGrab () {
@@ -18,7 +18,6 @@
18
18
  </template>
19
19
 
20
20
  <script>
21
- import screenMixin from '../../mixins/screen'
22
21
  import QasDialog from '../dialog/QasDialog.vue'
23
22
 
24
23
  export default {
@@ -28,8 +27,6 @@ export default {
28
27
  QasDialog
29
28
  },
30
29
 
31
- mixins: [screenMixin],
32
-
33
30
  props: {
34
31
  dialogProps: {
35
32
  type: Object,
@@ -69,7 +66,7 @@ export default {
69
66
 
70
67
  computed: {
71
68
  truncateTextClass () {
72
- return (this.isTruncated || this.mx_isSmall) && 'ellipsis q-pr-sm'
69
+ return (this.isTruncated || this.$qas.screen.isSmall) && 'ellipsis q-pr-sm'
73
70
  },
74
71
 
75
72
  isTruncated () {
@@ -49,7 +49,6 @@
49
49
  </template>
50
50
 
51
51
  <script>
52
- import { screenMixin } from '../../mixins'
53
52
  import { extend } from 'quasar'
54
53
 
55
54
  import QasBtn from '../btn/QasBtn.vue'
@@ -65,8 +64,6 @@ export default {
65
64
  QasSearchBox
66
65
  },
67
66
 
68
- mixins: [screenMixin],
69
-
70
67
  props: {
71
68
  emitValue: {
72
69
  type: Boolean
@@ -124,15 +121,15 @@ export default {
124
121
 
125
122
  computed: {
126
123
  actionsClass () {
127
- return !this.mx_isSmall && 'column'
124
+ return !this.$qas.screen.isSmall && 'column'
128
125
  },
129
126
 
130
127
  gutterClass () {
131
- return `q-col-gutter-${this.mx_untilLarge ? 'md' : 'xl'}`
128
+ return `q-col-gutter-${this.$qas.screen.untilLarge ? 'md' : 'xl'}`
132
129
  },
133
130
 
134
131
  iconClass () {
135
- return !this.mx_isSmall && 'qas-transfer__icon'
132
+ return !this.$qas.screen.isSmall && 'qas-transfer__icon'
136
133
  },
137
134
 
138
135
  searchBoxProps () {
@@ -28,7 +28,7 @@
28
28
  <slot name="list" :scope="scope">
29
29
  <div class="col-12 q-col-gutter-md row">
30
30
  <div v-for="(file, index) in getFilesList(scope.files, scope)" :key="index" class="row" :class="itemClass">
31
- <qas-avatar class="q-mr-sm" color="grey-3" icon="o_attach_file" :image="file.image" rounded :text-color="getColorFileIcon(file)" />
31
+ <qas-avatar class="q-mr-sm" color="contrast-primary" icon="o_attach_file" :image="file.image" rounded :text-color="getColorFileIcon(file)" />
32
32
 
33
33
  <div class="col items-center no-wrap row">
34
34
  <div class="column no-wrap" :class="{ col: isMultiple }">
@@ -328,7 +328,7 @@ export default {
328
328
  },
329
329
 
330
330
  getFileNameClass (isFailed) {
331
- return isFailed ? 'text-negative' : 'text-grey-8'
331
+ return isFailed ? 'text-negative' : 'text-grey-9'
332
332
  },
333
333
 
334
334
  isFailed (file) {