@v-c/picker 0.0.7 → 1.0.1

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 (144) hide show
  1. package/package.json +11 -11
  2. package/dist/PickerInput/Popup/Footer.cjs +0 -115
  3. package/dist/PickerInput/Popup/PopupPanel.cjs +0 -413
  4. package/dist/PickerInput/Popup/PresetPanel.cjs +0 -54
  5. package/dist/PickerInput/Popup/index.cjs +0 -526
  6. package/dist/PickerInput/RangePicker.cjs +0 -1911
  7. package/dist/PickerInput/Selector/Icon.cjs +0 -89
  8. package/dist/PickerInput/Selector/Input.cjs +0 -376
  9. package/dist/PickerInput/Selector/MaskFormat.cjs +0 -72
  10. package/dist/PickerInput/Selector/RangeSelector.cjs +0 -1393
  11. package/dist/PickerInput/Selector/SingleSelector/MultipleDates.cjs +0 -110
  12. package/dist/PickerInput/Selector/SingleSelector/index.cjs +0 -1361
  13. package/dist/PickerInput/Selector/hooks/useClearIcon.cjs +0 -17
  14. package/dist/PickerInput/Selector/hooks/useInputHooks.cjs +0 -125
  15. package/dist/PickerInput/Selector/hooks/useRootProps.cjs +0 -14
  16. package/dist/PickerInput/Selector/util.cjs +0 -32
  17. package/dist/PickerInput/SinglePicker.cjs +0 -1881
  18. package/dist/PickerInput/context.cjs +0 -12
  19. package/dist/PickerInput/hooks/useCellRender.cjs +0 -25
  20. package/dist/PickerInput/hooks/useDelayState.cjs +0 -37
  21. package/dist/PickerInput/hooks/useDisabledBoundary.cjs +0 -15
  22. package/dist/PickerInput/hooks/useFieldFormat.cjs +0 -17
  23. package/dist/PickerInput/hooks/useFieldsInvalidate.cjs +0 -24
  24. package/dist/PickerInput/hooks/useFilledProps.cjs +0 -103
  25. package/dist/PickerInput/hooks/useInputReadOnly.cjs +0 -13
  26. package/dist/PickerInput/hooks/useInvalidate.cjs +0 -34
  27. package/dist/PickerInput/hooks/useLockEffect.cjs +0 -16
  28. package/dist/PickerInput/hooks/useOpen.cjs +0 -15
  29. package/dist/PickerInput/hooks/usePresets.cjs +0 -21
  30. package/dist/PickerInput/hooks/useRangeActive.cjs +0 -57
  31. package/dist/PickerInput/hooks/useRangeDisabledDate.cjs +0 -21
  32. package/dist/PickerInput/hooks/useRangePickerValue.cjs +0 -100
  33. package/dist/PickerInput/hooks/useRangeValue.cjs +0 -135
  34. package/dist/PickerInput/hooks/useShowNow.cjs +0 -15
  35. package/dist/PickerPanel/DatePanel/index.cjs +0 -294
  36. package/dist/PickerPanel/DateTimePanel/index.cjs +0 -180
  37. package/dist/PickerPanel/DecadePanel/index.cjs +0 -230
  38. package/dist/PickerPanel/MonthPanel/index.cjs +0 -219
  39. package/dist/PickerPanel/PanelBody.cjs +0 -157
  40. package/dist/PickerPanel/PanelHeader.cjs +0 -132
  41. package/dist/PickerPanel/QuarterPanel/index.cjs +0 -211
  42. package/dist/PickerPanel/TimePanel/TimePanelBody/TimeColumn.cjs +0 -145
  43. package/dist/PickerPanel/TimePanel/TimePanelBody/index.cjs +0 -286
  44. package/dist/PickerPanel/TimePanel/TimePanelBody/useScrollTo.cjs +0 -65
  45. package/dist/PickerPanel/TimePanel/index.cjs +0 -173
  46. package/dist/PickerPanel/WeekPanel/index.cjs +0 -179
  47. package/dist/PickerPanel/YearPanel/index.cjs +0 -239
  48. package/dist/PickerPanel/context.cjs +0 -61
  49. package/dist/PickerPanel/index.cjs +0 -473
  50. package/dist/PickerTrigger/index.cjs +0 -139
  51. package/dist/PickerTrigger/util.cjs +0 -13
  52. package/dist/_virtual/rolldown_runtime.cjs +0 -21
  53. package/dist/generate/dateFns.cjs +0 -80
  54. package/dist/generate/dayjs.cjs +0 -117
  55. package/dist/generate/index.cjs +0 -1
  56. package/dist/generate/luxon.cjs +0 -75
  57. package/dist/generate/moment.cjs +0 -107
  58. package/dist/hooks/useLocale.cjs +0 -45
  59. package/dist/hooks/useSemantic.cjs +0 -18
  60. package/dist/hooks/useSyncState.cjs +0 -29
  61. package/dist/hooks/useTimeConfig.cjs +0 -161
  62. package/dist/hooks/useTimeInfo.cjs +0 -114
  63. package/dist/hooks/useToggleDates.cjs +0 -16
  64. package/dist/index.cjs +0 -12
  65. package/dist/interface.cjs +0 -1
  66. package/dist/locale/am_ET.cjs +0 -34
  67. package/dist/locale/ar_EG.cjs +0 -32
  68. package/dist/locale/az_AZ.cjs +0 -33
  69. package/dist/locale/bg_BG.cjs +0 -32
  70. package/dist/locale/bn_BD.cjs +0 -33
  71. package/dist/locale/by_BY.cjs +0 -33
  72. package/dist/locale/ca_ES.cjs +0 -32
  73. package/dist/locale/common.cjs +0 -8
  74. package/dist/locale/cs_CZ.cjs +0 -32
  75. package/dist/locale/da_DK.cjs +0 -32
  76. package/dist/locale/de_DE.cjs +0 -32
  77. package/dist/locale/el_GR.cjs +0 -32
  78. package/dist/locale/en_GB.cjs +0 -32
  79. package/dist/locale/en_US.cjs +0 -33
  80. package/dist/locale/es_ES.cjs +0 -32
  81. package/dist/locale/es_MX.cjs +0 -33
  82. package/dist/locale/et_EE.cjs +0 -32
  83. package/dist/locale/eu_ES.cjs +0 -34
  84. package/dist/locale/fa_IR.cjs +0 -32
  85. package/dist/locale/fi_FI.cjs +0 -32
  86. package/dist/locale/fr_BE.cjs +0 -32
  87. package/dist/locale/fr_CA.cjs +0 -33
  88. package/dist/locale/fr_FR.cjs +0 -33
  89. package/dist/locale/ga_IE.cjs +0 -33
  90. package/dist/locale/gl_ES.cjs +0 -32
  91. package/dist/locale/he_IL.cjs +0 -33
  92. package/dist/locale/hi_IN.cjs +0 -33
  93. package/dist/locale/hr_HR.cjs +0 -33
  94. package/dist/locale/hu_HU.cjs +0 -33
  95. package/dist/locale/id_ID.cjs +0 -33
  96. package/dist/locale/is_IS.cjs +0 -32
  97. package/dist/locale/it_IT.cjs +0 -55
  98. package/dist/locale/ja_JP.cjs +0 -35
  99. package/dist/locale/ka_GE.cjs +0 -33
  100. package/dist/locale/kk_KZ.cjs +0 -32
  101. package/dist/locale/km_KH.cjs +0 -34
  102. package/dist/locale/kmr_IQ.cjs +0 -32
  103. package/dist/locale/kn_IN.cjs +0 -33
  104. package/dist/locale/ko_KR.cjs +0 -34
  105. package/dist/locale/lt_LT.cjs +0 -34
  106. package/dist/locale/lv_LV.cjs +0 -32
  107. package/dist/locale/mk_MK.cjs +0 -32
  108. package/dist/locale/ml_IN.cjs +0 -33
  109. package/dist/locale/mn_MN.cjs +0 -34
  110. package/dist/locale/mr_IN.cjs +0 -59
  111. package/dist/locale/ms_MY.cjs +0 -34
  112. package/dist/locale/my_MM.cjs +0 -33
  113. package/dist/locale/nb_NO.cjs +0 -34
  114. package/dist/locale/ne_NP.cjs +0 -33
  115. package/dist/locale/nl_BE.cjs +0 -32
  116. package/dist/locale/nl_NL.cjs +0 -32
  117. package/dist/locale/pl_PL.cjs +0 -32
  118. package/dist/locale/pt_BR.cjs +0 -56
  119. package/dist/locale/pt_PT.cjs +0 -55
  120. package/dist/locale/ro_RO.cjs +0 -33
  121. package/dist/locale/ru_RU.cjs +0 -32
  122. package/dist/locale/si_LK.cjs +0 -34
  123. package/dist/locale/sk_SK.cjs +0 -32
  124. package/dist/locale/sl_SI.cjs +0 -32
  125. package/dist/locale/sr_Cyrl_RS.cjs +0 -32
  126. package/dist/locale/sr_RS.cjs +0 -32
  127. package/dist/locale/sv_SE.cjs +0 -32
  128. package/dist/locale/ta_IN.cjs +0 -33
  129. package/dist/locale/te_IN.cjs +0 -33
  130. package/dist/locale/th_TH.cjs +0 -32
  131. package/dist/locale/tk_TK.cjs +0 -32
  132. package/dist/locale/tr_TR.cjs +0 -55
  133. package/dist/locale/ug_CN.cjs +0 -35
  134. package/dist/locale/uk_UA.cjs +0 -32
  135. package/dist/locale/ur_PK.cjs +0 -33
  136. package/dist/locale/uz_UZ.cjs +0 -33
  137. package/dist/locale/vi_VN.cjs +0 -33
  138. package/dist/locale/zh_CN.cjs +0 -36
  139. package/dist/locale/zh_TW.cjs +0 -36
  140. package/dist/utils/dateUtil.cjs +0 -105
  141. package/dist/utils/getClearIcon.cjs +0 -7
  142. package/dist/utils/miscUtil.cjs +0 -46
  143. package/dist/utils/uiUtil.cjs +0 -6
  144. package/dist/utils/warnUtil.cjs +0 -8
@@ -1,12 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_rolldown_runtime = require("../_virtual/rolldown_runtime.cjs");
3
- let vue = require("vue");
4
- var PickerContextKey = Symbol("PickerContext");
5
- function providePickerContext(context) {
6
- (0, vue.provide)(PickerContextKey, context);
7
- }
8
- function usePickerContext() {
9
- return (0, vue.inject)(PickerContextKey, (0, vue.ref)({}));
10
- }
11
- exports.providePickerContext = providePickerContext;
12
- exports.usePickerContext = usePickerContext;
@@ -1,25 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
6
- let _v_c_util = require("@v-c/util");
7
- function useCellRender(cellRender, dateRender, monthCellRender, range) {
8
- if (process.env.NODE_ENV !== "production") {
9
- (0, _v_c_util.warning)(!dateRender?.value, `'dateRender' is deprecated. Please use 'cellRender' instead.`);
10
- (0, _v_c_util.warning)(!monthCellRender?.value, `'monthCellRender' is deprecated. Please use 'cellRender' instead.`);
11
- }
12
- const mergedCellRender = (current, info) => {
13
- if (cellRender.value) return cellRender.value(current, info);
14
- const date = current;
15
- if (dateRender?.value && info.type === "date") return dateRender.value(date, info.today);
16
- if (monthCellRender?.value && info.type === "month") return monthCellRender.value(date, info.locale);
17
- return info.originNode;
18
- };
19
- const onInternalCellRender = (date, info) => mergedCellRender(date, {
20
- ...info,
21
- range: range?.value
22
- });
23
- return onInternalCellRender;
24
- }
25
- exports.default = useCellRender;
@@ -1,37 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
6
- let vue = require("vue");
7
- let _v_c_util_dist_raf = require("@v-c/util/dist/raf");
8
- _v_c_util_dist_raf = require_rolldown_runtime.__toESM(_v_c_util_dist_raf);
9
- function useDelayState(value, defaultValue, onChange) {
10
- const internalValue = (0, vue.ref)(defaultValue);
11
- const state = (0, vue.computed)(() => value.value !== void 0 ? value.value : internalValue.value);
12
- const nextValueRef = (0, vue.ref)(state.value);
13
- const rafRef = (0, vue.ref)();
14
- const cancelRaf = () => {
15
- if (rafRef.value) _v_c_util_dist_raf.default.cancel(rafRef.value);
16
- };
17
- const doUpdate = () => {
18
- if (value.value === void 0) (0, vue.nextTick)(() => {
19
- internalValue.value = nextValueRef.value;
20
- });
21
- if (onChange && state.value !== nextValueRef.value) onChange(nextValueRef.value);
22
- };
23
- const updateValue = (next, immediately) => {
24
- cancelRaf();
25
- nextValueRef.value = next;
26
- if (next || immediately) doUpdate();
27
- else rafRef.value = (0, _v_c_util_dist_raf.default)(doUpdate);
28
- };
29
- (0, vue.watch)(value, () => {
30
- if (value.value !== void 0) nextValueRef.value = value.value;
31
- });
32
- (0, vue.onBeforeUnmount)(() => {
33
- cancelRaf();
34
- });
35
- return [state, updateValue];
36
- }
37
- exports.default = useDelayState;
@@ -1,15 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_dateUtil = require("../../utils/dateUtil.cjs");
6
- function useDisabledBoundary(generateConfig, locale, disabledDate, minDate, maxDate) {
7
- const mergedDisabledDate = (date, info) => {
8
- if (disabledDate.value && disabledDate.value(date, info)) return true;
9
- if (minDate.value && generateConfig.value.isAfter(minDate.value, date) && !require_dateUtil.isSame(generateConfig.value, locale.value, minDate.value, date, info.type)) return true;
10
- if (maxDate.value && generateConfig.value.isAfter(date, maxDate.value) && !require_dateUtil.isSame(generateConfig.value, locale.value, maxDate.value, date, info.type)) return true;
11
- return false;
12
- };
13
- return mergedDisabledDate;
14
- }
15
- exports.default = useDisabledBoundary;
@@ -1,17 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
3
- const require_miscUtil = require("../../utils/miscUtil.cjs");
4
- let vue = require("vue");
5
- function useFieldFormat(picker, locale, format) {
6
- const info = (0, vue.computed)(() => {
7
- const formatList = require_miscUtil.toArray(require_miscUtil.getRowFormat(picker.value, locale.value, format?.value));
8
- const firstFormat = formatList[0];
9
- const maskFormat = typeof firstFormat === "object" && firstFormat.type === "mask" ? firstFormat.format : void 0;
10
- return {
11
- formatList: formatList.map((config) => typeof config === "string" || typeof config === "function" ? config : config.format),
12
- maskFormat
13
- };
14
- });
15
- return [(0, vue.computed)(() => info.value.formatList), (0, vue.computed)(() => info.value.maskFormat)];
16
- }
17
- exports.useFieldFormat = useFieldFormat;
@@ -1,24 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
6
- const require_miscUtil = require("../../utils/miscUtil.cjs");
7
- let vue = require("vue");
8
- function useFieldsInvalidate(calendarValue, isInvalidateDate, allowEmpty = (0, vue.ref)([])) {
9
- const fieldsInvalidates = (0, vue.ref)([false, false]);
10
- const onSelectorInvalid = (invalid, index) => {
11
- fieldsInvalidates.value = require_miscUtil.fillIndex(fieldsInvalidates.value, index, invalid);
12
- };
13
- return [(0, vue.computed)(() => {
14
- return fieldsInvalidates.value.map((invalid, index) => {
15
- if (invalid) return true;
16
- const current = calendarValue.value[index];
17
- if (!current) return false;
18
- if (!allowEmpty.value?.[index] && !current) return true;
19
- if (current && isInvalidateDate(current, { activeIndex: index })) return true;
20
- return false;
21
- });
22
- }), onSelectorInvalid];
23
- }
24
- exports.default = useFieldsInvalidate;
@@ -1,103 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
6
- const require_miscUtil = require("../../utils/miscUtil.cjs");
7
- const require_useLocale = require("../../hooks/useLocale.cjs");
8
- const require_useTimeConfig = require("../../hooks/useTimeConfig.cjs");
9
- const require_useClearIcon = require("../Selector/hooks/useClearIcon.cjs");
10
- const require_useDisabledBoundary = require("./useDisabledBoundary.cjs");
11
- const require_useFieldFormat = require("./useFieldFormat.cjs");
12
- const require_useInputReadOnly = require("./useInputReadOnly.cjs");
13
- const require_useInvalidate = require("./useInvalidate.cjs");
14
- let vue = require("vue");
15
- let _v_c_util = require("@v-c/util");
16
- function useList(value, fillMode = false) {
17
- return (0, vue.computed)(() => {
18
- const val = value.value;
19
- const list = val ? require_miscUtil.toArray(val) : val;
20
- if (fillMode && list && Array.isArray(list)) {
21
- const clone = [...list];
22
- clone[1] = clone[1] || clone[0];
23
- return clone;
24
- }
25
- return list;
26
- });
27
- }
28
- function useFilledProps(props, updater) {
29
- const mergedPicker = (0, vue.computed)(() => props.value.picker || "date");
30
- const mergedPrefixCls = (0, vue.computed)(() => props.value.prefixCls || "vc-picker");
31
- const mergedPreviewValue = (0, vue.computed)(() => props.value.previewValue ?? "hover");
32
- const mergedStyles = (0, vue.computed)(() => props.value.styles || {});
33
- const mergedClassNames = (0, vue.computed)(() => props.value.classNames || {});
34
- const mergedOrder = (0, vue.computed)(() => props.value.order ?? true);
35
- const mergedComponents = (0, vue.computed)(() => ({
36
- input: props.value.inputRender,
37
- ...props.value.components
38
- }));
39
- const values = useList((0, vue.computed)(() => props.value.value));
40
- const defaultValues = useList((0, vue.computed)(() => props.value.defaultValue));
41
- const pickerValues = useList((0, vue.computed)(() => props.value.pickerValue));
42
- const defaultPickerValues = useList((0, vue.computed)(() => props.value.defaultPickerValue));
43
- const internalPicker = (0, vue.computed)(() => mergedPicker.value === "date" && props.value.showTime ? "datetime" : mergedPicker.value);
44
- const multipleInteractivePicker = (0, vue.computed)(() => internalPicker.value === "time" || internalPicker.value === "datetime");
45
- const complexPicker = (0, vue.computed)(() => multipleInteractivePicker.value || props.value.multiple);
46
- const mergedNeedConfirm = (0, vue.computed)(() => {
47
- return props.value.needConfirm ?? multipleInteractivePicker.value;
48
- });
49
- const timePropsInfo = (0, vue.computed)(() => require_useTimeConfig.getTimeProps(props.value));
50
- const timeProps = (0, vue.computed)(() => timePropsInfo.value[0]);
51
- const localeTimeProps = (0, vue.computed)(() => timePropsInfo.value[1]);
52
- const showTimeFormat = (0, vue.computed)(() => timePropsInfo.value[2]);
53
- const propFormat = (0, vue.computed)(() => timePropsInfo.value[3]);
54
- const mergedLocale = require_useLocale.default((0, vue.computed)(() => props.value.locale), localeTimeProps);
55
- const mergedShowTime = (0, vue.computed)(() => require_useTimeConfig.fillShowTimeConfig(internalPicker.value, showTimeFormat.value, propFormat.value, timeProps.value, mergedLocale.value));
56
- if (process.env.NODE_ENV !== "production") {
57
- if (mergedPicker.value === "time") {
58
- if ([
59
- "disabledHours",
60
- "disabledMinutes",
61
- "disabledSeconds"
62
- ].some((key) => props[key])) (0, _v_c_util.warning)(false, `'disabledHours', 'disabledMinutes', 'disabledSeconds' will be removed in the next major version, please use 'disabledTime' instead.`);
63
- }
64
- }
65
- const filledProps = (0, vue.computed)(() => ({
66
- ...props.value,
67
- previewValue: mergedPreviewValue.value,
68
- prefixCls: mergedPrefixCls.value,
69
- locale: mergedLocale.value,
70
- picker: mergedPicker.value,
71
- styles: mergedStyles.value,
72
- classNames: mergedClassNames.value,
73
- order: mergedOrder.value,
74
- components: mergedComponents.value,
75
- clearIcon: require_useClearIcon.fillClearIcon(mergedPrefixCls.value, props.value.allowClear, props.value.clearIcon),
76
- showTime: mergedShowTime.value,
77
- value: values.value,
78
- defaultValue: defaultValues.value,
79
- pickerValue: pickerValues.value,
80
- defaultPickerValue: defaultPickerValues.value,
81
- ...updater?.()
82
- }));
83
- const [formatList, maskFormat] = require_useFieldFormat.useFieldFormat(internalPicker, mergedLocale, (0, vue.computed)(() => props.value.format));
84
- const mergedInputReadOnly = require_useInputReadOnly.default(formatList, (0, vue.computed)(() => props.value.inputReadOnly), (0, vue.computed)(() => props.value.multiple));
85
- const disabledBoundaryDate = require_useDisabledBoundary.default((0, vue.computed)(() => props.value.generateConfig), (0, vue.computed)(() => props.value.locale), (0, vue.computed)(() => props.value.disabledDate), (0, vue.computed)(() => props.value.minDate), (0, vue.computed)(() => props.value.maxDate));
86
- const isInvalidateDate = require_useInvalidate.default((0, vue.computed)(() => props.value.generateConfig), mergedPicker, disabledBoundaryDate, mergedShowTime);
87
- return [
88
- (0, vue.computed)(() => {
89
- return {
90
- ...filledProps.value,
91
- needConfirm: mergedNeedConfirm.value,
92
- inputReadOnly: mergedInputReadOnly.value,
93
- disabledDate: disabledBoundaryDate
94
- };
95
- }),
96
- internalPicker,
97
- complexPicker,
98
- formatList,
99
- maskFormat,
100
- isInvalidateDate
101
- ];
102
- }
103
- exports.default = useFilledProps;
@@ -1,13 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
6
- let vue = require("vue");
7
- function useInputReadOnly(formatList, inputReadOnly, multiple) {
8
- return (0, vue.computed)(() => {
9
- if (typeof formatList.value[0] === "function" || multiple.value) return true;
10
- return inputReadOnly.value;
11
- });
12
- }
13
- exports.default = useInputReadOnly;
@@ -1,34 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- function useInvalidate(generateConfig, picker, disabledDate, showTime) {
6
- const isInvalidate = (date, info) => {
7
- const outsideInfo = {
8
- type: picker.value,
9
- ...info
10
- };
11
- delete outsideInfo.activeIndex;
12
- if (!generateConfig.value.isValidate(date) || disabledDate.value && disabledDate.value(date, outsideInfo)) return true;
13
- if ((picker.value === "date" || picker.value === "time") && showTime.value) {
14
- const range = info && info.activeIndex === 1 ? "end" : "start";
15
- const { disabledHours, disabledMinutes, disabledSeconds, disabledMilliseconds } = showTime.value.disabledTime?.(date, range, { from: outsideInfo.from }) || {};
16
- const { disabledHours: legacyDisabledHours, disabledMinutes: legacyDisabledMinutes, disabledSeconds: legacyDisabledSeconds, disabledMilliseconds: legacyDisabledMilliseconds } = showTime.value;
17
- const mergedDisabledHours = disabledHours || legacyDisabledHours;
18
- const mergedDisabledMinutes = disabledMinutes || legacyDisabledMinutes;
19
- const mergedDisabledSeconds = disabledSeconds || legacyDisabledSeconds;
20
- const mergedDisabledMilliseconds = disabledMilliseconds || legacyDisabledMilliseconds;
21
- const hour = generateConfig.value.getHour(date);
22
- const minute = generateConfig.value.getMinute(date);
23
- const second = generateConfig.value.getSecond(date);
24
- const millisecond = generateConfig.value.getMillisecond(date);
25
- if (mergedDisabledHours && mergedDisabledHours().includes(hour)) return true;
26
- if (mergedDisabledMinutes && mergedDisabledMinutes(hour).includes(minute)) return true;
27
- if (mergedDisabledSeconds && mergedDisabledSeconds(hour, minute).includes(second)) return true;
28
- if (mergedDisabledMilliseconds && mergedDisabledMilliseconds(hour, minute, second).includes(millisecond)) return true;
29
- }
30
- return false;
31
- };
32
- return isInvalidate;
33
- }
34
- exports.default = useInvalidate;
@@ -1,16 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
6
- const require_util = require("../Selector/util.cjs");
7
- let vue = require("vue");
8
- function useLockEffect(condition, callback) {
9
- (0, vue.watch)(condition, (val) => {
10
- if (val) callback(val);
11
- else require_util.raf(() => {
12
- callback(!!val);
13
- });
14
- }, { flush: "post" });
15
- }
16
- exports.default = useLockEffect;
@@ -1,15 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
6
- const require_useDelayState = require("./useDelayState.cjs");
7
- let vue = require("vue");
8
- function useOpen(open, defaultOpen, disabledList, onOpenChange) {
9
- const [rafOpen, setRafOpen] = require_useDelayState.default((0, vue.computed)(() => disabledList.value?.every((disabled) => disabled) ? false : open.value), defaultOpen.value || false, onOpenChange);
10
- function setOpen(next, config = {}) {
11
- if (!config.inherit || rafOpen.value) setRafOpen(next, config.force);
12
- }
13
- return [rafOpen, setOpen];
14
- }
15
- exports.default = useOpen;
@@ -1,21 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
6
- let vue = require("vue");
7
- let _v_c_util = require("@v-c/util");
8
- function usePresets(presets, legacyRanges) {
9
- return (0, vue.computed)(() => {
10
- if (presets.value) return presets.value;
11
- if (legacyRanges?.value) {
12
- (0, _v_c_util.warning)(false, "`ranges` is deprecated. Please use `presets` instead.");
13
- return Object.entries(legacyRanges.value).map(([label, value]) => ({
14
- label,
15
- value
16
- }));
17
- }
18
- return [];
19
- });
20
- }
21
- exports.default = usePresets;
@@ -1,57 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
6
- const require_useLockEffect = require("./useLockEffect.cjs");
7
- let vue = require("vue");
8
- function useRangeActive(disabled, empty = (0, vue.ref)([]), mergedOpen = (0, vue.ref)(false)) {
9
- const activeIndex = (0, vue.ref)(0);
10
- const focused = (0, vue.ref)(false);
11
- const activeListRef = (0, vue.ref)([]);
12
- const submitIndexRef = (0, vue.ref)(null);
13
- const lastOperationRef = (0, vue.ref)(null);
14
- const updateSubmitIndex = (index) => {
15
- submitIndexRef.value = index;
16
- };
17
- const hasActiveSubmitValue = (index) => {
18
- return submitIndexRef.value === index;
19
- };
20
- const triggerFocus = (nextFocus) => {
21
- focused.value = nextFocus;
22
- };
23
- const lastOperation = (type) => {
24
- if (type) lastOperationRef.value = type;
25
- return lastOperationRef.value;
26
- };
27
- const nextActiveIndex = (nextValue) => {
28
- const list = activeListRef.value;
29
- const filledActiveSet = new Set(list.filter((index) => nextValue?.[index] || empty.value[index]));
30
- const nextIndex = list[list.length - 1] === 0 ? 1 : 0;
31
- if (filledActiveSet.size >= 2 || disabled.value[nextIndex]) return null;
32
- return nextIndex;
33
- };
34
- require_useLockEffect.default((0, vue.computed)(() => focused.value || mergedOpen.value), () => {
35
- if (!focused.value) {
36
- activeListRef.value = [];
37
- updateSubmitIndex(null);
38
- }
39
- });
40
- (0, vue.watch)([focused, activeIndex], () => {
41
- if (focused.value) activeListRef.value.push(activeIndex.value);
42
- });
43
- return [
44
- focused,
45
- triggerFocus,
46
- lastOperation,
47
- activeIndex,
48
- (index) => {
49
- activeIndex.value = index;
50
- },
51
- nextActiveIndex,
52
- activeListRef,
53
- updateSubmitIndex,
54
- hasActiveSubmitValue
55
- ];
56
- }
57
- exports.default = useRangeActive;
@@ -1,21 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_miscUtil = require("../../utils/miscUtil.cjs");
6
- const require_dateUtil = require("../../utils/dateUtil.cjs");
7
- function useRangeDisabledDate(values, disabled, activeIndexList, generateConfig, locale, disabledDate) {
8
- const rangeDisabledDate = (date, info) => {
9
- const activeIndex = activeIndexList.value[activeIndexList.value.length - 1];
10
- const [start, end] = values.value;
11
- const mergedInfo = {
12
- ...info,
13
- from: require_miscUtil.getFromDate(values.value, activeIndexList.value)
14
- };
15
- if (activeIndex === 1 && disabled.value[0] && start && !require_dateUtil.isSame(generateConfig.value, locale.value, start, date, mergedInfo.type) && generateConfig.value.isAfter(start, date)) return true;
16
- if (activeIndex === 0 && disabled.value[1] && end && !require_dateUtil.isSame(generateConfig.value, locale.value, end, date, mergedInfo.type) && generateConfig.value.isAfter(date, end)) return true;
17
- return disabledDate.value?.(date, mergedInfo) || false;
18
- };
19
- return rangeDisabledDate;
20
- }
21
- exports.default = useRangeDisabledDate;
@@ -1,100 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
6
- const require_dateUtil = require("../../utils/dateUtil.cjs");
7
- const require_useSyncState = require("../../hooks/useSyncState.cjs");
8
- let vue = require("vue");
9
- function offsetPanelDate(generateConfig, picker, date, offset) {
10
- switch (picker) {
11
- case "date":
12
- case "datetime":
13
- case "week": return generateConfig.addMonth(date, offset);
14
- case "month":
15
- case "quarter": return generateConfig.addYear(date, offset);
16
- case "year": return generateConfig.addYear(date, offset * 10);
17
- case "decade": return generateConfig.addYear(date, offset * 100);
18
- default: return date;
19
- }
20
- }
21
- var EMPTY_LIST = [];
22
- function useRangePickerValue(generateConfig, locale, calendarValue, modes, open, activeIndex, pickerMode, multiplePanel, defaultPickerValue = (0, vue.ref)(EMPTY_LIST), pickerValue = (0, vue.ref)(EMPTY_LIST), timeDefaultValue = (0, vue.ref)(EMPTY_LIST), onPickerValueChange, minDate, maxDate) {
23
- const isTimePicker = (0, vue.computed)(() => pickerMode.value === "time");
24
- const mergedActiveIndex = (0, vue.computed)(() => activeIndex.value || 0);
25
- const getDefaultPickerValue = (index) => {
26
- let now = generateConfig.value?.getNow?.();
27
- if (!now) return;
28
- if (isTimePicker.value) now = require_dateUtil.fillTime(generateConfig.value, now);
29
- return defaultPickerValue.value?.[index] || calendarValue.value?.[index] || now;
30
- };
31
- const [getStartPickerValue, setStartPickerValue] = require_useSyncState.default(getDefaultPickerValue(0), () => pickerValue.value?.[0]);
32
- const [getEndPickerValue, setEndPickerValue] = require_useSyncState.default(getDefaultPickerValue(1), () => pickerValue.value?.[1]);
33
- const currentPickerValue = (0, vue.computed)(() => {
34
- const current = [getStartPickerValue(true), getEndPickerValue(true)][mergedActiveIndex.value];
35
- if (!current) return current;
36
- return isTimePicker.value ? current : require_dateUtil.fillTime(generateConfig.value, current, timeDefaultValue.value?.[mergedActiveIndex.value]);
37
- });
38
- const setCurrentPickerValue = (nextPickerValue, source = "panel") => {
39
- const prevStartPickerValue = getStartPickerValue(true);
40
- const prevEndPickerValue = getEndPickerValue(true);
41
- const updater = [setStartPickerValue, setEndPickerValue][mergedActiveIndex.value];
42
- updater(nextPickerValue);
43
- const clone = [prevStartPickerValue, prevEndPickerValue];
44
- clone[mergedActiveIndex.value] = nextPickerValue;
45
- const mergedCallback = typeof onPickerValueChange === "function" ? onPickerValueChange : onPickerValueChange?.value;
46
- if (mergedCallback && (!require_dateUtil.isSame(generateConfig.value, locale.value, prevStartPickerValue, clone[0], pickerMode.value) || !require_dateUtil.isSame(generateConfig.value, locale.value, prevEndPickerValue, clone[1], pickerMode.value))) mergedCallback(clone, {
47
- source,
48
- range: mergedActiveIndex.value === 1 ? "end" : "start",
49
- mode: modes.value
50
- });
51
- };
52
- const getEndDatePickerValue = (startDate, endDate) => {
53
- if (multiplePanel.value) {
54
- const mode = {
55
- date: "month",
56
- datetime: "month",
57
- week: "month",
58
- month: "year",
59
- quarter: "year"
60
- }[pickerMode.value];
61
- if (mode && !require_dateUtil.isSame(generateConfig.value, locale.value, startDate, endDate, mode)) return offsetPanelDate(generateConfig.value, pickerMode.value, endDate, -1);
62
- if (pickerMode.value === "year" && startDate && endDate) {
63
- if (Math.floor(generateConfig.value.getYear(startDate) / 10) !== Math.floor(generateConfig.value.getYear(endDate) / 10)) return offsetPanelDate(generateConfig.value, pickerMode.value, endDate, -1);
64
- }
65
- }
66
- return endDate;
67
- };
68
- const prevActiveIndexRef = (0, vue.ref)(null);
69
- (0, vue.watch)(() => [
70
- open.value,
71
- mergedActiveIndex.value,
72
- calendarValue.value?.[mergedActiveIndex.value]
73
- ], () => {
74
- if (!open.value) return;
75
- if (defaultPickerValue.value?.[mergedActiveIndex.value]) return;
76
- let nextPickerValue = isTimePicker.value ? null : generateConfig.value.getNow();
77
- if (prevActiveIndexRef.value !== null && prevActiveIndexRef.value !== mergedActiveIndex.value) nextPickerValue = [getStartPickerValue(true), getEndPickerValue(true)][mergedActiveIndex.value ^ 1];
78
- else if (calendarValue.value?.[mergedActiveIndex.value]) nextPickerValue = mergedActiveIndex.value === 0 ? calendarValue.value[0] : getEndDatePickerValue(calendarValue.value[0], calendarValue.value[1]);
79
- else if (calendarValue.value?.[mergedActiveIndex.value ^ 1]) nextPickerValue = calendarValue.value[mergedActiveIndex.value ^ 1];
80
- if (!nextPickerValue) return;
81
- if (minDate?.value && generateConfig.value.isAfter(minDate.value, nextPickerValue)) nextPickerValue = minDate.value;
82
- const offsetPickerValue = multiplePanel.value ? offsetPanelDate(generateConfig.value, pickerMode.value, nextPickerValue, 1) : nextPickerValue;
83
- if (maxDate?.value && generateConfig.value.isAfter(offsetPickerValue, maxDate.value)) nextPickerValue = multiplePanel.value ? offsetPanelDate(generateConfig.value, pickerMode.value, maxDate.value, -1) : maxDate.value;
84
- setCurrentPickerValue(nextPickerValue, "reset");
85
- }, { flush: "post" });
86
- (0, vue.watch)(() => [open.value, mergedActiveIndex.value], () => {
87
- if (open.value) prevActiveIndexRef.value = mergedActiveIndex.value;
88
- else prevActiveIndexRef.value = null;
89
- }, { flush: "post" });
90
- (0, vue.watch)(() => [
91
- open.value,
92
- mergedActiveIndex.value,
93
- defaultPickerValue.value?.[mergedActiveIndex.value]
94
- ], () => {
95
- if (open.value && defaultPickerValue.value?.[mergedActiveIndex.value]) setCurrentPickerValue(defaultPickerValue.value[mergedActiveIndex.value], "reset");
96
- }, { flush: "post" });
97
- return [currentPickerValue, setCurrentPickerValue];
98
- }
99
- exports.default = useRangePickerValue;
100
- exports.offsetPanelDate = offsetPanelDate;
@@ -1,135 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
6
- const require_miscUtil = require("../../utils/miscUtil.cjs");
7
- const require_dateUtil = require("../../utils/dateUtil.cjs");
8
- const require_useLockEffect = require("./useLockEffect.cjs");
9
- let vue = require("vue");
10
- var EMPTY_VALUE = [];
11
- function useUtil(generateConfig, locale, formatList) {
12
- const getDateTexts = (dates) => {
13
- return dates.map((date) => require_dateUtil.formatValue(date, {
14
- generateConfig: generateConfig.value,
15
- locale: locale.value,
16
- format: formatList.value[0]
17
- }));
18
- };
19
- const isSameDates = (source, target) => {
20
- const maxLen = Math.max(source.length, target.length);
21
- let diffIndex = -1;
22
- for (let i = 0; i < maxLen; i += 1) {
23
- const prev = source[i] || null;
24
- const next = target[i] || null;
25
- if (prev !== next && !require_dateUtil.isSameTimestamp(generateConfig.value, prev, next)) {
26
- diffIndex = i;
27
- break;
28
- }
29
- }
30
- return [diffIndex < 0, diffIndex !== 0];
31
- };
32
- return [getDateTexts, isSameDates];
33
- }
34
- function orderDates(dates, generateConfig) {
35
- return [...dates].sort((a, b) => generateConfig.isAfter(a, b) ? 1 : -1);
36
- }
37
- function useInnerValue(generateConfig, locale, formatList, rangeValue, order, defaultValue, value, onCalendarChange, onOk) {
38
- const internalValue = (0, vue.ref)(defaultValue.value);
39
- const mergedValue = (0, vue.computed)(() => {
40
- return (value.value !== void 0 ? value.value : internalValue.value) || EMPTY_VALUE;
41
- });
42
- const setInnerValue = (val) => {
43
- if (value.value === void 0) internalValue.value = val;
44
- };
45
- const calendarValue = (0, vue.ref)(mergedValue.value);
46
- (0, vue.watch)(mergedValue, (val) => {
47
- calendarValue.value = val;
48
- });
49
- const setCalendarValue = (val) => {
50
- calendarValue.value = val;
51
- };
52
- const [getDateTexts, isSameDates] = useUtil(generateConfig, locale, formatList);
53
- const triggerCalendarChange = (nextCalendarValues) => {
54
- let clone = [...nextCalendarValues];
55
- if (rangeValue.value) for (let i = 0; i < 2; i += 1) clone[i] = clone[i] || null;
56
- else if (order.value) clone = orderDates(clone.filter((date) => date), generateConfig.value);
57
- const [isSameMergedDates, isSameStart] = isSameDates(calendarValue.value, clone);
58
- if (!isSameMergedDates) {
59
- setCalendarValue(clone);
60
- if (onCalendarChange) {
61
- const cellTexts = getDateTexts(clone);
62
- onCalendarChange(clone, cellTexts, { range: isSameStart ? "end" : "start" });
63
- }
64
- }
65
- };
66
- const triggerOk = () => {
67
- if (onOk) onOk(calendarValue.value);
68
- };
69
- return [
70
- mergedValue,
71
- setInnerValue,
72
- calendarValue,
73
- triggerCalendarChange,
74
- triggerOk
75
- ];
76
- }
77
- function useRangeValue(info, mergedValue, setInnerValue, getCalendarValue, triggerCalendarChange, disabled, formatList, focused, open, isInvalidateDate) {
78
- const orderOnChange = (0, vue.computed)(() => disabled.value.some((d) => d) ? false : info.value.order);
79
- const [getDateTexts, isSameDates] = useUtil((0, vue.computed)(() => info.value.generateConfig), (0, vue.computed)(() => info.value.locale), formatList);
80
- const submitValue = (0, vue.ref)(mergedValue.value);
81
- (0, vue.watch)(mergedValue, (val) => {
82
- submitValue.value = val;
83
- });
84
- const setSubmitValue = (val) => {
85
- submitValue.value = val;
86
- };
87
- const triggerSubmit = (nextValue) => {
88
- const { generateConfig, locale, picker, onChange, allowEmpty, order } = info.value;
89
- const isNullValue = nextValue === null;
90
- let clone = [...nextValue || submitValue.value];
91
- if (isNullValue) {
92
- const maxLen = Math.max(disabled.value.length, clone.length);
93
- for (let i = 0; i < maxLen; i += 1) if (!disabled.value[i]) clone[i] = null;
94
- }
95
- if (orderOnChange.value && clone[0] && clone[1]) clone = orderDates(clone, generateConfig);
96
- triggerCalendarChange(clone);
97
- const [start, end] = clone;
98
- const startEmpty = !start;
99
- const endEmpty = !end;
100
- const validateEmptyDateRange = allowEmpty ? (!startEmpty || allowEmpty[0]) && (!endEmpty || allowEmpty[1]) : true;
101
- const validateOrder = !order || startEmpty || endEmpty || require_dateUtil.isSame(generateConfig, locale, start, end, picker) || generateConfig.isAfter(end, start);
102
- const validateDates = (disabled.value[0] || !start || !isInvalidateDate(start, { activeIndex: 0 })) && (disabled.value[1] || !end || !isInvalidateDate(end, {
103
- from: start,
104
- activeIndex: 1
105
- }));
106
- const allPassed = isNullValue || validateEmptyDateRange && validateOrder && validateDates;
107
- if (allPassed) {
108
- const oldValue = mergedValue.value;
109
- setInnerValue(clone);
110
- const [isSameMergedDates] = isSameDates(clone, oldValue);
111
- if (onChange && !isSameMergedDates) {
112
- const everyEmpty = clone.every((val) => !val);
113
- onChange(isNullValue && everyEmpty ? null : clone, everyEmpty ? null : getDateTexts(clone));
114
- }
115
- }
116
- return allPassed;
117
- };
118
- const flushSubmit = (index, needTriggerChange) => {
119
- setSubmitValue(require_miscUtil.fillIndex(submitValue.value, index, getCalendarValue()[index]));
120
- if (needTriggerChange) triggerSubmit();
121
- };
122
- const interactiveFinished = (0, vue.computed)(() => !focused.value && !open.value);
123
- require_useLockEffect.default((0, vue.computed)(() => !interactiveFinished.value), (next) => {
124
- if (next === false) {
125
- if (!next) {
126
- triggerSubmit();
127
- triggerCalendarChange(mergedValue.value);
128
- submitValue.value = mergedValue.value;
129
- }
130
- }
131
- });
132
- return [flushSubmit, triggerSubmit];
133
- }
134
- exports.default = useRangeValue;
135
- exports.useInnerValue = useInnerValue;