@bildvitta/quasar-ui-asteroid 3.0.0-beta.3 → 3.0.0-beta.6

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 (66) hide show
  1. package/dist/api/QasAppMenu.json +4 -0
  2. package/dist/api/QasBtn.json +1 -1
  3. package/dist/asteroid.cjs.css +1 -1
  4. package/dist/asteroid.cjs.js +42 -37
  5. package/dist/asteroid.cjs.min.js +2 -2
  6. package/dist/asteroid.esm.css +1 -1
  7. package/dist/asteroid.esm.js +43 -38
  8. package/dist/asteroid.esm.min.js +2 -2
  9. package/dist/asteroid.umd.css +1 -1
  10. package/dist/asteroid.umd.js +42 -37
  11. package/dist/asteroid.umd.min.js +2 -2
  12. package/dist/vetur/asteroid-attributes.json +5 -1
  13. package/dist/vetur/asteroid-tags.json +1 -0
  14. package/package.json +1 -1
  15. package/src/assets/gear.svg +27 -0
  16. package/src/components/actions-menu/QasActionsMenu.vue +2 -2
  17. package/src/components/app-bar/QasAppBar.vue +2 -2
  18. package/src/components/app-menu/QasAppMenu.vue +7 -3
  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 +2 -2
  22. package/src/components/btn/QasBtn.yml +1 -1
  23. package/src/components/card/QasCard.vue +1 -1
  24. package/src/components/copy/QasCopy.vue +1 -1
  25. package/src/components/filters/QasFilters.vue +2 -2
  26. package/src/components/list-items/QasListItems.vue +1 -1
  27. package/src/components/list-view/QasListView.vue +2 -2
  28. package/src/components/resizer/QasResizer.vue +1 -1
  29. package/src/components/signature-pad/QasSignaturePad.vue +1 -1
  30. package/src/components/single-view/QasSingleView.vue +2 -2
  31. package/src/components/uploader/QasUploader.vue +2 -2
  32. package/src/composables/index.js +1 -1
  33. package/src/composables/{useHistory.js → use-history.js} +0 -0
  34. package/src/css/components/base.scss +3 -0
  35. package/src/css/components/field.scss +4 -0
  36. package/src/css/components/index.scss +4 -0
  37. package/src/css/components/radio.scss +3 -0
  38. package/src/css/components/tabs.scss +3 -0
  39. package/src/css/mixins/index.scss +1 -0
  40. package/src/css/{set-brand.scss → mixins/set-brand.scss} +0 -0
  41. package/src/css/{background.scss → utils/background.scss} +0 -0
  42. package/src/css/{border-radius.scss → utils/border-radius.scss} +0 -0
  43. package/src/css/{border.scss → utils/border.scss} +0 -0
  44. package/src/css/{container.scss → utils/container.scss} +0 -0
  45. package/src/css/{fonts.scss → utils/fonts.scss} +0 -0
  46. package/src/css/utils/index.scss +9 -0
  47. package/src/css/{line-height.scss → utils/line-height.scss} +0 -0
  48. package/src/css/{opacity.scss → utils/opacity.scss} +0 -0
  49. package/src/css/{text.scss → utils/text.scss} +0 -0
  50. package/src/css/{unset.scss → utils/unset.scss} +0 -0
  51. package/src/css/variables/button.scss +3 -0
  52. package/src/css/variables/index.scss +3 -0
  53. package/src/css/variables/shadow.scss +33 -0
  54. package/src/css/variables/typography.scss +139 -0
  55. package/src/index.scss +11 -13
  56. package/src/pages/ErrorComponent.vue +56 -0
  57. package/src/pages/Forbidden.vue +19 -5
  58. package/src/pages/NotFound.vue +19 -5
  59. package/src/pages/ServerError.vue +23 -0
  60. package/src/assets/logo-modular.svg +0 -1
  61. package/src/composables/useForm.js +0 -3
  62. package/src/css/design-system/button.scss +0 -6
  63. package/src/css/design-system/index.scss +0 -2
  64. package/src/css/design-system/typography.scss +0 -91
  65. package/src/css/design-system.scss +0 -18
  66. package/src/css/shadow.scss +0 -7
@@ -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"
@@ -120,7 +124,7 @@
120
124
  "type": "string"
121
125
  },
122
126
  "qas-btn/hide-label-on-small-screen": {
123
- "description": "Esconde o rótulo (label) do botão quando o tamanho da tela for pequeno.",
127
+ "description": "Esconde o rótulo (label) do botão quando o tamanho da tela for pequeno (esta propriedade só funciona se o \"rotulo\") for passado via propriedade \"label\".",
124
128
  "type": "boolean"
125
129
  },
126
130
  "qas-btn/label": {
@@ -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."
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.3",
4
+ "version": "3.0.0-beta.6",
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>
@@ -3,7 +3,7 @@
3
3
  <q-menu class="qas-actions-menu__menu">
4
4
  <q-list class="qas-actions-menu__list" separator>
5
5
  <slot v-for="(item, key) in list" :item="item" :name="key">
6
- <q-item :key="key" class="text-bold text-primary" clickable v-bind="item.props" @click="onClick(item)">
6
+ <q-item :key="key" class="text-primary" clickable v-bind="item.props" @click="onClick(item)">
7
7
  <q-item-section>
8
8
  <div class="flex items-center justify-center q-gutter-x-md">
9
9
  <q-icon :name="item.icon" size="sm" />
@@ -15,7 +15,7 @@
15
15
 
16
16
  <qas-delete v-if="hasDelete" v-bind="deleteProps" class="text-negative" clickable tag="q-item" @success="onDeleteSuccess">
17
17
  <q-item-section>
18
- <div class="flex items-center justify-center q-gutter-x-sm text-bold">
18
+ <div class="flex items-center justify-center q-gutter-x-sm">
19
19
  <q-icon :name="deleteIcon" size="sm" />
20
20
  <div>{{ deleteLabel }}</div>
21
21
  </div>
@@ -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,9 +35,8 @@
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>
@@ -65,6 +64,11 @@ export default {
65
64
  type: String
66
65
  },
67
66
 
67
+ brandMenu: {
68
+ default: '',
69
+ type: String
70
+ },
71
+
68
72
  modules: {
69
73
  default: () => [],
70
74
  type: Array
@@ -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
  }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <q-btn color="primary" no-caps unelevated v-bind="attributes">
3
- <slot v-if="showLabel" />
3
+ <slot />
4
4
 
5
5
  <template v-for="(_, name) in slots" #[name]="context">
6
6
  <slot :name="name" v-bind="context || {}" />
@@ -32,7 +32,7 @@ export default {
32
32
  },
33
33
 
34
34
  hasLabel () {
35
- return !!(this.label || this.$slots.default)
35
+ return !!this.label
36
36
  },
37
37
 
38
38
  showLabel () {
@@ -8,7 +8,7 @@ meta:
8
8
 
9
9
  props:
10
10
  hide-label-on-small-screen:
11
- desc: Esconde o rótulo (label) do botão quando o tamanho da tela for pequeno.
11
+ desc: Esconde o rótulo (label) do botão quando o tamanho da tela for pequeno (esta propriedade só funciona se o "rotulo") for passado via propriedade "label".
12
12
  type: Boolean
13
13
 
14
14
  label:
@@ -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>
@@ -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 () {
@@ -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>
@@ -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>
@@ -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>
@@ -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">
@@ -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) {
@@ -1 +1 @@
1
- export { default as useHistory } from './useHistory.js'
1
+ export { default as useHistory } from './use-history.js'
@@ -0,0 +1,3 @@
1
+ body {
2
+ background-color: $background-color;
3
+ }
@@ -0,0 +1,4 @@
1
+ .q-field--outlined .q-field__inner {
2
+ background-color: white;
3
+ border-radius: $generic-border-radius;
4
+ }
@@ -0,0 +1,4 @@
1
+ @import './base';
2
+ @import './field';
3
+ @import './radio';
4
+ @import './tabs';
@@ -0,0 +1,3 @@
1
+ .q-radio__inner::before {
2
+ color: $primary;
3
+ }
@@ -0,0 +1,3 @@
1
+ .q-tabs__arrow {
2
+ color: $primary;
3
+ }
@@ -0,0 +1 @@
1
+ @import './set-brand';
File without changes
File without changes
File without changes
@@ -0,0 +1,9 @@
1
+ @import './background';
2
+ @import './border';
3
+ @import './border-radius';
4
+ @import './container';
5
+ @import './fonts';
6
+ @import './line-height';
7
+ @import './opacity';
8
+ @import './text';
9
+ @import './unset';
File without changes
File without changes
File without changes
@@ -0,0 +1,3 @@
1
+ $button-font-size: 0.875rem;
2
+ $button-line-height: 1.5rem;
3
+ $button-font-weight: 500;
@@ -0,0 +1,3 @@
1
+ @import './button';
2
+ @import './shadow';
3
+ @import './typography';
@@ -0,0 +1,33 @@
1
+ $shadow-color: $accent;
2
+
3
+ $elevation-umbra: $shadow-color;
4
+ $elevation-penumbra: $shadow-color;
5
+ $elevation-ambient: $shadow-color;
6
+
7
+ // Embossed
8
+ $shadow-2: (
9
+ 0 1px 5px $elevation-umbra,
10
+ 0 2px 2px $elevation-penumbra,
11
+ 0 3px 1px -2px $elevation-ambient
12
+ );
13
+
14
+ // Shallow
15
+ $shadow-6: (
16
+ 0 3px 5px -1px $elevation-umbra,
17
+ 0 6px 10px $elevation-penumbra,
18
+ 0 1px 18px $elevation-ambient
19
+ );
20
+
21
+ // Overhead
22
+ $shadow-14: (
23
+ 0 7px 9px -4px $elevation-umbra,
24
+ 0 14px 21px 2px $elevation-penumbra,
25
+ 0 5px 26px 4px $elevation-ambient
26
+ );
27
+
28
+ // levite
29
+ $shadow-20: (
30
+ 0 10px 13px -6px $elevation-umbra,
31
+ 0 20px 31px 3px $elevation-penumbra,
32
+ 0 8px 38px 7px $elevation-ambient
33
+ );
@@ -0,0 +1,139 @@
1
+ // Definições seguindo:
2
+ // https://www.figma.com/file/JfDthOZoULYMlRJM2IQ8Oi/Design-System?node-id=665%3A163
3
+
4
+ // Quasar:
5
+ // https://github.com/quasarframework/quasar/blob/dev/ui/src/css/variables.sass
6
+ // https://github.com/quasarframework/quasar/blob/dev/ui/src/css/core/typography.sass
7
+
8
+ @use 'sass:map';
9
+
10
+ // headings
11
+ $h1: (
12
+ size: 6rem,
13
+ line-height: 6rem,
14
+ letter-spacing: 0,
15
+ weight: 800,
16
+ margin: 0
17
+ );
18
+
19
+ $h2: (
20
+ size: 3.75rem,
21
+ line-height: 3.75rem,
22
+ letter-spacing: 0,
23
+ weight: 700,
24
+ margin: 0
25
+ );
26
+
27
+ $h3: (
28
+ size: 3rem,
29
+ line-height: 2.5rem,
30
+ letter-spacing: 0,
31
+ weight: 600,
32
+ margin: 0
33
+ );
34
+
35
+ $h4: (
36
+ size: 2.125rem,
37
+ line-height: 2.5rem,
38
+ letter-spacing: 0,
39
+ weight: 800,
40
+ margin: 0
41
+ );
42
+
43
+ $h5: (
44
+ size: 1.5rem,
45
+ line-height: 2rem,
46
+ letter-spacing: 0,
47
+ weight: 700,
48
+ margin: 0
49
+ );
50
+
51
+ $h6: (
52
+ size: 1.25rem,
53
+ line-height: 2rem,
54
+ letter-spacing: 0,
55
+ weight: 600,
56
+ margin: 0
57
+ );
58
+
59
+ // subtitles
60
+ $subtitle1: (
61
+ size: 1rem,
62
+ line-height: 1.75rem,
63
+ letter-spacing: 0,
64
+ weight: 700
65
+ );
66
+
67
+ $subtitle2: (
68
+ size: 0.875rem,
69
+ line-height: 1.375rem,
70
+ letter-spacing: 0,
71
+ weight: 600
72
+ );
73
+
74
+ // body
75
+ $body1: (
76
+ size: 1rem,
77
+ line-height: 1.5rem,
78
+ letter-spacing: 0,
79
+ weight: 500
80
+ );
81
+
82
+ $body2: (
83
+ size: 0.875rem,
84
+ line-height: 1.25rem,
85
+ letter-spacing: 0,
86
+ weight: 400
87
+ );
88
+
89
+ // overline
90
+ $overline: (
91
+ size: 0.75rem,
92
+ line-height: 2rem,
93
+ letter-spacing: 0.25rem,
94
+ weight: 600
95
+ );
96
+
97
+ // caption
98
+ $caption: (
99
+ size: 0.75rem,
100
+ line-height: 1.25rem,
101
+ letter-spacing: 0,
102
+ weight: 700
103
+ );
104
+
105
+ $headings: (
106
+ 'h1': $h1,
107
+ 'h2': $h2,
108
+ 'h3': $h3,
109
+ 'h4': $h4,
110
+ 'h5': $h5,
111
+ 'h6': $h6,
112
+ 'subtitle1': $subtitle1,
113
+ 'subtitle2': $subtitle2,
114
+ 'body1': $body1,
115
+ 'body2': $body2,
116
+ 'overline': $overline,
117
+ 'caption': $caption
118
+ );
119
+
120
+ // adiciona tags com mesmo estilo do css
121
+ $h-tags: (
122
+ h1: map.get($headings, 'h1'),
123
+ h2: map.get($headings, 'h2'),
124
+ h3: map.get($headings, 'h3'),
125
+ h4: map.get($headings, 'h4'),
126
+ h5: map.get($headings, 'h5'),
127
+ h6: map.get($headings, 'h6')
128
+ );
129
+
130
+ // sobrescreve as tags do html para adicionar "margin"
131
+ @each $heading, $value in $h-tags {
132
+ #{$heading} {
133
+ font-size: map.get($value, 'size');
134
+ font-weight: map.get($value, 'weight');
135
+ letter-spacing: map.get($value, 'letter-spacing');
136
+ line-height: map.get($value, 'line-height');
137
+ margin: map.get($value, 'margin');
138
+ }
139
+ }
package/src/index.scss CHANGED
@@ -5,6 +5,7 @@ $primary: var(--q-primary);
5
5
  $primary-contrast: var(--q-primary-contrast);
6
6
  $secondary: var(--q-secondary);
7
7
  $secondary-contrast: var(--q-secondary-contrast);
8
+ $accent: var(--q-accent);
8
9
 
9
10
  // Asteroid variables
10
11
  :root {
@@ -15,17 +16,14 @@ $secondary-contrast: var(--q-secondary-contrast);
15
16
  $background-color: var(--qas-background-color);
16
17
  $generic-border-radius: var(--qas-generic-border-radius);
17
18
 
18
- @import './css/background';
19
- @import './css/border';
20
- @import './css/border-radius';
21
- @import './css/container';
22
- @import './css/fonts';
23
- @import './css/line-height';
24
- @import './css/opacity';
25
- @import './css/shadow';
26
- @import './css/text';
27
- @import './css/unset';
19
+ // variables
20
+ @import './css/variables/index';
28
21
 
29
- // Design System
30
- @import './css/design-system';
31
- @import './css/design-system/index';
22
+ // components
23
+ @import './css/components/index';
24
+
25
+ // utils
26
+ @import './css/utils/index';
27
+
28
+ // mixins
29
+ @import './css/mixins/index'
@@ -0,0 +1,56 @@
1
+ <template>
2
+ <div class="column error-component items-center justify-around q-px-xl">
3
+ <div class="column full-width items-center justify-center q-gutter-md q-py-md row">
4
+ <q-img src="../assets/gear.svg" :width="gearSize" />
5
+ <div class="text-bold text-h1 text-primary">{{ code }}</div>
6
+ <div class="text-bold text-center text-grey-9 text-h6">{{ title }}</div>
7
+ <div v-if="subtitle" class="text-bold text-center text-grey-9 text-subtitle2">{{ subtitle }}</div>
8
+ <qas-btn v-if="hasButtonProps" class="text-bold text-primary" v-bind="buttonProps" />
9
+ </div>
10
+ </div>
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ name: 'ErrorComponent',
16
+
17
+ props: {
18
+ buttonProps: {
19
+ type: Object,
20
+ default: () => ({})
21
+ },
22
+
23
+ code: {
24
+ type: String,
25
+ required: true
26
+ },
27
+
28
+ subtitle: {
29
+ type: String,
30
+ default: ''
31
+ },
32
+
33
+ title: {
34
+ type: String,
35
+ required: true
36
+ }
37
+ },
38
+
39
+ computed: {
40
+ gearSize () {
41
+ return this.$qas.screen.isSmall ? '90px' : '160px'
42
+ },
43
+
44
+ hasButtonProps () {
45
+ return !!Object.keys(this.buttonProps).length
46
+ }
47
+ }
48
+ }
49
+ </script>
50
+
51
+ <style lang="scss">
52
+ .error-component {
53
+ background-color: var(--qas-background-color);
54
+ min-height: 100vh;
55
+ }
56
+ </style>