@rainbow-oh/yee-c 0.4.4 → 0.5.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.
- package/dist/cjs/Button/button.d.ts +1 -1
- package/dist/cjs/CSV/download.d.ts +1 -1
- package/dist/cjs/Carousel/carousel.d.ts +2 -2
- package/dist/cjs/Carousel/carousel.js +9 -2
- package/dist/cjs/Carousel/interface.d.ts +5 -0
- package/dist/cjs/Dialog/demo/basic.js +1 -1
- package/dist/cjs/Dialog/dialog.js +1 -1
- package/dist/cjs/Drawer/style/index.less +4 -0
- package/dist/cjs/Field/demo/validation.js +23 -3
- package/dist/cjs/Field/field.js +1 -1
- package/dist/cjs/FloatButton/float-button.d.ts +1 -1
- package/dist/cjs/Form/Field.js +1 -4
- package/dist/cjs/Form/Form.js +1 -1
- package/dist/cjs/Form/Group.js +36 -14
- package/dist/cjs/Form/List.js +23 -3
- package/dist/cjs/Form/demo/async-validate.d.ts +3 -0
- package/dist/cjs/Form/demo/async-validate.js +108 -0
- package/dist/cjs/Form/demo/basic.js +2 -2
- package/dist/cjs/Form/demo/virtual.js +1 -1
- package/dist/cjs/Form/form-store.d.ts +4 -4
- package/dist/cjs/Form/form-store.js +55 -25
- package/dist/cjs/Form/interface.d.ts +10 -7
- package/dist/cjs/Form/style/index.less +15 -0
- package/dist/cjs/Form/utils/validate.d.ts +23 -2
- package/dist/cjs/Form/utils/validate.js +59 -10
- package/dist/cjs/Input/style/index.less +0 -17
- package/dist/cjs/InputNumber/style/index.less +0 -29
- package/dist/cjs/PickerPanel/interface.d.ts +44 -2
- package/dist/cjs/PickerPanel/panels/DatePanel/DateBody.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/DatePanel/DateHeader.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/DatePanel/DateHeader.js +1 -1
- package/dist/cjs/PickerPanel/panels/DatePanel/index.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/DateTimePanel/index.d.ts +7 -1
- package/dist/cjs/PickerPanel/panels/DateTimePanel/index.js +18 -4
- package/dist/cjs/PickerPanel/panels/DecadePanel/DecadeBody.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/DecadePanel/DecadeBody.js +1 -1
- package/dist/cjs/PickerPanel/panels/DecadePanel/DecadeHeader.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/DecadePanel/DecadeHeader.js +1 -1
- package/dist/cjs/PickerPanel/panels/DecadePanel/index.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/DecadePanel/index.js +1 -1
- package/dist/cjs/PickerPanel/panels/Header.d.ts +13 -1
- package/dist/cjs/PickerPanel/panels/MonthPanel/MonthBody.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/MonthPanel/MonthHeader.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/MonthPanel/MonthHeader.js +1 -1
- package/dist/cjs/PickerPanel/panels/MonthPanel/index.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/MonthPanel/index.js +1 -1
- package/dist/cjs/PickerPanel/panels/PanelBody.d.ts +21 -1
- package/dist/cjs/PickerPanel/panels/PanelBody.js +3 -3
- package/dist/cjs/PickerPanel/panels/QuarterPanel/QuarterBody.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/QuarterPanel/QuarterHeader.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/QuarterPanel/index.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/RangePanel/index.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/RangePanel/index.js +2 -2
- package/dist/cjs/PickerPanel/panels/RangePanel/interface.d.ts +5 -5
- package/dist/cjs/PickerPanel/panels/TimePanel/TimeBody.d.ts +17 -1
- package/dist/cjs/PickerPanel/panels/TimePanel/TimeCell.d.ts +7 -1
- package/dist/cjs/PickerPanel/panels/TimePanel/TimeCell.js +1 -1
- package/dist/cjs/PickerPanel/panels/TimePanel/TimeColumn.d.ts +14 -1
- package/dist/cjs/PickerPanel/panels/TimePanel/TimeColumn.js +1 -1
- package/dist/cjs/PickerPanel/panels/TimePanel/TimeHeader.d.ts +4 -1
- package/dist/cjs/PickerPanel/panels/TimePanel/index.d.ts +9 -1
- package/dist/cjs/PickerPanel/panels/WeekPanel/WeekBody.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/WeekPanel/WeekHeader.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/WeekPanel/index.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/YearPanel/YearBody.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/YearPanel/YearBody.js +2 -2
- package/dist/cjs/PickerPanel/panels/YearPanel/YearHeader.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/YearPanel/YearHeader.js +7 -1
- package/dist/cjs/PickerPanel/panels/YearPanel/index.d.ts +2 -1
- package/dist/cjs/PickerPanel/panels/YearPanel/index.js +1 -1
- package/dist/cjs/PickerPanel/utils/pickerUtils.d.ts +7 -7
- package/dist/cjs/PickerPanel/utils/pickerUtils.js +2 -2
- package/dist/cjs/Select/demo/basic.js +1 -1
- package/dist/cjs/Select/demo/virtual.d.ts +3 -0
- package/dist/cjs/Select/demo/virtual.js +55 -0
- package/dist/cjs/Select/hooks/useSelectKeyboard.d.ts +7 -1
- package/dist/cjs/Select/hooks/useSelectKeyboard.js +16 -6
- package/dist/cjs/Select/interface.d.ts +44 -0
- package/dist/cjs/Select/option.js +3 -2
- package/dist/cjs/Select/options.js +115 -15
- package/dist/cjs/Select/select.js +20 -4
- package/dist/cjs/Select/style/index.less +17 -13
- package/dist/cjs/Selector/style/index.less +2 -137
- package/dist/cjs/Table/style/index.less +19 -0
- package/dist/cjs/TextArea/style/index.less +0 -17
- package/dist/cjs/hooks/index.d.ts +2 -1
- package/dist/cjs/hooks/index.js +3 -1
- package/dist/cjs/hooks/useEvent.js +4 -1
- package/dist/cjs/hooks/useVirtualList.d.ts +71 -0
- package/dist/cjs/hooks/useVirtualList.js +117 -0
- package/dist/cjs/style/size.css +1 -0
- package/dist/cjs/style/themes.css +1 -1
- package/dist/cjs/style/variables.css +2 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/Button/button.d.ts +1 -1
- package/dist/esm/CSV/download.d.ts +1 -1
- package/dist/esm/Carousel/carousel.d.ts +2 -2
- package/dist/esm/Carousel/carousel.js +5 -1
- package/dist/esm/Carousel/interface.d.ts +5 -0
- package/dist/esm/Dialog/demo/basic.js +1 -1
- package/dist/esm/Dialog/dialog.js +1 -1
- package/dist/esm/Drawer/style/index.less +4 -0
- package/dist/esm/Field/demo/validation.js +30 -9
- package/dist/esm/Field/field.js +2 -1
- package/dist/esm/FloatButton/float-button.d.ts +1 -1
- package/dist/esm/Form/Field.js +3 -4
- package/dist/esm/Form/Form.js +1 -1
- package/dist/esm/Form/Group.js +142 -53
- package/dist/esm/Form/List.js +61 -42
- package/dist/esm/Form/demo/async-validate.d.ts +3 -0
- package/dist/esm/Form/demo/async-validate.js +95 -0
- package/dist/esm/Form/demo/basic.js +4 -2
- package/dist/esm/Form/demo/virtual.js +1 -1
- package/dist/esm/Form/form-store.d.ts +4 -4
- package/dist/esm/Form/form-store.js +187 -93
- package/dist/esm/Form/interface.d.ts +10 -7
- package/dist/esm/Form/style/index.less +15 -0
- package/dist/esm/Form/utils/validate.d.ts +23 -2
- package/dist/esm/Form/utils/validate.js +122 -17
- package/dist/esm/Input/style/index.less +0 -17
- package/dist/esm/InputNumber/style/index.less +0 -29
- package/dist/esm/PickerPanel/interface.d.ts +44 -2
- package/dist/esm/PickerPanel/panels/DatePanel/DateBody.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/DatePanel/DateHeader.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/DatePanel/DateHeader.js +1 -1
- package/dist/esm/PickerPanel/panels/DatePanel/index.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/DateTimePanel/index.d.ts +7 -1
- package/dist/esm/PickerPanel/panels/DateTimePanel/index.js +11 -7
- package/dist/esm/PickerPanel/panels/DecadePanel/DecadeBody.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/DecadePanel/DecadeBody.js +2 -1
- package/dist/esm/PickerPanel/panels/DecadePanel/DecadeHeader.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/DecadePanel/DecadeHeader.js +2 -1
- package/dist/esm/PickerPanel/panels/DecadePanel/index.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/DecadePanel/index.js +1 -1
- package/dist/esm/PickerPanel/panels/Header.d.ts +13 -1
- package/dist/esm/PickerPanel/panels/MonthPanel/MonthBody.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/MonthPanel/MonthHeader.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/MonthPanel/MonthHeader.js +2 -1
- package/dist/esm/PickerPanel/panels/MonthPanel/index.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/MonthPanel/index.js +1 -1
- package/dist/esm/PickerPanel/panels/PanelBody.d.ts +21 -1
- package/dist/esm/PickerPanel/panels/PanelBody.js +2 -4
- package/dist/esm/PickerPanel/panels/QuarterPanel/QuarterBody.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/QuarterPanel/QuarterHeader.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/QuarterPanel/index.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/RangePanel/index.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/RangePanel/index.js +2 -2
- package/dist/esm/PickerPanel/panels/RangePanel/interface.d.ts +5 -5
- package/dist/esm/PickerPanel/panels/TimePanel/TimeBody.d.ts +17 -1
- package/dist/esm/PickerPanel/panels/TimePanel/TimeCell.d.ts +7 -1
- package/dist/esm/PickerPanel/panels/TimePanel/TimeCell.js +1 -1
- package/dist/esm/PickerPanel/panels/TimePanel/TimeColumn.d.ts +14 -1
- package/dist/esm/PickerPanel/panels/TimePanel/TimeColumn.js +1 -1
- package/dist/esm/PickerPanel/panels/TimePanel/TimeHeader.d.ts +4 -1
- package/dist/esm/PickerPanel/panels/TimePanel/index.d.ts +9 -1
- package/dist/esm/PickerPanel/panels/WeekPanel/WeekBody.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/WeekPanel/WeekHeader.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/WeekPanel/index.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/YearPanel/YearBody.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/YearPanel/YearBody.js +3 -2
- package/dist/esm/PickerPanel/panels/YearPanel/YearHeader.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/YearPanel/YearHeader.js +2 -1
- package/dist/esm/PickerPanel/panels/YearPanel/index.d.ts +2 -1
- package/dist/esm/PickerPanel/panels/YearPanel/index.js +1 -1
- package/dist/esm/PickerPanel/picker-panel.js +3 -0
- package/dist/esm/PickerPanel/utils/pickerUtils.d.ts +7 -7
- package/dist/esm/PickerPanel/utils/pickerUtils.js +4 -10
- package/dist/esm/Select/demo/basic.js +1 -1
- package/dist/esm/Select/demo/virtual.d.ts +3 -0
- package/dist/esm/Select/demo/virtual.js +38 -0
- package/dist/esm/Select/hooks/useSelectKeyboard.d.ts +7 -1
- package/dist/esm/Select/hooks/useSelectKeyboard.js +25 -9
- package/dist/esm/Select/interface.d.ts +44 -0
- package/dist/esm/Select/option.js +4 -2
- package/dist/esm/Select/options.js +132 -13
- package/dist/esm/Select/select.js +19 -4
- package/dist/esm/Select/style/index.less +17 -13
- package/dist/esm/Selector/style/index.less +2 -137
- package/dist/esm/Table/style/index.less +19 -0
- package/dist/esm/TextArea/style/index.less +0 -17
- package/dist/esm/hooks/index.d.ts +2 -1
- package/dist/esm/hooks/index.js +2 -1
- package/dist/esm/hooks/useVirtualList.d.ts +71 -0
- package/dist/esm/hooks/useVirtualList.js +129 -0
- package/dist/esm/style/size.css +1 -0
- package/dist/esm/style/themes.css +1 -1
- package/dist/esm/style/variables.css +2 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/umd/yee-c.min.css +2 -2
- package/dist/umd/yee-c.min.js +1 -1
- package/package.json +1 -1
- package/src/Carousel/carousel.tsx +14 -3
- package/src/Carousel/interface.ts +6 -0
- package/src/Cascader/cascader.tsx +3 -1
- package/src/Cascader/column.tsx +1 -1
- package/src/Dialog/demo/basic.tsx +1 -1
- package/src/Dialog/dialog.tsx +1 -1
- package/src/Drawer/style/index.less +4 -0
- package/src/Dropdown/dropdown.tsx +1 -1
- package/src/Field/demo/validation.tsx +2 -2
- package/src/Field/field.tsx +2 -1
- package/src/Field/index.en-US.md +1 -1
- package/src/Field/index.zh-CN.md +1 -1
- package/src/FloatButton/float-button.tsx +5 -3
- package/src/Form/Field.tsx +3 -4
- package/src/Form/Form.tsx +1 -1
- package/src/Form/Group.tsx +15 -12
- package/src/Form/List.tsx +3 -3
- package/src/Form/demo/async-validate.tsx +71 -0
- package/src/Form/demo/basic.tsx +2 -2
- package/src/Form/demo/virtual.tsx +1 -1
- package/src/Form/form-store.ts +37 -21
- package/src/Form/index.en-US.md +6 -5
- package/src/Form/index.zh-CN.md +6 -5
- package/src/Form/interface.ts +13 -7
- package/src/Form/style/index.less +15 -0
- package/src/Form/utils/validate.ts +65 -13
- package/src/Input/style/index.less +0 -17
- package/src/InputNumber/style/index.less +0 -29
- package/src/PickerPanel/interface.ts +43 -2
- package/src/PickerPanel/panels/DatePanel/DateBody.tsx +2 -1
- package/src/PickerPanel/panels/DatePanel/DateHeader.tsx +3 -2
- package/src/PickerPanel/panels/DatePanel/index.tsx +2 -1
- package/src/PickerPanel/panels/DateTimePanel/index.tsx +12 -5
- package/src/PickerPanel/panels/DecadePanel/DecadeBody.tsx +3 -2
- package/src/PickerPanel/panels/DecadePanel/DecadeHeader.tsx +3 -2
- package/src/PickerPanel/panels/DecadePanel/index.tsx +3 -2
- package/src/PickerPanel/panels/Header.tsx +14 -1
- package/src/PickerPanel/panels/MonthPanel/MonthBody.tsx +2 -1
- package/src/PickerPanel/panels/MonthPanel/MonthHeader.tsx +3 -2
- package/src/PickerPanel/panels/MonthPanel/index.tsx +3 -2
- package/src/PickerPanel/panels/PanelBody.tsx +27 -5
- package/src/PickerPanel/panels/QuarterPanel/QuarterBody.tsx +2 -1
- package/src/PickerPanel/panels/QuarterPanel/QuarterHeader.tsx +2 -1
- package/src/PickerPanel/panels/QuarterPanel/index.tsx +2 -1
- package/src/PickerPanel/panels/RangePanel/index.tsx +11 -9
- package/src/PickerPanel/panels/RangePanel/interface.ts +5 -5
- package/src/PickerPanel/panels/TimePanel/TimeBody.tsx +21 -5
- package/src/PickerPanel/panels/TimePanel/TimeCell.tsx +9 -2
- package/src/PickerPanel/panels/TimePanel/TimeColumn.tsx +15 -2
- package/src/PickerPanel/panels/TimePanel/TimeHeader.tsx +5 -1
- package/src/PickerPanel/panels/TimePanel/index.tsx +10 -1
- package/src/PickerPanel/panels/WeekPanel/WeekBody.tsx +2 -1
- package/src/PickerPanel/panels/WeekPanel/WeekHeader.tsx +2 -1
- package/src/PickerPanel/panels/WeekPanel/index.tsx +2 -1
- package/src/PickerPanel/panels/YearPanel/YearBody.tsx +4 -3
- package/src/PickerPanel/panels/YearPanel/YearHeader.tsx +9 -3
- package/src/PickerPanel/panels/YearPanel/index.tsx +3 -2
- package/src/PickerPanel/picker-panel.tsx +5 -3
- package/src/PickerPanel/utils/pickerUtils.ts +17 -8
- package/src/Select/demo/basic.tsx +1 -1
- package/src/Select/demo/virtual.tsx +25 -0
- package/src/Select/hooks/useSelectKeyboard.ts +30 -6
- package/src/Select/index.en-US.md +4 -0
- package/src/Select/index.zh-CN.md +4 -0
- package/src/Select/interface.ts +48 -2
- package/src/Select/option.tsx +2 -1
- package/src/Select/options.tsx +139 -8
- package/src/Select/select.tsx +23 -1
- package/src/Select/style/index.less +17 -13
- package/src/Selector/style/index.less +2 -137
- package/src/Splitter/hooks/useMove.ts +2 -2
- package/src/Table/style/index.less +19 -0
- package/src/TextArea/style/index.less +0 -17
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useEvent.ts +7 -4
- package/src/hooks/useMergedState.ts +6 -4
- package/src/hooks/useVirtualList.ts +169 -0
- package/src/style/size.css +1 -0
- package/src/version.ts +1 -1
|
@@ -103,7 +103,7 @@ export interface FormInstance<Values = any> {
|
|
|
103
103
|
/**
|
|
104
104
|
* Submit form
|
|
105
105
|
*/
|
|
106
|
-
submit: () => ValidateMessage[]
|
|
106
|
+
submit: () => Promise<ValidateMessage[]>;
|
|
107
107
|
/**
|
|
108
108
|
* Get all field values
|
|
109
109
|
*/
|
|
@@ -127,7 +127,7 @@ export interface FormInstance<Values = any> {
|
|
|
127
127
|
/**
|
|
128
128
|
* Validate field
|
|
129
129
|
*/
|
|
130
|
-
validateField: (name: Name, trigger?: 'onChange' | 'onBlur') => ValidateMessage[]
|
|
130
|
+
validateField: (name: Name, trigger?: 'onChange' | 'onBlur') => Promise<ValidateMessage[]>;
|
|
131
131
|
/**
|
|
132
132
|
* Get callback functions
|
|
133
133
|
*/
|
|
@@ -139,7 +139,7 @@ export interface FormInstance<Values = any> {
|
|
|
139
139
|
/**
|
|
140
140
|
* Validate fields and get error messages
|
|
141
141
|
*/
|
|
142
|
-
validateFields: (names?: Name[], trigger?: TRIGGER) => ValidateMessage[]
|
|
142
|
+
validateFields: (names?: Name[], trigger?: TRIGGER) => Promise<ValidateMessage[]>;
|
|
143
143
|
/**
|
|
144
144
|
* Initialize form - mainly used to set initial values and callbacks
|
|
145
145
|
*/
|
|
@@ -214,9 +214,12 @@ export type Rule = {
|
|
|
214
214
|
*/
|
|
215
215
|
message?: string;
|
|
216
216
|
/**
|
|
217
|
-
* Custom validation function
|
|
217
|
+
* Custom validation function. Supports sync and async:
|
|
218
|
+
* - sync: return true/undefined to pass, return false or throw to fail
|
|
219
|
+
* - async: return a Promise (resolve to pass, reject/throw to fail)
|
|
220
|
+
* When throwing/rejecting with an Error, its message overrides rule.message.
|
|
218
221
|
*/
|
|
219
|
-
validator?: (value: unknown) => boolean
|
|
222
|
+
validator?: (value: unknown) => boolean | void | Promise<boolean | void>;
|
|
220
223
|
/**
|
|
221
224
|
* Validation trigger timing
|
|
222
225
|
*/
|
|
@@ -314,7 +317,7 @@ export type FormListField<T = any> = {
|
|
|
314
317
|
value: T;
|
|
315
318
|
};
|
|
316
319
|
export type FormListOperation = {
|
|
317
|
-
add: (defaultValue?: any, insertIndex?: number) => void
|
|
320
|
+
add: (defaultValue?: any, insertIndex?: number) => void | Promise<void>;
|
|
318
321
|
remove: (index: number | number[]) => void;
|
|
319
322
|
move: (from: number, to: number) => void;
|
|
320
323
|
};
|
|
@@ -357,6 +360,6 @@ export type FieldGroupProps = {
|
|
|
357
360
|
className?: string;
|
|
358
361
|
};
|
|
359
362
|
export interface GroupEntity {
|
|
360
|
-
validate: (force: boolean) => ValidateMessage[]
|
|
363
|
+
validate: (force: boolean) => Promise<ValidateMessage[]>;
|
|
361
364
|
reset: () => void;
|
|
362
365
|
}
|
|
@@ -56,5 +56,20 @@
|
|
|
56
56
|
color: var(--yee-error-color);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
+
|
|
60
|
+
// 表单校验态:在此重定义控件读取的 border / box-shadow 变量,
|
|
61
|
+
// 后代里的 Input / Selector / InputNumber / TextArea 等通过 CSS 变量继承自动变色,
|
|
62
|
+
// 无需在每个组件里重复 .yee-form-item-error 块,也不存在 specificity / !important 问题。
|
|
63
|
+
&&-error {
|
|
64
|
+
--yee-input-border-color: var(--yee-error-color);
|
|
65
|
+
--yee-input-hover-border-color: var(--yee-error-color-hover);
|
|
66
|
+
--yee-input-focus-bs-color: var(--yee-error-color-border);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
&&-warning {
|
|
70
|
+
--yee-input-border-color: var(--yee-warning-color);
|
|
71
|
+
--yee-input-hover-border-color: var(--yee-warning-color-hover);
|
|
72
|
+
--yee-input-focus-bs-color: var(--yee-warning-color-border);
|
|
73
|
+
}
|
|
59
74
|
}
|
|
60
75
|
}
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
-
import { Rule } from '../interface';
|
|
2
|
-
|
|
1
|
+
import type { Rule } from '../interface';
|
|
2
|
+
export interface ValidateResult {
|
|
3
|
+
passed: boolean;
|
|
4
|
+
message?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Run a custom validator, dispatching between sync and async at runtime.
|
|
8
|
+
*
|
|
9
|
+
* Supports all of the following shapes (backwards compatible):
|
|
10
|
+
* - sync `return true` / `return undefined` → pass
|
|
11
|
+
* - sync `return false` → fail (use rule.message)
|
|
12
|
+
* - sync `throw new Error(msg)` → fail (use msg)
|
|
13
|
+
* - async `return Promise.resolve()` → pass
|
|
14
|
+
* - async `return Promise.resolve(false)` → fail (use rule.message)
|
|
15
|
+
* - async `throw` / `return Promise.reject(new Error(msg))` → fail (use msg)
|
|
16
|
+
*/
|
|
17
|
+
export declare function runValidator(validator: NonNullable<Rule['validator']>, value: unknown): Promise<ValidateResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Validate a single rule against a value.
|
|
20
|
+
* Returns { passed, message? }. Sync rules short-circuit; the custom validator
|
|
21
|
+
* is awaited so async validators are supported.
|
|
22
|
+
*/
|
|
23
|
+
declare function validate(rule: Rule, value: unknown): Promise<ValidateResult>;
|
|
3
24
|
export default validate;
|
|
@@ -15,11 +15,32 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
return to;
|
|
16
16
|
};
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var __async = (__this, __arguments, generator) => {
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
var fulfilled = (value) => {
|
|
21
|
+
try {
|
|
22
|
+
step(generator.next(value));
|
|
23
|
+
} catch (e) {
|
|
24
|
+
reject(e);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var rejected = (value) => {
|
|
28
|
+
try {
|
|
29
|
+
step(generator.throw(value));
|
|
30
|
+
} catch (e) {
|
|
31
|
+
reject(e);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
35
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
36
|
+
});
|
|
37
|
+
};
|
|
18
38
|
|
|
19
39
|
// src/Form/utils/validate.ts
|
|
20
40
|
var validate_exports = {};
|
|
21
41
|
__export(validate_exports, {
|
|
22
|
-
default: () => validate_default
|
|
42
|
+
default: () => validate_default,
|
|
43
|
+
runValidator: () => runValidator
|
|
23
44
|
});
|
|
24
45
|
module.exports = __toCommonJS(validate_exports);
|
|
25
46
|
function isEmpty(v) {
|
|
@@ -80,8 +101,8 @@ function verifyRuleOfRegexp(regexp, value) {
|
|
|
80
101
|
return true;
|
|
81
102
|
}
|
|
82
103
|
}
|
|
83
|
-
function
|
|
84
|
-
const { min, max, minLength, maxLength, regexp
|
|
104
|
+
function verifySyncRules(rule, value) {
|
|
105
|
+
const { min, max, minLength, maxLength, regexp } = rule;
|
|
85
106
|
if (typeof min !== "undefined" && !verifyRuleOfMin(min, value)) {
|
|
86
107
|
return false;
|
|
87
108
|
}
|
|
@@ -97,15 +118,43 @@ function verifyMain(rule, value) {
|
|
|
97
118
|
if (regexp instanceof RegExp && !verifyRuleOfRegexp(regexp, value)) {
|
|
98
119
|
return false;
|
|
99
120
|
}
|
|
100
|
-
if (typeof validator === "function" && !validator(value)) {
|
|
101
|
-
return false;
|
|
102
|
-
}
|
|
103
121
|
return true;
|
|
104
122
|
}
|
|
123
|
+
function runValidator(validator, value) {
|
|
124
|
+
return __async(this, null, function* () {
|
|
125
|
+
try {
|
|
126
|
+
const res = validator(value);
|
|
127
|
+
if (res instanceof Promise) {
|
|
128
|
+
const resolved = yield res;
|
|
129
|
+
if (resolved === false) {
|
|
130
|
+
return { passed: false };
|
|
131
|
+
}
|
|
132
|
+
return { passed: true };
|
|
133
|
+
}
|
|
134
|
+
if (res === false) {
|
|
135
|
+
return { passed: false };
|
|
136
|
+
}
|
|
137
|
+
return { passed: true };
|
|
138
|
+
} catch (e) {
|
|
139
|
+
return {
|
|
140
|
+
passed: false,
|
|
141
|
+
message: e instanceof Error ? e.message : String(e)
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
105
146
|
function validate(rule, value) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
147
|
+
return __async(this, null, function* () {
|
|
148
|
+
if (rule.required && isEmpty(value)) {
|
|
149
|
+
return { passed: false };
|
|
150
|
+
}
|
|
151
|
+
if (!verifySyncRules(rule, value)) {
|
|
152
|
+
return { passed: false };
|
|
153
|
+
}
|
|
154
|
+
if (typeof rule.validator === "function") {
|
|
155
|
+
return runValidator(rule.validator, value);
|
|
156
|
+
}
|
|
157
|
+
return { passed: true };
|
|
158
|
+
});
|
|
110
159
|
}
|
|
111
160
|
var validate_default = validate;
|
|
@@ -110,20 +110,3 @@ input[type='number']::-webkit-outer-spin-button {
|
|
|
110
110
|
input::placeholder {
|
|
111
111
|
color: var(--yee-placeholder-color);
|
|
112
112
|
}
|
|
113
|
-
|
|
114
|
-
// form error status
|
|
115
|
-
.yee-form-item-error {
|
|
116
|
-
@{pls} {
|
|
117
|
-
border-color: var(--yee-error-color);
|
|
118
|
-
|
|
119
|
-
&:hover {
|
|
120
|
-
border-color: var(--yee-error-color-hover);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.yee-form-item-warning {
|
|
126
|
-
@{pls} {
|
|
127
|
-
border-color: var(--yee-warning-color);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
@@ -185,32 +185,3 @@
|
|
|
185
185
|
padding-right: 0;
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
|
-
|
|
189
|
-
// Form error status
|
|
190
|
-
.yee-form-item-error {
|
|
191
|
-
@{pls} {
|
|
192
|
-
border-color: var(--yee-error-color);
|
|
193
|
-
|
|
194
|
-
&:not(@{pls}-disabled):hover {
|
|
195
|
-
border-color: var(--yee-error-color);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
&-focused {
|
|
199
|
-
box-shadow: 0 0 0 2px var(--yee-input-content-error-focus-bs-color);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
.yee-form-item-warning {
|
|
205
|
-
@{pls} {
|
|
206
|
-
border-color: var(--yee-warning-color);
|
|
207
|
-
|
|
208
|
-
&:not(@{pls}-disabled):hover {
|
|
209
|
-
border-color: var(--yee-warning-color);
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
&-focused {
|
|
213
|
-
box-shadow: 0 0 0 2px var(--yee-input-content-warning-focus-bs-color);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Dayjs } from 'dayjs';
|
|
3
|
+
import type { usePanelConfigs } from './configs/locale-adapter';
|
|
3
4
|
export type PickerType = 'date' | 'week' | 'month' | 'quarter' | 'year' | 'decade' | 'datetime' | 'time';
|
|
4
5
|
export type SemanticType = 'prevIcon' | 'nextIcon' | 'superPrevIcon' | 'superNextIcon' | 'footer';
|
|
5
6
|
export type UnitType = 'day' | 'hour' | 'minute' | 'second';
|
|
7
|
+
/** Hour/minute/second granularity used by the time sub-panels. */
|
|
8
|
+
export type TimeUnit = 'hour' | 'minute' | 'second';
|
|
6
9
|
interface HeaderProps {
|
|
7
10
|
showPrevIcon?: boolean;
|
|
8
11
|
showNextIcon?: boolean;
|
|
@@ -103,14 +106,53 @@ export interface PickerPanelProps extends HeaderProps {
|
|
|
103
106
|
/**
|
|
104
107
|
* Hover range dates [start date, end date]
|
|
105
108
|
*/
|
|
106
|
-
hoverRange?: Array<Dayjs | null>;
|
|
109
|
+
hoverRange?: Array<Dayjs | null | undefined>;
|
|
107
110
|
/**
|
|
108
111
|
* Selected range dates [start date, end date]
|
|
109
112
|
*/
|
|
110
|
-
selectedRange?: Array<Dayjs | null>;
|
|
113
|
+
selectedRange?: Array<Dayjs | null | undefined>;
|
|
111
114
|
/**
|
|
112
115
|
* Disabled date function
|
|
113
116
|
*/
|
|
114
117
|
disabledDate?: (current: Dayjs) => boolean;
|
|
115
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Locale/config bag produced by `usePanelConfigs`, shared by every panel.
|
|
121
|
+
*/
|
|
122
|
+
export type PanelConfigs = ReturnType<typeof usePanelConfigs>;
|
|
123
|
+
/**
|
|
124
|
+
* The `panelProps` bag shared by all date-picking panels, headers and bodies.
|
|
125
|
+
*
|
|
126
|
+
* Standalone (does not extend `PickerPanelProps`) so each panel only declares
|
|
127
|
+
* the fields it actually reads while still receiving the full bag via
|
|
128
|
+
* `{...props}` spreads (JSX spreads do not trigger excess-property checks).
|
|
129
|
+
*/
|
|
130
|
+
export interface PanelSharedProps {
|
|
131
|
+
prefixCls?: string;
|
|
132
|
+
picker?: PickerType;
|
|
133
|
+
offset?: {
|
|
134
|
+
year?: number;
|
|
135
|
+
month?: number;
|
|
136
|
+
day?: number;
|
|
137
|
+
};
|
|
138
|
+
viewDate: Dayjs;
|
|
139
|
+
selectedDate?: Dayjs;
|
|
140
|
+
panelConfigs: PanelConfigs;
|
|
141
|
+
handleMouseChange?: (date: Dayjs | '') => void;
|
|
142
|
+
onViewDateChange: (date: Dayjs) => void;
|
|
143
|
+
onPanelChange: (view: PickerType) => void;
|
|
144
|
+
onSelect?: (date: Dayjs) => void;
|
|
145
|
+
offsetYear?: number;
|
|
146
|
+
/** Never set in `panelProps`, so always `undefined` at runtime. */
|
|
147
|
+
nowDate?: Dayjs;
|
|
148
|
+
weekStart?: number;
|
|
149
|
+
showHeader?: boolean;
|
|
150
|
+
cellRender?: (date: Dayjs, panel: PickerType) => React.ReactNode;
|
|
151
|
+
prefixColumn?: (currentDate: Dayjs) => React.ReactNode;
|
|
152
|
+
getRowClassName?: (currentDate: Dayjs) => string;
|
|
153
|
+
hoverRange?: Array<Dayjs | null | undefined>;
|
|
154
|
+
selectedRange?: Array<Dayjs | null | undefined>;
|
|
155
|
+
maxDate?: Dayjs;
|
|
156
|
+
minDate?: Dayjs;
|
|
157
|
+
}
|
|
116
158
|
export {};
|
|
@@ -74,7 +74,7 @@ function DateHeader(props) {
|
|
|
74
74
|
let year = import_pickerUtils.default.getYear(viewDate);
|
|
75
75
|
const month = import_pickerUtils.default.getMonth(viewDate);
|
|
76
76
|
if (offset == null ? void 0 : offset.year) {
|
|
77
|
-
year = year +
|
|
77
|
+
year = year + offset.year;
|
|
78
78
|
}
|
|
79
79
|
const onSuperPrevClick = (0, import_useEvent.default)(() => {
|
|
80
80
|
const newViewDate = import_pickerUtils.default.addYear(viewDate, -1);
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { Dayjs } from 'dayjs';
|
|
1
2
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
+
import type { PickerType, PanelSharedProps } from '../../interface';
|
|
4
|
+
interface DateTimePanelProps extends Omit<PanelSharedProps, 'onSelect'> {
|
|
5
|
+
onSelect?: (panel: PickerType, date: Dayjs) => void;
|
|
6
|
+
showTime?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare function DateTimePanel(props: DateTimePanelProps): React.JSX.Element;
|
|
3
9
|
export default DateTimePanel;
|
|
@@ -21,6 +21,18 @@ var __spreadValues = (a, b) => {
|
|
|
21
21
|
return a;
|
|
22
22
|
};
|
|
23
23
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
+
var __objRest = (source, exclude) => {
|
|
25
|
+
var target = {};
|
|
26
|
+
for (var prop in source)
|
|
27
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
if (source != null && __getOwnPropSymbols)
|
|
30
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
31
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
32
|
+
target[prop] = source[prop];
|
|
33
|
+
}
|
|
34
|
+
return target;
|
|
35
|
+
};
|
|
24
36
|
var __export = (target, all) => {
|
|
25
37
|
for (var name in all)
|
|
26
38
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -53,18 +65,20 @@ var React = __toESM(require("react"));
|
|
|
53
65
|
var import_DatePanel = __toESM(require("../DatePanel"));
|
|
54
66
|
var import_TimePanel = __toESM(require("../TimePanel"));
|
|
55
67
|
function DateTimePanel(props) {
|
|
56
|
-
|
|
68
|
+
var _b;
|
|
69
|
+
const _a = props, { onSelect, showTime } = _a, rest = __objRest(_a, ["onSelect", "showTime"]);
|
|
70
|
+
const prefixCls = (_b = rest.prefixCls) != null ? _b : "yee-picker";
|
|
57
71
|
const handleSelect = (type, date) => {
|
|
58
|
-
onSelect(type, date);
|
|
72
|
+
onSelect == null ? void 0 : onSelect(type, date);
|
|
59
73
|
};
|
|
60
74
|
return /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-datetime-panel` }, /* @__PURE__ */ React.createElement(
|
|
61
75
|
import_DatePanel.default,
|
|
62
|
-
__spreadProps(__spreadValues({},
|
|
76
|
+
__spreadProps(__spreadValues({}, rest), {
|
|
63
77
|
onSelect: (date) => handleSelect("date", date)
|
|
64
78
|
})
|
|
65
79
|
), showTime ? /* @__PURE__ */ React.createElement(
|
|
66
80
|
import_TimePanel.default,
|
|
67
|
-
__spreadProps(__spreadValues({},
|
|
81
|
+
__spreadProps(__spreadValues({}, rest), {
|
|
68
82
|
onSelect: (date) => handleSelect("datetimetime", date),
|
|
69
83
|
showHeader: true
|
|
70
84
|
})
|
|
@@ -55,7 +55,7 @@ var import_useEvent = __toESM(require("../../../hooks/useEvent"));
|
|
|
55
55
|
var import_pickerUtils = __toESM(require("../../utils/pickerUtils"));
|
|
56
56
|
var import_PanelBody = __toESM(require("../PanelBody"));
|
|
57
57
|
function DecadeBody(props) {
|
|
58
|
-
const { prefixCls, viewDate, offsetYear } = props;
|
|
58
|
+
const { prefixCls, viewDate, offsetYear = 0 } = props;
|
|
59
59
|
const baseDate = import_pickerUtils.default.getBaseDate("decade", viewDate);
|
|
60
60
|
const getCellDate = (0, import_useEvent.default)((baseDate2, offset) => {
|
|
61
61
|
return import_pickerUtils.default.addYear(baseDate2, offset * 10);
|
|
@@ -54,7 +54,7 @@ var import_useEvent = __toESM(require("../../../hooks/useEvent"));
|
|
|
54
54
|
var import_pickerUtils = __toESM(require("../../utils/pickerUtils"));
|
|
55
55
|
var import_Header = __toESM(require("../Header"));
|
|
56
56
|
function DecadeHeader(props) {
|
|
57
|
-
const { viewDate, offsetYear, onViewDateChange } = props;
|
|
57
|
+
const { viewDate, offsetYear = 0, onViewDateChange } = props;
|
|
58
58
|
const onSuperPrevClick = (0, import_useEvent.default)(() => {
|
|
59
59
|
onViewDateChange(import_pickerUtils.default.addYear(viewDate, -100));
|
|
60
60
|
});
|
|
@@ -56,7 +56,7 @@ function DecadePanel(props) {
|
|
|
56
56
|
const { prefixCls, offset } = props;
|
|
57
57
|
let offsetYear = 0;
|
|
58
58
|
if (offset == null ? void 0 : offset.year) {
|
|
59
|
-
offsetYear =
|
|
59
|
+
offsetYear = offset.year;
|
|
60
60
|
}
|
|
61
61
|
return /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-decade-panel` }, /* @__PURE__ */ React.createElement(import_DecadeHeader.default, __spreadProps(__spreadValues({}, props), { offsetYear })), /* @__PURE__ */ React.createElement(import_DecadeBody.default, __spreadProps(__spreadValues({}, props), { offsetYear })));
|
|
62
62
|
}
|
|
@@ -1,2 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export
|
|
2
|
+
export interface PanelHeaderProps {
|
|
3
|
+
prefixCls?: string;
|
|
4
|
+
onPrevClick?: () => void;
|
|
5
|
+
onSuperPrevClick?: () => void;
|
|
6
|
+
onNextClick?: () => void;
|
|
7
|
+
onSuperNextClick?: () => void;
|
|
8
|
+
showPrevIcon?: boolean;
|
|
9
|
+
showNextIcon?: boolean;
|
|
10
|
+
showSuperPrevIcon?: boolean;
|
|
11
|
+
showSuperNextIcon?: boolean;
|
|
12
|
+
children?: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export default function Header(props: PanelHeaderProps): React.JSX.Element;
|
|
@@ -55,7 +55,7 @@ var import_useEvent = __toESM(require("../../../hooks/useEvent"));
|
|
|
55
55
|
var import_pickerUtils = __toESM(require("../../utils/pickerUtils"));
|
|
56
56
|
var import_Header = __toESM(require("../Header"));
|
|
57
57
|
function MonthHeader(props) {
|
|
58
|
-
const { prefixCls, viewDate, offsetYear, onViewDateChange, onPanelChange } = props;
|
|
58
|
+
const { prefixCls, viewDate, offsetYear = 0, onViewDateChange, onPanelChange } = props;
|
|
59
59
|
const year = import_pickerUtils.default.getYear(viewDate) + offsetYear;
|
|
60
60
|
const onSuperPrevClick = (0, import_useEvent.default)(() => {
|
|
61
61
|
const newViewDate = import_pickerUtils.default.addYear(viewDate, -1);
|
|
@@ -56,7 +56,7 @@ function DecadePanel(props) {
|
|
|
56
56
|
const { prefixCls, offset, showHeader = true } = props;
|
|
57
57
|
let offsetYear = 0;
|
|
58
58
|
if (offset == null ? void 0 : offset.year) {
|
|
59
|
-
offsetYear =
|
|
59
|
+
offsetYear = offset.year;
|
|
60
60
|
}
|
|
61
61
|
return /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-month-panel` }, showHeader ? /* @__PURE__ */ React.createElement(import_MonthHeader.default, __spreadProps(__spreadValues({}, props), { offsetYear })) : null, /* @__PURE__ */ React.createElement(import_MonthBody.default, __spreadValues({}, props)));
|
|
62
62
|
}
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
import { Dayjs } from 'dayjs';
|
|
1
2
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
+
import type { PickerType } from '../interface';
|
|
4
|
+
export interface PanelBodyProps {
|
|
5
|
+
prefixCls?: string;
|
|
6
|
+
picker?: PickerType;
|
|
7
|
+
rowCount: number;
|
|
8
|
+
colCount: number;
|
|
9
|
+
baseDate?: Dayjs | number;
|
|
10
|
+
onSelect?: (date: Dayjs) => void;
|
|
11
|
+
handleMouseChange?: (date: Dayjs | '') => void;
|
|
12
|
+
headerCells?: React.ReactNode;
|
|
13
|
+
getCellNode?: (currentDate: Dayjs) => React.ReactNode;
|
|
14
|
+
getCellDate: (baseDate: Dayjs, offset: number) => Dayjs;
|
|
15
|
+
getCellText: (currentDate: Dayjs) => number | string;
|
|
16
|
+
getCellTitle?: (currentDate: Dayjs) => string;
|
|
17
|
+
getCellClassName?: (currentDate: Dayjs) => string;
|
|
18
|
+
prefixColumn?: (currentDate: Dayjs) => React.ReactNode;
|
|
19
|
+
getRowClassName?: (currentDate: Dayjs) => string;
|
|
20
|
+
cellRender?: (date: Dayjs, panel: PickerType) => React.ReactNode;
|
|
21
|
+
}
|
|
22
|
+
declare function PanelBody(props: PanelBodyProps): React.JSX.Element;
|
|
3
23
|
export default PanelBody;
|
|
@@ -84,8 +84,8 @@ function PanelBody(props) {
|
|
|
84
84
|
className: (0, import_clsx.default)(
|
|
85
85
|
cellPrefixCls,
|
|
86
86
|
{
|
|
87
|
-
[`${cellPrefixCls}-start`]: getCellText(currentDate) === 1 || picker === "year" && getCellText(currentDate) % 10 === 0,
|
|
88
|
-
[`${cellPrefixCls}-end`]: getCellText(currentDate) === import_pickerUtils.default.getDate(currentDate.endOf("month")) || picker === "year" && getCellText(currentDate) % 10 === 9
|
|
87
|
+
[`${cellPrefixCls}-start`]: getCellText(currentDate) === 1 || picker === "year" && Number(getCellText(currentDate)) % 10 === 0,
|
|
88
|
+
[`${cellPrefixCls}-end`]: getCellText(currentDate) === import_pickerUtils.default.getDate(currentDate.endOf("month")) || picker === "year" && Number(getCellText(currentDate)) % 10 === 9
|
|
89
89
|
},
|
|
90
90
|
cls
|
|
91
91
|
),
|
|
@@ -105,7 +105,7 @@ function PanelBody(props) {
|
|
|
105
105
|
handleMouseChange == null ? void 0 : handleMouseChange("");
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
|
-
getCellNode ? getCellNode(currentDate) : /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-cell-inner` }, /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-cell-value` }, getCellText(currentDate)), cellRender ? /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-cell-content` }, cellRender(currentDate,
|
|
108
|
+
getCellNode ? getCellNode(currentDate) : /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-cell-inner` }, /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-cell-value` }, getCellText(currentDate)), cellRender ? /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-cell-content` }, cellRender(currentDate, picker)) : null)
|
|
109
109
|
)
|
|
110
110
|
);
|
|
111
111
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
import type { RangePanelProps } from './interface';
|
|
3
|
+
declare function RangePanel(props: RangePanelProps): React.JSX.Element;
|
|
3
4
|
declare const _default: React.MemoExoticComponent<typeof RangePanel>;
|
|
4
5
|
export default _default;
|
|
@@ -85,7 +85,7 @@ function RangePanel(props) {
|
|
|
85
85
|
value: startValue,
|
|
86
86
|
pickerView: startViewDate,
|
|
87
87
|
onChange,
|
|
88
|
-
onPanelChange: (viewDate) => onPanelChange(viewDate, "start"),
|
|
88
|
+
onPanelChange: (viewDate) => onPanelChange == null ? void 0 : onPanelChange(viewDate, "start"),
|
|
89
89
|
onCellMouse,
|
|
90
90
|
hoverRange,
|
|
91
91
|
selectedRange,
|
|
@@ -102,7 +102,7 @@ function RangePanel(props) {
|
|
|
102
102
|
value: endValue,
|
|
103
103
|
pickerView: endViewDate,
|
|
104
104
|
onChange,
|
|
105
|
-
onPanelChange: (viewDate) => onPanelChange(viewDate, "end"),
|
|
105
|
+
onPanelChange: (viewDate) => onPanelChange == null ? void 0 : onPanelChange(viewDate, "end"),
|
|
106
106
|
onCellMouse,
|
|
107
107
|
hoverRange,
|
|
108
108
|
selectedRange,
|
|
@@ -5,17 +5,17 @@ export type PickerType = 'date' | 'datetime' | 'month' | 'year' | 'decade' | 'qu
|
|
|
5
5
|
export interface RangePanelProps {
|
|
6
6
|
prefixCls?: string;
|
|
7
7
|
panel?: 'start' | 'end';
|
|
8
|
-
value
|
|
9
|
-
|
|
8
|
+
value: Array<Dayjs | undefined>;
|
|
9
|
+
pickerView: [Dayjs, Dayjs];
|
|
10
10
|
picker?: PickerType;
|
|
11
11
|
mode?: PickerMode;
|
|
12
12
|
format?: string;
|
|
13
13
|
saveFormat?: string;
|
|
14
14
|
onChange?: (date: Dayjs, panel: string) => void;
|
|
15
|
-
onPanelChange?: (
|
|
15
|
+
onPanelChange?: (date: Dayjs, type?: 'start' | 'end') => void;
|
|
16
16
|
onCellMouse?: (date: Dayjs | string) => void;
|
|
17
|
-
hoverRange?: Array<Dayjs | null>;
|
|
18
|
-
selectedRange?: Array<Dayjs | null>;
|
|
17
|
+
hoverRange?: Array<Dayjs | null | undefined>;
|
|
18
|
+
selectedRange?: Array<Dayjs | null | undefined>;
|
|
19
19
|
disabledDate?: (current: Dayjs, type: 'start' | 'end') => boolean;
|
|
20
20
|
showNextIcon?: boolean;
|
|
21
21
|
showSuperNextIcon?: boolean;
|