@indielayer/ui 1.14.3 → 1.14.4

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/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: "1.14.3";
1
+ declare const _default: "1.14.4";
2
2
  export default _default;
package/lib/version.js CHANGED
@@ -1,4 +1,4 @@
1
- const e = "1.14.3";
1
+ const e = "1.14.4";
2
2
  export {
3
3
  e as default
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indielayer/ui",
3
- "version": "1.14.3",
3
+ "version": "1.14.4",
4
4
  "description": "Indielayer UI Components with Tailwind CSS build for Vue 3",
5
5
  "author": {
6
6
  "name": "João Teixeira",
@@ -165,7 +165,7 @@ defineExpose({ focus, blur, toggle, reset, validate, setError })
165
165
  </svg>
166
166
  </slot>
167
167
  </div>
168
- <div :class="classes.label">
168
+ <div v-if="label || $slots.default" :class="classes.label">
169
169
  <span v-if="label" v-text="label"></span>
170
170
  <slot v-else></slot>
171
171
  </div>
@@ -106,9 +106,11 @@ watch(value, (val) => {
106
106
  }
107
107
  })
108
108
 
109
- watch(() => props.modelValue, checkVisibiliy, { immediate: true })
109
+ let initTrapTimeout: ReturnType<typeof setTimeout>
110
110
 
111
- async function checkVisibiliy() {
111
+ watch(() => props.modelValue, checkVisibility, { immediate: true })
112
+
113
+ async function checkVisibility() {
112
114
  const val = props.modelValue
113
115
 
114
116
  if (val) {
@@ -120,15 +122,16 @@ async function checkVisibiliy() {
120
122
 
121
123
  visible.value = val
122
124
 
123
- await nextTick()
124
-
125
- initFocusTrap(modalRef)
125
+ initTrapTimeout = setTimeout(() => {
126
+ initFocusTrap(modalRef)
127
+ }, 100)
126
128
 
127
129
  document.body.style.paddingRight = `${scrollbarWidth}px`
128
130
  document.body.style.overflow = 'hidden'
129
131
  } else {
130
132
  visible.value = val
131
133
  value.value = val
134
+ clearTimeout(initTrapTimeout)
132
135
  clearFocusTrap()
133
136
  document.body.style.paddingRight = ''
134
137
  document.body.style.overflow = 'auto'
@@ -547,7 +547,7 @@ defineExpose({ focus, blur, reset, validate, setError, filterRef })
547
547
  >+{{ hiddenTags }}</div>
548
548
  </div>
549
549
  </template>
550
- <template v-else-if="!internalMultiple && !isEmpty(selected)">
550
+ <template v-else-if="!internalMultiple && !isEmpty(selected) && getLabel(selected) !== ''">
551
551
  {{ getLabel(selected) }}
552
552
  </template>
553
553
 
@@ -6,7 +6,7 @@ const theme: TabTheme = {
6
6
  const c = ['transition-colors duration-150 ease-in-out whitespace-nowrap text-center']
7
7
 
8
8
  if (data.variant === 'line') c.push('py-2')
9
- if (data.variant === 'block') c.push('py-1.5 px-8')
9
+ if (data.variant === 'block') c.push('py-1 px-8')
10
10
 
11
11
  if (props.size === 'xs') c.push('text-xs')
12
12
  else if (props.size === 'sm') c.push('text-sm')
@@ -31,7 +31,13 @@ export function useFocusTrap() {
31
31
  }
32
32
 
33
33
  const handleKeydown = (event: KeyboardEvent) => {
34
- if (event.key !== 'Tab' || focusable.value.length === 0) return
34
+ if (event.key === 'Tab' && focusable.value.length === 0) {
35
+ event.preventDefault()
36
+
37
+ return
38
+ }
39
+
40
+ if (event.key !== 'Tab') return
35
41
 
36
42
  const isShiftPressed = event.shiftKey
37
43
  const currentEl = document.activeElement as HTMLElement | null
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export default '1.14.3'
1
+ export default '1.14.4'