@coreui/vue-pro 5.14.0 → 5.16.0

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 (127) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/calendar/CCalendar.js +67 -65
  3. package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
  4. package/dist/cjs/components/calendar/utils.d.ts +53 -2
  5. package/dist/cjs/components/calendar/utils.js +466 -43
  6. package/dist/cjs/components/calendar/utils.js.map +1 -1
  7. package/dist/cjs/components/date-range-picker/CDateRangePicker.js +86 -57
  8. package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
  9. package/dist/cjs/components/date-range-picker/utils.d.ts +0 -9
  10. package/dist/cjs/components/date-range-picker/utils.js +0 -38
  11. package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
  12. package/dist/cjs/components/dropdown/CDropdown.d.ts +32 -7
  13. package/dist/cjs/components/dropdown/CDropdown.js +67 -29
  14. package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
  15. package/dist/cjs/components/dropdown/CDropdownToggle.d.ts +19 -0
  16. package/dist/cjs/components/dropdown/CDropdownToggle.js +17 -2
  17. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  18. package/dist/cjs/components/dropdown/utils.d.ts +2 -0
  19. package/dist/cjs/components/dropdown/utils.js +13 -0
  20. package/dist/cjs/components/dropdown/utils.js.map +1 -1
  21. package/dist/cjs/components/focus-trap/CFocusTrap.d.ts +108 -0
  22. package/dist/cjs/components/focus-trap/CFocusTrap.js +254 -0
  23. package/dist/cjs/components/focus-trap/CFocusTrap.js.map +1 -0
  24. package/dist/cjs/components/focus-trap/index.d.ts +6 -0
  25. package/dist/cjs/components/focus-trap/index.js +13 -0
  26. package/dist/cjs/components/focus-trap/index.js.map +1 -0
  27. package/dist/cjs/components/focus-trap/utils.d.ts +28 -0
  28. package/dist/cjs/components/focus-trap/utils.js +83 -0
  29. package/dist/cjs/components/focus-trap/utils.js.map +1 -0
  30. package/dist/cjs/components/index.d.ts +1 -0
  31. package/dist/cjs/components/index.js +70 -66
  32. package/dist/cjs/components/index.js.map +1 -1
  33. package/dist/cjs/components/modal/CModal.d.ts +2 -2
  34. package/dist/cjs/components/modal/CModal.js +19 -27
  35. package/dist/cjs/components/modal/CModal.js.map +1 -1
  36. package/dist/cjs/components/modal/CModalHeader.js +4 -2
  37. package/dist/cjs/components/modal/CModalHeader.js.map +1 -1
  38. package/dist/cjs/components/nav/CNavItem.d.ts +2 -2
  39. package/dist/cjs/components/offcanvas/COffcanvas.js +3 -2
  40. package/dist/cjs/components/offcanvas/COffcanvas.js.map +1 -1
  41. package/dist/cjs/components/picker/CPicker.js +3 -2
  42. package/dist/cjs/components/picker/CPicker.js.map +1 -1
  43. package/dist/cjs/components/time-picker/CTimePicker.d.ts +45 -1
  44. package/dist/cjs/components/time-picker/CTimePicker.js +64 -8
  45. package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
  46. package/dist/cjs/components/time-picker/CTimePickerRollCol.d.ts +19 -7
  47. package/dist/cjs/components/time-picker/CTimePickerRollCol.js +80 -8
  48. package/dist/cjs/components/time-picker/CTimePickerRollCol.js.map +1 -1
  49. package/dist/cjs/components/time-picker/utils.d.ts +1 -1
  50. package/dist/cjs/composables/useDebouncedCallback.d.ts +1 -1
  51. package/dist/cjs/composables/useDebouncedCallback.js +1 -1
  52. package/dist/cjs/composables/useDebouncedCallback.js.map +1 -1
  53. package/dist/cjs/index.js +76 -72
  54. package/dist/cjs/index.js.map +1 -1
  55. package/dist/esm/components/calendar/CCalendar.js +67 -65
  56. package/dist/esm/components/calendar/CCalendar.js.map +1 -1
  57. package/dist/esm/components/calendar/utils.d.ts +53 -2
  58. package/dist/esm/components/calendar/utils.js +464 -44
  59. package/dist/esm/components/calendar/utils.js.map +1 -1
  60. package/dist/esm/components/date-range-picker/CDateRangePicker.js +86 -57
  61. package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
  62. package/dist/esm/components/date-range-picker/utils.d.ts +0 -9
  63. package/dist/esm/components/date-range-picker/utils.js +1 -38
  64. package/dist/esm/components/date-range-picker/utils.js.map +1 -1
  65. package/dist/esm/components/dropdown/CDropdown.d.ts +32 -7
  66. package/dist/esm/components/dropdown/CDropdown.js +69 -31
  67. package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
  68. package/dist/esm/components/dropdown/CDropdownToggle.d.ts +19 -0
  69. package/dist/esm/components/dropdown/CDropdownToggle.js +17 -2
  70. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  71. package/dist/esm/components/dropdown/utils.d.ts +2 -0
  72. package/dist/esm/components/dropdown/utils.js +13 -1
  73. package/dist/esm/components/dropdown/utils.js.map +1 -1
  74. package/dist/esm/components/focus-trap/CFocusTrap.d.ts +108 -0
  75. package/dist/esm/components/focus-trap/CFocusTrap.js +252 -0
  76. package/dist/esm/components/focus-trap/CFocusTrap.js.map +1 -0
  77. package/dist/esm/components/focus-trap/index.d.ts +6 -0
  78. package/dist/esm/components/focus-trap/index.js +10 -0
  79. package/dist/esm/components/focus-trap/index.js.map +1 -0
  80. package/dist/esm/components/focus-trap/utils.d.ts +28 -0
  81. package/dist/esm/components/focus-trap/utils.js +78 -0
  82. package/dist/esm/components/focus-trap/utils.js.map +1 -0
  83. package/dist/esm/components/index.d.ts +1 -0
  84. package/dist/esm/components/index.js +2 -0
  85. package/dist/esm/components/index.js.map +1 -1
  86. package/dist/esm/components/modal/CModal.d.ts +2 -2
  87. package/dist/esm/components/modal/CModal.js +19 -27
  88. package/dist/esm/components/modal/CModal.js.map +1 -1
  89. package/dist/esm/components/modal/CModalHeader.js +4 -2
  90. package/dist/esm/components/modal/CModalHeader.js.map +1 -1
  91. package/dist/esm/components/nav/CNavItem.d.ts +2 -2
  92. package/dist/esm/components/offcanvas/COffcanvas.js +3 -2
  93. package/dist/esm/components/offcanvas/COffcanvas.js.map +1 -1
  94. package/dist/esm/components/picker/CPicker.js +3 -2
  95. package/dist/esm/components/picker/CPicker.js.map +1 -1
  96. package/dist/esm/components/time-picker/CTimePicker.d.ts +45 -1
  97. package/dist/esm/components/time-picker/CTimePicker.js +64 -8
  98. package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
  99. package/dist/esm/components/time-picker/CTimePickerRollCol.d.ts +19 -7
  100. package/dist/esm/components/time-picker/CTimePickerRollCol.js +80 -8
  101. package/dist/esm/components/time-picker/CTimePickerRollCol.js.map +1 -1
  102. package/dist/esm/components/time-picker/utils.d.ts +1 -1
  103. package/dist/esm/composables/useDebouncedCallback.d.ts +1 -1
  104. package/dist/esm/composables/useDebouncedCallback.js +1 -1
  105. package/dist/esm/composables/useDebouncedCallback.js.map +1 -1
  106. package/dist/esm/index.js +2 -0
  107. package/dist/esm/index.js.map +1 -1
  108. package/package.json +5 -5
  109. package/src/components/calendar/CCalendar.ts +61 -70
  110. package/src/components/calendar/utils.ts +595 -47
  111. package/src/components/date-range-picker/CDateRangePicker.ts +131 -82
  112. package/src/components/date-range-picker/utils.ts +0 -58
  113. package/src/components/dropdown/CDropdown.ts +119 -52
  114. package/src/components/dropdown/CDropdownToggle.ts +18 -3
  115. package/src/components/dropdown/utils.ts +21 -0
  116. package/src/components/focus-trap/CFocusTrap.ts +303 -0
  117. package/src/components/focus-trap/index.ts +10 -0
  118. package/src/components/focus-trap/utils.ts +90 -0
  119. package/src/components/index.ts +1 -0
  120. package/src/components/modal/CModal.ts +32 -37
  121. package/src/components/modal/CModalHeader.ts +5 -3
  122. package/src/components/nav/CNavItem.ts +1 -1
  123. package/src/components/offcanvas/COffcanvas.ts +40 -36
  124. package/src/components/picker/CPicker.ts +58 -52
  125. package/src/components/time-picker/CTimePicker.ts +80 -22
  126. package/src/components/time-picker/CTimePickerRollCol.ts +87 -9
  127. package/src/composables/useDebouncedCallback.ts +1 -1
@@ -1,8 +1,9 @@
1
- import { defineComponent, ref, watch, provide, h } from 'vue';
1
+ import { defineComponent, ref, computed, watch, nextTick, onUnmounted, provide, h } from 'vue';
2
2
  import { usePopper } from '../../composables/usePopper.js';
3
3
  import getNextActiveElement from '../../utils/getNextActiveElement.js';
4
4
  import isRTL from '../../utils/isRTL.js';
5
- import { getPlacement } from './utils.js';
5
+ import { getPlacement, getReferenceElement } from './utils.js';
6
+ import { CFocusTrap } from '../focus-trap/CFocusTrap.js';
6
7
 
7
8
  const CDropdown = defineComponent({
8
9
  name: 'CDropdown',
@@ -109,6 +110,19 @@ const CDropdown = defineComponent({
109
110
  type: Boolean,
110
111
  default: true,
111
112
  },
113
+ /**
114
+ * Sets the reference element for positioning the Vue Dropdown Menu.
115
+ * - `toggle` - The Vue Dropdown Toggle button (default).
116
+ * - `parent` - The Vue Dropdown wrapper element.
117
+ * - `HTMLElement` - A custom HTML element.
118
+ * - `Ref` - A custom reference element.
119
+ *
120
+ * @since 5.7.0
121
+ */
122
+ reference: {
123
+ type: [String, Object],
124
+ default: 'toggle',
125
+ },
112
126
  /**
113
127
  * Generates dropdown menu using Teleport.
114
128
  *
@@ -153,12 +167,14 @@ const CDropdown = defineComponent({
153
167
  'show',
154
168
  ],
155
169
  setup(props, { slots, emit }) {
156
- const dropdownToggleRef = ref();
157
- const dropdownMenuRef = ref();
170
+ const dropdownRef = ref(null);
171
+ const dropdownMenuRef = ref(null);
172
+ const dropdownToggleRef = ref(null);
173
+ const pendingKeyDownEventRef = ref(null);
158
174
  const popper = ref(typeof props.alignment === 'object' ? false : props.popper);
159
175
  const visible = ref(props.visible);
160
176
  const { initPopper, destroyPopper } = usePopper();
161
- const popperConfig = {
177
+ const popperConfig = computed(() => ({
162
178
  modifiers: [
163
179
  {
164
180
  name: 'offset',
@@ -168,28 +184,44 @@ const CDropdown = defineComponent({
168
184
  },
169
185
  ],
170
186
  placement: getPlacement(props.placement, props.direction, props.alignment, isRTL(dropdownMenuRef.value)),
171
- };
187
+ }));
172
188
  watch(() => props.visible, () => {
173
189
  visible.value = props.visible;
174
190
  });
175
191
  watch(visible, () => {
176
192
  if (visible.value && dropdownToggleRef.value && dropdownMenuRef.value) {
177
- popper.value && initPopper(dropdownToggleRef.value, dropdownMenuRef.value, popperConfig);
178
- window.addEventListener('mouseup', handleMouseUp);
193
+ const referenceElement = getReferenceElement(props.reference, dropdownToggleRef, dropdownRef);
194
+ if (referenceElement && popper.value) {
195
+ initPopper(referenceElement, dropdownMenuRef.value, popperConfig.value);
196
+ }
197
+ window.addEventListener('click', handleClick);
179
198
  window.addEventListener('keyup', handleKeyup);
180
199
  dropdownToggleRef.value.addEventListener('keydown', handleKeydown);
181
200
  dropdownMenuRef.value.addEventListener('keydown', handleKeydown);
201
+ if (pendingKeyDownEventRef.value) {
202
+ nextTick(() => {
203
+ handleKeydown(pendingKeyDownEventRef.value);
204
+ pendingKeyDownEventRef.value = null;
205
+ });
206
+ }
182
207
  emit('show');
183
208
  return;
184
209
  }
185
- popper.value && destroyPopper();
186
- window.removeEventListener('mouseup', handleMouseUp);
210
+ if (popper.value) {
211
+ destroyPopper();
212
+ }
213
+ window.removeEventListener('click', handleClick);
187
214
  window.removeEventListener('keyup', handleKeyup);
215
+ dropdownMenuRef.value && dropdownMenuRef.value.removeEventListener('keydown', handleKeydown);
188
216
  dropdownToggleRef.value &&
189
217
  dropdownToggleRef.value.removeEventListener('keydown', handleKeydown);
190
- dropdownMenuRef.value && dropdownMenuRef.value.removeEventListener('keydown', handleKeydown);
191
218
  emit('hide');
192
219
  });
220
+ onUnmounted(() => {
221
+ dropdownToggleRef.value &&
222
+ dropdownToggleRef.value.removeEventListener('keydown', handleKeydown);
223
+ dropdownMenuRef.value && dropdownMenuRef.value.removeEventListener('keydown', handleKeydown);
224
+ });
193
225
  provide('config', {
194
226
  alignment: props.alignment,
195
227
  container: props.container,
@@ -201,13 +233,11 @@ const CDropdown = defineComponent({
201
233
  provide('visible', visible);
202
234
  provide('dropdownToggleRef', dropdownToggleRef);
203
235
  provide('dropdownMenuRef', dropdownMenuRef);
236
+ provide('pendingKeyDownEventRef', pendingKeyDownEventRef);
204
237
  const handleKeydown = (event) => {
205
- if (visible.value &&
206
- dropdownMenuRef.value &&
207
- (event.key === 'ArrowDown' || event.key === 'ArrowUp')) {
238
+ if (dropdownMenuRef.value && (event.key === 'ArrowDown' || event.key === 'ArrowUp')) {
208
239
  event.preventDefault();
209
240
  const target = event.target;
210
- // eslint-disable-next-line unicorn/prefer-spread
211
241
  const items = Array.from(dropdownMenuRef.value.querySelectorAll('.dropdown-item:not(.disabled):not(:disabled)'));
212
242
  getNextActiveElement(items, target, event.key === 'ArrowDown', true).focus();
213
243
  }
@@ -218,40 +248,47 @@ const CDropdown = defineComponent({
218
248
  }
219
249
  if (event.key === 'Escape') {
220
250
  setVisible(false);
251
+ dropdownToggleRef.value?.focus();
221
252
  }
222
253
  };
223
- const handleMouseUp = (event) => {
254
+ const handleClick = (event) => {
224
255
  if (!dropdownToggleRef.value || !dropdownMenuRef.value) {
225
256
  return;
226
257
  }
227
- if (dropdownToggleRef.value.contains(event.target)) {
258
+ if (event.button === 2) {
259
+ return;
260
+ }
261
+ const composedPath = event.composedPath();
262
+ const isOnToggle = composedPath.includes(dropdownToggleRef.value);
263
+ const isOnMenu = composedPath.includes(dropdownMenuRef.value);
264
+ if (isOnToggle) {
265
+ return;
266
+ }
267
+ const target = event.target;
268
+ const FORM_TAG_RE = /^(input|select|option|textarea|form|button|label)$/i;
269
+ if (isOnMenu && target && FORM_TAG_RE.test(target.tagName)) {
228
270
  return;
229
271
  }
230
272
  if (props.autoClose === true ||
231
- (props.autoClose === 'inside' &&
232
- dropdownMenuRef.value.contains(event.target)) ||
233
- (props.autoClose === 'outside' &&
234
- !dropdownMenuRef.value.contains(event.target))) {
273
+ (props.autoClose === 'inside' && isOnMenu) ||
274
+ (props.autoClose === 'outside' && !isOnMenu)) {
235
275
  setVisible(false);
236
- return;
237
276
  }
238
277
  };
239
- const setVisible = (_visible) => {
278
+ const setVisible = (_visible, event) => {
240
279
  if (props.disabled) {
241
280
  return;
242
281
  }
243
- if (typeof _visible == 'boolean') {
282
+ if (typeof _visible === 'boolean') {
283
+ if (event) {
284
+ pendingKeyDownEventRef.value = event || null;
285
+ }
244
286
  visible.value = _visible;
245
287
  return;
246
288
  }
247
- if (visible.value === true) {
248
- visible.value = false;
249
- return;
250
- }
251
- visible.value = true;
252
289
  };
253
290
  provide('setVisible', setVisible);
254
- return () => props.variant === 'input-group'
291
+ return () => h(CFocusTrap, { active: props.teleport && visible.value, additionalContainer: dropdownMenuRef }, () => props.variant === 'input-group'
255
292
  ? [slots.default && slots.default()]
256
293
  : h('div', {
257
294
  class: [
@@ -262,7 +299,8 @@ const CDropdown = defineComponent({
262
299
  ? 'dropup dropup-center'
263
300
  : props.direction,
264
301
  ],
265
- }, slots.default && slots.default());
302
+ ref: dropdownRef,
303
+ }, slots.default && slots.default()));
266
304
  },
267
305
  });
268
306
 
@@ -1 +1 @@
1
- {"version":3,"file":"CDropdown.js","sources":["../../../../src/components/dropdown/CDropdown.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CDropdown.js","sources":["../../../../src/components/dropdown/CDropdown.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -61,6 +61,15 @@ declare const CDropdownToggle: import("vue").DefineComponent<import("vue").Extra
61
61
  * Similarly, create split button dropdowns with virtually the same markup as single button dropdowns, but with the addition of `.dropdown-toggle-split` className for proper spacing around the dropdown caret.
62
62
  */
63
63
  split: BooleanConstructor;
64
+ /**
65
+ * Screen reader label for split button dropdown toggle.
66
+ *
67
+ * @since 5.7.0
68
+ */
69
+ splitLabel: {
70
+ type: StringConstructor;
71
+ default: string;
72
+ };
64
73
  /**
65
74
  * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.
66
75
  *
@@ -144,6 +153,15 @@ declare const CDropdownToggle: import("vue").DefineComponent<import("vue").Extra
144
153
  * Similarly, create split button dropdowns with virtually the same markup as single button dropdowns, but with the addition of `.dropdown-toggle-split` className for proper spacing around the dropdown caret.
145
154
  */
146
155
  split: BooleanConstructor;
156
+ /**
157
+ * Screen reader label for split button dropdown toggle.
158
+ *
159
+ * @since 5.7.0
160
+ */
161
+ splitLabel: {
162
+ type: StringConstructor;
163
+ default: string;
164
+ };
147
165
  /**
148
166
  * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.
149
167
  *
@@ -170,5 +188,6 @@ declare const CDropdownToggle: import("vue").DefineComponent<import("vue").Extra
170
188
  trigger: Triggers;
171
189
  caret: boolean;
172
190
  navLink: boolean;
191
+ splitLabel: string;
173
192
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
174
193
  export { CDropdownToggle };
@@ -61,6 +61,15 @@ const CDropdownToggle = defineComponent({
61
61
  * Similarly, create split button dropdowns with virtually the same markup as single button dropdowns, but with the addition of `.dropdown-toggle-split` className for proper spacing around the dropdown caret.
62
62
  */
63
63
  split: Boolean,
64
+ /**
65
+ * Screen reader label for split button dropdown toggle.
66
+ *
67
+ * @since 5.7.0
68
+ */
69
+ splitLabel: {
70
+ type: String,
71
+ default: 'Toggle Dropdown',
72
+ },
64
73
  /**
65
74
  * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.
66
75
  *
@@ -95,7 +104,7 @@ const CDropdownToggle = defineComponent({
95
104
  if (props.disabled) {
96
105
  return;
97
106
  }
98
- setVisible();
107
+ setVisible(!visible.value);
99
108
  },
100
109
  }),
101
110
  ...((props.trigger === 'focus' || props.trigger.includes('focus')) && {
@@ -112,6 +121,12 @@ const CDropdownToggle = defineComponent({
112
121
  setVisible(false);
113
122
  },
114
123
  }),
124
+ onkeydown: (event) => {
125
+ if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
126
+ event.preventDefault();
127
+ setVisible(true, event);
128
+ }
129
+ }
115
130
  };
116
131
  const togglerProps = computed(() => {
117
132
  return {
@@ -158,7 +173,7 @@ const CDropdownToggle = defineComponent({
158
173
  togglerRef.value = el;
159
174
  },
160
175
  }, () => props.split
161
- ? h('span', { class: 'visually-hidden' }, 'Toggle Dropdown')
176
+ ? h('span', { class: 'visually-hidden' }, props.splitLabel)
162
177
  : slots.default && slots.default());
163
178
  },
164
179
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CDropdownToggle.js","sources":["../../../../src/components/dropdown/CDropdownToggle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CDropdownToggle.js","sources":["../../../../src/components/dropdown/CDropdownToggle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import { Ref } from 'vue';
1
2
  import type { Placement } from '@popperjs/core';
2
3
  import type { Placements } from '../../types';
3
4
  import type { Alignments } from './types';
4
5
  export declare const getAlignmentClassNames: (alignment: Alignments) => string[];
5
6
  export declare const getPlacement: (placement: Placement, direction: string | undefined, alignment: Alignments | string | undefined, isRTL: boolean) => Placements;
7
+ export declare const getReferenceElement: (reference: "parent" | "toggle" | Ref<HTMLElement | null> | HTMLElement, dropdownToggleRef: Ref<HTMLElement | null>, dropdownRef: Ref<HTMLElement | null>) => HTMLElement | null;
@@ -29,6 +29,18 @@ const getPlacement = (placement, direction, alignment, isRTL) => {
29
29
  }
30
30
  return _placement;
31
31
  };
32
+ const getReferenceElement = (reference, dropdownToggleRef, dropdownRef) => {
33
+ if (reference === 'parent') {
34
+ return dropdownRef.value;
35
+ }
36
+ if (reference instanceof HTMLElement) {
37
+ return reference;
38
+ }
39
+ if (reference instanceof Object && 'value' in reference) {
40
+ return reference.value;
41
+ }
42
+ return dropdownToggleRef.value;
43
+ };
32
44
 
33
- export { getAlignmentClassNames, getPlacement };
45
+ export { getAlignmentClassNames, getPlacement, getReferenceElement };
34
46
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/components/dropdown/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAIO,MAAM,sBAAsB,GAAG,CAAC,SAAqB,KAAI;IAC9D,MAAM,UAAU,GAAa,EAAE;AAC/B,IAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AACjC,QAAA,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;YAC3B,UAAU,CAAC,IAAI,CACb,CAAA,aAAA,EAAgB,GAAG,KAAK,IAAI,GAAG,EAAE,GAAG,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAA,CAAA,EAAI,SAAS,CAAC,GAAwB,CAAC,CAAA,CAAE,CACvF;QACH;IACF;AAEA,IAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AACjC,QAAA,UAAU,CAAC,IAAI,CAAC,iBAAiB,SAAS,CAAA,CAAE,CAAC;IAC/C;AAEA,IAAA,OAAO,UAAU;AACnB;AAEO,MAAM,YAAY,GAAG,CAC1B,SAAoB,EACpB,SAA6B,EAC7B,SAA0C,EAC1C,KAAc,KACA;IACd,IAAI,UAAU,GAAG,SAAS;AAE1B,IAAA,IAAI,SAAS,KAAK,QAAQ,EAAE;QAC1B,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW;IAC9C;AAEA,IAAA,IAAI,SAAS,KAAK,eAAe,EAAE;QACjC,UAAU,GAAG,KAAK;IACpB;AAEA,IAAA,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,aAAa;IACnD;AAEA,IAAA,IAAI,SAAS,KAAK,WAAW,EAAE;QAC7B,UAAU,GAAG,KAAK,GAAG,aAAa,GAAG,YAAY;IACnD;AAEA,IAAA,IAAI,SAAS,KAAK,KAAK,EAAE;QACvB,UAAU,GAAG,KAAK,GAAG,cAAc,GAAG,YAAY;IACpD;AAEA,IAAA,OAAO,UAAU;AACnB;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/components/dropdown/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAKO,MAAM,sBAAsB,GAAG,CAAC,SAAqB,KAAI;IAC9D,MAAM,UAAU,GAAa,EAAE;AAC/B,IAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AACjC,QAAA,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;YAC3B,UAAU,CAAC,IAAI,CACb,CAAA,aAAA,EAAgB,GAAG,KAAK,IAAI,GAAG,EAAE,GAAG,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAA,CAAA,EAAI,SAAS,CAAC,GAAwB,CAAC,CAAA,CAAE,CACvF;QACH;IACF;AAEA,IAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AACjC,QAAA,UAAU,CAAC,IAAI,CAAC,iBAAiB,SAAS,CAAA,CAAE,CAAC;IAC/C;AAEA,IAAA,OAAO,UAAU;AACnB;AAEO,MAAM,YAAY,GAAG,CAC1B,SAAoB,EACpB,SAA6B,EAC7B,SAA0C,EAC1C,KAAc,KACA;IACd,IAAI,UAAU,GAAG,SAAS;AAE1B,IAAA,IAAI,SAAS,KAAK,QAAQ,EAAE;QAC1B,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW;IAC9C;AAEA,IAAA,IAAI,SAAS,KAAK,eAAe,EAAE;QACjC,UAAU,GAAG,KAAK;IACpB;AAEA,IAAA,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,aAAa;IACnD;AAEA,IAAA,IAAI,SAAS,KAAK,WAAW,EAAE;QAC7B,UAAU,GAAG,KAAK,GAAG,aAAa,GAAG,YAAY;IACnD;AAEA,IAAA,IAAI,SAAS,KAAK,KAAK,EAAE;QACvB,UAAU,GAAG,KAAK,GAAG,cAAc,GAAG,YAAY;IACpD;AAEA,IAAA,OAAO,UAAU;AACnB;AAEO,MAAM,mBAAmB,GAAG,CACjC,SAAsE,EACtE,iBAA0C,EAC1C,WAAoC,KACd;AACtB,IAAA,IAAI,SAAS,KAAK,QAAQ,EAAE;QAC1B,OAAO,WAAW,CAAC,KAAK;IAC1B;AAEA,IAAA,IAAI,SAAS,YAAY,WAAW,EAAE;AACpC,QAAA,OAAO,SAAS;IAClB;IAEA,IAAI,SAAS,YAAY,MAAM,IAAI,OAAO,IAAI,SAAS,EAAE;QACvD,OAAO,SAAS,CAAC,KAAK;IACxB;IAEA,OAAO,iBAAiB,CAAC,KAAK;AAChC;;;;"}
@@ -0,0 +1,108 @@
1
+ import { type Ref, type PropType } from 'vue';
2
+ declare const CFocusTrap: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ /**
4
+ * Controls whether the focus trap is active or inactive.
5
+ * When `true`, focus will be trapped within the child element.
6
+ * When `false`, normal focus behavior is restored.
7
+ */
8
+ active: {
9
+ type: BooleanConstructor;
10
+ default: boolean;
11
+ };
12
+ /**
13
+ * Additional container elements to include in the focus trap.
14
+ * Useful for floating elements like tooltips or popovers that are
15
+ * rendered outside the main container but should be part of the trap.
16
+ */
17
+ additionalContainer: {
18
+ type: PropType<Ref<HTMLElement | null>>;
19
+ default: undefined;
20
+ };
21
+ /**
22
+ * Controls whether to focus the first selectable element or the container itself.
23
+ * When `true`, focuses the first tabbable element within the container.
24
+ * When `false`, focuses the container element directly.
25
+ *
26
+ * This is useful for containers that should receive focus themselves,
27
+ * such as scrollable regions or custom interactive components.
28
+ */
29
+ focusFirstElement: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
33
+ /**
34
+ * Automatically restores focus to the previously focused element when the trap is deactivated.
35
+ * This is crucial for accessibility as it maintains the user's place in the document
36
+ * when returning from modal dialogs or overlay components.
37
+ *
38
+ * Recommended to be `true` for modal dialogs and popover components.
39
+ */
40
+ restoreFocus: {
41
+ type: BooleanConstructor;
42
+ default: boolean;
43
+ };
44
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
45
+ [key: string]: any;
46
+ }> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
47
+ /**
48
+ * Emitted when the focus trap becomes active.
49
+ * Useful for triggering additional accessibility announcements or analytics.
50
+ */
51
+ activate: () => true;
52
+ /**
53
+ * Emitted when the focus trap is deactivated.
54
+ * Can be used for cleanup, analytics, or triggering state changes.
55
+ */
56
+ deactivate: () => true;
57
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
58
+ /**
59
+ * Controls whether the focus trap is active or inactive.
60
+ * When `true`, focus will be trapped within the child element.
61
+ * When `false`, normal focus behavior is restored.
62
+ */
63
+ active: {
64
+ type: BooleanConstructor;
65
+ default: boolean;
66
+ };
67
+ /**
68
+ * Additional container elements to include in the focus trap.
69
+ * Useful for floating elements like tooltips or popovers that are
70
+ * rendered outside the main container but should be part of the trap.
71
+ */
72
+ additionalContainer: {
73
+ type: PropType<Ref<HTMLElement | null>>;
74
+ default: undefined;
75
+ };
76
+ /**
77
+ * Controls whether to focus the first selectable element or the container itself.
78
+ * When `true`, focuses the first tabbable element within the container.
79
+ * When `false`, focuses the container element directly.
80
+ *
81
+ * This is useful for containers that should receive focus themselves,
82
+ * such as scrollable regions or custom interactive components.
83
+ */
84
+ focusFirstElement: {
85
+ type: BooleanConstructor;
86
+ default: boolean;
87
+ };
88
+ /**
89
+ * Automatically restores focus to the previously focused element when the trap is deactivated.
90
+ * This is crucial for accessibility as it maintains the user's place in the document
91
+ * when returning from modal dialogs or overlay components.
92
+ *
93
+ * Recommended to be `true` for modal dialogs and popover components.
94
+ */
95
+ restoreFocus: {
96
+ type: BooleanConstructor;
97
+ default: boolean;
98
+ };
99
+ }>> & Readonly<{
100
+ onActivate?: (() => any) | undefined;
101
+ onDeactivate?: (() => any) | undefined;
102
+ }>, {
103
+ active: boolean;
104
+ additionalContainer: Ref<HTMLElement | null, HTMLElement | null>;
105
+ focusFirstElement: boolean;
106
+ restoreFocus: boolean;
107
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
108
+ export { CFocusTrap };