@coreui/vue-pro 5.14.0 → 5.15.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 (106) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/calendar/CCalendar.js +61 -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.js +22 -13
  13. package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
  14. package/dist/cjs/components/dropdown/CDropdownToggle.js +7 -1
  15. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  16. package/dist/cjs/components/focus-trap/CFocusTrap.d.ts +108 -0
  17. package/dist/cjs/components/focus-trap/CFocusTrap.js +254 -0
  18. package/dist/cjs/components/focus-trap/CFocusTrap.js.map +1 -0
  19. package/dist/cjs/components/focus-trap/index.d.ts +6 -0
  20. package/dist/cjs/components/focus-trap/index.js +13 -0
  21. package/dist/cjs/components/focus-trap/index.js.map +1 -0
  22. package/dist/cjs/components/focus-trap/utils.d.ts +28 -0
  23. package/dist/cjs/components/focus-trap/utils.js +83 -0
  24. package/dist/cjs/components/focus-trap/utils.js.map +1 -0
  25. package/dist/cjs/components/index.d.ts +1 -0
  26. package/dist/cjs/components/index.js +70 -66
  27. package/dist/cjs/components/index.js.map +1 -1
  28. package/dist/cjs/components/modal/CModal.d.ts +2 -2
  29. package/dist/cjs/components/modal/CModal.js +19 -27
  30. package/dist/cjs/components/modal/CModal.js.map +1 -1
  31. package/dist/cjs/components/modal/CModalHeader.js +4 -2
  32. package/dist/cjs/components/modal/CModalHeader.js.map +1 -1
  33. package/dist/cjs/components/offcanvas/COffcanvas.js +3 -2
  34. package/dist/cjs/components/offcanvas/COffcanvas.js.map +1 -1
  35. package/dist/cjs/components/picker/CPicker.js +3 -2
  36. package/dist/cjs/components/picker/CPicker.js.map +1 -1
  37. package/dist/cjs/components/time-picker/CTimePicker.d.ts +1 -1
  38. package/dist/cjs/components/time-picker/CTimePicker.js +1 -1
  39. package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
  40. package/dist/cjs/components/time-picker/utils.d.ts +1 -1
  41. package/dist/cjs/composables/useDebouncedCallback.d.ts +1 -1
  42. package/dist/cjs/composables/useDebouncedCallback.js +1 -1
  43. package/dist/cjs/composables/useDebouncedCallback.js.map +1 -1
  44. package/dist/cjs/index.js +76 -72
  45. package/dist/cjs/index.js.map +1 -1
  46. package/dist/esm/components/calendar/CCalendar.js +61 -65
  47. package/dist/esm/components/calendar/CCalendar.js.map +1 -1
  48. package/dist/esm/components/calendar/utils.d.ts +53 -2
  49. package/dist/esm/components/calendar/utils.js +464 -44
  50. package/dist/esm/components/calendar/utils.js.map +1 -1
  51. package/dist/esm/components/date-range-picker/CDateRangePicker.js +86 -57
  52. package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
  53. package/dist/esm/components/date-range-picker/utils.d.ts +0 -9
  54. package/dist/esm/components/date-range-picker/utils.js +1 -38
  55. package/dist/esm/components/date-range-picker/utils.js.map +1 -1
  56. package/dist/esm/components/dropdown/CDropdown.js +23 -14
  57. package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
  58. package/dist/esm/components/dropdown/CDropdownToggle.js +7 -1
  59. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  60. package/dist/esm/components/focus-trap/CFocusTrap.d.ts +108 -0
  61. package/dist/esm/components/focus-trap/CFocusTrap.js +252 -0
  62. package/dist/esm/components/focus-trap/CFocusTrap.js.map +1 -0
  63. package/dist/esm/components/focus-trap/index.d.ts +6 -0
  64. package/dist/esm/components/focus-trap/index.js +10 -0
  65. package/dist/esm/components/focus-trap/index.js.map +1 -0
  66. package/dist/esm/components/focus-trap/utils.d.ts +28 -0
  67. package/dist/esm/components/focus-trap/utils.js +78 -0
  68. package/dist/esm/components/focus-trap/utils.js.map +1 -0
  69. package/dist/esm/components/index.d.ts +1 -0
  70. package/dist/esm/components/index.js +2 -0
  71. package/dist/esm/components/index.js.map +1 -1
  72. package/dist/esm/components/modal/CModal.d.ts +2 -2
  73. package/dist/esm/components/modal/CModal.js +19 -27
  74. package/dist/esm/components/modal/CModal.js.map +1 -1
  75. package/dist/esm/components/modal/CModalHeader.js +4 -2
  76. package/dist/esm/components/modal/CModalHeader.js.map +1 -1
  77. package/dist/esm/components/offcanvas/COffcanvas.js +3 -2
  78. package/dist/esm/components/offcanvas/COffcanvas.js.map +1 -1
  79. package/dist/esm/components/picker/CPicker.js +3 -2
  80. package/dist/esm/components/picker/CPicker.js.map +1 -1
  81. package/dist/esm/components/time-picker/CTimePicker.d.ts +1 -1
  82. package/dist/esm/components/time-picker/CTimePicker.js +1 -1
  83. package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
  84. package/dist/esm/components/time-picker/utils.d.ts +1 -1
  85. package/dist/esm/composables/useDebouncedCallback.d.ts +1 -1
  86. package/dist/esm/composables/useDebouncedCallback.js +1 -1
  87. package/dist/esm/composables/useDebouncedCallback.js.map +1 -1
  88. package/dist/esm/index.js +2 -0
  89. package/dist/esm/index.js.map +1 -1
  90. package/package.json +4 -4
  91. package/src/components/calendar/CCalendar.ts +55 -70
  92. package/src/components/calendar/utils.ts +595 -47
  93. package/src/components/date-range-picker/CDateRangePicker.ts +131 -82
  94. package/src/components/date-range-picker/utils.ts +0 -58
  95. package/src/components/dropdown/CDropdown.ts +34 -23
  96. package/src/components/dropdown/CDropdownToggle.ts +8 -2
  97. package/src/components/focus-trap/CFocusTrap.ts +303 -0
  98. package/src/components/focus-trap/index.ts +10 -0
  99. package/src/components/focus-trap/utils.ts +90 -0
  100. package/src/components/index.ts +1 -0
  101. package/src/components/modal/CModal.ts +32 -37
  102. package/src/components/modal/CModalHeader.ts +5 -3
  103. package/src/components/offcanvas/COffcanvas.ts +40 -36
  104. package/src/components/picker/CPicker.ts +58 -52
  105. package/src/components/time-picker/CTimePicker.ts +12 -13
  106. package/src/composables/useDebouncedCallback.ts +1 -1
@@ -2,6 +2,7 @@ import { cloneVNode, defineComponent, h, PropType, ref, watch } from 'vue'
2
2
  import { createPopper } from '@popperjs/core'
3
3
 
4
4
  import { CConditionalTeleport } from '../conditional-teleport'
5
+ import { CFocusTrap } from '../focus-trap'
5
6
 
6
7
  import { isRTL } from '../../utils'
7
8
 
@@ -63,7 +64,7 @@ const CPicker = defineComponent({
63
64
  () => props.visible,
64
65
  () => {
65
66
  visible.value = props.visible
66
- },
67
+ }
67
68
  )
68
69
 
69
70
  watch(visible, () => {
@@ -142,62 +143,67 @@ const CPicker = defineComponent({
142
143
  default: {
143
144
  return () =>
144
145
  h(
145
- 'div',
146
- {
147
- class: [
148
- attrs.class,
149
- {
150
- show: visible.value,
151
- },
152
- ],
153
- ref: pickerRef,
154
- },
155
- [
156
- /**
157
- * @slot Location for the toggler element.
158
- */
159
- slots.toggler &&
160
- slots.toggler().map((slot) =>
161
- cloneVNode(slot, {
162
- onClick: () => {
163
- if (!props.disabled && !visible.value) {
164
- visible.value = true
165
- }
166
- },
167
- ref: (el) => {
168
- togglerRef.value = el
169
- },
170
- }),
171
- ),
146
+ CFocusTrap,
147
+ { active: visible.value, ...(props.teleport && { additionalContainer: dropdownRef }) },
148
+ () =>
172
149
  h(
173
- CConditionalTeleport,
150
+ 'div',
174
151
  {
175
- teleport: props.teleport,
152
+ class: [
153
+ attrs.class,
154
+ {
155
+ show: visible.value,
156
+ },
157
+ ],
158
+ ref: pickerRef,
176
159
  },
177
- {
178
- default: () =>
179
- h(
180
- 'div',
181
- {
182
- class: [
183
- props.dropdownClassNames,
160
+ [
161
+ /**
162
+ * @slot Location for the toggler element.
163
+ */
164
+ slots.toggler &&
165
+ slots.toggler().map((slot) =>
166
+ cloneVNode(slot, {
167
+ onClick: () => {
168
+ if (!props.disabled && !visible.value) {
169
+ visible.value = true
170
+ }
171
+ },
172
+ ref: (el) => {
173
+ togglerRef.value = el
174
+ },
175
+ })
176
+ ),
177
+ h(
178
+ CConditionalTeleport,
179
+ {
180
+ teleport: props.teleport,
181
+ },
182
+ {
183
+ default: () =>
184
+ h(
185
+ 'div',
184
186
  {
185
- show: props.teleport && visible.value,
187
+ class: [
188
+ props.dropdownClassNames,
189
+ {
190
+ show: props.teleport && visible.value,
191
+ },
192
+ ],
193
+ ref: dropdownRef,
186
194
  },
187
- ],
188
- ref: dropdownRef,
189
- },
190
- [
191
- slots.default && slots.default(),
192
- /**
193
- * @slot Location for the footer element.
194
- */
195
- props.footer && slots.footer && slots.footer(),
196
- ],
197
- ),
198
- },
199
- ),
200
- ],
195
+ [
196
+ slots.default && slots.default(),
197
+ /**
198
+ * @slot Location for the footer element.
199
+ */
200
+ props.footer && slots.footer && slots.footer(),
201
+ ]
202
+ ),
203
+ }
204
+ ),
205
+ ]
206
+ )
201
207
  )
202
208
  }
203
209
  }
@@ -463,24 +463,23 @@ const CTimePicker = defineComponent({
463
463
  disabled: props.disabled,
464
464
  id: props.id,
465
465
  name: props.name,
466
- onInput: (event: Event) =>
467
- useDebouncedCallback(() => {
468
- if (isValidTime((event.target as HTMLInputElement).value)) {
469
- const _date = convertTimeToDate((event.target as HTMLInputElement).value)
470
- date.value = _date
466
+ onInput: useDebouncedCallback((event: Event) => {
467
+ if (isValidTime((event.target as HTMLInputElement).value)) {
468
+ const _date = convertTimeToDate((event.target as HTMLInputElement).value)
469
+ date.value = _date
471
470
 
472
- if (_date) {
473
- emit('change', _date.toTimeString(), _date.toLocaleTimeString(props.locale), _date)
474
- emit('update:time', _date.toLocaleTimeString(props.locale))
475
- } else {
476
- emit('change', null)
477
- emit('update:time', null)
478
- }
471
+ if (_date) {
472
+ emit('change', _date.toTimeString(), _date.toLocaleTimeString(props.locale), _date)
473
+ emit('update:time', _date.toLocaleTimeString(props.locale))
479
474
  } else {
480
475
  emit('change', null)
481
476
  emit('update:time', null)
482
477
  }
483
- }, props.inputOnChangeDelay),
478
+ } else {
479
+ emit('change', null)
480
+ emit('update:time', null)
481
+ }
482
+ }, props.inputOnChangeDelay),
484
483
  placeholder: props.placeholder,
485
484
  readonly: props.inputReadOnly,
486
485
  ref: inputRef,
@@ -12,5 +12,5 @@ export const useDebouncedCallback = <F extends Function>(callback: F, delay: num
12
12
  timeout.value = setTimeout(handler, delay)
13
13
  }
14
14
 
15
- return debouncedFn()
15
+ return debouncedFn
16
16
  }