@coreui/vue-pro 5.13.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.
- package/README.md +1 -1
- package/dist/cjs/components/calendar/CCalendar.js +61 -65
- package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
- package/dist/cjs/components/calendar/utils.d.ts +53 -2
- package/dist/cjs/components/calendar/utils.js +466 -43
- package/dist/cjs/components/calendar/utils.js.map +1 -1
- package/dist/cjs/components/date-picker/CDatePicker.d.ts +19 -0
- package/dist/cjs/components/date-picker/CDatePicker.js +9 -0
- package/dist/cjs/components/date-picker/CDatePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/CDateRangePicker.d.ts +19 -0
- package/dist/cjs/components/date-range-picker/CDateRangePicker.js +98 -57
- package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/utils.d.ts +0 -9
- package/dist/cjs/components/date-range-picker/utils.js +0 -38
- package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdown.js +22 -13
- package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownToggle.js +7 -1
- package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
- package/dist/cjs/components/focus-trap/CFocusTrap.d.ts +108 -0
- package/dist/cjs/components/focus-trap/CFocusTrap.js +254 -0
- package/dist/cjs/components/focus-trap/CFocusTrap.js.map +1 -0
- package/dist/cjs/components/focus-trap/index.d.ts +6 -0
- package/dist/cjs/components/focus-trap/index.js +13 -0
- package/dist/cjs/components/focus-trap/index.js.map +1 -0
- package/dist/cjs/components/focus-trap/utils.d.ts +28 -0
- package/dist/cjs/components/focus-trap/utils.js +83 -0
- package/dist/cjs/components/focus-trap/utils.js.map +1 -0
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.js +70 -66
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/modal/CModal.d.ts +2 -2
- package/dist/cjs/components/modal/CModal.js +19 -27
- package/dist/cjs/components/modal/CModal.js.map +1 -1
- package/dist/cjs/components/modal/CModalHeader.js +4 -2
- package/dist/cjs/components/modal/CModalHeader.js.map +1 -1
- package/dist/cjs/components/offcanvas/COffcanvas.js +3 -2
- package/dist/cjs/components/offcanvas/COffcanvas.js.map +1 -1
- package/dist/cjs/components/picker/CPicker.js +3 -2
- package/dist/cjs/components/picker/CPicker.js.map +1 -1
- package/dist/cjs/components/time-picker/CTimePicker.d.ts +1 -1
- package/dist/cjs/components/time-picker/CTimePicker.js +1 -1
- package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/cjs/components/time-picker/utils.d.ts +1 -1
- package/dist/cjs/composables/useDebouncedCallback.d.ts +1 -1
- package/dist/cjs/composables/useDebouncedCallback.js +1 -1
- package/dist/cjs/composables/useDebouncedCallback.js.map +1 -1
- package/dist/cjs/index.js +76 -72
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/calendar/CCalendar.js +61 -65
- package/dist/esm/components/calendar/CCalendar.js.map +1 -1
- package/dist/esm/components/calendar/utils.d.ts +53 -2
- package/dist/esm/components/calendar/utils.js +464 -44
- package/dist/esm/components/calendar/utils.js.map +1 -1
- package/dist/esm/components/date-picker/CDatePicker.d.ts +19 -0
- package/dist/esm/components/date-picker/CDatePicker.js +9 -0
- package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/CDateRangePicker.d.ts +19 -0
- package/dist/esm/components/date-range-picker/CDateRangePicker.js +98 -57
- package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/utils.d.ts +0 -9
- package/dist/esm/components/date-range-picker/utils.js +1 -38
- package/dist/esm/components/date-range-picker/utils.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdown.js +23 -14
- package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownToggle.js +7 -1
- package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
- package/dist/esm/components/focus-trap/CFocusTrap.d.ts +108 -0
- package/dist/esm/components/focus-trap/CFocusTrap.js +252 -0
- package/dist/esm/components/focus-trap/CFocusTrap.js.map +1 -0
- package/dist/esm/components/focus-trap/index.d.ts +6 -0
- package/dist/esm/components/focus-trap/index.js +10 -0
- package/dist/esm/components/focus-trap/index.js.map +1 -0
- package/dist/esm/components/focus-trap/utils.d.ts +28 -0
- package/dist/esm/components/focus-trap/utils.js +78 -0
- package/dist/esm/components/focus-trap/utils.js.map +1 -0
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/modal/CModal.d.ts +2 -2
- package/dist/esm/components/modal/CModal.js +19 -27
- package/dist/esm/components/modal/CModal.js.map +1 -1
- package/dist/esm/components/modal/CModalHeader.js +4 -2
- package/dist/esm/components/modal/CModalHeader.js.map +1 -1
- package/dist/esm/components/offcanvas/COffcanvas.js +3 -2
- package/dist/esm/components/offcanvas/COffcanvas.js.map +1 -1
- package/dist/esm/components/picker/CPicker.js +3 -2
- package/dist/esm/components/picker/CPicker.js.map +1 -1
- package/dist/esm/components/time-picker/CTimePicker.d.ts +1 -1
- package/dist/esm/components/time-picker/CTimePicker.js +1 -1
- package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/esm/components/time-picker/utils.d.ts +1 -1
- package/dist/esm/composables/useDebouncedCallback.d.ts +1 -1
- package/dist/esm/composables/useDebouncedCallback.js +1 -1
- package/dist/esm/composables/useDebouncedCallback.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +5 -5
- package/src/components/calendar/CCalendar.ts +55 -70
- package/src/components/calendar/utils.ts +595 -47
- package/src/components/date-picker/CDatePicker.ts +9 -0
- package/src/components/date-range-picker/CDateRangePicker.ts +144 -82
- package/src/components/date-range-picker/utils.ts +0 -58
- package/src/components/dropdown/CDropdown.ts +34 -23
- package/src/components/dropdown/CDropdownToggle.ts +8 -2
- package/src/components/focus-trap/CFocusTrap.ts +303 -0
- package/src/components/focus-trap/index.ts +10 -0
- package/src/components/focus-trap/utils.ts +90 -0
- package/src/components/index.ts +1 -0
- package/src/components/modal/CModal.ts +32 -37
- package/src/components/modal/CModalHeader.ts +5 -3
- package/src/components/offcanvas/COffcanvas.ts +40 -36
- package/src/components/picker/CPicker.ts +58 -52
- package/src/components/time-picker/CTimePicker.ts +12 -13
- package/src/composables/useDebouncedCallback.ts +1 -1
|
@@ -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
|
-
|
|
706
|
-
|
|
707
|
-
|
|
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,33 @@ const CCalendar = defineComponent({
|
|
|
900
903
|
},
|
|
901
904
|
[
|
|
902
905
|
h(
|
|
903
|
-
|
|
906
|
+
'button',
|
|
904
907
|
{
|
|
905
|
-
|
|
906
|
-
size: 'sm',
|
|
908
|
+
class: 'calendar-nav-btn',
|
|
907
909
|
'aria-label': props.ariaNavPrevYearLabel,
|
|
908
910
|
onClick: () => handleNavigationOnClick('prev', true),
|
|
909
911
|
},
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
? slots.navPrevDoubleIcon()
|
|
917
|
-
: h('span', { class: 'calendar-nav-icon calendar-nav-icon-double-prev' }),
|
|
918
|
-
}
|
|
912
|
+
/**
|
|
913
|
+
* @slot Location for double previous icon.
|
|
914
|
+
*/
|
|
915
|
+
slots.navPrevDoubleIcon
|
|
916
|
+
? slots.navPrevDoubleIcon()
|
|
917
|
+
: h('span', { class: 'calendar-nav-icon calendar-nav-icon-double-prev' })
|
|
919
918
|
),
|
|
920
919
|
view.value === 'days' &&
|
|
921
920
|
h(
|
|
922
|
-
|
|
921
|
+
'button',
|
|
923
922
|
{
|
|
924
|
-
|
|
925
|
-
size: 'sm',
|
|
923
|
+
class: 'calendar-nav-btn',
|
|
926
924
|
'aria-label': props.ariaNavPrevMonthLabel,
|
|
927
925
|
onClick: () => handleNavigationOnClick('prev'),
|
|
928
926
|
},
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
? slots.navPrevIcon()
|
|
936
|
-
: h('span', { class: 'calendar-nav-icon calendar-nav-icon-prev' }),
|
|
937
|
-
}
|
|
927
|
+
/**
|
|
928
|
+
* @slot Location for previous icon.
|
|
929
|
+
*/
|
|
930
|
+
slots.navPrevIcon
|
|
931
|
+
? slots.navPrevIcon()
|
|
932
|
+
: h('span', { class: 'calendar-nav-icon calendar-nav-icon-prev' })
|
|
938
933
|
),
|
|
939
934
|
]
|
|
940
935
|
),
|
|
@@ -948,27 +943,25 @@ const CCalendar = defineComponent({
|
|
|
948
943
|
[
|
|
949
944
|
view.value === 'days' &&
|
|
950
945
|
h(
|
|
951
|
-
|
|
946
|
+
'button',
|
|
952
947
|
{
|
|
953
|
-
|
|
954
|
-
size: 'sm',
|
|
948
|
+
class: 'calendar-nav-btn',
|
|
955
949
|
onClick: () => {
|
|
956
950
|
if (props.navigation) view.value = 'months'
|
|
957
951
|
},
|
|
958
952
|
},
|
|
959
|
-
|
|
953
|
+
_calendarDate.toLocaleDateString(props.locale, { month: 'long' })
|
|
960
954
|
),
|
|
961
955
|
h(
|
|
962
|
-
|
|
956
|
+
'button',
|
|
963
957
|
{
|
|
964
|
-
|
|
965
|
-
size: 'sm',
|
|
958
|
+
class: 'calendar-nav-btn',
|
|
966
959
|
onClick: () => {
|
|
967
960
|
if (props.navigation) view.value = 'years'
|
|
968
961
|
},
|
|
969
962
|
...(props.navYearFirst && { style: { order: '-1' } }),
|
|
970
963
|
},
|
|
971
|
-
|
|
964
|
+
_calendarDate.toLocaleDateString(props.locale, { year: 'numeric' })
|
|
972
965
|
),
|
|
973
966
|
]
|
|
974
967
|
),
|
|
@@ -981,40 +974,32 @@ const CCalendar = defineComponent({
|
|
|
981
974
|
[
|
|
982
975
|
view.value === 'days' &&
|
|
983
976
|
h(
|
|
984
|
-
|
|
977
|
+
'button',
|
|
985
978
|
{
|
|
986
|
-
|
|
987
|
-
size: 'sm',
|
|
979
|
+
class: 'calendar-nav-btn',
|
|
988
980
|
'aria-label': props.ariaNavNextMonthLabel,
|
|
989
981
|
onClick: () => handleNavigationOnClick('next'),
|
|
990
982
|
},
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
? slots.navNextIcon()
|
|
998
|
-
: h('span', { class: 'calendar-nav-icon calendar-nav-icon-next' }),
|
|
999
|
-
}
|
|
983
|
+
/**
|
|
984
|
+
* @slot Location for next icon.
|
|
985
|
+
*/
|
|
986
|
+
slots.navNextIcon
|
|
987
|
+
? slots.navNextIcon()
|
|
988
|
+
: h('span', { class: 'calendar-nav-icon calendar-nav-icon-next' })
|
|
1000
989
|
),
|
|
1001
990
|
h(
|
|
1002
|
-
|
|
991
|
+
'button',
|
|
1003
992
|
{
|
|
1004
|
-
|
|
1005
|
-
size: 'sm',
|
|
993
|
+
class: 'calendar-nav-btn',
|
|
1006
994
|
'aria-label': props.ariaNavNextYearLabel,
|
|
1007
995
|
onClick: () => handleNavigationOnClick('next', true),
|
|
1008
996
|
},
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
? slots.navNextDoubleIcon()
|
|
1016
|
-
: h('span', { class: 'calendar-nav-icon calendar-nav-icon-double-next' }),
|
|
1017
|
-
}
|
|
997
|
+
/**
|
|
998
|
+
* @slot Location for double next icon.
|
|
999
|
+
*/
|
|
1000
|
+
slots.navNextDoubleIcon
|
|
1001
|
+
? slots.navNextDoubleIcon()
|
|
1002
|
+
: h('span', { class: 'calendar-nav-icon calendar-nav-icon-double-next' })
|
|
1018
1003
|
),
|
|
1019
1004
|
]
|
|
1020
1005
|
),
|
|
@@ -1036,7 +1021,7 @@ const CCalendar = defineComponent({
|
|
|
1036
1021
|
},
|
|
1037
1022
|
[
|
|
1038
1023
|
Array.from({ length: props.calendars }, (_, index) => {
|
|
1039
|
-
const _calendarDate = getCalendarDate(calendarDate.value, index, view.value)
|
|
1024
|
+
const _calendarDate = getCalendarDate(calendarDate.value as Date, index, view.value)
|
|
1040
1025
|
return h('div', { class: ['calendar', view.value] }, [
|
|
1041
1026
|
Navigation(_calendarDate),
|
|
1042
1027
|
Calendar(_calendarDate),
|