@bildvitta/quasar-ui-asteroid 3.17.0-beta.24 → 3.17.0-beta.25

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.24",
4
+ "version": "3.17.0-beta.25",
5
5
  "author": "Bild & Vitta <systemteam@bild.com.br>",
6
6
  "license": "MIT",
7
7
  "main": "dist/asteroid.cjs.min.js",
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div ref="expansionItem" class="full-width qas-expansion-item" :class="classes" v-bind="expansionProps.parent">
3
- <component :is="component.is" class="qas-expansion-item__box" v-bind="boxProps">
3
+ <qas-box class="qas-expansion-item__box" v-bind="boxProps">
4
4
  <q-expansion-item v-model="modelValue" v-bind="expansionProps.item" header-class="text-bold q-mt-sm q-pa-none qas-expansion-item__header" @show="setShowContent">
5
5
  <template #header>
6
6
  <div class="full-width justify-between no-wrap row">
@@ -28,17 +28,13 @@
28
28
  </div>
29
29
  </template>
30
30
 
31
- <q-separator v-if="hasHeaderSeparator" class="q-my-md" />
32
-
33
31
  <div :class="contentClasses">
34
32
  <slot v-if="showContent" name="content">
35
33
  <qas-grid-generator v-if="hasGridGenerator" use-inline v-bind="gridGeneratorProps" />
36
34
  </slot>
37
35
  </div>
38
-
39
- <q-separator v-if="hasBottomSeparator" class="q-mt-md" />
40
36
  </q-expansion-item>
41
- </component>
37
+ </qas-box>
42
38
 
43
39
  <div v-if="hasError" class="q-pt-sm qas-expansion-item__error-message text-caption text-negative">
44
40
  {{ props.errorMessage }}
@@ -49,7 +45,7 @@
49
45
  <script setup>
50
46
  import QasBox from '../box/QasBox.vue'
51
47
 
52
- import { computed, provide, inject, onMounted, ref, useAttrs } from 'vue'
48
+ import { computed, provide, inject, ref, useAttrs } from 'vue'
53
49
 
54
50
  defineOptions({
55
51
  name: 'QasExpansionItem',
@@ -97,11 +93,6 @@ const props = defineProps({
97
93
  maxContentHeight: {
98
94
  type: String,
99
95
  default: ''
100
- },
101
-
102
- useHeaderSeparator: {
103
- type: Boolean,
104
- default: undefined
105
96
  }
106
97
  })
107
98
 
@@ -116,37 +107,18 @@ const slots = defineSlots()
116
107
 
117
108
  // refs
118
109
  const expansionItem = ref(null)
119
- const hasNextSibling = ref(false)
120
110
  const showContent = ref(false)
121
111
 
122
- onMounted(setHasNextSibling)
123
-
124
112
  // constants
125
113
  const isNestedExpansionItem = inject('isExpansionItem', false)
126
114
  const isNestedBox = inject('isBox', false)
127
115
 
128
- const component = {
129
- is: isNestedExpansionItem ? 'div' : QasBox
130
- }
131
-
132
116
  // computed
133
117
  const hasBadges = computed(() => !!props.badges.length)
134
118
  const hasError = computed(() => props.error || !!props.errorMessage)
135
119
  const hasGridGenerator = computed(() => !!Object.keys(props.gridGeneratorProps).length)
136
- const hasBottomSeparator = computed(() => isNestedExpansionItem && hasNextSibling.value)
137
120
  const hasHeaderBottom = computed(() => !!slots['header-bottom'])
138
121
 
139
- /**
140
- * Verifica se o componente deve adicionar um separador no header.
141
- *
142
- * - Se a propriedade useHeaderSeparator for true, retorna separador.
143
- * - Se a propriedade useHeaderSeparator for undefined, retorna separador apenas se não for um componente aninhado.
144
- * - Se a propriedade useHeaderSeparator for false, não retorna separador.
145
- */
146
- const hasHeaderSeparator = computed(() => {
147
- return typeof props.useHeaderSeparator === 'undefined' ? !isNestedExpansionItem : props.useHeaderSeparator
148
- })
149
-
150
122
  const classes = computed(() => {
151
123
  return {
152
124
  'qas-expansion-item--error': hasError.value,
@@ -157,8 +129,7 @@ const classes = computed(() => {
157
129
 
158
130
  const contentClasses = computed(() => {
159
131
  return {
160
- 'q-mt-sm': isNestedExpansionItem,
161
- 'q-mt-md': !isNestedExpansionItem && !props.useHeaderSeparator,
132
+ 'q-mt-md': true,
162
133
  'qas-expansion-item__content overflow-auto': !!props.maxContentHeight
163
134
  }
164
135
  })
@@ -196,10 +167,10 @@ const expansionProps = computed(() => {
196
167
 
197
168
  const boxProps = computed(() => {
198
169
  /**
199
- * Caso o QasExpansionItem estiver dentro de um QasBox e não for um QasExpansionItem
170
+ * Caso o QasExpansionItem estiver dentro de um QasBox ou for um QasExpansionItem
200
171
  * dentro de outro QasExpansionItem, o componente terá uma borda.
201
172
  */
202
- const isBoxed = isNestedBox && !isNestedExpansionItem
173
+ const isBoxed = isNestedBox || isNestedExpansionItem
203
174
 
204
175
  if (!isBoxed) return {}
205
176
 
@@ -212,20 +183,6 @@ const boxProps = computed(() => {
212
183
  const isDisabled = computed(() => props.disable || props.disableButton)
213
184
 
214
185
  // functions
215
-
216
- /**
217
- * Caso o componente esteja dentro de um QasExpansionItem, verifica se existe um próximo irmão
218
- * para adicionar um separador.
219
- */
220
- function setHasNextSibling () {
221
- if (!isNestedExpansionItem) return
222
-
223
- const hasTextContentSibling = !!expansionItem.value.nextSibling?.textContent?.trim?.()
224
- const hasElementSibling = !!expansionItem.value.nextElementSibling
225
-
226
- hasNextSibling.value = hasElementSibling || hasTextContentSibling
227
- }
228
-
229
186
  function setShowContent () {
230
187
  showContent.value = true
231
188
  }
@@ -49,11 +49,6 @@ props:
49
49
  desc: Propriedades que serão repassadas para o QasGridGenerator.
50
50
  type: Object
51
51
 
52
- use-header-separator:
53
- desc: Propriedade para forçar o QSeparator no header.
54
- type: Boolean
55
- default: undefined
56
-
57
52
  slots:
58
53
  header:
59
54
  desc: Slot para substituir o conteúdo do header (não inclui o botão dropdown).