@v-c/picker 1.0.4-beta.1 → 1.1.0-rc.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 (146) hide show
  1. package/dist/PickerInput/Popup/Footer.js +12 -18
  2. package/dist/PickerInput/Popup/PopupPanel.js +14 -18
  3. package/dist/PickerInput/Popup/PresetPanel.js +8 -10
  4. package/dist/PickerInput/Popup/index.js +19 -29
  5. package/dist/PickerInput/RangePicker.js +25 -17
  6. package/dist/PickerInput/Selector/Icon.js +6 -9
  7. package/dist/PickerInput/Selector/Input.js +13 -14
  8. package/dist/PickerInput/Selector/MaskFormat.js +5 -1
  9. package/dist/PickerInput/Selector/RangeSelector.js +29 -53
  10. package/dist/PickerInput/Selector/SingleSelector/MultipleDates.d.ts +7 -0
  11. package/dist/PickerInput/Selector/SingleSelector/MultipleDates.js +22 -12
  12. package/dist/PickerInput/Selector/SingleSelector/index.d.ts +7 -0
  13. package/dist/PickerInput/Selector/SingleSelector/index.js +34 -48
  14. package/dist/PickerInput/Selector/hooks/useClearIcon.js +2 -0
  15. package/dist/PickerInput/Selector/hooks/useInputHooks.js +2 -0
  16. package/dist/PickerInput/Selector/hooks/useRootProps.js +2 -0
  17. package/dist/PickerInput/Selector/util.js +2 -0
  18. package/dist/PickerInput/SinglePicker.d.ts +9 -0
  19. package/dist/PickerInput/SinglePicker.js +24 -14
  20. package/dist/PickerInput/context.js +2 -0
  21. package/dist/PickerInput/hooks/useCellRender.js +2 -0
  22. package/dist/PickerInput/hooks/useDelayState.js +2 -0
  23. package/dist/PickerInput/hooks/useDisabledBoundary.js +5 -0
  24. package/dist/PickerInput/hooks/useFieldFormat.js +2 -0
  25. package/dist/PickerInput/hooks/useFieldsInvalidate.js +5 -0
  26. package/dist/PickerInput/hooks/useFilledProps.js +10 -0
  27. package/dist/PickerInput/hooks/useInputReadOnly.js +2 -0
  28. package/dist/PickerInput/hooks/useInvalidate.js +5 -0
  29. package/dist/PickerInput/hooks/useLockEffect.js +6 -0
  30. package/dist/PickerInput/hooks/useOpen.js +6 -0
  31. package/dist/PickerInput/hooks/usePresets.js +2 -0
  32. package/dist/PickerInput/hooks/useRangeActive.js +7 -0
  33. package/dist/PickerInput/hooks/useRangeDisabledDate.js +6 -0
  34. package/dist/PickerInput/hooks/useRangePickerValue.js +2 -0
  35. package/dist/PickerInput/hooks/useRangeValue.js +8 -2
  36. package/dist/PickerInput/hooks/useShowNow.js +2 -0
  37. package/dist/PickerPanel/DatePanel/index.js +15 -21
  38. package/dist/PickerPanel/DateTimePanel/index.js +13 -19
  39. package/dist/PickerPanel/DecadePanel/index.js +14 -20
  40. package/dist/PickerPanel/MonthPanel/index.js +14 -20
  41. package/dist/PickerPanel/PanelBody.js +10 -16
  42. package/dist/PickerPanel/PanelHeader.js +4 -2
  43. package/dist/PickerPanel/QuarterPanel/index.js +14 -20
  44. package/dist/PickerPanel/TimePanel/TimePanelBody/TimeColumn.js +8 -10
  45. package/dist/PickerPanel/TimePanel/TimePanelBody/index.js +10 -8
  46. package/dist/PickerPanel/TimePanel/TimePanelBody/useScrollTo.js +2 -0
  47. package/dist/PickerPanel/TimePanel/index.js +14 -20
  48. package/dist/PickerPanel/WeekPanel/index.js +12 -18
  49. package/dist/PickerPanel/YearPanel/index.js +14 -20
  50. package/dist/PickerPanel/context.js +2 -0
  51. package/dist/PickerPanel/index.js +23 -21
  52. package/dist/PickerTrigger/index.js +4 -2
  53. package/dist/PickerTrigger/util.js +2 -0
  54. package/dist/generate/dateFns.js +23 -10
  55. package/dist/generate/dayjs.js +4 -2
  56. package/dist/generate/luxon.js +29 -2
  57. package/dist/generate/moment.js +4 -2
  58. package/dist/hooks/useLocale.js +8 -3
  59. package/dist/hooks/useSemantic.js +5 -0
  60. package/dist/hooks/useSyncState.js +7 -0
  61. package/dist/hooks/useTimeConfig.js +11 -0
  62. package/dist/hooks/useTimeInfo.js +10 -2
  63. package/dist/hooks/useToggleDates.js +7 -0
  64. package/dist/index.d.ts +2 -2
  65. package/dist/index.js +7 -5
  66. package/dist/locale/am_ET.js +4 -2
  67. package/dist/locale/ar_EG.js +4 -2
  68. package/dist/locale/az_AZ.js +4 -2
  69. package/dist/locale/bg_BG.js +4 -2
  70. package/dist/locale/bn_BD.js +4 -2
  71. package/dist/locale/by_BY.js +4 -2
  72. package/dist/locale/ca_ES.js +4 -2
  73. package/dist/locale/common.js +3 -1
  74. package/dist/locale/cs_CZ.js +4 -2
  75. package/dist/locale/da_DK.js +4 -2
  76. package/dist/locale/de_DE.js +4 -2
  77. package/dist/locale/el_GR.js +4 -2
  78. package/dist/locale/en_GB.js +4 -2
  79. package/dist/locale/en_US.js +4 -2
  80. package/dist/locale/es_ES.js +4 -2
  81. package/dist/locale/es_MX.js +4 -2
  82. package/dist/locale/et_EE.js +4 -2
  83. package/dist/locale/eu_ES.js +4 -2
  84. package/dist/locale/fa_IR.js +4 -2
  85. package/dist/locale/fi_FI.js +4 -2
  86. package/dist/locale/fr_BE.js +4 -2
  87. package/dist/locale/fr_CA.js +4 -2
  88. package/dist/locale/fr_FR.js +4 -2
  89. package/dist/locale/ga_IE.js +4 -2
  90. package/dist/locale/gl_ES.js +4 -2
  91. package/dist/locale/he_IL.js +4 -2
  92. package/dist/locale/hi_IN.js +4 -2
  93. package/dist/locale/hr_HR.js +4 -2
  94. package/dist/locale/hu_HU.js +4 -2
  95. package/dist/locale/id_ID.js +4 -2
  96. package/dist/locale/is_IS.js +4 -2
  97. package/dist/locale/it_IT.js +4 -2
  98. package/dist/locale/ja_JP.js +4 -2
  99. package/dist/locale/ka_GE.js +4 -2
  100. package/dist/locale/kk_KZ.js +4 -2
  101. package/dist/locale/km_KH.js +4 -2
  102. package/dist/locale/kmr_IQ.js +4 -2
  103. package/dist/locale/kn_IN.js +4 -2
  104. package/dist/locale/ko_KR.js +4 -2
  105. package/dist/locale/lt_LT.js +4 -2
  106. package/dist/locale/lv_LV.js +4 -2
  107. package/dist/locale/mk_MK.js +4 -2
  108. package/dist/locale/ml_IN.js +4 -2
  109. package/dist/locale/mn_MN.js +4 -2
  110. package/dist/locale/mr_IN.js +4 -2
  111. package/dist/locale/ms_MY.js +4 -2
  112. package/dist/locale/my_MM.js +4 -2
  113. package/dist/locale/nb_NO.js +4 -2
  114. package/dist/locale/ne_NP.js +4 -2
  115. package/dist/locale/nl_BE.js +4 -2
  116. package/dist/locale/nl_NL.js +4 -2
  117. package/dist/locale/pl_PL.js +4 -2
  118. package/dist/locale/pt_BR.js +4 -2
  119. package/dist/locale/pt_PT.js +4 -2
  120. package/dist/locale/ro_RO.js +4 -2
  121. package/dist/locale/ru_RU.js +4 -2
  122. package/dist/locale/si_LK.js +4 -2
  123. package/dist/locale/sk_SK.js +4 -2
  124. package/dist/locale/sl_SI.js +4 -2
  125. package/dist/locale/sr_Cyrl_RS.js +4 -2
  126. package/dist/locale/sr_RS.js +4 -2
  127. package/dist/locale/sv_SE.js +4 -2
  128. package/dist/locale/ta_IN.js +4 -2
  129. package/dist/locale/te_IN.js +4 -2
  130. package/dist/locale/th_TH.js +4 -2
  131. package/dist/locale/tk_TK.js +4 -2
  132. package/dist/locale/tr_TR.js +4 -2
  133. package/dist/locale/ug_CN.js +4 -2
  134. package/dist/locale/uk_UA.js +4 -2
  135. package/dist/locale/ur_PK.js +4 -2
  136. package/dist/locale/uz_UZ.js +4 -2
  137. package/dist/locale/vi_VN.js +4 -2
  138. package/dist/locale/zh_CN.js +4 -2
  139. package/dist/locale/zh_TW.js +4 -2
  140. package/dist/utils/dateUtil.js +17 -1
  141. package/dist/utils/getClearIcon.js +2 -0
  142. package/dist/utils/miscUtil.js +6 -0
  143. package/dist/utils/uiUtil.js +2 -0
  144. package/dist/utils/valueUtil.js +2 -0
  145. package/dist/utils/warnUtil.js +2 -0
  146. package/package.json +5 -5
@@ -2,7 +2,8 @@ import { usePickerContext } from "../context.js";
2
2
  import useTimeInfo from "../../hooks/useTimeInfo.js";
3
3
  import { computed, createVNode, defineComponent } from "vue";
4
4
  import { clsx } from "@v-c/util";
5
- var Footer_default = /* @__PURE__ */ defineComponent((props) => {
5
+ //#region src/PickerInput/Popup/Footer.tsx
6
+ var Footer = /* @__PURE__ */ defineComponent((props) => {
6
7
  const mode = computed(() => props.mode);
7
8
  const internalMode = computed(() => props.internalMode);
8
9
  const renderExtraFooter = computed(() => props.renderExtraFooter);
@@ -49,13 +50,11 @@ var Footer_default = /* @__PURE__ */ defineComponent((props) => {
49
50
  props: {
50
51
  mode: {
51
52
  type: String,
52
- required: true,
53
- default: void 0
53
+ required: true
54
54
  },
55
55
  internalMode: {
56
56
  type: String,
57
- required: true,
58
- default: void 0
57
+ required: true
59
58
  },
60
59
  renderExtraFooter: {
61
60
  type: Function,
@@ -64,18 +63,15 @@ var Footer_default = /* @__PURE__ */ defineComponent((props) => {
64
63
  },
65
64
  showNow: {
66
65
  type: Boolean,
67
- required: true,
68
- default: void 0
66
+ required: true
69
67
  },
70
68
  generateConfig: {
71
69
  type: Object,
72
- required: true,
73
- default: void 0
70
+ required: true
74
71
  },
75
72
  disabledDate: {
76
73
  type: Function,
77
- required: true,
78
- default: void 0
74
+ required: true
79
75
  },
80
76
  showTime: {
81
77
  type: Object,
@@ -89,21 +85,19 @@ var Footer_default = /* @__PURE__ */ defineComponent((props) => {
89
85
  },
90
86
  onSubmit: {
91
87
  type: Function,
92
- required: true,
93
- default: void 0
88
+ required: true
94
89
  },
95
90
  needConfirm: {
96
91
  type: Boolean,
97
- required: true,
98
- default: void 0
92
+ required: true
99
93
  },
100
94
  onNow: {
101
95
  type: Function,
102
- required: true,
103
- default: void 0
96
+ required: true
104
97
  }
105
98
  },
106
99
  name: "Footer",
107
100
  inheritAttrs: false
108
101
  });
109
- export { Footer_default as default };
102
+ //#endregion
103
+ export { Footer as default };
@@ -1,9 +1,10 @@
1
1
  import { usePickerContext } from "../context.js";
2
2
  import { offsetPanelDate } from "../hooks/useRangePickerValue.js";
3
3
  import { providePickerHackContext } from "../../PickerPanel/context.js";
4
- import PickerPanel_default from "../../PickerPanel/index.js";
4
+ import PickerPanel from "../../PickerPanel/index.js";
5
5
  import { computed, createVNode, defineComponent, mergeProps } from "vue";
6
6
  import { omit } from "@v-c/util";
7
+ //#region src/PickerInput/Popup/PopupPanel.tsx
7
8
  var PickerPanelProvider = /* @__PURE__ */ defineComponent((props, { slots }) => {
8
9
  providePickerHackContext(computed(() => props.value));
9
10
  return () => {
@@ -12,13 +13,12 @@ var PickerPanelProvider = /* @__PURE__ */ defineComponent((props, { slots }) =>
12
13
  }, {
13
14
  props: { value: {
14
15
  type: Object,
15
- required: true,
16
- default: void 0
16
+ required: true
17
17
  } },
18
18
  name: "PickerPanelProvider",
19
19
  inheritAttrs: false
20
20
  });
21
- var PopupPanel_default = /* @__PURE__ */ defineComponent((props) => {
21
+ var PopupPanel = /* @__PURE__ */ defineComponent((props) => {
22
22
  const ctx = usePickerContext();
23
23
  const picker = computed(() => props.picker);
24
24
  const pickerValue = computed(() => props.pickerValue);
@@ -58,14 +58,14 @@ var PopupPanel_default = /* @__PURE__ */ defineComponent((props) => {
58
58
  if (multiplePanel?.value) return createVNode("div", { "class": `${prefixCls}-panels` }, [createVNode(PickerPanelProvider, { "value": {
59
59
  ...sharedContext,
60
60
  hideNext: true
61
- } }, { default: () => [createVNode(PickerPanel_default, pickerProps.value, null)] }), createVNode(PickerPanelProvider, { "value": {
61
+ } }, { default: () => [createVNode(PickerPanel, pickerProps.value, null)] }), createVNode(PickerPanelProvider, { "value": {
62
62
  ...sharedContext,
63
63
  hidePrev: true
64
- } }, { default: () => [createVNode(PickerPanel_default, mergeProps(omit(pickerProps.value, ["onPickerValueChange"]), {
64
+ } }, { default: () => [createVNode(PickerPanel, mergeProps(omit(pickerProps.value, ["onPickerValueChange"]), {
65
65
  "pickerValue": nextPickerValue.value,
66
66
  "onPickerValueChange": onSecondPickerValueChange
67
67
  }), null)] })]);
68
- return createVNode(PickerPanelProvider, { "value": { ...sharedContext } }, { default: () => [createVNode(PickerPanel_default, pickerProps.value, null)] });
68
+ return createVNode(PickerPanelProvider, { "value": { ...sharedContext } }, { default: () => [createVNode(PickerPanel, pickerProps.value, null)] });
69
69
  };
70
70
  }, {
71
71
  props: {
@@ -81,8 +81,7 @@ var PopupPanel_default = /* @__PURE__ */ defineComponent((props) => {
81
81
  },
82
82
  onPickerValueChange: {
83
83
  type: Function,
84
- required: true,
85
- default: void 0
84
+ required: true
86
85
  },
87
86
  mode: {
88
87
  type: String,
@@ -367,8 +366,7 @@ var PopupPanel_default = /* @__PURE__ */ defineComponent((props) => {
367
366
  },
368
367
  internalMode: {
369
368
  type: String,
370
- required: true,
371
- default: void 0
369
+ required: true
372
370
  },
373
371
  renderExtraFooter: {
374
372
  type: Function,
@@ -387,21 +385,19 @@ var PopupPanel_default = /* @__PURE__ */ defineComponent((props) => {
387
385
  },
388
386
  onSubmit: {
389
387
  type: Function,
390
- required: true,
391
- default: void 0
388
+ required: true
392
389
  },
393
390
  needConfirm: {
394
391
  type: Boolean,
395
- required: true,
396
- default: void 0
392
+ required: true
397
393
  },
398
394
  onNow: {
399
395
  type: Function,
400
- required: true,
401
- default: void 0
396
+ required: true
402
397
  }
403
398
  },
404
399
  name: "PopupPanel",
405
400
  inheritAttrs: false
406
401
  });
407
- export { PopupPanel_default as default };
402
+ //#endregion
403
+ export { PopupPanel as default };
@@ -1,8 +1,9 @@
1
1
  import { createVNode, defineComponent } from "vue";
2
+ //#region src/PickerInput/Popup/PresetPanel.tsx
2
3
  function executeValue(value) {
3
4
  return typeof value === "function" ? value() : value;
4
5
  }
5
- var PresetPanel_default = /* @__PURE__ */ defineComponent((props) => {
6
+ var PresetPanel = /* @__PURE__ */ defineComponent((props) => {
6
7
  return () => {
7
8
  const { prefixCls, presets, onClick, onHover } = props;
8
9
  if (!presets.length) return null;
@@ -23,26 +24,23 @@ var PresetPanel_default = /* @__PURE__ */ defineComponent((props) => {
23
24
  props: {
24
25
  prefixCls: {
25
26
  type: [String, null],
26
- required: true,
27
- default: void 0
27
+ required: true
28
28
  },
29
29
  presets: {
30
30
  type: Array,
31
- required: true,
32
- default: void 0
31
+ required: true
33
32
  },
34
33
  onClick: {
35
34
  type: Function,
36
- required: true,
37
- default: void 0
35
+ required: true
38
36
  },
39
37
  onHover: {
40
38
  type: Function,
41
- required: true,
42
- default: void 0
39
+ required: true
43
40
  }
44
41
  },
45
42
  name: "PresetPanel",
46
43
  inheritAttrs: false
47
44
  });
48
- export { PresetPanel_default as default };
45
+ //#endregion
46
+ export { PresetPanel as default };
@@ -1,12 +1,13 @@
1
1
  import { usePickerContext } from "../context.js";
2
2
  import { toArray } from "../../utils/miscUtil.js";
3
- import Footer_default from "./Footer.js";
4
- import PopupPanel_default from "./PopupPanel.js";
5
- import PresetPanel_default from "./PresetPanel.js";
3
+ import Footer from "./Footer.js";
4
+ import PopupPanel from "./PopupPanel.js";
5
+ import PresetPanel from "./PresetPanel.js";
6
6
  import { computed, createVNode, defineComponent, mergeProps, nextTick, ref, watch } from "vue";
7
7
  import { clsx, omit } from "@v-c/util";
8
8
  import { useResizeObserver } from "@v-c/resize-observer";
9
- var Popup_default = /* @__PURE__ */ defineComponent((props) => {
9
+ //#region src/PickerInput/Popup/index.tsx
10
+ var Popup = /* @__PURE__ */ defineComponent((props) => {
10
11
  const activeInfo = computed(() => props.activeInfo || [
11
12
  0,
12
13
  0,
@@ -92,12 +93,12 @@ var Popup_default = /* @__PURE__ */ defineComponent((props) => {
92
93
  onBlur?.(event);
93
94
  };
94
95
  const prefixCls = ctx.value.prefixCls;
95
- let mergedNodes = createVNode("div", { "class": `${prefixCls}-panel-layout` }, [createVNode(PresetPanel_default, {
96
+ let mergedNodes = createVNode("div", { "class": `${prefixCls}-panel-layout` }, [createVNode(PresetPanel, {
96
97
  "prefixCls": prefixCls,
97
98
  "presets": presets,
98
99
  "onClick": onPresetSubmit,
99
100
  "onHover": onPresetHover
100
- }, null), createVNode("div", null, [createVNode(PopupPanel_default, mergeProps(props, { "value": popupPanelValue.value }), null), createVNode(Footer_default, mergeProps(omit(props, ["onSubmit"]), {
101
+ }, null), createVNode("div", null, [createVNode(PopupPanel, mergeProps(props, { "value": popupPanelValue.value }), null), createVNode(Footer, mergeProps(omit(props, ["onSubmit"]), {
101
102
  "showNow": multiple ? false : showNow,
102
103
  "invalid": disableSubmit.value,
103
104
  "onSubmit": onFooterSubmit
@@ -149,8 +150,7 @@ var Popup_default = /* @__PURE__ */ defineComponent((props) => {
149
150
  },
150
151
  internalMode: {
151
152
  type: String,
152
- required: true,
153
- default: void 0
153
+ required: true
154
154
  },
155
155
  renderExtraFooter: {
156
156
  type: Function,
@@ -184,18 +184,15 @@ var Popup_default = /* @__PURE__ */ defineComponent((props) => {
184
184
  },
185
185
  onSubmit: {
186
186
  type: Function,
187
- required: true,
188
- default: void 0
187
+ required: true
189
188
  },
190
189
  needConfirm: {
191
190
  type: [Boolean, null],
192
- required: true,
193
- default: void 0
191
+ required: true
194
192
  },
195
193
  onNow: {
196
194
  type: Function,
197
- required: true,
198
- default: void 0
195
+ required: true
199
196
  },
200
197
  multiplePanel: {
201
198
  type: Boolean,
@@ -209,8 +206,7 @@ var Popup_default = /* @__PURE__ */ defineComponent((props) => {
209
206
  },
210
207
  onPickerValueChange: {
211
208
  type: Function,
212
- required: true,
213
- default: void 0
209
+ required: true
214
210
  },
215
211
  onPanelChange: {
216
212
  type: Function,
@@ -481,18 +477,15 @@ var Popup_default = /* @__PURE__ */ defineComponent((props) => {
481
477
  },
482
478
  presets: {
483
479
  type: Array,
484
- required: true,
485
- default: void 0
480
+ required: true
486
481
  },
487
482
  onPresetHover: {
488
483
  type: Function,
489
- required: true,
490
- default: void 0
484
+ required: true
491
485
  },
492
486
  onPresetSubmit: {
493
487
  type: Function,
494
- required: true,
495
- default: void 0
488
+ required: true
496
489
  },
497
490
  activeInfo: {
498
491
  type: Array,
@@ -501,13 +494,9 @@ var Popup_default = /* @__PURE__ */ defineComponent((props) => {
501
494
  },
502
495
  isInvalid: {
503
496
  type: Function,
504
- required: true,
505
- default: void 0
506
- },
507
- onOk: {
508
- required: true,
509
- default: void 0
497
+ required: true
510
498
  },
499
+ onOk: { required: true },
511
500
  onPanelMouseDown: {
512
501
  type: Function,
513
502
  required: false,
@@ -517,4 +506,5 @@ var Popup_default = /* @__PURE__ */ defineComponent((props) => {
517
506
  name: "Popup",
518
507
  inheritAttrs: false
519
508
  });
520
- export { Popup_default as default };
509
+ //#endregion
510
+ export { Popup as default };
@@ -1,6 +1,6 @@
1
1
  import useSemantic from "../hooks/useSemantic.js";
2
2
  import { providePickerContext } from "./context.js";
3
- import PickerTrigger_default from "../PickerTrigger/index.js";
3
+ import PickerTrigger from "../PickerTrigger/index.js";
4
4
  import { fillIndex, getFromDate, toArray } from "../utils/miscUtil.js";
5
5
  import { pickTriggerProps } from "../PickerTrigger/util.js";
6
6
  import { formatValues } from "../utils/valueUtil.js";
@@ -14,13 +14,14 @@ import useRangeDisabledDate from "./hooks/useRangeDisabledDate.js";
14
14
  import useRangePickerValue from "./hooks/useRangePickerValue.js";
15
15
  import useRangeValue, { useInnerValue } from "./hooks/useRangeValue.js";
16
16
  import useShowNow from "./hooks/useShowNow.js";
17
- import Popup_default from "./Popup/index.js";
18
- import RangeSelector_default from "./Selector/RangeSelector.js";
17
+ import Popup from "./Popup/index.js";
18
+ import RangeSelector from "./Selector/RangeSelector.js";
19
19
  import { computed, createVNode, defineComponent, mergeProps, nextTick, ref, shallowRef, watch } from "vue";
20
20
  import { clsx } from "@v-c/util";
21
21
  import omit$1 from "@v-c/util/dist/omit";
22
22
  import pickAttrs from "@v-c/util/dist/pickAttrs";
23
23
  import warning$1 from "@v-c/util/dist/warning";
24
+ //#region src/PickerInput/RangePicker.tsx
24
25
  function separateConfig(config, defaultConfig) {
25
26
  const singleConfig = config ?? defaultConfig;
26
27
  if (Array.isArray(singleConfig)) return singleConfig;
@@ -29,12 +30,12 @@ function separateConfig(config, defaultConfig) {
29
30
  function getActiveRange(activeIndex) {
30
31
  return activeIndex === 1 ? "end" : "start";
31
32
  }
32
- var RangePicker_default = /* @__PURE__ */ defineComponent((props, { expose }) => {
33
+ var RangePicker = /* @__PURE__ */ defineComponent((props, { expose }) => {
33
34
  const [filledProps, internalPicker, complexPicker, formatList, maskFormat, isInvalidateDate] = useFilledProps(computed(() => props), () => {
34
- const { disabled: disabled$1, allowEmpty: allowEmpty$1 } = props;
35
+ const { disabled, allowEmpty } = props;
35
36
  return {
36
- disabled: separateConfig(disabled$1, false),
37
- allowEmpty: separateConfig(allowEmpty$1, false)
37
+ disabled: separateConfig(disabled, false),
38
+ allowEmpty: separateConfig(allowEmpty, false)
38
39
  };
39
40
  });
40
41
  const fp = computed(() => filledProps.value);
@@ -91,8 +92,8 @@ var RangePicker_default = /* @__PURE__ */ defineComponent((props, { expose }) =>
91
92
  }
92
93
  });
93
94
  const semantic = useSemantic(classNames, styles);
94
- const [mergedOpen, setMergeOpen] = useOpen(open, defaultOpen, disabled, (open$1) => {
95
- onOpenChange.value?.(open$1);
95
+ const [mergedOpen, setMergeOpen] = useOpen(open, defaultOpen, disabled, (open) => {
96
+ onOpenChange.value?.(open);
96
97
  });
97
98
  const triggerOpen = (nextOpen, config) => {
98
99
  if (disabled.value.some((fieldDisabled) => !fieldDisabled) || !nextOpen) setMergeOpen(nextOpen, config);
@@ -122,6 +123,7 @@ var RangePicker_default = /* @__PURE__ */ defineComponent((props, { expose }) =>
122
123
  triggerFocus(false);
123
124
  onBlur.value?.(event, { range: getActiveRange(index ?? activeIndex.value) });
124
125
  };
126
+ /** Used for Popup panel */
125
127
  const mergedShowTime = computed(() => {
126
128
  if (!showTime.value) return null;
127
129
  const { disabledTime } = showTime.value;
@@ -139,6 +141,7 @@ var RangePicker_default = /* @__PURE__ */ defineComponent((props, { expose }) =>
139
141
  if (mode.value === void 0) internalModes.value = val;
140
142
  };
141
143
  const mergedMode = computed(() => modes.value[activeIndex.value] || picker.value);
144
+ /** Extends from `mergedMode` to patch `datetime` mode */
142
145
  const internalMode = computed(() => mergedMode.value === "date" && mergedShowTime.value ? "datetime" : mergedMode.value);
143
146
  const multiplePanel = computed(() => internalMode.value === picker.value && internalMode.value !== "time");
144
147
  const mergedShowNow = useShowNow(picker, mergedMode, showNow, showToday, ref(true));
@@ -165,6 +168,12 @@ var RangePicker_default = /* @__PURE__ */ defineComponent((props, { expose }) =>
165
168
  }
166
169
  };
167
170
  const fillCalendarValue = (date, index) => fillIndex(calendarValue.value, index, date);
171
+ /**
172
+ * Trigger by confirm operation.
173
+ * This function has already handle the `needConfirm` check logic.
174
+ * - Selector: enter key
175
+ * - Panel: OK button
176
+ */
168
177
  const triggerPartConfirm = (date, skipFocus) => {
169
178
  let nextValue = calendarValue.value;
170
179
  if (date) nextValue = fillCalendarValue(date, activeIndex.value);
@@ -356,7 +365,7 @@ var RangePicker_default = /* @__PURE__ */ defineComponent((props, { expose }) =>
356
365
  activeInfo.value = info;
357
366
  }
358
367
  };
359
- const panel = createVNode(Popup_default, {
368
+ const panel = createVNode(Popup, {
360
369
  ...panelProps.value,
361
370
  showNow: mergedShowNow.value,
362
371
  showTime: mergedShowTime.value,
@@ -392,14 +401,14 @@ var RangePicker_default = /* @__PURE__ */ defineComponent((props, { expose }) =>
392
401
  classNames: mergedClassNames,
393
402
  styles: mergedStyles
394
403
  }, null);
395
- return createVNode(PickerTrigger_default, mergeProps(pickTriggerProps(fp.value), {
404
+ return createVNode(PickerTrigger, mergeProps(pickTriggerProps(fp.value), {
396
405
  "popupElement": panel,
397
406
  "popupStyle": mergedStyles?.popup?.root,
398
407
  "popupClassName": clsx(rootClassName.value, mergedClassNames?.popup?.root),
399
408
  "visible": mergedOpen.value,
400
409
  "onClose": onPopupClose,
401
410
  "range": true
402
- }), { default: () => [createVNode(RangeSelector_default, mergeProps(rangePickerProps, { "ref": selectorRef }), null)] });
411
+ }), { default: () => [createVNode(RangeSelector, mergeProps(rangePickerProps, { "ref": selectorRef }), null)] });
403
412
  };
404
413
  }, {
405
414
  props: {
@@ -536,13 +545,11 @@ var RangePicker_default = /* @__PURE__ */ defineComponent((props, { expose }) =>
536
545
  },
537
546
  locale: {
538
547
  type: Object,
539
- required: true,
540
- default: void 0
548
+ required: true
541
549
  },
542
550
  generateConfig: {
543
551
  type: Object,
544
- required: true,
545
- default: void 0
552
+ required: true
546
553
  },
547
554
  picker: {
548
555
  type: String,
@@ -1923,4 +1930,5 @@ var RangePicker_default = /* @__PURE__ */ defineComponent((props, { expose }) =>
1923
1930
  name: "RangePicker",
1924
1931
  inheritAttrs: false
1925
1932
  });
1926
- export { RangePicker_default as default };
1933
+ //#endregion
1934
+ export { RangePicker as default };
@@ -1,6 +1,7 @@
1
1
  import { usePickerContext } from "../context.js";
2
2
  import { createVNode, defineComponent, mergeProps } from "vue";
3
3
  import { clsx } from "@v-c/util";
4
+ //#region src/PickerInput/Selector/Icon.tsx
4
5
  var Icon = /* @__PURE__ */ defineComponent((props, { attrs }) => {
5
6
  const ctx = usePickerContext();
6
7
  return () => {
@@ -34,15 +35,13 @@ var Icon = /* @__PURE__ */ defineComponent((props, { attrs }) => {
34
35
  },
35
36
  type: {
36
37
  type: String,
37
- required: true,
38
- default: void 0
38
+ required: true
39
39
  }
40
40
  },
41
41
  name: "Icon",
42
42
  inheritAttrs: false
43
43
  });
44
- var Icon_default = Icon;
45
- const ClearIcon = /* @__PURE__ */ defineComponent((props, { attrs }) => {
44
+ var ClearIcon = /* @__PURE__ */ defineComponent((props, { attrs }) => {
46
45
  return () => {
47
46
  return createVNode(Icon, mergeProps(attrs, {
48
47
  "icon": props.icon,
@@ -59,10 +58,7 @@ const ClearIcon = /* @__PURE__ */ defineComponent((props, { attrs }) => {
59
58
  };
60
59
  }, {
61
60
  props: {
62
- onClear: {
63
- required: true,
64
- default: void 0
65
- },
61
+ onClear: { required: true },
66
62
  icon: {
67
63
  type: [
68
64
  Object,
@@ -80,4 +76,5 @@ const ClearIcon = /* @__PURE__ */ defineComponent((props, { attrs }) => {
80
76
  name: "ClearIcon",
81
77
  inheritAttrs: false
82
78
  });
83
- export { ClearIcon, Icon_default as default };
79
+ //#endregion
80
+ export { ClearIcon, Icon as default };
@@ -2,11 +2,12 @@ import { usePickerContext } from "../context.js";
2
2
  import { leftPad } from "../../utils/miscUtil.js";
3
3
  import { getMaskRange, raf } from "./util.js";
4
4
  import useLockEffect from "../hooks/useLockEffect.js";
5
- import Icon_default from "./Icon.js";
5
+ import Icon from "./Icon.js";
6
6
  import MaskFormat from "./MaskFormat.js";
7
7
  import { computed, createVNode, defineComponent, mergeProps, onBeforeUnmount, ref, toRef, watch } from "vue";
8
8
  import { clsx } from "@v-c/util";
9
- var Input_default = /* @__PURE__ */ defineComponent((props, { attrs, expose }) => {
9
+ //#region src/PickerInput/Selector/Input.tsx
10
+ var Input = /* @__PURE__ */ defineComponent((props, { attrs, expose }) => {
10
11
  const pickerCtx = usePickerContext();
11
12
  const prefixCls = computed(() => pickerCtx.value.prefixCls);
12
13
  const classNames = computed(() => pickerCtx.value.classNames);
@@ -47,6 +48,9 @@ var Input_default = /* @__PURE__ */ defineComponent((props, { attrs, expose }) =
47
48
  const onModify = (text) => {
48
49
  if (text && text !== props.format && text !== props.value) props?.onHelp?.();
49
50
  };
51
+ /**
52
+ * Triggered by paste, keyDown and focus to show format
53
+ */
50
54
  const triggerInputChange = (text) => {
51
55
  if (props.validateFormat?.(text)) props?.onChange?.(text);
52
56
  internalInputValue.value = text;
@@ -214,7 +218,7 @@ var Input_default = /* @__PURE__ */ defineComponent((props, { attrs, expose }) =
214
218
  "style": styles.value.input,
215
219
  "readonly": props.inputReadOnly
216
220
  }), null),
217
- createVNode(Icon_default, {
221
+ createVNode(Icon, {
218
222
  "type": "suffix",
219
223
  "icon": props.suffixIcon
220
224
  }, null),
@@ -290,8 +294,7 @@ var Input_default = /* @__PURE__ */ defineComponent((props, { attrs, expose }) =
290
294
  },
291
295
  validateFormat: {
292
296
  type: Function,
293
- required: true,
294
- default: void 0
297
+ required: true
295
298
  },
296
299
  active: {
297
300
  type: Boolean,
@@ -323,13 +326,9 @@ var Input_default = /* @__PURE__ */ defineComponent((props, { attrs, expose }) =
323
326
  },
324
327
  onChange: {
325
328
  type: Function,
326
- required: true,
327
- default: void 0
328
- },
329
- onSubmit: {
330
- required: true,
331
- default: void 0
329
+ required: true
332
330
  },
331
+ onSubmit: { required: true },
333
332
  helped: {
334
333
  type: Boolean,
335
334
  required: false,
@@ -337,8 +336,7 @@ var Input_default = /* @__PURE__ */ defineComponent((props, { attrs, expose }) =
337
336
  },
338
337
  onHelp: {
339
338
  type: Function,
340
- required: true,
341
- default: void 0
339
+ required: true
342
340
  },
343
341
  preserveInvalidOnBlur: {
344
342
  type: Boolean,
@@ -367,4 +365,5 @@ var Input_default = /* @__PURE__ */ defineComponent((props, { attrs, expose }) =
367
365
  name: "Input",
368
366
  inheritAttrs: false
369
367
  });
370
- export { Input_default as default };
368
+ //#endregion
369
+ export { Input as default };
@@ -1,3 +1,4 @@
1
+ //#region src/PickerInput/Selector/MaskFormat.ts
1
2
  var FORMAT_KEYS = [
2
3
  "YYYY",
3
4
  "MM",
@@ -18,7 +19,7 @@ var MaskFormat = class {
18
19
  const replaceKeys = FORMAT_KEYS.map((key) => `(${key})`).join("|");
19
20
  const replaceReg = new RegExp(replaceKeys, "g");
20
21
  this.maskFormat = format.replace(replaceReg, (key) => REPLACE_KEY.repeat(key.length));
21
- const cellReg = /* @__PURE__ */ new RegExp(`(${FORMAT_KEYS.join("|")})`);
22
+ const cellReg = new RegExp(`(${FORMAT_KEYS.join("|")})`);
22
23
  const strCells = (format.split(cellReg) || []).filter((str) => str);
23
24
  let offset = 0;
24
25
  this.cells = strCells.map((text) => {
@@ -39,6 +40,7 @@ var MaskFormat = class {
39
40
  const { start, end } = this.maskCells[maskCellIndex] || {};
40
41
  return [start || 0, end || 0];
41
42
  }
43
+ /** Check given text match format */
42
44
  match(text) {
43
45
  for (let i = 0; i < this.maskFormat.length; i += 1) {
44
46
  const maskChar = this.maskFormat[i];
@@ -47,6 +49,7 @@ var MaskFormat = class {
47
49
  }
48
50
  return true;
49
51
  }
52
+ /** Get mask cell count */
50
53
  size() {
51
54
  return this.maskCells.length;
52
55
  }
@@ -65,4 +68,5 @@ var MaskFormat = class {
65
68
  return closetIndex;
66
69
  }
67
70
  };
71
+ //#endregion
68
72
  export { MaskFormat as default };