@king-design/intact 3.5.2 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/components/.DS_Store +0 -0
  2. package/components/button/index.md +1 -0
  3. package/components/cascader/index.spec.ts +7 -6
  4. package/components/datepicker/basepicker.ts +26 -267
  5. package/components/datepicker/calendar.ts +8 -2
  6. package/components/datepicker/calendar.vdt +23 -6
  7. package/components/datepicker/dayjs.ts +8 -2
  8. package/components/datepicker/demos/multiple.md +1 -1
  9. package/components/datepicker/demos/yearMonth.md +1 -1
  10. package/components/datepicker/helpers.ts +10 -12
  11. package/components/datepicker/index.md +2 -2
  12. package/components/datepicker/index.spec.ts +619 -190
  13. package/components/datepicker/index.ts +22 -21
  14. package/components/datepicker/index.vdt +47 -42
  15. package/components/datepicker/shortcuts.ts +1 -1
  16. package/components/datepicker/styles.ts +112 -4
  17. package/components/datepicker/useConfirm.ts +82 -0
  18. package/components/datepicker/useDisabled.ts +31 -33
  19. package/components/datepicker/useFormats.ts +10 -4
  20. package/components/datepicker/useHighlight.ts +81 -0
  21. package/components/datepicker/useKeyboards.ts +2 -1
  22. package/components/datepicker/useMergeRange.ts +54 -0
  23. package/components/datepicker/useMonths.ts +6 -3
  24. package/components/datepicker/usePanel.ts +19 -19
  25. package/components/datepicker/useQuarters.ts +47 -0
  26. package/components/datepicker/useShowDate.ts +14 -3
  27. package/components/datepicker/useStatus.ts +34 -15
  28. package/components/datepicker/useValue.ts +41 -39
  29. package/components/datepicker/useValueBase.ts +309 -0
  30. package/components/datepicker/useWeeks.ts +58 -0
  31. package/components/datepicker/useYears.ts +7 -3
  32. package/components/descriptions/.DS_Store +0 -0
  33. package/components/dialog/useFixBody.ts +7 -64
  34. package/components/dropdown/dropdown.ts +5 -4
  35. package/components/dropdown/index.md +1 -0
  36. package/components/dropdown/item.ts +1 -1
  37. package/components/dropdown/useKeyboard.ts +0 -1
  38. package/components/ellipsis/styles.ts +4 -0
  39. package/components/form/styles.ts +1 -0
  40. package/components/input/index.spec.ts +42 -0
  41. package/components/input/index.ts +8 -0
  42. package/components/input/index.vdt +3 -4
  43. package/components/input/useAutoWidth.ts +19 -1
  44. package/components/menu/.DS_Store +0 -0
  45. package/components/menu/demos/.DS_Store +0 -0
  46. package/components/scrollSelect/index.spec.ts +3 -3
  47. package/components/scrollSelect/useMouseEvents.ts +24 -10
  48. package/components/select/base.ts +3 -2
  49. package/components/select/base.vdt +3 -1
  50. package/components/select/demos/creatable.md +13 -0
  51. package/components/select/index.md +1 -0
  52. package/components/select/index.spec.ts +225 -6
  53. package/components/select/option.ts +10 -1
  54. package/components/select/select.ts +3 -0
  55. package/components/select/styles.ts +3 -1
  56. package/components/select/useFilterable.ts +1 -1
  57. package/components/select/useInput.ts +7 -9
  58. package/components/select/useSearchable.ts +2 -2
  59. package/components/table/.DS_Store +0 -0
  60. package/components/table/index.spec.ts +69 -1
  61. package/components/table/useStickyHeader.ts +1 -1
  62. package/components/timepicker/demos/step.md +1 -1
  63. package/components/timepicker/index.spec.ts +145 -27
  64. package/components/timepicker/panelPicker.ts +10 -4
  65. package/components/timepicker/panelPicker.vdt +5 -3
  66. package/components/timepicker/useConfirm.ts +33 -0
  67. package/components/timepicker/useDefaultValue.ts +30 -0
  68. package/components/timepicker/useDisabled.ts +17 -4
  69. package/components/timepicker/useFormats.ts +1 -1
  70. package/components/timepicker/useValue.ts +22 -19
  71. package/components/tour/.DS_Store +0 -0
  72. package/components/tour/demos/basic.md +73 -0
  73. package/components/tour/demos/beforeChange.md +109 -0
  74. package/components/tour/demos/closable.md +70 -0
  75. package/components/tour/demos/custom.md +98 -0
  76. package/components/tour/demos/customText.md +94 -0
  77. package/components/tour/demos/declarative.md +72 -0
  78. package/components/tour/demos/events.md +101 -0
  79. package/components/tour/demos/maskClosable.md +76 -0
  80. package/components/tour/demos/notarget.md +59 -0
  81. package/components/tour/index.md +48 -0
  82. package/components/tour/index.spec.ts +259 -0
  83. package/components/tour/index.ts +2 -0
  84. package/components/tour/step.ts +55 -0
  85. package/components/tour/step.vdt +75 -0
  86. package/components/tour/styles.ts +283 -0
  87. package/components/tour/tour.ts +107 -0
  88. package/components/tour/tour.vdt +83 -0
  89. package/components/tour/useArrow.ts +46 -0
  90. package/components/tour/useFixBody.ts +22 -0
  91. package/components/tour/useHighlight.ts +36 -0
  92. package/components/tour/useMaskClosable.ts +26 -0
  93. package/components/tour/useNavigation.ts +46 -0
  94. package/components/tour/usePosition.ts +91 -0
  95. package/components/tour/useSteps.ts +80 -0
  96. package/components/virtualList/.DS_Store +0 -0
  97. package/components/virtualList/demos/.DS_Store +0 -0
  98. package/es/components/cascader/index.spec.js +18 -19
  99. package/es/components/datepicker/basepicker.d.ts +6 -25
  100. package/es/components/datepicker/basepicker.js +22 -234
  101. package/es/components/datepicker/calendar.d.ts +36 -6
  102. package/es/components/datepicker/calendar.js +4 -0
  103. package/es/components/datepicker/calendar.vdt.js +21 -5
  104. package/es/components/datepicker/dayjs.d.ts +2 -2
  105. package/es/components/datepicker/dayjs.js +6 -0
  106. package/es/components/datepicker/helpers.d.ts +8 -7
  107. package/es/components/datepicker/helpers.js +2 -3
  108. package/es/components/datepicker/index.d.ts +26 -19
  109. package/es/components/datepicker/index.js +21 -13
  110. package/es/components/datepicker/index.spec.js +1389 -633
  111. package/es/components/datepicker/index.vdt.js +43 -46
  112. package/es/components/datepicker/shortcuts.d.ts +1 -1
  113. package/es/components/datepicker/styles.d.ts +22 -0
  114. package/es/components/datepicker/styles.js +26 -4
  115. package/es/components/datepicker/useConfirm.d.ts +6 -0
  116. package/es/components/datepicker/useConfirm.js +65 -0
  117. package/es/components/datepicker/useDisabled.d.ts +7 -5
  118. package/es/components/datepicker/useDisabled.js +22 -27
  119. package/es/components/datepicker/useFormats.d.ts +2 -2
  120. package/es/components/datepicker/useFormats.js +9 -3
  121. package/es/components/datepicker/useHighlight.d.ts +14 -0
  122. package/es/components/datepicker/useHighlight.js +60 -0
  123. package/es/components/datepicker/useKeyboards.js +2 -1
  124. package/es/components/datepicker/useMergeRange.d.ts +5 -0
  125. package/es/components/datepicker/useMergeRange.js +45 -0
  126. package/es/components/datepicker/useMonths.js +5 -3
  127. package/es/components/datepicker/usePanel.d.ts +1 -10
  128. package/es/components/datepicker/usePanel.js +19 -32
  129. package/es/components/datepicker/useQuarters.d.ts +15 -0
  130. package/es/components/datepicker/useQuarters.js +36 -0
  131. package/es/components/datepicker/useShowDate.js +10 -2
  132. package/es/components/datepicker/useStatus.d.ts +1 -1
  133. package/es/components/datepicker/useStatus.js +33 -16
  134. package/es/components/datepicker/useValue.d.ts +12 -6
  135. package/es/components/datepicker/useValue.js +49 -45
  136. package/es/components/datepicker/useValueBase.d.ts +28 -0
  137. package/es/components/datepicker/useValueBase.js +277 -0
  138. package/es/components/datepicker/useWeeks.d.ts +19 -0
  139. package/es/components/datepicker/useWeeks.js +48 -0
  140. package/es/components/datepicker/useYears.js +6 -3
  141. package/es/components/dialog/useFixBody.js +6 -58
  142. package/es/components/dropdown/dropdown.d.ts +1 -0
  143. package/es/components/dropdown/dropdown.js +7 -4
  144. package/es/components/ellipsis/styles.js +1 -1
  145. package/es/components/form/styles.js +1 -1
  146. package/es/components/input/index.d.ts +2 -0
  147. package/es/components/input/index.js +6 -0
  148. package/es/components/input/index.spec.js +45 -0
  149. package/es/components/input/index.vdt.js +4 -3
  150. package/es/components/input/useAutoWidth.d.ts +2 -0
  151. package/es/components/input/useAutoWidth.js +19 -1
  152. package/es/components/scrollSelect/index.spec.js +4 -6
  153. package/es/components/scrollSelect/useMouseEvents.js +22 -9
  154. package/es/components/select/base.d.ts +1 -1
  155. package/es/components/select/base.js +3 -2
  156. package/es/components/select/base.vdt.js +5 -2
  157. package/es/components/select/index.spec.js +329 -82
  158. package/es/components/select/option.d.ts +1 -0
  159. package/es/components/select/option.js +10 -2
  160. package/es/components/select/select.d.ts +1 -0
  161. package/es/components/select/select.js +4 -2
  162. package/es/components/select/styles.d.ts +79 -0
  163. package/es/components/select/styles.js +1 -0
  164. package/es/components/select/useFilterable.js +2 -1
  165. package/es/components/select/useInput.d.ts +1 -1
  166. package/es/components/select/useInput.js +7 -4
  167. package/es/components/select/useSearchable.js +1 -0
  168. package/es/components/table/index.spec.js +84 -6
  169. package/es/components/table/useStickyHeader.js +1 -1
  170. package/es/components/timepicker/index.spec.js +298 -128
  171. package/es/components/timepicker/panelPicker.d.ts +23 -17
  172. package/es/components/timepicker/panelPicker.js +7 -4
  173. package/es/components/timepicker/panelPicker.vdt.js +8 -4
  174. package/es/components/timepicker/selectPicker.d.ts +5 -4
  175. package/es/components/timepicker/useConfirm.d.ts +6 -0
  176. package/es/components/timepicker/useConfirm.js +19 -0
  177. package/es/components/timepicker/useDefaultValue.d.ts +4 -0
  178. package/es/components/timepicker/useDefaultValue.js +27 -0
  179. package/es/components/timepicker/useDisabled.d.ts +7 -4
  180. package/es/components/timepicker/useDisabled.js +13 -4
  181. package/es/components/timepicker/useFormats.d.ts +1 -1
  182. package/es/components/timepicker/useValue.d.ts +14 -8
  183. package/es/components/timepicker/useValue.js +14 -15
  184. package/es/components/tour/index.d.ts +2 -0
  185. package/es/components/tour/index.js +2 -0
  186. package/es/components/tour/index.spec.d.ts +1 -0
  187. package/es/components/tour/index.spec.js +356 -0
  188. package/es/components/tour/step.d.ts +23 -0
  189. package/es/components/tour/step.js +46 -0
  190. package/es/components/tour/step.vdt.js +74 -0
  191. package/es/components/tour/styles.d.ts +7 -0
  192. package/es/components/tour/styles.js +84 -0
  193. package/es/components/tour/tour.d.ts +73 -0
  194. package/es/components/tour/tour.js +70 -0
  195. package/es/components/tour/tour.vdt.js +66 -0
  196. package/es/components/tour/useArrow.d.ts +4 -0
  197. package/es/components/tour/useArrow.js +40 -0
  198. package/es/components/tour/useFixBody.d.ts +4 -0
  199. package/es/components/tour/useFixBody.js +17 -0
  200. package/es/components/tour/useHighlight.d.ts +4 -0
  201. package/es/components/tour/useHighlight.js +31 -0
  202. package/es/components/tour/useMaskClosable.d.ts +1 -0
  203. package/es/components/tour/useMaskClosable.js +25 -0
  204. package/es/components/tour/useNavigation.d.ts +5 -0
  205. package/es/components/tour/useNavigation.js +103 -0
  206. package/es/components/tour/usePosition.d.ts +6 -0
  207. package/es/components/tour/usePosition.js +93 -0
  208. package/es/components/tour/useSteps.d.ts +6 -0
  209. package/es/components/tour/useSteps.js +68 -0
  210. package/es/hooks/useFixBody.d.ts +11 -0
  211. package/es/hooks/useFixBody.js +72 -0
  212. package/es/index.d.ts +3 -2
  213. package/es/index.js +3 -2
  214. package/es/site/data/components/datepicker/demos/multiple/react.js +2 -2
  215. package/es/site/data/components/select/demos/creatable/index.d.ts +1 -0
  216. package/es/site/data/components/select/demos/creatable/index.js +2 -1
  217. package/es/site/data/components/select/demos/creatable/react.d.ts +1 -0
  218. package/es/site/data/components/select/demos/creatable/react.js +31 -2
  219. package/es/site/data/components/tour/demos/basic/index.d.ts +17 -0
  220. package/es/site/data/components/tour/demos/basic/index.js +46 -0
  221. package/es/site/data/components/tour/demos/basic/react.d.ts +16 -0
  222. package/es/site/data/components/tour/demos/basic/react.js +82 -0
  223. package/es/site/data/components/tour/demos/beforeChange/index.d.ts +20 -0
  224. package/es/site/data/components/tour/demos/beforeChange/index.js +69 -0
  225. package/es/site/data/components/tour/demos/beforeChange/react.d.ts +19 -0
  226. package/es/site/data/components/tour/demos/beforeChange/react.js +129 -0
  227. package/es/site/data/components/tour/demos/closable/index.d.ts +18 -0
  228. package/es/site/data/components/tour/demos/closable/index.js +42 -0
  229. package/es/site/data/components/tour/demos/closable/react.d.ts +17 -0
  230. package/es/site/data/components/tour/demos/closable/react.js +85 -0
  231. package/es/site/data/components/tour/demos/custom/index.d.ts +11 -0
  232. package/es/site/data/components/tour/demos/custom/index.js +35 -0
  233. package/es/site/data/components/tour/demos/custom/react.d.ts +11 -0
  234. package/es/site/data/components/tour/demos/custom/react.js +108 -0
  235. package/es/site/data/components/tour/demos/customText/index.d.ts +33 -0
  236. package/es/site/data/components/tour/demos/customText/index.js +55 -0
  237. package/es/site/data/components/tour/demos/customText/react.d.ts +33 -0
  238. package/es/site/data/components/tour/demos/customText/react.js +99 -0
  239. package/es/site/data/components/tour/demos/declarative/index.d.ts +11 -0
  240. package/es/site/data/components/tour/demos/declarative/index.js +36 -0
  241. package/es/site/data/components/tour/demos/declarative/react.d.ts +10 -0
  242. package/es/site/data/components/tour/demos/declarative/react.js +80 -0
  243. package/es/site/data/components/tour/demos/events/index.d.ts +18 -0
  244. package/es/site/data/components/tour/demos/events/index.js +58 -0
  245. package/es/site/data/components/tour/demos/events/react.d.ts +18 -0
  246. package/es/site/data/components/tour/demos/events/react.js +101 -0
  247. package/es/site/data/components/tour/demos/maskClosable/index.d.ts +18 -0
  248. package/es/site/data/components/tour/demos/maskClosable/index.js +47 -0
  249. package/es/site/data/components/tour/demos/maskClosable/react.d.ts +17 -0
  250. package/es/site/data/components/tour/demos/maskClosable/react.js +95 -0
  251. package/es/site/data/components/tour/demos/notarget/index.d.ts +11 -0
  252. package/es/site/data/components/tour/demos/notarget/index.js +35 -0
  253. package/es/site/data/components/tour/demos/notarget/react.d.ts +10 -0
  254. package/es/site/data/components/tour/demos/notarget/react.js +61 -0
  255. package/es/site/data/components/tour/index.d.ts +57 -0
  256. package/es/site/data/components/tour/index.js +32 -0
  257. package/hooks/useFixBody.ts +87 -0
  258. package/index.ts +3 -2
  259. package/package.json +2 -2
  260. package/styles/.DS_Store +0 -0
@@ -12,7 +12,12 @@ export default function ($props, $blocks, $__proto__) {
12
12
  var $this = this;
13
13
  var type = this.type.value;
14
14
  var isYear = type === 'year';
15
+ var isWeek = type === 'week';
16
+ var isQuarter = type === 'quarter';
15
17
  var isYearOrMonth = isYear || type === 'month';
18
+ var isDateOrDateTime = type === 'date' || type === 'datetime';
19
+ // isDateOrDateTime & isWeek合并
20
+ var showDateWeeks = isDateOrDateTime || isWeek;
16
21
  var k = this.config.k;
17
22
  var classNameObj = (_classNameObj = {}, _classNameObj[k + "-datepicker-calendar"] = true, _classNameObj[makeCalendarStyles(k)] = true, _classNameObj);
18
23
  var now = getNowDate();
@@ -58,7 +63,7 @@ export default function ($props, $blocks, $__proto__) {
58
63
  'className': _$cn(k + "-icon-left"),
59
64
  'size': 'small'
60
65
  })]
61
- }), !isYearOrMonth ? _$cc(Button, {
66
+ }), showDateWeeks ? _$cc(Button, {
62
67
  'icon': true,
63
68
  'type': 'none',
64
69
  'size': 'small',
@@ -73,7 +78,7 @@ export default function ($props, $blocks, $__proto__) {
73
78
  return _$ce(2, 'span', $value.value, 0, _$cn(k + "-month-value"), {
74
79
  'ev-click': $value.onClick
75
80
  });
76
- }, $this) : _$ce(2, 'span', this.years.getYearLabel(), 0, _$cn(k + "-month-value")), 0, _$cn(k + "-month-values")), _$ce(2, 'div', [!isYearOrMonth ? _$cc(Button, {
81
+ }, $this) : _$ce(2, 'span', this.years.getYearLabel(), 0, _$cn(k + "-month-value")), 0, _$cn(k + "-month-values")), _$ce(2, 'div', [showDateWeeks ? _$cc(Button, {
77
82
  'icon': true,
78
83
  'type': 'none',
79
84
  'size': 'small',
@@ -98,11 +103,22 @@ export default function ($props, $blocks, $__proto__) {
98
103
  'className': _$cn(k + "-icon-right"),
99
104
  'size': 'small'
100
105
  })]
101
- })], 0, _$cn(k + "-right-btns"))], 4, _$cn(k + "-datepicker-month")), !isYearOrMonth ? [_$ce(2, 'div', _$ma([_$('日'), _$('一'), _$('二'), _$('三'), _$('四'), _$('五'), _$('六')], function ($value, $key) {
106
+ })], 0, _$cn(k + "-right-btns"))], 4, _$cn(k + "-datepicker-month")), showDateWeeks ? [_$ce(2, 'div', _$ma([_$('日'), _$('一'), _$('二'), _$('三'), _$('四'), _$('五'), _$('六')], function ($value, $key) {
102
107
  return _$ce(2, 'div', $value, 0, _$cn(k + "-weekday"));
103
- }, $this), 4, _$cn(k + "-weekdays")), _$ce(2, 'div', getItems(getDays(now), onClickDay), 0, _$cn(k + "-days"), {
108
+ }, $this), 4, _$cn(k + "-weekdays")), isWeek ? _$ce(2, 'div', _$ma(this.weeks.getWeeks(now), function ($value, $key) {
109
+ return _$ce(2, 'div', [_$ce(2, 'div', $value.week, 0, _$cn(k + "-week-number"), {
110
+ 'ev-click': function evClick(e) {
111
+ onClickDay($value.days[0].value);
112
+ },
113
+ 'ev-mouseenter': function evMouseenter() {
114
+ return focusDate.set($value.days[0].value);
115
+ }
116
+ }), getItems($value.days, onClickDay)], 0, 'week-row');
117
+ }, $this), 4, _$cn(k + "-weeks"), {
104
118
  'ev-mouseleave': resetFocusDate
105
- })] : _$ce(2, 'div', isYear ? getItems(this.years.getYears(now), this.years.onClick) : getItems(this.months.getMonths(now), this.months.onClick), 0, _$cn(k + "-years"), {
119
+ }) : _$ce(2, 'div', getItems(getDays(now), onClickDay), 0, _$cn(k + "-days"), {
120
+ 'ev-mouseleave': resetFocusDate
121
+ })] : _$ce(2, 'div', isYear ? getItems(this.years.getYears(now), this.years.onClick) : isQuarter ? getItems(this.quarters.getQuarters(now), this.quarters.onClick) : getItems(this.months.getMonths(now), this.months.onClick), 0, _$cn(k + "-years"), {
106
122
  'ev-mouseleave': resetFocusDate
107
123
  })], 0, _$cn(classNameObj));
108
124
  }
@@ -1,3 +1,3 @@
1
- import dayjs, { Dayjs, OpUnitType } from 'dayjs';
1
+ import dayjs, { Dayjs, OpUnitType, QUnitType } from 'dayjs';
2
2
  export default dayjs;
3
- export type { Dayjs, OpUnitType };
3
+ export type { Dayjs, OpUnitType, QUnitType };
@@ -1,4 +1,10 @@
1
1
  import dayjs from 'dayjs';
2
+ import weekOfYear from 'dayjs/plugin/weekOfYear';
3
+ import quarterOfYear from 'dayjs/plugin/quarterOfYear';
2
4
  import customParseFormat from 'dayjs/plugin/customParseFormat';
5
+ import advancedFormat from 'dayjs/plugin/advancedFormat';
3
6
  dayjs.extend(customParseFormat);
7
+ dayjs.extend(weekOfYear);
8
+ dayjs.extend(quarterOfYear);
9
+ dayjs.extend(advancedFormat);
4
10
  export default dayjs;
@@ -1,11 +1,12 @@
1
- import dayjs, { Dayjs, OpUnitType } from 'dayjs';
2
- import { StateValueItem } from './basepicker';
1
+ import dayjs, { Dayjs, OpUnitType, QUnitType } from 'dayjs';
2
+ import { last } from '../utils';
3
+ import { StateValueItem } from './useValueBase';
3
4
  export declare function getNowDate(isEnd?: boolean): dayjs.Dayjs;
4
5
  export declare function clearTime(date: Date): void;
5
6
  export declare function endTime(date: Date): void;
6
- export declare function isEqual(a: Dayjs | undefined | null, b: Dayjs | undefined | null, type?: OpUnitType): boolean;
7
- export declare function isLT(a: Dayjs | undefined | null, b: Dayjs | undefined | null, type?: OpUnitType): boolean;
8
- export declare function isGT(a: Dayjs | undefined | null, b: Dayjs | undefined | null, type?: OpUnitType): boolean;
7
+ export declare function isEqual(a: Dayjs | undefined | null, b: Dayjs | undefined | null, type?: OpUnitType | QUnitType): boolean;
8
+ export declare function isLT(a: Dayjs | undefined | null, b: Dayjs | undefined | null, type?: OpUnitType | QUnitType): boolean;
9
+ export declare function isGT(a: Dayjs | undefined | null, b: Dayjs | undefined | null, type?: OpUnitType | QUnitType): boolean;
9
10
  export declare function createDate(date: string): Date;
10
- export declare function findValueIndex(values: StateValueItem[], value: StateValueItem, type: OpUnitType): number;
11
- export declare function last<T>(arr: T[]): T | undefined;
11
+ export declare function findValueIndex(values: StateValueItem[], value: StateValueItem, type: OpUnitType | QUnitType): number;
12
+ export { last };
@@ -2,6 +2,7 @@ import _construct from "@babel/runtime-corejs3/helpers/construct";
2
2
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js/instance/map";
3
3
  import _findIndexInstanceProperty from "@babel/runtime-corejs3/core-js/instance/find-index";
4
4
  import dayjs from 'dayjs';
5
+ import { last } from '../utils';
5
6
  export function getNowDate(isEnd) {
6
7
  // only date without time
7
8
  var now = new Date();
@@ -73,6 +74,4 @@ export function findValueIndex(values, value, type) {
73
74
  }
74
75
  });
75
76
  }
76
- export function last(arr) {
77
- return arr[arr.length - 1];
78
- }
77
+ export { last };
@@ -1,12 +1,12 @@
1
1
  import { TypeDefs } from 'intact';
2
2
  import dayjs from './dayjs';
3
- import { State } from '../../hooks/useState';
4
3
  import { Shortcut } from './shortcuts';
5
- import { BasePicker, BasePickerProps, BasePickerEvents, BasePickerBlocks, Value } from './basepicker';
4
+ import { BasePicker, BasePickerProps, BasePickerEvents, BasePickerBlocks } from './basepicker';
5
+ import { Value } from './useValueBase';
6
6
  export * as shortcuts from './shortcuts';
7
7
  export { dayjs };
8
8
  export interface DatepickerProps<V extends Value = Value, M extends boolean = boolean, R extends boolean = boolean> extends BasePickerProps<V extends string ? V : V | string, M, R> {
9
- type?: 'date' | 'datetime' | 'year' | 'month';
9
+ type?: 'date' | 'datetime' | 'year' | 'month' | 'week' | 'quarter';
10
10
  shortcuts?: Shortcut[];
11
11
  }
12
12
  export interface DatepickerEvents extends BasePickerEvents {
@@ -26,39 +26,46 @@ export declare class Datepicker<V extends Value = Value, M extends boolean = fal
26
26
  getValueString: (value: dayjs.Dayjs) => string;
27
27
  };
28
28
  disabled: {
29
- isDisabled: (value: dayjs.Dayjs, type?: dayjs.OpUnitType) => boolean;
30
- isDisabledTime: (value: dayjs.Dayjs, flag: import("./usePanel").PanelFlags) => boolean;
29
+ isDisabled: (value: dayjs.Dayjs, type?: "h" | "s" | "y" | "date" | "month" | "week" | "millisecond" | "second" | "minute" | "hour" | "day" | "year" | "milliseconds" | "seconds" | "minutes" | "hours" | "days" | "months" | "years" | "dates" | "d" | "D" | "M" | "m" | "ms" | "weeks" | "w" | "quarter" | "quarters" | "Q") => boolean;
30
+ isDisabledTime: (value: dayjs.Dayjs) => boolean;
31
31
  isDisabledConfirm: () => boolean;
32
- maxDate: State<dayjs.Dayjs | null>;
33
- minDate: State<dayjs.Dayjs | null>;
32
+ isDisabledValue: (value: import("./useValueBase").StateValueItem) => boolean;
33
+ maxDate: import("../../hooks/useState").State<dayjs.Dayjs | null>;
34
+ minDate: import("../../hooks/useState").State<dayjs.Dayjs | null>;
34
35
  };
35
36
  panel: {
36
- startPanel: State<import("./usePanel").PanelTypes>;
37
- endPanel: State<import("./usePanel").PanelTypes>;
38
- changePanel: (type: import("./usePanel").PanelTypes, flag?: import("./usePanel").PanelFlags) => void;
39
- getPanel: (flag: import("./usePanel").PanelFlags) => State<import("./usePanel").PanelTypes>;
40
- reset: () => void;
41
37
  startRef: import("intact").RefObject<import("./calendar").DatepickerCalendar>;
42
38
  endRef: import("intact").RefObject<import("./calendar").DatepickerCalendar>;
43
39
  };
44
40
  focusDate: {
45
- focusDate: State<dayjs.Dayjs | null>;
41
+ focusDate: import("../../hooks/useState").State<dayjs.Dayjs | null>;
46
42
  reset: () => void;
47
43
  };
48
44
  value: {
49
45
  format: () => string | string[];
50
- onConfirm: () => void;
46
+ formatSingleValue: (value: import("./useValueBase").StateValueItem) => string;
51
47
  onChangeTime: (date: dayjs.Dayjs, flag: import("./usePanel").PanelFlags) => void;
52
48
  getTimeValue: (flag: import("./usePanel").PanelFlags) => dayjs.Dayjs | null | undefined;
53
- convertToDayjs: (v: Value | [Value, Value] | Value[] | [Value, Value][] | null | undefined) => import("./basepicker").DayjsValue;
54
- getDayjsValue: () => import("./basepicker").DayjsValue;
55
- value: State<import("./basepicker").StateValue>;
56
- setValue: (v: import("./basepicker").StateValueItem, fromInput: boolean) => void;
49
+ convertToDayjs: (v: Value | [Value, Value] | Value[] | [Value, Value][] | null | undefined) => import("./useValueBase").DayjsValue;
50
+ unique: () => void;
51
+ setMoment: () => void;
52
+ updateValue: () => void;
53
+ value: import("../../hooks/useState").State<import("./useValueBase").StateValue>;
54
+ setValue: (v: import("./useValueBase").StateValueItem, fromInput: boolean) => void;
57
55
  onChangeDate: (v: dayjs.Dayjs, flag: import("./usePanel").PanelFlags) => void;
56
+ getDayjsValue: () => import("./useValueBase").DayjsValue;
57
+ allValuesUpdatedInMultipleMode: () => boolean | undefined;
58
+ };
59
+ highlight: {
60
+ position: import("../../hooks/useState").State<import("./useHighlight").Position>;
61
+ handleInputClick: () => void;
62
+ togglePosition: () => void;
63
+ highlightWidth: import("../../hooks/useState").State<number>;
64
+ highlightLeft: import("../../hooks/useState").State<number>;
58
65
  };
66
+ private confirm;
59
67
  init(): void;
60
68
  protected getPlaceholder(): string | number | boolean | import("misstime/dist/utils/types").VNode<any> | import("intact").Children[];
61
69
  protected getLabel(): string | string[];
62
- protected clear(e: MouseEvent): void;
63
70
  private setByShortcut;
64
71
  }
@@ -15,17 +15,22 @@ import { useFormats } from './useFormats';
15
15
  import { usePanel } from './usePanel';
16
16
  import { useFocusDate } from './useFocusDate';
17
17
  import { useKeyboards } from './useKeyboards';
18
+ import { useHighlight } from './useHighlight';
19
+ // import {useMergeRange} from './useMergeRange';
18
20
  import { BasePicker } from './basepicker';
21
+ import { useConfirm } from './useConfirm';
19
22
  import * as _shortcuts from './shortcuts';
20
23
  export { _shortcuts as shortcuts };
21
24
  export { dayjs };
22
25
  var typeDefs = _extends({}, BasePicker.typeDefs, {
23
- type: ['date', 'datetime', 'year', 'month'],
26
+ type: ['date', 'datetime', 'year', 'month', 'week', 'quarter'],
24
27
  shortcuts: Array
28
+ // isMerge: Boolean
25
29
  });
26
30
  var defaults = function defaults() {
27
31
  return _extends({}, BasePicker.defaults(), {
28
32
  type: 'date'
33
+ // isMerge: false
29
34
  });
30
35
  };
31
36
  export var Datepicker = /*#__PURE__*/function (_BasePicker) {
@@ -38,10 +43,17 @@ export var Datepicker = /*#__PURE__*/function (_BasePicker) {
38
43
  }
39
44
  _this = _BasePicker.call.apply(_BasePicker, _concatInstanceProperty(_context = [this]).call(_context, args)) || this;
40
45
  _this.formats = useFormats();
41
- _this.disabled = useDisabled(_this.formats);
46
+ _this.disabled = useDisabled(_this.formats, function () {
47
+ return _this.highlight.position;
48
+ });
42
49
  _this.panel = usePanel();
43
50
  _this.focusDate = useFocusDate();
44
- _this.value = useValue(_this.formats, _this.disabled, _this.panel);
51
+ _this.value = useValue(_this.formats, _this.disabled, _this.panel, function () {
52
+ return _this.highlight.position;
53
+ });
54
+ _this.highlight = useHighlight(_this.value.value, _this.formats.getShowString, _this.input.keywords);
55
+ // public mergeRange = useMergeRange(this.formats);
56
+ _this.confirm = useConfirm(_this.highlight, _this.value, _this.formats.getValueString);
45
57
  return _this;
46
58
  }
47
59
  var _proto = Datepicker.prototype;
@@ -60,9 +72,13 @@ export var Datepicker = /*#__PURE__*/function (_BasePicker) {
60
72
  case 'datetime':
61
73
  return range ? _$('开始时间 ~ 结束时间') : _$('请选择日期和时间');
62
74
  case 'year':
63
- return _$('请选择年份');
75
+ return range ? _$('开始年份 ~ 结束年份') : _$('请选择年份');
64
76
  case 'month':
65
- return _$('请选择月份');
77
+ return range ? _$('开始月份 ~ 结束月份') : _$('请选择月份');
78
+ case 'week':
79
+ return range ? _$('开始周 ~ 结束周') : _$('请选择周');
80
+ case 'quarter':
81
+ return range ? _$('开始季度 ~ 结束季度') : _$('请选择季度');
66
82
  default:
67
83
  return range ? _$('开始日期 ~ 结束日期') : _$('请选择日期');
68
84
  }
@@ -70,13 +86,6 @@ export var Datepicker = /*#__PURE__*/function (_BasePicker) {
70
86
  _proto.getLabel = function getLabel() {
71
87
  return this.value.format();
72
88
  };
73
- _proto.clear = function clear(e) {
74
- _BasePicker.prototype.clear.call(this, e);
75
- if (this.get('type') === 'datetime') {
76
- // reset the state to let user re-select
77
- this.panel.reset();
78
- }
79
- };
80
89
  _proto.setByShortcut = function setByShortcut(shortcut) {
81
90
  var _this$value = this.value,
82
91
  setValue = _this$value.setValue,
@@ -93,5 +102,4 @@ export var Datepicker = /*#__PURE__*/function (_BasePicker) {
93
102
  Datepicker.template = template;
94
103
  Datepicker.typeDefs = typeDefs;
95
104
  Datepicker.defaults = defaults;
96
- __decorate([bind], Datepicker.prototype, "clear", null);
97
105
  __decorate([bind], Datepicker.prototype, "setByShortcut", null);