@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 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":[null],"names":["Components","Directives"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM,SAAS,GAAG;AAChB,IAAA,OAAO,EAAE,CAAC,GAAQ,KAAU;AAC1B,QAAA,KAAK,MAAM,GAAG,IAAIA,KAAU,EAAE;YAC5B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAGA,KAAqC,CAAC,GAAG,CAAC,CAAC;QACjE;AAEA,QAAA,KAAK,MAAM,GAAG,IAAIC,OAAU,EAAE;AAC5B,YAAA,GAAG,CAAC,SAAS,CACVA,OAAqC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAClDA,OAAqC,CAAC,GAAG,CAAC,CAC5C;QACH;IACF,CAAC;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":[null],"names":["Components","Directives"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM,SAAS,GAAG;AAChB,IAAA,OAAO,EAAE,CAAC,GAAQ,KAAU;AAC1B,QAAA,KAAK,MAAM,GAAG,IAAIA,KAAU,EAAE;YAC5B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAGA,KAAqC,CAAC,GAAG,CAAC,CAAC;QACjE;AAEA,QAAA,KAAK,MAAM,GAAG,IAAIC,OAAU,EAAE;AAC5B,YAAA,GAAG,CAAC,SAAS,CACVA,OAAqC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAClDA,OAAqC,CAAC,GAAG,CAAC,CAC5C;QACH;IACF,CAAC;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coreui/vue-pro",
3
- "version": "5.14.0",
3
+ "version": "5.16.0",
4
4
  "description": "UI Components Library for Vue.js",
5
5
  "keywords": [
6
6
  "vue",
@@ -41,7 +41,7 @@
41
41
  "test:update": "jest --coverage --updateSnapshot"
42
42
  },
43
43
  "dependencies": {
44
- "@coreui/coreui-pro": "^5.18.0",
44
+ "@coreui/coreui": "^5.4.3",
45
45
  "@popperjs/core": "^2.11.8"
46
46
  },
47
47
  "devDependencies": {
@@ -54,11 +54,11 @@
54
54
  "cross-env": "^10.0.0",
55
55
  "jest": "^29.7.0",
56
56
  "jest-environment-jsdom": "^29.7.0",
57
- "rollup": "^4.46.2",
57
+ "rollup": "^4.50.2",
58
58
  "rollup-plugin-vue": "^6.0.0",
59
- "ts-jest": "^29.4.1",
59
+ "ts-jest": "^29.4.2",
60
60
  "typescript": "^5.9.2",
61
- "vue": "^3.5.18",
61
+ "vue": "^3.5.21",
62
62
  "vue-types": "^6.0.0"
63
63
  },
64
64
  "peerDependencies": {
@@ -1,7 +1,5 @@
1
1
  import { defineComponent, h, nextTick, PropType, ref, watch } from 'vue'
2
2
 
3
- import { CButton } from '../button'
4
-
5
3
  import {
6
4
  convertToDateObject,
7
5
  createGroupsInArray,
@@ -293,6 +291,11 @@ const CCalendar = defineComponent({
293
291
  watch(
294
292
  () => props.calendarDate,
295
293
  () => {
294
+ if (props.calendarDate === null) {
295
+ calendarDate.value = new Date()
296
+ return
297
+ }
298
+
296
299
  if (props.calendarDate) {
297
300
  calendarDate.value = new Date(props.calendarDate)
298
301
  }
@@ -355,6 +358,10 @@ const CCalendar = defineComponent({
355
358
  })
356
359
 
357
360
  const setCalendarPage = (years: number, months = 0, setMonth?: number) => {
361
+ if (calendarDate.value === null) {
362
+ return
363
+ }
364
+
358
365
  const year = calendarDate.value.getFullYear()
359
366
  const month = calendarDate.value.getMonth()
360
367
  const d = new Date(year, month, 1)
@@ -684,13 +691,12 @@ const CCalendar = defineComponent({
684
691
  props.disabledDates
685
692
  )
686
693
  const isSelected = isDateSelected(date, startDate.value, endDate.value)
687
- const current = days.some((day) => day.month === 'current')
688
694
  return h(
689
695
  'tr',
690
696
  {
691
697
  class: [
692
698
  'calendar-row',
693
- {
699
+ props.selectionType === 'week' && {
694
700
  disabled: isDisabled,
695
701
  range:
696
702
  props.selectionType === 'week' &&
@@ -702,10 +708,10 @@ const CCalendar = defineComponent({
702
708
  selected: isSelected,
703
709
  },
704
710
  ],
705
- tabindex: props.selectionType === 'week' && current && !isDisabled ? 0 : -1,
706
- ...(isSelected && { 'aria-selected': true }),
707
- ...(props.selectionType === 'week' &&
708
- !isDisabled && {
711
+ ...(props.selectionType === 'week' && {
712
+ tabindex: !isDisabled ? 0 : -1,
713
+ ...(isSelected && { 'aria-selected': true }),
714
+ ...(!isDisabled && {
709
715
  onBlur: () => handleCalendarMouseLeave(),
710
716
  onClick: () => handleCalendarClick(date),
711
717
  onFocus: () => handleCalendarMouseEnter(date),
@@ -713,14 +719,11 @@ const CCalendar = defineComponent({
713
719
  onMouseenter: () => handleCalendarMouseEnter(date),
714
720
  onMouseleave: () => handleCalendarMouseLeave(),
715
721
  }),
722
+ }),
716
723
  },
717
724
  [
718
725
  props.showWeekNumber &&
719
- h(
720
- 'th',
721
- { class: 'calendar-cell-week-number' },
722
- week.number
723
- ),
726
+ h('th', { class: 'calendar-cell-week-number' }, week.number),
724
727
  days.map(({ date, month }: { date: Date; month: string }) => {
725
728
  const isDisabled = isDateDisabled(
726
729
  date,
@@ -900,41 +903,35 @@ const CCalendar = defineComponent({
900
903
  },
901
904
  [
902
905
  h(
903
- CButton,
906
+ 'button',
904
907
  {
905
- color: 'transparent',
906
- size: 'sm',
908
+ type: 'button',
909
+ class: 'calendar-nav-btn',
907
910
  'aria-label': props.ariaNavPrevYearLabel,
908
911
  onClick: () => handleNavigationOnClick('prev', true),
909
912
  },
910
- {
911
- /**
912
- * @slot Location for double previous icon.
913
- */
914
- default: () =>
915
- slots.navPrevDoubleIcon
916
- ? slots.navPrevDoubleIcon()
917
- : h('span', { class: 'calendar-nav-icon calendar-nav-icon-double-prev' }),
918
- }
913
+ /**
914
+ * @slot Location for double previous icon.
915
+ */
916
+ slots.navPrevDoubleIcon
917
+ ? slots.navPrevDoubleIcon()
918
+ : h('span', { class: 'calendar-nav-icon calendar-nav-icon-double-prev' })
919
919
  ),
920
920
  view.value === 'days' &&
921
921
  h(
922
- CButton,
922
+ 'button',
923
923
  {
924
- color: 'transparent',
925
- size: 'sm',
924
+ type: 'button',
925
+ class: 'calendar-nav-btn',
926
926
  'aria-label': props.ariaNavPrevMonthLabel,
927
927
  onClick: () => handleNavigationOnClick('prev'),
928
928
  },
929
- {
930
- /**
931
- * @slot Location for previous icon.
932
- */
933
- default: () =>
934
- slots.navPrevIcon
935
- ? slots.navPrevIcon()
936
- : h('span', { class: 'calendar-nav-icon calendar-nav-icon-prev' }),
937
- }
929
+ /**
930
+ * @slot Location for previous icon.
931
+ */
932
+ slots.navPrevIcon
933
+ ? slots.navPrevIcon()
934
+ : h('span', { class: 'calendar-nav-icon calendar-nav-icon-prev' })
938
935
  ),
939
936
  ]
940
937
  ),
@@ -948,27 +945,27 @@ const CCalendar = defineComponent({
948
945
  [
949
946
  view.value === 'days' &&
950
947
  h(
951
- CButton,
948
+ 'button',
952
949
  {
953
- color: 'transparent',
954
- size: 'sm',
950
+ type: 'button',
951
+ class: 'calendar-nav-btn',
955
952
  onClick: () => {
956
953
  if (props.navigation) view.value = 'months'
957
954
  },
958
955
  },
959
- () => _calendarDate.toLocaleDateString(props.locale, { month: 'long' })
956
+ _calendarDate.toLocaleDateString(props.locale, { month: 'long' })
960
957
  ),
961
958
  h(
962
- CButton,
959
+ 'button',
963
960
  {
964
- color: 'transparent',
965
- size: 'sm',
961
+ type: 'button',
962
+ class: 'calendar-nav-btn',
966
963
  onClick: () => {
967
964
  if (props.navigation) view.value = 'years'
968
965
  },
969
966
  ...(props.navYearFirst && { style: { order: '-1' } }),
970
967
  },
971
- () => _calendarDate.toLocaleDateString(props.locale, { year: 'numeric' })
968
+ _calendarDate.toLocaleDateString(props.locale, { year: 'numeric' })
972
969
  ),
973
970
  ]
974
971
  ),
@@ -981,40 +978,34 @@ const CCalendar = defineComponent({
981
978
  [
982
979
  view.value === 'days' &&
983
980
  h(
984
- CButton,
981
+ 'button',
985
982
  {
986
- color: 'transparent',
987
- size: 'sm',
983
+ type: 'button',
984
+ class: 'calendar-nav-btn',
988
985
  'aria-label': props.ariaNavNextMonthLabel,
989
986
  onClick: () => handleNavigationOnClick('next'),
990
987
  },
991
- {
992
- /**
993
- * @slot Location for next icon.
994
- */
995
- default: () =>
996
- slots.navNextIcon
997
- ? slots.navNextIcon()
998
- : h('span', { class: 'calendar-nav-icon calendar-nav-icon-next' }),
999
- }
988
+ /**
989
+ * @slot Location for next icon.
990
+ */
991
+ slots.navNextIcon
992
+ ? slots.navNextIcon()
993
+ : h('span', { class: 'calendar-nav-icon calendar-nav-icon-next' })
1000
994
  ),
1001
995
  h(
1002
- CButton,
996
+ 'button',
1003
997
  {
1004
- color: 'transparent',
1005
- size: 'sm',
998
+ type: 'button',
999
+ class: 'calendar-nav-btn',
1006
1000
  'aria-label': props.ariaNavNextYearLabel,
1007
1001
  onClick: () => handleNavigationOnClick('next', true),
1008
1002
  },
1009
- {
1010
- /**
1011
- * @slot Location for double next icon.
1012
- */
1013
- default: () =>
1014
- slots.navNextDoubleIcon
1015
- ? slots.navNextDoubleIcon()
1016
- : h('span', { class: 'calendar-nav-icon calendar-nav-icon-double-next' }),
1017
- }
1003
+ /**
1004
+ * @slot Location for double next icon.
1005
+ */
1006
+ slots.navNextDoubleIcon
1007
+ ? slots.navNextDoubleIcon()
1008
+ : h('span', { class: 'calendar-nav-icon calendar-nav-icon-double-next' })
1018
1009
  ),
1019
1010
  ]
1020
1011
  ),
@@ -1036,7 +1027,7 @@ const CCalendar = defineComponent({
1036
1027
  },
1037
1028
  [
1038
1029
  Array.from({ length: props.calendars }, (_, index) => {
1039
- const _calendarDate = getCalendarDate(calendarDate.value, index, view.value)
1030
+ const _calendarDate = getCalendarDate(calendarDate.value as Date, index, view.value)
1040
1031
  return h('div', { class: ['calendar', view.value] }, [
1041
1032
  Navigation(_calendarDate),
1042
1033
  Calendar(_calendarDate),