@bildvitta/quasar-ui-asteroid 3.17.0-beta.7 → 3.17.0-beta.9

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bildvitta/quasar-ui-asteroid",
3
3
  "description": "Asteroid",
4
- "version": "3.17.0-beta.7",
4
+ "version": "3.17.0-beta.9",
5
5
  "author": "Bild & Vitta <systemteam@bild.com.br>",
6
6
  "license": "MIT",
7
7
  "main": "dist/asteroid.cjs.min.js",
@@ -263,9 +263,11 @@ export default {
263
263
  },
264
264
 
265
265
  parentComponentProps () {
266
+ const hasMinHeight = this.isFetching || this.hasDataSets
267
+
266
268
  return {
267
269
  class: 'relative-position',
268
- style: `min-height: ${this.hasDataSets ? this.height : 'auto'}`
270
+ style: `min-height: ${hasMinHeight ? this.height : 'auto'}`
269
271
  }
270
272
  },
271
273
 
@@ -1,7 +1,7 @@
1
1
  <template>
2
- <q-select v-model="model" v-bind="attributes" class="qas-select" :class="componentClasses" no-error-icon :outlined="false">
3
- <template v-if="isSearchable" #prepend>
4
- <q-icon name="sym_r_search" />
2
+ <q-select v-model="model" v-bind="attributes" class="qas-select" :class="componentClasses" no-error-icon>
3
+ <template v-if="hasIcon" #prepend>
4
+ <q-icon :name="defaultIcon" />
5
5
  </template>
6
6
 
7
7
  <template #no-option>
@@ -77,6 +77,11 @@ export default {
77
77
 
78
78
  mixins: [searchFilterMixin],
79
79
 
80
+ inject: {
81
+ isBox: { default: false },
82
+ isDialog: { default: false }
83
+ },
84
+
80
85
  props: {
81
86
  badgeProps: {
82
87
  default: () => ({}),
@@ -88,6 +93,11 @@ export default {
88
93
  type: Object
89
94
  },
90
95
 
96
+ icon: {
97
+ type: String,
98
+ default: ''
99
+ },
100
+
91
101
  label: {
92
102
  type: String,
93
103
  default: ''
@@ -132,6 +142,10 @@ export default {
132
142
  useSearch: {
133
143
  type: Boolean,
134
144
  default: undefined
145
+ },
146
+
147
+ useFilterMode: {
148
+ type: Boolean
135
149
  }
136
150
  },
137
151
 
@@ -150,7 +164,7 @@ export default {
150
164
  clearable: this.isSearchable,
151
165
  emitValue: true,
152
166
  mapOptions: true,
153
- outlined: true,
167
+ outlined: this.useFilterMode,
154
168
  dense: true,
155
169
  dropdownIcon: 'sym_r_expand_more',
156
170
  clearIcon: 'sym_r_close',
@@ -188,6 +202,10 @@ export default {
188
202
  return this.hasFuse || this.useLazyLoading
189
203
  },
190
204
 
205
+ isBordered () {
206
+ return (this.isBox || this.isDialog) && this.useFilterMode
207
+ },
208
+
191
209
  hasError () {
192
210
  return this.mx_hasFetchError || this.$attrs.error
193
211
  },
@@ -235,7 +253,13 @@ export default {
235
253
  // redesign
236
254
  componentClasses () {
237
255
  return {
238
- 'qas-select--has-icon': this.isSearchable || this.hasAppend,
256
+ ...(this.useFilterMode && {
257
+ 'qas-select--filter rounded-borders': true,
258
+ 'shadow-2': !this.isBordered,
259
+ bordered: this.isBordered
260
+ }),
261
+
262
+ 'qas-select--has-icon': this.hasAppend || this.hasIcon,
239
263
  'qas-select--closed': !this.isPopupContentOpen,
240
264
  'qas-select--loading': this.hasLoading
241
265
  }
@@ -251,6 +275,14 @@ export default {
251
275
 
252
276
  hasAppend () {
253
277
  return !!this.$slots.append
278
+ },
279
+
280
+ defaultIcon () {
281
+ return this.icon || 'sym_r_search'
282
+ },
283
+
284
+ hasIcon () {
285
+ return this.isSearchable || !!this.icon
254
286
  }
255
287
  },
256
288
 
@@ -429,6 +461,12 @@ export default {
429
461
  }
430
462
  }
431
463
 
464
+ &--filter {
465
+ .q-field__control:before {
466
+ border: 0;
467
+ }
468
+ }
469
+
432
470
  &__menu {
433
471
  .q-item {
434
472
  font-weight: 400 !important;
@@ -35,6 +35,11 @@ props:
35
35
  keys: [label, value]
36
36
  threshold: 0.4
37
37
 
38
+ icon:
39
+ desc: Ícone da esquerda.
40
+ type: String
41
+ default: ''
42
+
38
43
  label:
39
44
  desc: Label do componente.
40
45
  type: String
@@ -44,15 +44,15 @@
44
44
  &--focused.q-field--labeled {
45
45
  transition: transform var(--qas-generic-transition), font-size var(--qas-generic-transition);
46
46
 
47
- .q-field__label {
47
+ &:not(&.qas-select--filter):not(&.qas-select--has-icon) .q-field__label {
48
48
  transform: translateY(-10px) scale(0.85) !important;
49
49
  }
50
50
 
51
- .q-field__prepend {
52
- transition: transform var(--qas-generic-transition);
53
- transform: translateY(6px) !important;
51
+ &.qas-select--filter:not(&.qas-select--has-icon) .q-field__label {
52
+ transform: translateY(-8px) scale(0.85) !important;
54
53
  }
55
54
 
55
+ .q-field__prepend,
56
56
  .q-field__append {
57
57
  transition: transform var(--qas-generic-transition);
58
58
  transform: translateY(6px) !important;
@@ -65,8 +65,8 @@
65
65
 
66
66
  &--float.qas-numeric-input--has-icon,
67
67
  &--focused.qas-numeric-input--has-icon,
68
- &--float.qas-select--has-icon,
69
- &--focused.qas-select--has-icon,
68
+ &--float.qas-select--has-icon:not(.qas-select--filter),
69
+ &--focused.qas-select--has-icon:not(.qas-select--filter),
70
70
  &--float.qas-input--has-icon,
71
71
  &--focused.qas-input--has-icon {
72
72
  .q-field__label {
@@ -74,6 +74,13 @@
74
74
  }
75
75
  }
76
76
 
77
+ &--float.qas-select--has-icon.qas-select--filter,
78
+ &--focused.qas-select--has-icon.qas-select--filter {
79
+ .q-field__label {
80
+ transform: translate(-24px, -8px) scale(0.85) !important;
81
+ }
82
+ }
83
+
77
84
  &--outlined .q-field__control {
78
85
  background-color: white;
79
86
  border-radius: $generic-border-radius;