@rainbow-oh/yee-c 0.4.4 → 0.4.5

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 (183) hide show
  1. package/dist/cjs/Button/button.d.ts +1 -1
  2. package/dist/cjs/CSV/download.d.ts +1 -1
  3. package/dist/cjs/Carousel/carousel.d.ts +2 -2
  4. package/dist/cjs/Carousel/carousel.js +9 -2
  5. package/dist/cjs/Carousel/interface.d.ts +5 -0
  6. package/dist/cjs/Drawer/style/index.less +4 -0
  7. package/dist/cjs/FloatButton/float-button.d.ts +1 -1
  8. package/dist/cjs/Form/demo/basic.js +2 -2
  9. package/dist/cjs/Form/style/index.less +15 -0
  10. package/dist/cjs/Input/style/index.less +0 -17
  11. package/dist/cjs/InputNumber/style/index.less +0 -29
  12. package/dist/cjs/PickerPanel/interface.d.ts +44 -2
  13. package/dist/cjs/PickerPanel/panels/DatePanel/DateBody.d.ts +2 -1
  14. package/dist/cjs/PickerPanel/panels/DatePanel/DateHeader.d.ts +2 -1
  15. package/dist/cjs/PickerPanel/panels/DatePanel/DateHeader.js +1 -1
  16. package/dist/cjs/PickerPanel/panels/DatePanel/index.d.ts +2 -1
  17. package/dist/cjs/PickerPanel/panels/DateTimePanel/index.d.ts +7 -1
  18. package/dist/cjs/PickerPanel/panels/DateTimePanel/index.js +18 -4
  19. package/dist/cjs/PickerPanel/panels/DecadePanel/DecadeBody.d.ts +2 -1
  20. package/dist/cjs/PickerPanel/panels/DecadePanel/DecadeBody.js +1 -1
  21. package/dist/cjs/PickerPanel/panels/DecadePanel/DecadeHeader.d.ts +2 -1
  22. package/dist/cjs/PickerPanel/panels/DecadePanel/DecadeHeader.js +1 -1
  23. package/dist/cjs/PickerPanel/panels/DecadePanel/index.d.ts +2 -1
  24. package/dist/cjs/PickerPanel/panels/DecadePanel/index.js +1 -1
  25. package/dist/cjs/PickerPanel/panels/Header.d.ts +13 -1
  26. package/dist/cjs/PickerPanel/panels/MonthPanel/MonthBody.d.ts +2 -1
  27. package/dist/cjs/PickerPanel/panels/MonthPanel/MonthHeader.d.ts +2 -1
  28. package/dist/cjs/PickerPanel/panels/MonthPanel/MonthHeader.js +1 -1
  29. package/dist/cjs/PickerPanel/panels/MonthPanel/index.d.ts +2 -1
  30. package/dist/cjs/PickerPanel/panels/MonthPanel/index.js +1 -1
  31. package/dist/cjs/PickerPanel/panels/PanelBody.d.ts +21 -1
  32. package/dist/cjs/PickerPanel/panels/PanelBody.js +3 -3
  33. package/dist/cjs/PickerPanel/panels/QuarterPanel/QuarterBody.d.ts +2 -1
  34. package/dist/cjs/PickerPanel/panels/QuarterPanel/QuarterHeader.d.ts +2 -1
  35. package/dist/cjs/PickerPanel/panels/QuarterPanel/index.d.ts +2 -1
  36. package/dist/cjs/PickerPanel/panels/RangePanel/index.d.ts +2 -1
  37. package/dist/cjs/PickerPanel/panels/RangePanel/index.js +2 -2
  38. package/dist/cjs/PickerPanel/panels/RangePanel/interface.d.ts +5 -5
  39. package/dist/cjs/PickerPanel/panels/TimePanel/TimeBody.d.ts +17 -1
  40. package/dist/cjs/PickerPanel/panels/TimePanel/TimeCell.d.ts +7 -1
  41. package/dist/cjs/PickerPanel/panels/TimePanel/TimeCell.js +1 -1
  42. package/dist/cjs/PickerPanel/panels/TimePanel/TimeColumn.d.ts +14 -1
  43. package/dist/cjs/PickerPanel/panels/TimePanel/TimeColumn.js +1 -1
  44. package/dist/cjs/PickerPanel/panels/TimePanel/TimeHeader.d.ts +4 -1
  45. package/dist/cjs/PickerPanel/panels/TimePanel/index.d.ts +9 -1
  46. package/dist/cjs/PickerPanel/panels/WeekPanel/WeekBody.d.ts +2 -1
  47. package/dist/cjs/PickerPanel/panels/WeekPanel/WeekHeader.d.ts +2 -1
  48. package/dist/cjs/PickerPanel/panels/WeekPanel/index.d.ts +2 -1
  49. package/dist/cjs/PickerPanel/panels/YearPanel/YearBody.d.ts +2 -1
  50. package/dist/cjs/PickerPanel/panels/YearPanel/YearBody.js +2 -2
  51. package/dist/cjs/PickerPanel/panels/YearPanel/YearHeader.d.ts +2 -1
  52. package/dist/cjs/PickerPanel/panels/YearPanel/YearHeader.js +7 -1
  53. package/dist/cjs/PickerPanel/panels/YearPanel/index.d.ts +2 -1
  54. package/dist/cjs/PickerPanel/panels/YearPanel/index.js +1 -1
  55. package/dist/cjs/PickerPanel/utils/pickerUtils.d.ts +7 -7
  56. package/dist/cjs/PickerPanel/utils/pickerUtils.js +2 -2
  57. package/dist/cjs/Select/style/index.less +0 -13
  58. package/dist/cjs/Selector/style/index.less +2 -137
  59. package/dist/cjs/TextArea/style/index.less +0 -17
  60. package/dist/cjs/hooks/useEvent.js +4 -1
  61. package/dist/cjs/style/size.css +1 -0
  62. package/dist/cjs/style/themes.css +1 -1
  63. package/dist/cjs/style/variables.css +2 -1
  64. package/dist/cjs/version.d.ts +1 -1
  65. package/dist/cjs/version.js +1 -1
  66. package/dist/esm/Button/button.d.ts +1 -1
  67. package/dist/esm/CSV/download.d.ts +1 -1
  68. package/dist/esm/Carousel/carousel.d.ts +2 -2
  69. package/dist/esm/Carousel/carousel.js +5 -1
  70. package/dist/esm/Carousel/interface.d.ts +5 -0
  71. package/dist/esm/Drawer/style/index.less +4 -0
  72. package/dist/esm/FloatButton/float-button.d.ts +1 -1
  73. package/dist/esm/Form/demo/basic.js +4 -2
  74. package/dist/esm/Form/style/index.less +15 -0
  75. package/dist/esm/Input/style/index.less +0 -17
  76. package/dist/esm/InputNumber/style/index.less +0 -29
  77. package/dist/esm/PickerPanel/interface.d.ts +44 -2
  78. package/dist/esm/PickerPanel/panels/DatePanel/DateBody.d.ts +2 -1
  79. package/dist/esm/PickerPanel/panels/DatePanel/DateHeader.d.ts +2 -1
  80. package/dist/esm/PickerPanel/panels/DatePanel/DateHeader.js +1 -1
  81. package/dist/esm/PickerPanel/panels/DatePanel/index.d.ts +2 -1
  82. package/dist/esm/PickerPanel/panels/DateTimePanel/index.d.ts +7 -1
  83. package/dist/esm/PickerPanel/panels/DateTimePanel/index.js +11 -7
  84. package/dist/esm/PickerPanel/panels/DecadePanel/DecadeBody.d.ts +2 -1
  85. package/dist/esm/PickerPanel/panels/DecadePanel/DecadeBody.js +2 -1
  86. package/dist/esm/PickerPanel/panels/DecadePanel/DecadeHeader.d.ts +2 -1
  87. package/dist/esm/PickerPanel/panels/DecadePanel/DecadeHeader.js +2 -1
  88. package/dist/esm/PickerPanel/panels/DecadePanel/index.d.ts +2 -1
  89. package/dist/esm/PickerPanel/panels/DecadePanel/index.js +1 -1
  90. package/dist/esm/PickerPanel/panels/Header.d.ts +13 -1
  91. package/dist/esm/PickerPanel/panels/MonthPanel/MonthBody.d.ts +2 -1
  92. package/dist/esm/PickerPanel/panels/MonthPanel/MonthHeader.d.ts +2 -1
  93. package/dist/esm/PickerPanel/panels/MonthPanel/MonthHeader.js +2 -1
  94. package/dist/esm/PickerPanel/panels/MonthPanel/index.d.ts +2 -1
  95. package/dist/esm/PickerPanel/panels/MonthPanel/index.js +1 -1
  96. package/dist/esm/PickerPanel/panels/PanelBody.d.ts +21 -1
  97. package/dist/esm/PickerPanel/panels/PanelBody.js +2 -4
  98. package/dist/esm/PickerPanel/panels/QuarterPanel/QuarterBody.d.ts +2 -1
  99. package/dist/esm/PickerPanel/panels/QuarterPanel/QuarterHeader.d.ts +2 -1
  100. package/dist/esm/PickerPanel/panels/QuarterPanel/index.d.ts +2 -1
  101. package/dist/esm/PickerPanel/panels/RangePanel/index.d.ts +2 -1
  102. package/dist/esm/PickerPanel/panels/RangePanel/index.js +2 -2
  103. package/dist/esm/PickerPanel/panels/RangePanel/interface.d.ts +5 -5
  104. package/dist/esm/PickerPanel/panels/TimePanel/TimeBody.d.ts +17 -1
  105. package/dist/esm/PickerPanel/panels/TimePanel/TimeCell.d.ts +7 -1
  106. package/dist/esm/PickerPanel/panels/TimePanel/TimeCell.js +1 -1
  107. package/dist/esm/PickerPanel/panels/TimePanel/TimeColumn.d.ts +14 -1
  108. package/dist/esm/PickerPanel/panels/TimePanel/TimeColumn.js +1 -1
  109. package/dist/esm/PickerPanel/panels/TimePanel/TimeHeader.d.ts +4 -1
  110. package/dist/esm/PickerPanel/panels/TimePanel/index.d.ts +9 -1
  111. package/dist/esm/PickerPanel/panels/WeekPanel/WeekBody.d.ts +2 -1
  112. package/dist/esm/PickerPanel/panels/WeekPanel/WeekHeader.d.ts +2 -1
  113. package/dist/esm/PickerPanel/panels/WeekPanel/index.d.ts +2 -1
  114. package/dist/esm/PickerPanel/panels/YearPanel/YearBody.d.ts +2 -1
  115. package/dist/esm/PickerPanel/panels/YearPanel/YearBody.js +3 -2
  116. package/dist/esm/PickerPanel/panels/YearPanel/YearHeader.d.ts +2 -1
  117. package/dist/esm/PickerPanel/panels/YearPanel/YearHeader.js +2 -1
  118. package/dist/esm/PickerPanel/panels/YearPanel/index.d.ts +2 -1
  119. package/dist/esm/PickerPanel/panels/YearPanel/index.js +1 -1
  120. package/dist/esm/PickerPanel/picker-panel.js +3 -0
  121. package/dist/esm/PickerPanel/utils/pickerUtils.d.ts +7 -7
  122. package/dist/esm/PickerPanel/utils/pickerUtils.js +4 -10
  123. package/dist/esm/Select/style/index.less +0 -13
  124. package/dist/esm/Selector/style/index.less +2 -137
  125. package/dist/esm/TextArea/style/index.less +0 -17
  126. package/dist/esm/style/size.css +1 -0
  127. package/dist/esm/style/themes.css +1 -1
  128. package/dist/esm/style/variables.css +2 -1
  129. package/dist/esm/version.d.ts +1 -1
  130. package/dist/esm/version.js +1 -1
  131. package/dist/umd/yee-c.min.css +2 -2
  132. package/dist/umd/yee-c.min.js +1 -1
  133. package/package.json +1 -1
  134. package/src/Carousel/carousel.tsx +14 -3
  135. package/src/Carousel/interface.ts +6 -0
  136. package/src/Cascader/cascader.tsx +3 -1
  137. package/src/Cascader/column.tsx +1 -1
  138. package/src/Drawer/style/index.less +4 -0
  139. package/src/Dropdown/dropdown.tsx +1 -1
  140. package/src/FloatButton/float-button.tsx +5 -3
  141. package/src/Form/demo/basic.tsx +2 -2
  142. package/src/Form/style/index.less +15 -0
  143. package/src/Input/style/index.less +0 -17
  144. package/src/InputNumber/style/index.less +0 -29
  145. package/src/PickerPanel/interface.ts +43 -2
  146. package/src/PickerPanel/panels/DatePanel/DateBody.tsx +2 -1
  147. package/src/PickerPanel/panels/DatePanel/DateHeader.tsx +3 -2
  148. package/src/PickerPanel/panels/DatePanel/index.tsx +2 -1
  149. package/src/PickerPanel/panels/DateTimePanel/index.tsx +12 -5
  150. package/src/PickerPanel/panels/DecadePanel/DecadeBody.tsx +3 -2
  151. package/src/PickerPanel/panels/DecadePanel/DecadeHeader.tsx +3 -2
  152. package/src/PickerPanel/panels/DecadePanel/index.tsx +3 -2
  153. package/src/PickerPanel/panels/Header.tsx +14 -1
  154. package/src/PickerPanel/panels/MonthPanel/MonthBody.tsx +2 -1
  155. package/src/PickerPanel/panels/MonthPanel/MonthHeader.tsx +3 -2
  156. package/src/PickerPanel/panels/MonthPanel/index.tsx +3 -2
  157. package/src/PickerPanel/panels/PanelBody.tsx +27 -5
  158. package/src/PickerPanel/panels/QuarterPanel/QuarterBody.tsx +2 -1
  159. package/src/PickerPanel/panels/QuarterPanel/QuarterHeader.tsx +2 -1
  160. package/src/PickerPanel/panels/QuarterPanel/index.tsx +2 -1
  161. package/src/PickerPanel/panels/RangePanel/index.tsx +11 -9
  162. package/src/PickerPanel/panels/RangePanel/interface.ts +5 -5
  163. package/src/PickerPanel/panels/TimePanel/TimeBody.tsx +21 -5
  164. package/src/PickerPanel/panels/TimePanel/TimeCell.tsx +9 -2
  165. package/src/PickerPanel/panels/TimePanel/TimeColumn.tsx +15 -2
  166. package/src/PickerPanel/panels/TimePanel/TimeHeader.tsx +5 -1
  167. package/src/PickerPanel/panels/TimePanel/index.tsx +10 -1
  168. package/src/PickerPanel/panels/WeekPanel/WeekBody.tsx +2 -1
  169. package/src/PickerPanel/panels/WeekPanel/WeekHeader.tsx +2 -1
  170. package/src/PickerPanel/panels/WeekPanel/index.tsx +2 -1
  171. package/src/PickerPanel/panels/YearPanel/YearBody.tsx +4 -3
  172. package/src/PickerPanel/panels/YearPanel/YearHeader.tsx +9 -3
  173. package/src/PickerPanel/panels/YearPanel/index.tsx +3 -2
  174. package/src/PickerPanel/picker-panel.tsx +5 -3
  175. package/src/PickerPanel/utils/pickerUtils.ts +17 -8
  176. package/src/Select/style/index.less +0 -13
  177. package/src/Selector/style/index.less +2 -137
  178. package/src/Splitter/hooks/useMove.ts +2 -2
  179. package/src/TextArea/style/index.less +0 -17
  180. package/src/hooks/useEvent.ts +7 -4
  181. package/src/hooks/useMergedState.ts +6 -4
  182. package/src/style/size.css +1 -0
  183. package/src/version.ts +1 -1
@@ -1,10 +1,12 @@
1
1
  import React from 'react';
2
2
 
3
3
  import { Dayjs } from 'dayjs';
4
+ import type { PickerPanelProps } from '../../interface';
5
+ import type { RangePanelProps } from './interface';
4
6
  import PickerPanel from '../../picker-panel';
5
7
  import pickerUtils from '../../utils/pickerUtils';
6
8
 
7
- function RangePanel(props: any) {
9
+ function RangePanel(props: RangePanelProps) {
8
10
  const {
9
11
  prefixCls = 'yee-picker',
10
12
  panel = 'start',
@@ -28,12 +30,12 @@ function RangePanel(props: any) {
28
30
  picker={picker}
29
31
  value={panel === 'start' ? value[0] : value[1]}
30
32
  pickerView={pickerUtils.init(pickerView[panel === 'start' ? 0 : 1])}
31
- onChange={onChange}
33
+ onChange={onChange as PickerPanelProps['onChange']}
32
34
  onPanelChange={onPanelChange}
33
35
  onCellMouse={onCellMouse}
34
36
  hoverRange={hoverRange}
35
37
  selectedRange={selectedRange}
36
- disabledDate={disabledDate}
38
+ disabledDate={disabledDate as PickerPanelProps['disabledDate']}
37
39
  footer={false}
38
40
  />
39
41
  </div>
@@ -61,12 +63,12 @@ function RangePanel(props: any) {
61
63
  picker={picker}
62
64
  value={startValue}
63
65
  pickerView={startViewDate}
64
- onChange={onChange}
65
- onPanelChange={(viewDate) => onPanelChange(viewDate, 'start')}
66
+ onChange={onChange as PickerPanelProps['onChange']}
67
+ onPanelChange={(viewDate) => onPanelChange?.(viewDate, 'start')}
66
68
  onCellMouse={onCellMouse}
67
69
  hoverRange={hoverRange}
68
70
  selectedRange={selectedRange}
69
- disabledDate={disabledDate}
71
+ disabledDate={disabledDate as PickerPanelProps['disabledDate']}
70
72
  footer={false}
71
73
  showNextIcon={false}
72
74
  showSuperNextIcon={false}
@@ -76,12 +78,12 @@ function RangePanel(props: any) {
76
78
  picker={picker}
77
79
  value={endValue}
78
80
  pickerView={endViewDate}
79
- onChange={onChange}
80
- onPanelChange={(viewDate) => onPanelChange(viewDate, 'end')}
81
+ onChange={onChange as PickerPanelProps['onChange']}
82
+ onPanelChange={(viewDate) => onPanelChange?.(viewDate, 'end')}
81
83
  onCellMouse={onCellMouse}
82
84
  hoverRange={hoverRange}
83
85
  selectedRange={selectedRange}
84
- disabledDate={disabledDate}
86
+ disabledDate={disabledDate as PickerPanelProps['disabledDate']}
85
87
  footer={false}
86
88
  showPrevIcon={false}
87
89
  showSuperPrevIcon={false}
@@ -22,17 +22,17 @@ export type PickerType =
22
22
  export interface RangePanelProps {
23
23
  prefixCls?: string;
24
24
  panel?: 'start' | 'end';
25
- value?: Array<Dayjs | string | undefined>;
26
- viewDate?: string;
25
+ value: Array<Dayjs | undefined>;
26
+ pickerView: [Dayjs, Dayjs];
27
27
  picker?: PickerType;
28
28
  mode?: PickerMode;
29
29
  format?: string;
30
30
  saveFormat?: string;
31
31
  onChange?: (date: Dayjs, panel: string) => void;
32
- onPanelChange?: (dates: Dayjs[]) => void;
32
+ onPanelChange?: (date: Dayjs, type?: 'start' | 'end') => void;
33
33
  onCellMouse?: (date: Dayjs | string) => void;
34
- hoverRange?: Array<Dayjs | null>;
35
- selectedRange?: Array<Dayjs | null>;
34
+ hoverRange?: Array<Dayjs | null | undefined>;
35
+ selectedRange?: Array<Dayjs | null | undefined>;
36
36
  disabledDate?: (current: Dayjs, type: 'start' | 'end') => boolean;
37
37
  showNextIcon?: boolean;
38
38
  showSuperNextIcon?: boolean;
@@ -1,5 +1,6 @@
1
1
  import { Dayjs } from 'dayjs';
2
2
  import * as React from 'react';
3
+ import type { PanelSharedProps, TimeUnit } from '../../interface';
3
4
  import panelConfig from '../../configs';
4
5
  import pickerUtils from '../../utils/pickerUtils';
5
6
  import TimeColumn from './TimeColumn';
@@ -10,7 +11,7 @@ function getTimeArray(
10
11
  length: number,
11
12
  step: number,
12
13
  viewDate: Dayjs,
13
- type: string,
14
+ type: TimeUnit,
14
15
  ): Array<Dayjs> {
15
16
  const arr = new Array(length)
16
17
  .fill(0)
@@ -25,7 +26,22 @@ function getTimeArray(
25
26
  }
26
27
  }
27
28
 
28
- function TimeBody(props: any) {
29
+ interface TimeBodyProps extends PanelSharedProps {
30
+ value?: Dayjs;
31
+ showTitle?: boolean;
32
+ showHour?: boolean;
33
+ showMinute?: boolean;
34
+ showSecond?: boolean;
35
+ disabledHours?: boolean;
36
+ disabledMinutes?: boolean;
37
+ disabledSeconds?: boolean;
38
+ is12hour?: boolean;
39
+ hourStep?: number;
40
+ minuteStep?: number;
41
+ secondStep?: number;
42
+ }
43
+
44
+ function TimeBody(props: TimeBodyProps) {
29
45
  const {
30
46
  value,
31
47
  prefixCls,
@@ -48,10 +64,10 @@ function TimeBody(props: any) {
48
64
  const columns: React.ReactNode[] = [];
49
65
 
50
66
  function addColumnNode(
51
- type: string,
52
- selectedValue: number,
67
+ type: TimeUnit,
68
+ selectedValue: Dayjs | undefined,
53
69
  cells: Array<Dayjs>,
54
- disabled: boolean,
70
+ disabled?: boolean,
55
71
  ): React.ReactNode {
56
72
  return (
57
73
  <TimeColumn
@@ -1,7 +1,14 @@
1
1
  import clsx from 'clsx';
2
2
  import React from 'react';
3
3
 
4
- function TimeCell(props: any) {
4
+ interface TimeCellProps {
5
+ prefixCls?: string;
6
+ value: number;
7
+ onSelect?: (value: number) => void;
8
+ active?: boolean;
9
+ }
10
+
11
+ function TimeCell(props: TimeCellProps) {
5
12
  const { prefixCls, value, onSelect, active } = props;
6
13
 
7
14
  const cls = clsx(`${prefixCls}-time-panel-cell`, {
@@ -11,7 +18,7 @@ function TimeCell(props: any) {
11
18
  const renderValue = value < 10 ? '0' + value : value;
12
19
 
13
20
  return (
14
- <li className={cls} onClick={() => onSelect(value)}>
21
+ <li className={cls} onClick={() => onSelect?.(value)}>
15
22
  <div className={`${prefixCls}-time-panel-cell-inner`}>{renderValue}</div>
16
23
  </li>
17
24
  );
@@ -1,9 +1,22 @@
1
1
  import clsx from 'clsx';
2
2
  import dayjs, { Dayjs } from 'dayjs';
3
3
  import React from 'react';
4
+ import type { TimeUnit } from '../../interface';
4
5
  import pickerUtils from '../../utils/pickerUtils';
5
6
 
6
- function TimeColumn(props: any) {
7
+ interface TimeColumnProps {
8
+ prefixCls?: string;
9
+ type: TimeUnit;
10
+ value?: Dayjs;
11
+ cells: Dayjs[];
12
+ disabled?: boolean;
13
+ onSelect?: (date: Dayjs) => void;
14
+ viewDate?: Dayjs;
15
+ maxDate?: Dayjs;
16
+ minDate?: Dayjs;
17
+ }
18
+
19
+ function TimeColumn(props: TimeColumnProps) {
7
20
  const {
8
21
  prefixCls,
9
22
  type,
@@ -20,7 +33,7 @@ function TimeColumn(props: any) {
20
33
  const [selectedCell, setSelectedCell] = React.useState<number>();
21
34
 
22
35
  React.useLayoutEffect(() => {
23
- if (value !== -1 && selectedRef.current) {
36
+ if (value !== undefined && selectedRef.current) {
24
37
  ref.current?.scrollTo({
25
38
  top: selectedRef.current?.offsetTop,
26
39
  behavior: 'smooth',
@@ -1,6 +1,10 @@
1
1
  import React from 'react';
2
2
 
3
- function TimeHeader(props: any) {
3
+ interface TimeHeaderProps {
4
+ prefixCls?: string;
5
+ }
6
+
7
+ function TimeHeader(props: TimeHeaderProps) {
4
8
  const { prefixCls } = props;
5
9
 
6
10
  return (
@@ -1,8 +1,17 @@
1
1
  import * as React from 'react';
2
+ import type { PanelSharedProps } from '../../interface';
2
3
  import TimeBody from './TimeBody';
3
4
  import TimeHeader from './TimeHeader';
4
5
 
5
- function TimePanel(props: any) {
6
+ interface TimePanelProps extends PanelSharedProps {
7
+ format?: string;
8
+ hourStep?: number;
9
+ minuteStep?: number;
10
+ secondStep?: number;
11
+ showTitle?: boolean;
12
+ }
13
+
14
+ function TimePanel(props: TimePanelProps) {
6
15
  const {
7
16
  format = 'HH:mm:ss',
8
17
  prefixCls,
@@ -3,10 +3,11 @@ import { Dayjs } from 'dayjs';
3
3
  import * as React from 'react';
4
4
  import useEvent from '../../../hooks/useEvent';
5
5
  import { useLocale } from '../../../locale';
6
+ import type { PanelSharedProps } from '../../interface';
6
7
  import pickerUtils from '../../utils/pickerUtils';
7
8
  import PanelBody from '../PanelBody';
8
9
 
9
- function WeekBody(props: any) {
10
+ function WeekBody(props: PanelSharedProps) {
10
11
  const { locale } = useLocale();
11
12
  const { weekpicker } = locale;
12
13
 
@@ -1,10 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import Button from '../../../Button';
3
3
  import useEvent from '../../../hooks/useEvent';
4
+ import type { PanelSharedProps } from '../../interface';
4
5
  import pickerUtils from '../../utils/pickerUtils';
5
6
  import Header from '../Header';
6
7
 
7
- export default function WeekHeader(props: any) {
8
+ export default function WeekHeader(props: PanelSharedProps) {
8
9
  const { viewDate, onViewDateChange, onPanelChange } = props;
9
10
 
10
11
  const year = pickerUtils.getYear(viewDate);
@@ -1,11 +1,12 @@
1
1
  import clsx from 'clsx';
2
2
  import { Dayjs } from 'dayjs';
3
3
  import React from 'react';
4
+ import type { PanelSharedProps } from '../../interface';
4
5
  import pickerUtils from '../../utils/pickerUtils';
5
6
  import DateBody from '../DatePanel/DateBody';
6
7
  import DateHeader from '../DatePanel/DateHeader';
7
8
 
8
- export default function WeekPanel(props: any) {
9
+ export default function WeekPanel(props: PanelSharedProps) {
9
10
  const { prefixCls, selectedDate } = props;
10
11
 
11
12
  const prefixColumn = (currentDate: Dayjs) => {
@@ -4,9 +4,10 @@ import * as React from 'react';
4
4
  import PanelBody from '../PanelBody';
5
5
 
6
6
  import useEvent from '../../../hooks/useEvent';
7
+ import type { PanelSharedProps } from '../../interface';
7
8
  import pickerUtils from '../../utils/pickerUtils';
8
9
 
9
- function YearBody(props: any) {
10
+ function YearBody(props: PanelSharedProps) {
10
11
  const {
11
12
  prefixCls,
12
13
  viewDate,
@@ -14,7 +15,7 @@ function YearBody(props: any) {
14
15
  maxDate,
15
16
  minDate,
16
17
  nowDate,
17
- offsetYear,
18
+ offsetYear = 0,
18
19
  hoverRange = [],
19
20
  selectedRange = [],
20
21
  } = props;
@@ -34,7 +35,7 @@ function YearBody(props: any) {
34
35
 
35
36
  const getCellTitle = useEvent((currentDate: Dayjs) => {
36
37
  const _year = pickerUtils.getYear(currentDate) + offsetYear;
37
- return _year < 1000 ? '0' + _year : _year;
38
+ return _year < 1000 ? '0' + _year : String(_year);
38
39
  });
39
40
 
40
41
  const getCellClassName = useEvent((currentDate: Dayjs) => {
@@ -2,12 +2,18 @@ import * as React from 'react';
2
2
  import Button from '../../../Button';
3
3
  import useEvent from '../../../hooks/useEvent';
4
4
  import Header from '../Header';
5
+ import type { PanelSharedProps } from '../../interface';
5
6
 
6
7
  import pickerUtils from '../../utils/pickerUtils';
7
8
 
8
- export default function YearHeader(props: any) {
9
- const { prefixCls, viewDate, onViewDateChange, onPanelChange, offsetYear } =
10
- props;
9
+ export default function YearHeader(props: PanelSharedProps) {
10
+ const {
11
+ prefixCls,
12
+ viewDate,
13
+ onViewDateChange,
14
+ onPanelChange,
15
+ offsetYear = 0,
16
+ } = props;
11
17
 
12
18
  const viewYear = pickerUtils.getYear(viewDate);
13
19
  const startYear = viewYear - (viewYear % 10) + offsetYear;
@@ -1,13 +1,14 @@
1
1
  import React from 'react';
2
+ import type { PanelSharedProps } from '../../interface';
2
3
  import YearBody from './YearBody';
3
4
  import YearHeader from './YearHeader';
4
5
 
5
- export default function DecadePanel(props: any) {
6
+ export default function DecadePanel(props: PanelSharedProps) {
6
7
  const { prefixCls, offset } = props;
7
8
 
8
9
  let offsetYear = 0;
9
10
  if (offset?.year) {
10
- offsetYear = parseInt(offset.year);
11
+ offsetYear = offset.year;
11
12
  }
12
13
 
13
14
  return (
@@ -76,7 +76,7 @@ const PickerPanel = React.forwardRef<HTMLDivElement, PickerPanelProps>(
76
76
  });
77
77
 
78
78
  // Panel view switch
79
- const handlePanelChange = (newView: 'year' | 'month' | 'date') => {
79
+ const handlePanelChange = (newView: PickerType) => {
80
80
  prevPanelView.current = panelView;
81
81
  setPanelView(newView);
82
82
  };
@@ -87,8 +87,10 @@ const PickerPanel = React.forwardRef<HTMLDivElement, PickerPanelProps>(
87
87
  onPanelChange?.(newViewDate);
88
88
  };
89
89
 
90
- const handleMouseChange = (date: Dayjs) => {
91
- onCellMouse?.(date);
90
+ // `PanelBody` clears the hover by passing `''`; forward as-is to preserve
91
+ // the existing runtime behavior.
92
+ const handleMouseChange = (date: Dayjs | '') => {
93
+ onCellMouse?.(date as Dayjs);
92
94
  };
93
95
 
94
96
  const handleNowClick = () => {
@@ -1,5 +1,5 @@
1
1
  import clsx from 'clsx';
2
- import dayjs, { Dayjs, QUnitType } from 'dayjs';
2
+ import dayjs, { Dayjs, OpUnitType, QUnitType } from 'dayjs';
3
3
  import buddhistEra from 'dayjs/plugin/buddhistEra';
4
4
  import customParseFormat from 'dayjs/plugin/customParseFormat';
5
5
  import isBetween from 'dayjs/plugin/isBetween';
@@ -26,7 +26,7 @@ type PickerType =
26
26
 
27
27
  const d = {
28
28
  dayjs: dayjs,
29
- init: (date?: string, ...rest: any[]) => dayjs(date, ...rest),
29
+ init: (date?: dayjs.ConfigType, option?: dayjs.OptionType) => dayjs(date, option),
30
30
  getNow: () => {
31
31
  return d.init(undefined);
32
32
  },
@@ -40,7 +40,11 @@ const d = {
40
40
  getSecond: (date: Dayjs) => date.second(),
41
41
 
42
42
  format: (date: Dayjs, format: string) => dayjs(date).format(format),
43
- isSame: (date1: Dayjs, date2: Dayjs, type?: PickerType) => {
43
+ isSame: (
44
+ date1: Dayjs | undefined,
45
+ date2: Dayjs | undefined,
46
+ type?: PickerType,
47
+ ) => {
44
48
  if (!d.isValid(date1) && !d.isValid(date2)) return true;
45
49
  return date1 && date2 ? date1.isSame(date2, type as QUnitType) : false;
46
50
  },
@@ -56,18 +60,23 @@ const d = {
56
60
  addDate: (date: Dayjs, offset: number) => date?.add(offset, 'day'),
57
61
  isAfter: (
58
62
  date1: Dayjs,
59
- date2: Dayjs,
63
+ date2: Dayjs | undefined,
60
64
  type?: 'day' | 'hour' | 'minute' | 'second' | 'year' | 'month',
61
65
  ) => (date2 ? date1.isAfter(date2, type) : false),
62
66
  isBefore: (
63
67
  date1: Dayjs,
64
- date2: Dayjs,
68
+ date2: Dayjs | undefined,
65
69
  type?: 'day' | 'hour' | 'minute' | 'second' | 'year' | 'month',
66
70
  ) => (date2 ? date1.isBefore(date2, type) : false),
67
- isValid: (date: Dayjs, format?: string, strict?: boolean) =>
71
+ isValid: (date: Dayjs | undefined, format?: string, strict?: boolean) =>
68
72
  dayjs(date, format, strict).isValid(),
69
- isBetween: (date: Dayjs, start: Dayjs, end: Dayjs, ...args: any[]) =>
70
- date && start && end ? date.isBetween(start, end, ...args) : false,
73
+ isBetween: (
74
+ date: Dayjs,
75
+ start: Dayjs,
76
+ end: Dayjs,
77
+ unit?: OpUnitType,
78
+ nulls?: '()' | '[]' | '[)' | '(]',
79
+ ) => (date && start && end ? date.isBetween(start, end, unit, nulls) : false),
71
80
 
72
81
  getCellClassName: ({
73
82
  date,
@@ -41,16 +41,3 @@
41
41
  padding: var(--yee-select-option-padding);
42
42
  }
43
43
  }
44
-
45
- // form error status
46
- .yee-form-item-error {
47
- @{pls} {
48
- border-color: var(--yee-error-color);
49
- }
50
- }
51
-
52
- .yee-form-item-warning {
53
- @{pls} {
54
- border-color: var(--yee-warning-color);
55
- }
56
- }
@@ -5,8 +5,7 @@
5
5
  box-sizing: border-box;
6
6
  width: 100%;
7
7
  padding: var(--yee-selector-padding);
8
- border: var(--yee-selector-border-width) solid
9
- var(--yee-selector-border-color);
8
+ border: var(--yee-selector-border-width) solid var(--yee-input-border-color);
10
9
  border-radius: var(--yee-selector-border-radius);
11
10
 
12
11
  &-small {
@@ -145,7 +144,7 @@
145
144
 
146
145
  &:not(@{pls}-disabled) {
147
146
  &:hover {
148
- border-color: var(--yee-selector-hover-border-color);
147
+ border-color: var(--yee-input-hover-border-color);
149
148
  }
150
149
  }
151
150
 
@@ -206,137 +205,3 @@
206
205
  }
207
206
  }
208
207
  }
209
-
210
- // .yee-tags-searchable {
211
- // cursor: text;
212
-
213
- // .yee-tags-input-wrapper {
214
- // width: 100%;
215
- // padding: 0;
216
- // border: none;
217
- // outline: none;
218
-
219
- // &:focus {
220
- // border: none;
221
- // box-shadow: none;
222
- // }
223
- // }
224
-
225
- // .yee-tags-icon {
226
- // width: auto;
227
- // }
228
- // }
229
-
230
- // .yee-tags-single-mode {
231
- // height: var(--yee-tags-height);
232
-
233
- // .yee-tags-input-container {
234
- // position: absolute;
235
- // z-index: -1;
236
- // width: 100%;
237
- // font-size: var(--yee-tags-input-font-size);
238
- // line-height: var(--yee-tags-input-line-height);
239
-
240
- // input {
241
- // width: 100%;
242
- // }
243
- // }
244
-
245
- // &.yee-tags-searchable {
246
- // .yee-tags-single-option {
247
- // width: 100%;
248
- // }
249
-
250
- // .yee-tags-container {
251
- // &:focus-within,
252
- // &:focus {
253
- // .yee-tags-input-container {
254
- // z-index: 1;
255
- // opacity: var(--yee-tags-input-focus-opacity);
256
-
257
- // &.has-value {
258
- // opacity: 1;
259
-
260
- // + .yee-tags-single-option {
261
- // display: none;
262
- // }
263
- // }
264
- // }
265
-
266
- // .yee-tags-single-option {
267
- // opacity: var(--yee-tags-single-option-focus-opacity);
268
- // }
269
- // }
270
- // }
271
- // }
272
- // }
273
-
274
- // .yee-tags-multi-mode {
275
- // height: auto;
276
- // min-height: var(--yee-tags-multi-min-height);
277
-
278
- // &.yee-tags-searchable {
279
- // .yee-tag {
280
- // max-width: var(--yee-tags-multi-tag-max-width);
281
- // height: var(--yee-tags-multi-tag-height);
282
- // }
283
- // }
284
-
285
- // .yee-tags-container {
286
- // flex-wrap: wrap;
287
- // }
288
-
289
- // .yee-tags-input-container {
290
- // display: inline-grid;
291
- // // color: var(--yee-tags-input-container-font-color);
292
- // flex: 1 1 auto;
293
- // grid-area: 1 / 1 / 2 / 3;
294
- // grid-template-columns: 0 min-content;
295
- // box-sizing: border-box;
296
- // height: var(--yee-tags-multi-input-height);
297
-
298
- // &::after {
299
- // grid-area: 1 / 2 / auto / auto;
300
- // min-width: var(--yee-tags-multi-input-after-min-width);
301
- // margin: 0;
302
- // padding: 0;
303
- // font: inherit;
304
- // white-space: pre;
305
- // border: 0;
306
- // outline: 0;
307
- // visibility: hidden;
308
- // content: attr(data-value) ' ';
309
- // }
310
-
311
- // & > input {
312
- // grid-area: 1 / 2 / auto / auto;
313
- // width: 100%;
314
- // min-width: var(--yee-tags-multi-input-min-width);
315
- // height: var(--yee-tags-multi-input-height);
316
- // margin: 0;
317
- // padding: 0;
318
- // font: inherit;
319
- // background-color: transparent;
320
- // border: 0;
321
- // outline: 0;
322
- // opacity: 1;
323
- // }
324
- // }
325
- // }
326
-
327
- // form error status
328
- .yee-form-item-error {
329
- @{pls} {
330
- border-color: var(--yee-error-color);
331
-
332
- &:hover {
333
- border-color: var(--yee-error-color-hover);
334
- }
335
- }
336
- }
337
-
338
- .yee-form-item-warning {
339
- @{pls} {
340
- border-color: var(--yee-warning-color);
341
- }
342
- }
@@ -15,13 +15,13 @@ export default function useMove(
15
15
  React.useEffect(() => {
16
16
  if (!handler.current) return;
17
17
  const ele = handler.current as HTMLElement;
18
- const onMouseDown = (e: any) => {
18
+ const onMouseDown = (e: MouseEvent) => {
19
19
  e.preventDefault();
20
20
  let x = e.pageX;
21
21
  let y = e.pageY;
22
22
  setMoving(true);
23
23
 
24
- const onMouseMove = debounce((e: any) => {
24
+ const onMouseMove = debounce((e: MouseEvent) => {
25
25
  document.body.style.userSelect = 'none';
26
26
  document.body.style.cursor =
27
27
  direction === 'horizontal' ? 'col-resize' : 'row-resize';
@@ -98,20 +98,3 @@
98
98
  cursor: not-allowed;
99
99
  }
100
100
  }
101
-
102
- // form error status
103
- .yee-form-item-error {
104
- @{pls} {
105
- border-color: var(--yee-error-color);
106
-
107
- &:hover {
108
- border-color: var(--yee-error-color-hover);
109
- }
110
- }
111
- }
112
-
113
- .yee-form-item-warning {
114
- @{pls} {
115
- border-color: var(--yee-warning-color);
116
- }
117
- }
@@ -2,13 +2,16 @@ import React from 'react';
2
2
 
3
3
  // eslint-disable-next-line @typescript-eslint/ban-types
4
4
  export default function useEvent<T extends Function>(callback?: T): T {
5
- const ref = React.useRef<any>(undefined);
5
+ const ref = React.useRef<T | undefined>(undefined);
6
6
  ref.current = callback;
7
7
 
8
- const memoFn = React.useCallback<T>(
9
- ((...args: any) => ref.current?.(...args)) as any,
8
+ const memoFn = React.useCallback(
9
+ (...args: unknown[]) =>
10
+ (ref.current as ((...args: unknown[]) => unknown) | undefined)?.(
11
+ ...args,
12
+ ),
10
13
  [],
11
- );
14
+ ) as unknown as T;
12
15
 
13
16
  return memoFn;
14
17
  }