@indielayer/ui 1.8.0 → 1.8.1

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.8.0";
1
+ declare const _default: "1.8.1";
2
2
  export default _default;
package/lib/version.js CHANGED
@@ -1,4 +1,4 @@
1
- const e = "1.8.0";
1
+ const e = "1.8.1";
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.8.0",
3
+ "version": "1.8.1",
4
4
  "description": "Indielayer UI Components with Tailwind CSS build for Vue 3",
5
5
  "author": {
6
6
  "name": "João Teixeira",
@@ -67,7 +67,7 @@ export default {
67
67
  </script>
68
68
 
69
69
  <script setup lang="ts">
70
- import { ref, watch, type PropType, type ExtractPublicPropTypes, computed, nextTick, onMounted } from 'vue'
70
+ import { ref, watch, type PropType, type ExtractPublicPropTypes, computed, nextTick } from 'vue'
71
71
  import { onClickOutside, useEventListener } from '@vueuse/core'
72
72
  import { useTheme, type ThemeComponent } from '../../composables/useTheme'
73
73
  import { useFocusTrap } from '../../composables/useFocusTrap'
@@ -132,8 +132,17 @@ async function checkVisibiliy() {
132
132
 
133
133
  if (typeof window !== 'undefined') useEventListener(document, 'keydown', onKeyDown)
134
134
 
135
+ const shouldIgnoreEvent = (event: KeyboardEvent) => {
136
+ return ['.v-popper__popper', '.x-datepicker'].some((target) => {
137
+ if (typeof target === 'string') {
138
+ return Array.from(window.document.querySelectorAll(target))
139
+ .some((el) => el === event.target || event.composedPath().includes(el))
140
+ }
141
+ })
142
+ }
143
+
135
144
  function onKeyDown(event: KeyboardEvent) {
136
- if (event.key === 'Escape' && value.value && !props.persistent) close()
145
+ if (event.key === 'Escape' && !shouldIgnoreEvent(event) && value.value && !props.persistent) close()
137
146
  }
138
147
 
139
148
  function clickOutsideCallback() {
@@ -432,7 +432,13 @@ defineExpose({ focus, blur, reset, validate, setError })
432
432
  <x-popover-container :class="classes.content">
433
433
  <slot name="content-header">
434
434
  <div v-if="filterable" :class="classes.search">
435
- <x-input ref="filterRef" v-model="filter" :placeholder="filterPlaceholder" size="sm"/>
435
+ <x-input
436
+ ref="filterRef"
437
+ v-model="filter"
438
+ :placeholder="filterPlaceholder"
439
+ skip-form-registry
440
+ size="sm"
441
+ />
436
442
  </div>
437
443
  </slot>
438
444
  <div v-if="internalOptions.length > 0" :class="classes.contentBody">
@@ -118,7 +118,8 @@ export const useInputtable = (props: any, { focus, emit, withListeners = true }:
118
118
  if (formGroup.isInsideFormGroup) {
119
119
  formGroup.registerInputGroup(nameInternal.value, focus)
120
120
  } else {
121
- form.registerInput(nameInternal.value, focus, validate, setError)
121
+ if (!props.skipFormRegistry)
122
+ form.registerInput(nameInternal.value, focus, validate, setError)
122
123
  }
123
124
  })
124
125
 
@@ -126,7 +127,8 @@ export const useInputtable = (props: any, { focus, emit, withListeners = true }:
126
127
  if (formGroup.isInsideFormGroup) {
127
128
  formGroup.unregisterInputGroup(nameInternal.value)
128
129
  } else {
129
- form.unregisterInput(nameInternal.value)
130
+ if (!props.skipFormRegistry)
131
+ form.unregisterInput(nameInternal.value)
130
132
  }
131
133
 
132
134
  })
@@ -136,7 +138,7 @@ export const useInputtable = (props: any, { focus, emit, withListeners = true }:
136
138
  errorInternal,
137
139
  hideFooterInternal,
138
140
  isFocused,
139
- isInsideForm: form.isInsideForm,
141
+ isInsideForm: props.skipFormRegistry ? false : form.isInsideForm,
140
142
  isInsideFormGroup: formGroup.isInsideFormGroup,
141
143
  inputListeners,
142
144
  formGroup,
@@ -174,4 +176,5 @@ useInputtable.props = () => ({
174
176
  default: () => [],
175
177
  },
176
178
  tooltip: String,
179
+ skipFormRegistry: Boolean,
177
180
  } as const)
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export default '1.8.0'
1
+ export default '1.8.1'