yc-design-vue 2.2.2 → 2.2.3

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 (208) hide show
  1. package/dist/index.umd.js +1 -1
  2. package/dist/lang-es/zh-cn.js +26 -26
  3. package/dist/style.css +1 -1
  4. package/es/Anchor/hooks/useContext.d.ts +1 -1
  5. package/es/Anchor/hooks/useContext.js +5 -9
  6. package/es/Carousel/hooks/useContext.d.ts +11 -2
  7. package/es/Carousel/hooks/useContext.js +4 -4
  8. package/es/Cascader/hooks/useContext.d.ts +69 -8
  9. package/es/Cascader/hooks/useContext.js +5 -13
  10. package/es/Cascader/index.css +1 -1
  11. package/es/ColorPicker/hooks/useContext.d.ts +12 -1
  12. package/es/ColorPicker/hooks/useContext.js +5 -5
  13. package/es/DatePicker/PickerRange.vue.d.ts +2 -0
  14. package/es/DatePicker/PickerRange.vue.js +15 -0
  15. package/es/DatePicker/PickerRange.vue2.js +4 -0
  16. package/es/DatePicker/YcDatePicker.vue.d.ts +2 -0
  17. package/es/DatePicker/YcDatePicker.vue.js +15 -0
  18. package/es/DatePicker/YcDatePicker.vue2.js +4 -0
  19. package/es/DatePicker/YcMonthPicker.vue.d.ts +64 -0
  20. package/es/DatePicker/YcMonthPicker.vue.js +234 -0
  21. package/es/DatePicker/YcMonthPicker.vue3.js +5 -0
  22. package/es/DatePicker/YcWeekPicker.vue.d.ts +65 -0
  23. package/es/DatePicker/YcWeekPicker.vue.js +7 -0
  24. package/es/DatePicker/YcWeekPicker.vue2.js +319 -0
  25. package/es/DatePicker/YcYearPicker.vue.d.ts +63 -0
  26. package/es/DatePicker/YcYearPicker.vue.js +200 -0
  27. package/es/DatePicker/YcYearPicker.vue3.js +5 -0
  28. package/es/DatePicker/component/PickerCell.vue.d.ts +36 -0
  29. package/es/DatePicker/component/PickerCell.vue.js +7 -0
  30. package/es/DatePicker/component/PickerCell.vue2.js +41 -0
  31. package/es/DatePicker/component/PickerInput.vue.d.ts +297 -0
  32. package/es/DatePicker/component/PickerInput.vue.js +7 -0
  33. package/es/DatePicker/component/PickerInput.vue2.js +125 -0
  34. package/es/DatePicker/component/PickerPanel.vue.d.ts +33 -0
  35. package/es/DatePicker/component/PickerPanel.vue.js +108 -0
  36. package/es/DatePicker/component/PickerPanel.vue3.js +5 -0
  37. package/es/DatePicker/hooks/useContext.d.ts +19 -0
  38. package/es/DatePicker/hooks/useContext.js +37 -0
  39. package/es/DatePicker/hooks/userPicker.d.ts +44 -0
  40. package/es/DatePicker/hooks/userPicker.js +221 -0
  41. package/es/DatePicker/index.css +3 -0
  42. package/es/DatePicker/index.d.ts +38 -0
  43. package/es/DatePicker/index.js +23 -0
  44. package/es/DatePicker/type.d.ts +104 -0
  45. package/es/Drawer/DrawerService.vue.js +1 -1
  46. package/es/Grid/hooks/useContext.d.ts +6 -2
  47. package/es/Grid/hooks/useContext.js +5 -7
  48. package/es/Menu/hooks/useContext.d.ts +17 -2
  49. package/es/Menu/hooks/useContext.js +5 -7
  50. package/es/Message/Message.vue.js +1 -1
  51. package/es/Modal/ModalService.vue.js +2 -2
  52. package/es/Notification/Notification.vue.js +2 -2
  53. package/es/Select/hooks/useContext.d.ts +2 -2
  54. package/es/Select/hooks/useSelectOptions.d.ts +2 -2
  55. package/es/Slider/hooks/useContext.d.ts +12 -6
  56. package/es/Slider/hooks/useContext.js +5 -12
  57. package/es/Statistic/Statistic.vue.js +3 -3
  58. package/es/Steps/hooks/useContext.d.ts +9 -1
  59. package/es/Steps/hooks/useContext.js +3 -6
  60. package/es/Tabs/hooks/useContext.d.ts +9 -2
  61. package/es/Tabs/hooks/useContext.js +5 -9
  62. package/es/TimePicker/TimePicker.vue.js +1 -1
  63. package/es/TimePicker/hooks/useContext.d.ts +17 -7
  64. package/es/TimePicker/hooks/useContext.js +4 -9
  65. package/es/Timeline/hooks/useContext.d.ts +4 -2
  66. package/es/Timeline/hooks/useContext.js +3 -6
  67. package/es/Transfer/TransferPanel.vue.js +1 -1
  68. package/es/Transfer/hooks/useContext.d.ts +1 -6
  69. package/es/Transfer/hooks/useContext.js +3 -7
  70. package/es/Typography/TypographyBase.vue.js +2 -2
  71. package/es/Upload/Upload.vue.js +6 -4
  72. package/es/Upload/UploadFileList.vue.js +129 -5
  73. package/es/Upload/UploadFileList.vue3.js +5 -0
  74. package/es/Upload/UploadPictureCard.vue.js +135 -5
  75. package/es/Upload/UploadPictureCard.vue3.js +5 -0
  76. package/es/_shared/icons/IconCalendar.vue.d.ts +2 -0
  77. package/es/_shared/icons/IconCalendar.vue.js +4 -0
  78. package/es/_shared/icons/IconCalendar.vue2.js +31 -0
  79. package/es/_shared/icons/IconCopy.vue.js +1 -28
  80. package/es/_shared/icons/IconCopy.vue2.js +28 -1
  81. package/es/_shared/icons/IconDelete.vue.js +1 -28
  82. package/es/_shared/icons/IconDelete.vue2.js +28 -1
  83. package/es/_shared/icons/IconDoubleLeft.vue.d.ts +2 -0
  84. package/es/_shared/icons/IconDoubleLeft.vue.js +31 -0
  85. package/es/_shared/icons/IconDoubleLeft.vue2.js +4 -0
  86. package/es/_shared/icons/IconDoubleRight.vue.d.ts +2 -0
  87. package/es/_shared/icons/IconDoubleRight.vue.js +31 -0
  88. package/es/_shared/icons/IconDoubleRight.vue2.js +4 -0
  89. package/es/_shared/icons/IconEdit.vue.js +1 -28
  90. package/es/_shared/icons/IconEdit.vue2.js +28 -1
  91. package/es/_shared/icons/index.d.ts +3 -0
  92. package/es/_shared/type/index.d.ts +1 -1
  93. package/es/_shared/utils/hooks.js +1 -1
  94. package/es/_shared/utils/time.d.ts +0 -1
  95. package/es/_shared/utils/time.js +0 -4
  96. package/es/_shared/utils/vue-utils.d.ts +1 -1
  97. package/es/_virtual/isoWeek.js +4 -0
  98. package/es/index.d.ts +295 -1
  99. package/es/index.js +42 -33
  100. package/es/lang-es/zh-cn.js +26 -26
  101. package/es/node_modules/dayjs/plugin/isoWeek.js +33 -0
  102. package/es/src/lang/lang-es/zh-cn.js +26 -26
  103. package/es/style.css +1 -1
  104. package/lib/Anchor/hooks/useContext.d.ts +1 -1
  105. package/lib/Anchor/hooks/useContext.js +1 -1
  106. package/lib/Carousel/hooks/useContext.d.ts +11 -2
  107. package/lib/Carousel/hooks/useContext.js +1 -1
  108. package/lib/Cascader/hooks/useContext.d.ts +69 -8
  109. package/lib/Cascader/hooks/useContext.js +1 -1
  110. package/lib/Cascader/index.css +1 -1
  111. package/lib/ColorPicker/hooks/useContext.d.ts +12 -1
  112. package/lib/ColorPicker/hooks/useContext.js +1 -1
  113. package/lib/DatePicker/PickerRange.vue.d.ts +2 -0
  114. package/lib/DatePicker/PickerRange.vue.js +1 -0
  115. package/lib/DatePicker/PickerRange.vue2.js +1 -0
  116. package/lib/DatePicker/YcDatePicker.vue.d.ts +2 -0
  117. package/lib/DatePicker/YcDatePicker.vue.js +1 -0
  118. package/lib/DatePicker/YcDatePicker.vue2.js +1 -0
  119. package/lib/DatePicker/YcMonthPicker.vue.d.ts +64 -0
  120. package/lib/DatePicker/YcMonthPicker.vue.js +1 -0
  121. package/lib/DatePicker/YcMonthPicker.vue3.js +1 -0
  122. package/lib/DatePicker/YcWeekPicker.vue.d.ts +65 -0
  123. package/lib/DatePicker/YcWeekPicker.vue.js +1 -0
  124. package/lib/DatePicker/YcWeekPicker.vue2.js +1 -0
  125. package/lib/DatePicker/YcYearPicker.vue.d.ts +63 -0
  126. package/lib/DatePicker/YcYearPicker.vue.js +1 -0
  127. package/lib/DatePicker/YcYearPicker.vue3.js +1 -0
  128. package/lib/DatePicker/component/PickerCell.vue.d.ts +36 -0
  129. package/lib/DatePicker/component/PickerCell.vue.js +1 -0
  130. package/lib/DatePicker/component/PickerCell.vue2.js +1 -0
  131. package/lib/DatePicker/component/PickerInput.vue.d.ts +297 -0
  132. package/lib/DatePicker/component/PickerInput.vue.js +1 -0
  133. package/lib/DatePicker/component/PickerInput.vue2.js +1 -0
  134. package/lib/DatePicker/component/PickerPanel.vue.d.ts +33 -0
  135. package/lib/DatePicker/component/PickerPanel.vue.js +1 -0
  136. package/lib/DatePicker/component/PickerPanel.vue3.js +1 -0
  137. package/lib/DatePicker/hooks/useContext.d.ts +19 -0
  138. package/lib/DatePicker/hooks/useContext.js +1 -0
  139. package/lib/DatePicker/hooks/userPicker.d.ts +44 -0
  140. package/lib/DatePicker/hooks/userPicker.js +1 -0
  141. package/lib/DatePicker/index.css +3 -0
  142. package/lib/DatePicker/index.d.ts +38 -0
  143. package/lib/DatePicker/index.js +1 -0
  144. package/lib/DatePicker/type.d.ts +104 -0
  145. package/lib/Drawer/DrawerService.vue.js +1 -1
  146. package/lib/Grid/hooks/useContext.d.ts +6 -2
  147. package/lib/Grid/hooks/useContext.js +1 -1
  148. package/lib/Menu/hooks/useContext.d.ts +17 -2
  149. package/lib/Menu/hooks/useContext.js +1 -1
  150. package/lib/Message/Message.vue.js +1 -1
  151. package/lib/Modal/ModalService.vue.js +1 -1
  152. package/lib/Notification/Notification.vue.js +1 -1
  153. package/lib/Select/hooks/useContext.d.ts +2 -2
  154. package/lib/Select/hooks/useSelectOptions.d.ts +2 -2
  155. package/lib/Slider/hooks/useContext.d.ts +12 -6
  156. package/lib/Slider/hooks/useContext.js +1 -1
  157. package/lib/Statistic/Statistic.vue.js +1 -1
  158. package/lib/Steps/hooks/useContext.d.ts +9 -1
  159. package/lib/Steps/hooks/useContext.js +1 -1
  160. package/lib/Tabs/hooks/useContext.d.ts +9 -2
  161. package/lib/Tabs/hooks/useContext.js +1 -1
  162. package/lib/TimePicker/TimePicker.vue.js +1 -1
  163. package/lib/TimePicker/hooks/useContext.d.ts +17 -7
  164. package/lib/TimePicker/hooks/useContext.js +1 -1
  165. package/lib/Timeline/hooks/useContext.d.ts +4 -2
  166. package/lib/Timeline/hooks/useContext.js +1 -1
  167. package/lib/Transfer/TransferPanel.vue.js +1 -1
  168. package/lib/Transfer/hooks/useContext.d.ts +1 -6
  169. package/lib/Transfer/hooks/useContext.js +1 -1
  170. package/lib/Typography/TypographyBase.vue.js +1 -1
  171. package/lib/Upload/Upload.vue.js +1 -1
  172. package/lib/Upload/UploadFileList.vue.js +1 -1
  173. package/lib/Upload/UploadFileList.vue3.js +1 -0
  174. package/lib/Upload/UploadPictureCard.vue.js +1 -1
  175. package/lib/Upload/UploadPictureCard.vue3.js +1 -0
  176. package/lib/_shared/icons/IconCalendar.vue.d.ts +2 -0
  177. package/lib/_shared/icons/IconCalendar.vue.js +1 -0
  178. package/lib/_shared/icons/IconCalendar.vue2.js +1 -0
  179. package/lib/_shared/icons/IconCopy.vue.js +1 -1
  180. package/lib/_shared/icons/IconCopy.vue2.js +1 -1
  181. package/lib/_shared/icons/IconDelete.vue.js +1 -1
  182. package/lib/_shared/icons/IconDelete.vue2.js +1 -1
  183. package/lib/_shared/icons/IconDoubleLeft.vue.d.ts +2 -0
  184. package/lib/_shared/icons/IconDoubleLeft.vue.js +1 -0
  185. package/lib/_shared/icons/IconDoubleLeft.vue2.js +1 -0
  186. package/lib/_shared/icons/IconDoubleRight.vue.d.ts +2 -0
  187. package/lib/_shared/icons/IconDoubleRight.vue.js +1 -0
  188. package/lib/_shared/icons/IconDoubleRight.vue2.js +1 -0
  189. package/lib/_shared/icons/IconEdit.vue.js +1 -1
  190. package/lib/_shared/icons/IconEdit.vue2.js +1 -1
  191. package/lib/_shared/icons/index.d.ts +3 -0
  192. package/lib/_shared/type/index.d.ts +1 -1
  193. package/lib/_shared/utils/hooks.js +1 -1
  194. package/lib/_shared/utils/time.d.ts +0 -1
  195. package/lib/_shared/utils/time.js +1 -1
  196. package/lib/_shared/utils/vue-utils.d.ts +1 -1
  197. package/lib/_virtual/isoWeek.js +1 -0
  198. package/lib/index.d.ts +295 -1
  199. package/lib/index.js +1 -1
  200. package/lib/lang-es/zh-cn.js +26 -26
  201. package/lib/node_modules/dayjs/plugin/isoWeek.js +1 -0
  202. package/lib/src/lang/lang-es/zh-cn.js +1 -1
  203. package/lib/style.css +1 -1
  204. package/package.json +1 -1
  205. package/es/Upload/UploadFileList.vue2.js +0 -131
  206. package/es/Upload/UploadPictureCard.vue2.js +0 -137
  207. package/lib/Upload/UploadFileList.vue2.js +0 -1
  208. package/lib/Upload/UploadPictureCard.vue2.js +0 -1
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./PickerPanel.vue.js";
2
+ /* empty css */
3
+ export {
4
+ _sfc_main as default
5
+ };
@@ -0,0 +1,19 @@
1
+ import { Ref } from 'vue';
2
+ import { RecordType } from '../../_shared/type';
3
+ import { DatePickerValue } from '../type';
4
+ export interface PickerInputContext {
5
+ props: RecordType;
6
+ computedVisible: Ref<boolean>;
7
+ formatValue: Ref<string>;
8
+ showClearBtn: Ref<boolean>;
9
+ onClear: () => void;
10
+ }
11
+ export default function usePickerInputContext(): {
12
+ provide: (context: {
13
+ computedValue: Ref<DatePickerValue | DatePickerValue[]>;
14
+ computedVisible: Ref<boolean>;
15
+ formatValue: Ref<string>;
16
+ emits: (...args: any) => void;
17
+ }, props: RecordType) => void;
18
+ inject: () => PickerInputContext;
19
+ };
@@ -0,0 +1,37 @@
1
+ import { toRefs, provide, computed, inject, ref } from "vue";
2
+ const PICKER_TRIGGER_CONTEXT = "picker--context";
3
+ function usePickerInputContext() {
4
+ const provide$1 = (context, props) => {
5
+ const { computedVisible, computedValue, formatValue, emits } = context;
6
+ const { allowClear, disabled } = toRefs(props);
7
+ provide(PICKER_TRIGGER_CONTEXT, {
8
+ computedVisible,
9
+ formatValue,
10
+ props,
11
+ showClearBtn: computed(() => {
12
+ return !!computedValue.value && allowClear.value && !disabled.value;
13
+ }),
14
+ onClear: () => {
15
+ computedValue.value = "";
16
+ emits("clear");
17
+ }
18
+ });
19
+ };
20
+ const inject$1 = () => {
21
+ return inject(PICKER_TRIGGER_CONTEXT, {
22
+ computedVisible: ref(false),
23
+ formatValue: ref(""),
24
+ showClearBtn: ref(false),
25
+ props: ref({}),
26
+ onClear: () => {
27
+ }
28
+ });
29
+ };
30
+ return {
31
+ provide: provide$1,
32
+ inject: inject$1
33
+ };
34
+ }
35
+ export {
36
+ usePickerInputContext as default
37
+ };
@@ -0,0 +1,44 @@
1
+ import { BasePickerEmits, DatePickerValue, DayStartOfWeek, ShortcutType } from '../type';
2
+ import { RecordType } from '../../_shared/type';
3
+ export type YearData = {
4
+ label: string;
5
+ value: Date;
6
+ };
7
+ export interface DayData {
8
+ label: string;
9
+ value: Date;
10
+ }
11
+ export interface WeekData {
12
+ label: number;
13
+ value: Date;
14
+ time: DayData[];
15
+ }
16
+ export default function usePicker(params: {
17
+ props: RecordType;
18
+ emits: BasePickerEmits;
19
+ }): {
20
+ formatValue: import('vue').ComputedRef<string>;
21
+ computedValue: import('vue').WritableComputedRef<DatePickerValue, DatePickerValue>;
22
+ computedVisible: import('vue').WritableComputedRef<boolean, boolean>;
23
+ computedPickerValue: import('vue').WritableComputedRef<DatePickerValue, DatePickerValue>;
24
+ dayStartOfWeek: import('vue').Ref<any, any>;
25
+ locale: import('vue').Ref<any, any>;
26
+ abbreviation: import('vue').Ref<any, any>;
27
+ showYearPicker: import('vue').Ref<boolean, boolean>;
28
+ showMonthPicker: import('vue').Ref<boolean, boolean>;
29
+ curMonth: import('vue').Ref<number, number>;
30
+ curYear: import('vue').Ref<number, number>;
31
+ DefinePanel: import('@vueuse/core').DefineTemplateComponent<Record<string, any>, Record<"default", undefined>>;
32
+ ReusePanel: import('@vueuse/core').ReuseTemplateComponent<Record<string, any>, Record<"default", undefined>>;
33
+ t: (key: string, ...args: any[]) => string;
34
+ getDateFromFormat: (val: DatePickerValue) => Date | "";
35
+ getFormatFromDate: (val: Date) => string | number | Date;
36
+ getRangeOfYear: (curYear: number) => {
37
+ range: YearData[][];
38
+ startYear: number;
39
+ };
40
+ getWeeksOfMonth: (year: number, month: number, startOfWeek?: DayStartOfWeek) => WeekData[];
41
+ handleSelect: (date: Date) => void;
42
+ handleConfirm: () => Promise<void>;
43
+ handleShortcut: (shortcut: ShortcutType, hover: boolean) => void;
44
+ };
@@ -0,0 +1,221 @@
1
+ import { toRefs, computed, ref, watch } from "vue";
2
+ import { createReusableTemplate } from "../../node_modules/@vueuse/core/index.js";
3
+ import "../../node_modules/b-tween/dist/b-tween.es.js";
4
+ import dayjs from "../../node_modules/dayjs/dayjs.min.js";
5
+ import "../../node_modules/tinycolor2/esm/tinycolor.js";
6
+ import "../../node_modules/dayjs/plugin/duration.js";
7
+ import "../../node_modules/dayjs/plugin/toObject.js";
8
+ import "../../node_modules/dayjs/plugin/isSameOrAfter.js";
9
+ import "../../node_modules/dayjs/plugin/isSameOrBefore.js";
10
+ import { sleep } from "../../_shared/utils/dom.js";
11
+ import { isUndefined, isString } from "../../_shared/utils/is.js";
12
+ import { useControlValue } from "../../_shared/utils/hooks.js";
13
+ import { useI18n } from "../../_shared/utils/locale.js";
14
+ import "../../_shared/utils/time.js";
15
+ import usePickerInputContext from "./useContext.js";
16
+ import isoWeek from "../../node_modules/dayjs/plugin/isoWeek.js";
17
+ dayjs.extend(isoWeek);
18
+ function usePicker(params) {
19
+ const { props, emits } = params;
20
+ const {
21
+ modelValue,
22
+ defaultValue,
23
+ popupVisible,
24
+ defaultPopupVisible,
25
+ pickerValue,
26
+ defaultPickerValue,
27
+ format,
28
+ valueFormat,
29
+ dayStartOfWeek,
30
+ showConfirmBtn,
31
+ locale,
32
+ abbreviation
33
+ } = toRefs(props);
34
+ const computedValue = useControlValue(
35
+ modelValue,
36
+ defaultValue.value,
37
+ (val, controlValue) => {
38
+ const date = getFormatFromDate(val);
39
+ controlValue.value = date;
40
+ emits("update:modelValue", date);
41
+ }
42
+ );
43
+ const computedVisible = useControlValue(
44
+ popupVisible,
45
+ defaultPopupVisible.value,
46
+ (val) => {
47
+ emits("popup-visible-change", val);
48
+ emits("update:popupVisible", val);
49
+ }
50
+ );
51
+ const computedPickerValue = useControlValue(
52
+ pickerValue,
53
+ defaultPickerValue.value,
54
+ (val) => {
55
+ emits("update:pickerValue", val);
56
+ }
57
+ );
58
+ const formatValue = computed(() => {
59
+ const date = getDateFromFormat(computedValue.value);
60
+ if (!date) return "";
61
+ return format.value && computedValue.value ? dayjs(date).format(format.value) : computedValue.value;
62
+ });
63
+ const { define: DefinePanel, reuse: ReusePanel } = createReusableTemplate();
64
+ const { t } = useI18n();
65
+ let oldDate;
66
+ let selectDate;
67
+ let isConfirm = false;
68
+ const curYear = ref(0);
69
+ const curMonth = ref(0);
70
+ const showYearPicker = ref(false);
71
+ const showMonthPicker = ref(false);
72
+ watch(
73
+ () => computedVisible.value,
74
+ (val) => {
75
+ if (val) {
76
+ isConfirm = false;
77
+ oldDate = computedValue.value ? getDateFromFormat(computedValue.value) : computedValue.value;
78
+ } else {
79
+ showYearPicker.value = false;
80
+ showMonthPicker.value = false;
81
+ if (!showConfirmBtn.value || isConfirm || isUndefined(oldDate)) return;
82
+ computedValue.value = oldDate;
83
+ }
84
+ },
85
+ {
86
+ immediate: true
87
+ }
88
+ );
89
+ const handleShortcut = (shortcut, hover) => {
90
+ if (!hover) {
91
+ emits("select-shortcut", shortcut);
92
+ }
93
+ if (shortcut.value) {
94
+ computedValue.value = shortcut.value;
95
+ }
96
+ if (hover) return;
97
+ isConfirm = true;
98
+ computedVisible.value = false;
99
+ };
100
+ const handleSelect = (date) => {
101
+ computedValue.value = date;
102
+ selectDate = date;
103
+ const dateString = dayjs(date).format("YYYY-MM-DD");
104
+ emits("select", computedValue.value, date, dateString);
105
+ if (showConfirmBtn.value) return;
106
+ emits("change", computedValue.value, date, dateString);
107
+ };
108
+ const handleConfirm = async () => {
109
+ isConfirm = true;
110
+ const dateString = dayjs(selectDate).format("YYYY-MM-DD");
111
+ emits("change", computedValue.value, selectDate, dateString);
112
+ emits("ok", computedValue.value, selectDate, dateString);
113
+ await sleep(0);
114
+ computedVisible.value = false;
115
+ };
116
+ const getDateFromFormat = (val) => {
117
+ if (!val) return "";
118
+ let date;
119
+ if (["timestamp", "Date"].includes(valueFormat.value) || !isString(val)) {
120
+ date = dayjs(val);
121
+ } else {
122
+ date = dayjs(val, valueFormat.value);
123
+ }
124
+ if (!date.isValid()) return "";
125
+ return date.toDate();
126
+ };
127
+ const getFormatFromDate = (val) => {
128
+ if (!val || !dayjs(val).isValid()) return "";
129
+ const date = val;
130
+ if (valueFormat.value == "timestamp") {
131
+ return dayjs(date).valueOf();
132
+ }
133
+ if (valueFormat.value != "Date") {
134
+ return dayjs(date).format(valueFormat.value);
135
+ }
136
+ return date;
137
+ };
138
+ const getRangeOfYear = (curYear2) => {
139
+ const decadeStartYear = Math.floor(curYear2 / 10) * 10;
140
+ const startYear = decadeStartYear - 1;
141
+ const flatYearArray = Array.from({ length: 12 }, (_, i) => {
142
+ const year = startYear + i;
143
+ return {
144
+ label: year.toString(),
145
+ value: dayjs().year(year).startOf("year").toDate()
146
+ };
147
+ });
148
+ const grid = [];
149
+ const columns = 3;
150
+ for (let i = 0; i < flatYearArray.length; i += columns) {
151
+ const chunk = flatYearArray.slice(i, i + columns);
152
+ grid.push(chunk);
153
+ }
154
+ return {
155
+ range: grid,
156
+ startYear: decadeStartYear
157
+ };
158
+ };
159
+ const getWeeksOfMonth = (year, month, startOfWeek = dayStartOfWeek.value) => {
160
+ const firstDayOfMonth = dayjs(new Date(year, month, 1));
161
+ const weekData = [];
162
+ const dayOfWeekOfFirst = firstDayOfMonth.toDate().getDay();
163
+ const offset = (dayOfWeekOfFirst - startOfWeek + 7) % 7;
164
+ let currentDay = firstDayOfMonth.subtract(offset, "day");
165
+ for (let i = 0; i < 6; i++) {
166
+ const daysOfWeek = [];
167
+ const weekRowStartDate = currentDay;
168
+ for (let j = 0; j < 7; j++) {
169
+ daysOfWeek.push({
170
+ label: String(currentDay.date()),
171
+ value: currentDay.toDate()
172
+ });
173
+ currentDay = currentDay.add(1, "day");
174
+ }
175
+ const representativeDayOfWeek = weekRowStartDate.add(3, "day");
176
+ const correctIsoWeek = representativeDayOfWeek.isoWeek();
177
+ const mondayOfCorrectIsoWeek = representativeDayOfWeek.startOf("isoWeek").toDate();
178
+ weekData.push({
179
+ label: correctIsoWeek,
180
+ value: mondayOfCorrectIsoWeek,
181
+ time: daysOfWeek
182
+ });
183
+ }
184
+ return weekData;
185
+ };
186
+ usePickerInputContext().provide(
187
+ {
188
+ computedValue,
189
+ computedVisible,
190
+ formatValue,
191
+ emits
192
+ },
193
+ props
194
+ );
195
+ return {
196
+ formatValue,
197
+ computedValue,
198
+ computedVisible,
199
+ computedPickerValue,
200
+ dayStartOfWeek,
201
+ locale,
202
+ abbreviation,
203
+ showYearPicker,
204
+ showMonthPicker,
205
+ curMonth,
206
+ curYear,
207
+ DefinePanel,
208
+ ReusePanel,
209
+ t,
210
+ getDateFromFormat,
211
+ getFormatFromDate,
212
+ getRangeOfYear,
213
+ getWeeksOfMonth,
214
+ handleSelect,
215
+ handleConfirm,
216
+ handleShortcut
217
+ };
218
+ }
219
+ export {
220
+ usePicker as default
221
+ };
@@ -0,0 +1,3 @@
1
+ .yc-panel-year,.yc-panel-month,.yc-panel-week{width:265px;display:flex;flex-direction:column}.yc-panel-year .yc-picker-header,.yc-panel-month .yc-picker-header,.yc-panel-week .yc-picker-header{padding:8px 16px;border-bottom:1px solid var(--color-neutral-3);display:flex}.yc-panel-year .yc-picker-header .yc-picker-header-icon,.yc-panel-month .yc-picker-header .yc-picker-header-icon,.yc-panel-week .yc-picker-header .yc-picker-header-icon{cursor:pointer;width:24px;height:24px;margin-right:2px;margin-left:2px;color:var(--color-text-2);font-size:12px;line-height:24px;text-align:center;background-color:var(--color-bg-popup);border-radius:50%;transition:all .1s cubic-bezier(0, 0, 1, 1);user-select:none}.yc-panel-year .yc-picker-header .yc-picker-header-icon:hover,.yc-panel-month .yc-picker-header .yc-picker-header-icon:hover,.yc-panel-week .yc-picker-header .yc-picker-header-icon:hover{background-color:var(--color-fill-3)}.yc-panel-year .yc-picker-header .yc-picker-header-title,.yc-panel-month .yc-picker-header .yc-picker-header-title,.yc-panel-week .yc-picker-header .yc-picker-header-title{flex:1;color:var(--color-text-1);font-size:14px;line-height:24px;display:flex;justify-content:center;align-items:center}.yc-panel-year .yc-picker-header .yc-picker-header-title .yc-picker-header-label,.yc-panel-month .yc-picker-header .yc-picker-header-title .yc-picker-header-label,.yc-panel-week .yc-picker-header .yc-picker-header-title .yc-picker-header-label{cursor:pointer;padding:2px;border-radius:2px;transition:all .1s}.yc-panel-year .yc-picker-header .yc-picker-header-title .yc-picker-header-label:hover,.yc-panel-month .yc-picker-header .yc-picker-header-title .yc-picker-header-label:hover,.yc-panel-week .yc-picker-header .yc-picker-header-title .yc-picker-header-label:hover{background-color:var(--color-fill-3)}.yc-panel-year .yc-picker-body,.yc-panel-month .yc-picker-body,.yc-panel-week .yc-picker-body{padding:14px 16px}.yc-panel-year .yc-picker-body .yc-picker-row,.yc-panel-month .yc-picker-body .yc-picker-row,.yc-panel-week .yc-picker-body .yc-picker-row{padding:2px 0;display:flex}.yc-panel-week{width:298px}.yc-panel-week .yc-picker-week-list{width:100%;padding:14px 16px 0 16px;display:flex}.yc-panel-week .yc-picker-week-list .yc-picker-week-list-item{flex:1;height:32px;padding:0;color:#7d7d7f;font-weight:400;display:flex;justify-content:center;align-items:center}.yc-panel-week .yc-picker-body .yc-picker-week-row:not(.yc-picker-week-row-selected):not(
2
+ .yc-picker-week-row-disabled
3
+ ):hover .yc-picker-cell:not(:first-child) .yc-picker-date .yc-picker-date-value{background-color:var(--color-fill-3)}.yc-panel-week .yc-picker-body .yc-picker-week-row .yc-picker-cell .yc-picker-date{padding-left:0;padding-right:0}.yc-panel-week .yc-picker-body .yc-picker-week-row .yc-picker-cell .yc-picker-date .yc-picker-date-value{border-radius:0}.yc-panel-week .yc-picker-body .yc-picker-week-row .yc-week-picker-cell-first .yc-picker-date{border-top-left-radius:24px;border-bottom-left-radius:24px}.yc-panel-week .yc-picker-body .yc-picker-week-row .yc-week-picker-cell-first .yc-picker-date .yc-picker-date-value{border-top-left-radius:24px;border-bottom-left-radius:24px}.yc-panel-week .yc-picker-body .yc-picker-week-row .yc-week-picker-cell-last .yc-picker-date{border-top-right-radius:24px;border-bottom-right-radius:24px}.yc-panel-week .yc-picker-body .yc-picker-week-row .yc-week-picker-cell-last .yc-picker-date .yc-picker-date-value{border-top-right-radius:24px;border-bottom-right-radius:24px}.yc-panel-week .yc-picker-body .yc-picker-week-row-selected .yc-picker-cell:not(:first-child) .yc-picker-date .yc-picker-date-value{background-color:rgb(var(--primary-6));color:var(--color-white);transition:background-color .1s cubic-bezier(0, 0, 1, 1)}.yc-panel-week .yc-picker-body .yc-picker-week-row-selected.yc-picker-week-row-disabled .yc-picker-cell:not(:first-child) .yc-picker-date .yc-picker-date-value{background-color:var(--color-link-light-3);color:var(--color-white)}.yc-panel-week .yc-picker-body .yc-picker-week-row-disabled .yc-picker-cell:not(:first-child) .yc-picker-date{cursor:not-allowed;background-color:var(--color-fill-1)}.yc-panel-week .yc-picker-body .yc-picker-week-row-disabled .yc-picker-cell:not(:first-child) .yc-picker-date .yc-picker-date-value{cursor:not-allowed;background-color:transparent;color:var(--color-text-4)}.yc-picker-container{overflow:hidden;min-height:60px;background-color:var(--color-bg-popup);border:1px solid var(--color-neutral-3);border-radius:var(--border-radius-medium);box-shadow:0 2px 5px #0000001a;display:flex}.yc-picker-container .yc-picker-panel-wrapper .yc-picker-footer{width:min-content;min-width:100%}.yc-picker-container .yc-picker-panel-wrapper .yc-picker-footer .yc-picker-footer-extra-wrapper{padding:8px 24px;border-top:1px solid var(--color-neutral-3);color:var(--color-text-1);font-size:12px}.yc-picker-container .yc-picker-panel-wrapper .yc-picker-footer .yc-picker-footer-btn-wrapper{padding:8px;border-top:1px solid var(--color-neutral-3);display:flex;align-items:center;justify-content:flex-end;gap:10px}.yc-picker-container .yc-picker-shortcuts{overflow-y:auto;padding:10px 8px;flex:1;display:flex;flex-direction:column;gap:5px}.yc-picker-container .yc-picker-shortcuts.yc-picker-shortcuts-left{border-right:1px solid var(--color-neutral-3)}.yc-picker-container .yc-picker-shortcuts.yc-picker-shortcuts-right{border-left:1px solid var(--color-neutral-3)}.yc-picker-container .yc-picker-shortcuts.yc-picker-shortcuts-bottom{padding:0;overflow:hidden;flex-direction:row;flex-wrap:wrap;gap:5px 10px}.yc-picker-container-shortcuts-right{flex-direction:row-reverse}.yc-picker-container-shortcuts-bottom{flex-direction:row-reverse}.yc-picker-container-shortcuts-bottom .yc-picker-panel-wrapper .yc-picker-footer .yc-picker-footer-btn-wrapper{justify-content:space-between}.yc-picker-cell{flex:1}.yc-picker-cell .yc-picker-date{cursor:pointer;width:100%;height:100%;padding:4px;display:flex;justify-content:center}.yc-picker-cell .yc-picker-date .yc-picker-date-value{cursor:pointer;height:24px;width:100%;border-radius:24px;color:var(--color-text-4);font-size:14px;line-height:24px;text-align:center}.yc-picker-cell-in-view .yc-picker-date .yc-picker-date-value{color:var(--color-text-1);font-weight:500}.yc-picker-cell-today{position:relative}.yc-picker-cell-today:after{position:absolute;bottom:-2px;left:50%;display:block;width:4px;height:4px;margin-left:-2px;background-color:rgb(var(--primary-6));border-radius:50%;content:''}.yc-picker-cell-selected .yc-picker-date .yc-picker-date-value{color:var(--color-white);background-color:rgb(var(--primary-6));transition:background-color .1s cubic-bezier(0, 0, 1, 1)}.yc-picker-cell-disabled .yc-picker-date{background-color:var(--color-fill-1);cursor:not-allowed}.yc-picker-cell-disabled .yc-picker-date .yc-picker-date-value{color:var(--color-text-4);background-color:transparent;cursor:not-allowed}.yc-picker-cell-hoverable.yc-picker-cell-in-view:not(.yc-picker-cell-selected):not(.yc-picker-cell-disabled) .yc-picker-date .yc-picker-date-value:hover{color:var(--color-text-1);background-color:var(--color-fill-3)}.yc-picker-allow-clear:not(.yc-input-disabled):hover .yc-icon-button{display:flex}.yc-picker-allow-clear:not(.yc-input-disabled):hover .yc-picker-suffix-icon{display:none}.yc-picker-allow-clear .yc-icon-button{font-size:16px;display:none}.yc-picker-allow-clear .yc-picker-suffix-icon{font-size:16px;height:100%;display:flex;justify-content:center;align-items:center}
@@ -0,0 +1,38 @@
1
+ import { App } from 'vue';
2
+ import { default as _DatePicker } from './YcDatePicker.vue';
3
+ import { default as _RangePicker } from './PickerRange.vue';
4
+ import { default as _YearPicker } from './YcYearPicker.vue';
5
+ import { default as _MonthPicker } from './YcMonthPicker.vue';
6
+ import { default as _WeekPicker } from './YcWeekPicker.vue';
7
+ export type DatePickerInstance = InstanceType<typeof _DatePicker>;
8
+ export type RangePickerInstance = InstanceType<typeof _RangePicker>;
9
+ export type YearPickerInstance = InstanceType<typeof _YearPicker>;
10
+ export type MonthPickerInstance = InstanceType<typeof _MonthPicker>;
11
+ export type WeekPickerInstance = InstanceType<typeof _WeekPicker>;
12
+ export * from './type';
13
+ declare const DatePicker: {
14
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
15
+ P: {};
16
+ B: {};
17
+ D: {};
18
+ C: {};
19
+ M: {};
20
+ Defaults: {};
21
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
22
+ __isFragment?: never;
23
+ __isTeleport?: never;
24
+ __isSuspense?: never;
25
+ } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
26
+ install: (app: App) => void;
27
+ };
28
+ export { _RangePicker as RangePicker, _YearPicker as YearPicker, _MonthPicker as MonthPicker, _WeekPicker as WeekPicker, };
29
+ declare module 'vue' {
30
+ interface GlobalComponents {
31
+ YcDatePicker: typeof DatePicker;
32
+ YcRangePicker: typeof _RangePicker;
33
+ YcYearPicker: typeof _YearPicker;
34
+ YcMonthPicker: typeof _MonthPicker;
35
+ YcWeekPicker: typeof _WeekPicker;
36
+ }
37
+ }
38
+ export default DatePicker;
@@ -0,0 +1,23 @@
1
+ import _sfc_main from "./YcDatePicker.vue.js";
2
+ import _sfc_main$1 from "./PickerRange.vue.js";
3
+ import _sfc_main$2 from "./YcYearPicker.vue.js";
4
+ /* empty css */
5
+ import _sfc_main$3 from "./YcMonthPicker.vue.js";
6
+ /* empty css */
7
+ import _WeekPicker from "./YcWeekPicker.vue.js";
8
+ const DatePicker = Object.assign(_sfc_main, {
9
+ install: (app) => {
10
+ app.component("Yc" + _sfc_main.name, _sfc_main);
11
+ app.component("Yc" + _sfc_main$1.name, _sfc_main$1);
12
+ app.component("Yc" + _sfc_main$2.name, _sfc_main$2);
13
+ app.component("Yc" + _sfc_main$3.name, _sfc_main$3);
14
+ app.component("Yc" + _WeekPicker.name, _WeekPicker);
15
+ }
16
+ });
17
+ export {
18
+ _sfc_main$3 as MonthPicker,
19
+ _sfc_main$1 as RangePicker,
20
+ _WeekPicker as WeekPicker,
21
+ _sfc_main$2 as YearPicker,
22
+ DatePicker as default
23
+ };
@@ -0,0 +1,104 @@
1
+ import { VNode } from 'vue';
2
+ import { PopupContainer, Position, Size } from '../_shared/type';
3
+ import { TriggerProps } from '../Trigger';
4
+ import { TimePickerProps } from '../TimePicker';
5
+ export interface BasePickerProps {
6
+ locale?: Record<string, any>;
7
+ hideTrigger?: boolean;
8
+ allowClear?: boolean;
9
+ readonly?: boolean;
10
+ error?: boolean;
11
+ size?: Size;
12
+ shortcuts?: ShortcutType[];
13
+ shortcutsPosition?: ShortcutsPosition;
14
+ position?: DatePickerPosition;
15
+ popupVisible?: boolean;
16
+ defaultPopupVisible?: boolean;
17
+ triggerProps?: TriggerProps;
18
+ unmountOnClose?: boolean;
19
+ placeholder?: string;
20
+ disabled?: boolean;
21
+ disabledDate?: DisabledDate;
22
+ disabledTime?: DisabledTime;
23
+ pickerValue?: DatePickerValue;
24
+ defaultPickerValue?: DatePickerValue;
25
+ popupContainer?: PopupContainer;
26
+ valueFormat?: ValueFormat;
27
+ format?: string;
28
+ previewShortcut?: boolean;
29
+ showConfirmBtn?: boolean;
30
+ disabledInput?: boolean;
31
+ abbreviation?: boolean;
32
+ }
33
+ export interface BasePickerEmits {
34
+ (e: 'update:popupVisible', value: boolean): void;
35
+ (e: 'update:pickerValue', value: DatePickerValue): void;
36
+ (e: 'change', value: DatePickerValue, date: Date, dateString: string): void;
37
+ (e: 'select', value: DatePickerValue, date: Date, dateString: string): void;
38
+ (e: 'ok', value: DatePickerValue, date: Date, dateString: string): void;
39
+ (e: 'picker-value-change', value: DatePickerValue, date: Date, dateString: string): void;
40
+ (e: 'popup-visible-change', visible: boolean): void;
41
+ (e: 'clear'): void;
42
+ (e: 'select-shortcut', shortcut: ShortcutType): void;
43
+ }
44
+ export interface BasePickerSlots {
45
+ prefix?: () => VNode[];
46
+ 'suffix-icon'?: () => VNode[];
47
+ 'icon-next-double'?: () => VNode[];
48
+ 'icon-prev-double'?: () => VNode[];
49
+ 'icon-next'?: () => VNode[];
50
+ 'icon-prev'?: () => VNode[];
51
+ cell?: (scope: {
52
+ date: Date;
53
+ }) => VNode[];
54
+ extra?: () => VNode[];
55
+ }
56
+ export interface YearPickerProps extends BasePickerProps {
57
+ modelValue?: DatePickerValue;
58
+ defaultValue?: DatePickerValue;
59
+ }
60
+ export interface YearPickerEmits extends BasePickerEmits {
61
+ (e: 'update:modelValue', value: DatePickerValue): void;
62
+ }
63
+ export interface MonthPickerProps extends BasePickerProps {
64
+ modelValue?: DatePickerValue;
65
+ defaultValue?: DatePickerValue;
66
+ }
67
+ export interface MonthPickerEmits extends BasePickerEmits {
68
+ (e: 'update:modelValue', value: DatePickerValue): void;
69
+ }
70
+ export interface WeekPickerProps extends BasePickerProps {
71
+ modelValue?: DatePickerValue;
72
+ defaultValue?: DatePickerValue;
73
+ dayStartOfWeek?: DayStartOfWeek;
74
+ }
75
+ export interface WeekPickerEmits extends BasePickerEmits {
76
+ (e: 'update:modelValue', value: DatePickerValue): void;
77
+ }
78
+ export interface DatePickerProps extends BasePickerProps {
79
+ modelValue?: DatePickerValue;
80
+ defaultValue?: DatePickerValue;
81
+ dayStartOfWeek?: DayStartOfWeek;
82
+ showTime?: boolean;
83
+ timePickerProps?: TimePickerProps;
84
+ showNowBtn?: boolean;
85
+ }
86
+ export interface DatePickerEmits extends BasePickerEmits {
87
+ (e: 'update:modelValue', value: DatePickerValue): void;
88
+ }
89
+ export type DatePickerValue = Date | string | number;
90
+ export type DatePickerPosition = 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br';
91
+ export type DayStartOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6;
92
+ export type ValueFormat = 'timestamp' | 'Date' | string;
93
+ export type ShortcutsPosition = Exclude<Position, 'top'>;
94
+ export type DisabledDate = (current: Date) => boolean;
95
+ export type DisabledTime = (current: Date) => {
96
+ disabledHours?: () => number[];
97
+ disabledMinutes?: () => number[];
98
+ disabledSeconds?: () => number[];
99
+ };
100
+ export type ShortcutType = {
101
+ label: string | number | (() => VNode);
102
+ value: Date | Date[] | (() => Date | Date[]);
103
+ format: string;
104
+ };
@@ -17,7 +17,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
17
  __name: "DrawerService",
18
18
  props: {
19
19
  placement: { default: "right" },
20
- title: { type: [String, Array, Function], default: "" },
20
+ title: { type: [String, Number, Array, Function], default: "" },
21
21
  mask: { type: Boolean, default: true },
22
22
  maskClosable: { type: Boolean, default: true },
23
23
  closable: { type: Boolean, default: true },
@@ -9,11 +9,15 @@ export type SpanMap = Map<string, {
9
9
  export type GutterValue = GridRowGutter | [GridRowGutter, GridRowGutter];
10
10
  export default function useGridContext(): {
11
11
  provide: (props: RecordType) => {
12
+ rowGap: import('vue').ComputedRef<string | number | undefined>;
12
13
  breakpoint: Ref<BreakpointName, BreakpointName>;
14
+ gutter: import('vue').ComputedRef<number[]>;
15
+ div: Ref<any, any>;
16
+ spanMap: any;
13
17
  cols: import('vue').ComputedRef<number>;
14
18
  colGap: import('vue').ComputedRef<number>;
15
- rowGap: import('vue').ComputedRef<string | number | undefined>;
16
- gutter: import('vue').ComputedRef<number[]>;
19
+ collapsed: Ref<any, any>;
20
+ collapsedRows: Ref<any, any>;
17
21
  };
18
22
  inject: () => {
19
23
  collectSpan: (span: Ref<number>, suffix: Ref<boolean>) => {
@@ -40,7 +40,7 @@ function useGridContext() {
40
40
  ) : [getBreakpointValue(breakpoint.value, _gutter.value, 0), 0];
41
41
  return result;
42
42
  });
43
- provide(GRID_CONTEXT_KEY, {
43
+ const context = {
44
44
  breakpoint,
45
45
  gutter,
46
46
  div,
@@ -49,13 +49,11 @@ function useGridContext() {
49
49
  colGap,
50
50
  collapsed,
51
51
  collapsedRows
52
- });
52
+ };
53
+ provide(GRID_CONTEXT_KEY, context);
53
54
  return {
54
- breakpoint,
55
- cols,
56
- colGap,
57
- rowGap,
58
- gutter
55
+ ...context,
56
+ rowGap
59
57
  };
60
58
  };
61
59
  const inject$1 = () => {
@@ -39,12 +39,27 @@ export declare function isMenuItemActive(menuTree: MenuTreeNode[], currentPath:
39
39
  export declare const getPopupMaxHeight: (popupMaxHeight: PopupMaxHeight) => number | undefined;
40
40
  export default function useMenuContext(): {
41
41
  provide: (props: RecordType, emits: MenuEmits, menuRef: Ref<HTMLDivElement | undefined>) => {
42
- theme: import('vue').ComputedRef<import('../../_shared/type').Theme>;
43
- computedCollapsed: import('vue').WritableComputedRef<boolean, boolean>;
44
42
  breakpoint: Ref<import('../../_shared/type').BreakpointName, import('../../_shared/type').BreakpointName>;
45
43
  collapsedWidth: import('vue').ComputedRef<string>;
44
+ computedSelectedKeys: import('vue').WritableComputedRef<string, string>;
45
+ computedOpenKeys: import('vue').WritableComputedRef<string[], string[]>;
46
+ computedCollapsed: import('vue').WritableComputedRef<boolean, boolean>;
47
+ levelIndent: Ref<number, number>;
48
+ accordion: Ref<boolean, boolean>;
49
+ autoOpen: Ref<boolean, boolean>;
50
+ triggerProps: Ref<TriggerProps, TriggerProps>;
51
+ tooltipProps: Ref<TooltipProps, TooltipProps>;
52
+ mode: Ref<Direction, Direction>;
53
+ autoOpenSelected: Ref<boolean, boolean>;
54
+ popupMaxHeight: import('vue').ComputedRef<number | undefined>;
55
+ autoScrollIntoView: Ref<boolean, boolean>;
56
+ scrollConfig: Ref<ScrollIntoViewOptions, ScrollIntoViewOptions>;
57
+ theme: import('vue').ComputedRef<import('../../_shared/type').Theme>;
58
+ menuTreeNodes: import('vue').ComputedRef<MenuTreeNode[]>;
46
59
  menuTree: import('vue').ComputedRef<MenuTreeNode[]>;
47
60
  max: Ref<number, number>;
61
+ menuItemWidths: Ref<number[], number[]>;
62
+ emits: MenuEmits;
48
63
  };
49
64
  inject: () => MenuContext;
50
65
  };
@@ -193,7 +193,7 @@ function useMenuContext() {
193
193
  menuTree,
194
194
  mode
195
195
  });
196
- provide(MENU_CONTEXT_KEY, {
196
+ const context = {
197
197
  computedSelectedKeys,
198
198
  computedOpenKeys,
199
199
  computedCollapsed,
@@ -213,14 +213,12 @@ function useMenuContext() {
213
213
  max,
214
214
  menuItemWidths,
215
215
  emits
216
- });
216
+ };
217
+ provide(MENU_CONTEXT_KEY, context);
217
218
  return {
218
- theme,
219
- computedCollapsed,
219
+ ...context,
220
220
  breakpoint,
221
- collapsedWidth: computed(() => valueToPx(collapsedWidth.value)),
222
- menuTree,
223
- max
221
+ collapsedWidth: computed(() => valueToPx(collapsedWidth.value))
224
222
  };
225
223
  };
226
224
  const inject$1 = () => {
@@ -28,7 +28,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
28
28
  __name: "Message",
29
29
  props: {
30
30
  type: { default: "info" },
31
- content: { type: [String, Array, Function], default: "" },
31
+ content: { type: [String, Number, Array, Function], default: "" },
32
32
  id: { default: "" },
33
33
  icon: { type: Function, default: void 0 },
34
34
  showIcon: { type: Boolean, default: true },
@@ -25,7 +25,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
25
25
  width: { default: 520 },
26
26
  top: { default: 100 },
27
27
  mask: { type: Boolean, default: true },
28
- title: { type: [String, Array, Function], default: "" },
28
+ title: { type: [String, Number, Array, Function], default: "" },
29
29
  titleAlign: { default: "center" },
30
30
  alignCenter: { type: Boolean, default: true },
31
31
  unmountOnClose: { type: Boolean, default: false },
@@ -67,7 +67,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
67
67
  onBeforeOk: { type: Function, default: () => {
68
68
  return true;
69
69
  } },
70
- content: { type: [String, Array, Function], default: "" },
70
+ content: { type: [String, Number, Array, Function], default: "" },
71
71
  type: {},
72
72
  onOk: {},
73
73
  onCancel: {},
@@ -42,8 +42,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
42
  __name: "Notification",
43
43
  props: {
44
44
  type: { default: "info" },
45
- content: { type: [String, Array, Function], default: "" },
46
- title: { type: [String, Array, Function], default: "" },
45
+ content: { type: [String, Number, Array, Function], default: "" },
46
+ title: { type: [String, Number, Array, Function], default: "" },
47
47
  icon: { type: Function, default: void 0 },
48
48
  id: { default: "" },
49
49
  style: { default: () => {