@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ButtonProps } from './interface';
|
|
3
3
|
import './style/index.less';
|
|
4
|
-
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<
|
|
4
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
|
|
5
5
|
export default Button;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { CSVDownloderProps } from './interface';
|
|
3
|
-
declare const Link: React.ForwardRefExoticComponent<CSVDownloderProps & React.RefAttributes<
|
|
3
|
+
declare const Link: React.ForwardRefExoticComponent<CSVDownloderProps & React.RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
|
|
4
4
|
export default Link;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { CarouselProps } from './interface';
|
|
2
|
+
import type { CarouselContextProps, CarouselProps } from './interface';
|
|
3
3
|
import './style/index.less';
|
|
4
|
-
export declare const CarouselCtx: React.Context<
|
|
4
|
+
export declare const CarouselCtx: React.Context<CarouselContextProps>;
|
|
5
5
|
declare const Carousel: React.ForwardRefExoticComponent<CarouselProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
6
|
export default Carousel;
|
|
@@ -71,7 +71,11 @@ var import_mergeContextToProps = __toESM(require("../utils/mergeContextToProps")
|
|
|
71
71
|
var import_carousel_item = __toESM(require("./carousel-item"));
|
|
72
72
|
var import_style = require("./style/index.less");
|
|
73
73
|
var DEFAULT_ANIMATION_DURATION = 500;
|
|
74
|
-
var CarouselCtx = import_react.default.createContext({
|
|
74
|
+
var CarouselCtx = import_react.default.createContext({
|
|
75
|
+
prefixCls: "yee-carousel",
|
|
76
|
+
effect: "scrollx",
|
|
77
|
+
current: 1
|
|
78
|
+
});
|
|
75
79
|
var Carousel = import_react.default.forwardRef(
|
|
76
80
|
(baseprops, ref) => {
|
|
77
81
|
const { carousel } = (0, import_react.useContext)(import_Config_Provider.GlobalContext);
|
|
@@ -283,7 +287,10 @@ var Carousel = import_react.default.forwardRef(
|
|
|
283
287
|
};
|
|
284
288
|
const renderFadeChilds = () => {
|
|
285
289
|
return import_react.default.Children.map(children, (child, index) => {
|
|
286
|
-
return import_react.default.cloneElement(
|
|
290
|
+
return import_react.default.cloneElement(
|
|
291
|
+
child,
|
|
292
|
+
{ index }
|
|
293
|
+
);
|
|
287
294
|
});
|
|
288
295
|
};
|
|
289
296
|
const renderWrapedChilds = () => {
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export type SemanticDOM = 'dot' | 'prev' | 'next';
|
|
3
|
+
export interface CarouselContextProps {
|
|
4
|
+
prefixCls: string;
|
|
5
|
+
effect: 'fade' | 'scrollx';
|
|
6
|
+
current: number;
|
|
7
|
+
}
|
|
3
8
|
export interface CarouselItemProps {
|
|
4
9
|
index: number;
|
|
5
10
|
style?: React.CSSProperties;
|
|
@@ -162,7 +162,7 @@ var Dialog = (baseprops) => {
|
|
|
162
162
|
[`${prefixCls}-fullscreen`]: fullscreen
|
|
163
163
|
});
|
|
164
164
|
const renderFooter = () => {
|
|
165
|
-
if (footer === false) {
|
|
165
|
+
if (footer === false || footer === null) {
|
|
166
166
|
return null;
|
|
167
167
|
}
|
|
168
168
|
if (footer === true || footer === void 0) {
|
|
@@ -25,6 +25,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
25
25
|
mod
|
|
26
26
|
));
|
|
27
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var __async = (__this, __arguments, generator) => {
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
var fulfilled = (value) => {
|
|
31
|
+
try {
|
|
32
|
+
step(generator.next(value));
|
|
33
|
+
} catch (e) {
|
|
34
|
+
reject(e);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var rejected = (value) => {
|
|
38
|
+
try {
|
|
39
|
+
step(generator.throw(value));
|
|
40
|
+
} catch (e) {
|
|
41
|
+
reject(e);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
45
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
46
|
+
});
|
|
47
|
+
};
|
|
28
48
|
|
|
29
49
|
// src/Field/demo/validation.tsx
|
|
30
50
|
var validation_exports = {};
|
|
@@ -39,15 +59,15 @@ var validation_default = () => {
|
|
|
39
59
|
(0, import_react.useLayoutEffect)(() => {
|
|
40
60
|
createForm("validationForm");
|
|
41
61
|
}, []);
|
|
42
|
-
const handleSubmit = () => {
|
|
62
|
+
const handleSubmit = () => __async(void 0, null, function* () {
|
|
43
63
|
const form = getForm("validationForm");
|
|
44
64
|
console.log("form: ", form);
|
|
45
|
-
const errors = form == null ? void 0 : form.submit();
|
|
65
|
+
const errors = yield form == null ? void 0 : form.submit();
|
|
46
66
|
console.log("errors: ", errors);
|
|
47
67
|
if (errors && errors.length === 0) {
|
|
48
68
|
console.log("Submit success:", form == null ? void 0 : form.getFieldsValue());
|
|
49
69
|
}
|
|
50
|
-
};
|
|
70
|
+
});
|
|
51
71
|
return /* @__PURE__ */ import_react.default.createElement("div", { style: { maxWidth: 400 } }, /* @__PURE__ */ import_react.default.createElement(
|
|
52
72
|
import_yee_c.Field,
|
|
53
73
|
{
|
package/dist/cjs/Field/field.js
CHANGED
|
@@ -98,7 +98,7 @@ var Field = (props) => {
|
|
|
98
98
|
forceUpdate();
|
|
99
99
|
},
|
|
100
100
|
onBlur: (event) => {
|
|
101
|
-
validateField == null ? void 0 : validateField(name, "onBlur");
|
|
101
|
+
void (validateField == null ? void 0 : validateField(name, "onBlur"));
|
|
102
102
|
if (children2.props.onBlur) {
|
|
103
103
|
children2.props.onBlur(event);
|
|
104
104
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { FloatButtonProps } from './interface';
|
|
3
3
|
import './style/index.less';
|
|
4
|
-
declare const FloatButton: React.ForwardRefExoticComponent<FloatButtonProps & React.RefAttributes<
|
|
4
|
+
declare const FloatButton: React.ForwardRefExoticComponent<FloatButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
5
5
|
export default FloatButton;
|
package/dist/cjs/Form/Field.js
CHANGED
|
@@ -171,10 +171,7 @@ var Field = (props) => {
|
|
|
171
171
|
},
|
|
172
172
|
onBlur: (event) => {
|
|
173
173
|
var _a2;
|
|
174
|
-
|
|
175
|
-
if (err.length) {
|
|
176
|
-
forceUpdate();
|
|
177
|
-
}
|
|
174
|
+
void (validateField == null ? void 0 : validateField(normalizedName, "onBlur"));
|
|
178
175
|
(_a2 = props2 == null ? void 0 : props2.onBlur) == null ? void 0 : _a2.call(props2, event);
|
|
179
176
|
}
|
|
180
177
|
});
|
package/dist/cjs/Form/Form.js
CHANGED
package/dist/cjs/Form/Group.js
CHANGED
|
@@ -25,6 +25,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
25
25
|
mod
|
|
26
26
|
));
|
|
27
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var __async = (__this, __arguments, generator) => {
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
var fulfilled = (value) => {
|
|
31
|
+
try {
|
|
32
|
+
step(generator.next(value));
|
|
33
|
+
} catch (e) {
|
|
34
|
+
reject(e);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var rejected = (value) => {
|
|
38
|
+
try {
|
|
39
|
+
step(generator.throw(value));
|
|
40
|
+
} catch (e) {
|
|
41
|
+
reject(e);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
45
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
46
|
+
});
|
|
47
|
+
};
|
|
28
48
|
|
|
29
49
|
// src/Form/Group.tsx
|
|
30
50
|
var Group_exports = {};
|
|
@@ -36,6 +56,7 @@ var import_clsx = __toESM(require("clsx"));
|
|
|
36
56
|
var import_react = require("motion/react");
|
|
37
57
|
var import_react2 = __toESM(require("react"));
|
|
38
58
|
var import_Grid = __toESM(require("../Grid"));
|
|
59
|
+
var import_validate = require("./utils/validate");
|
|
39
60
|
var import_FieldContext = __toESM(require("./FieldContext"));
|
|
40
61
|
var import_FormContext = __toESM(require("./FormContext"));
|
|
41
62
|
var Group = (props) => {
|
|
@@ -53,7 +74,8 @@ var Group = (props) => {
|
|
|
53
74
|
}, [children]);
|
|
54
75
|
const touchedRef = (0, import_react2.useRef)(false);
|
|
55
76
|
const [, forceValidate] = (0, import_react2.useReducer)((x) => x + 1, 0);
|
|
56
|
-
const validate = (force) => {
|
|
77
|
+
const validate = (force) => __async(void 0, null, function* () {
|
|
78
|
+
var _a2, _b;
|
|
57
79
|
if (!required && (!rules || rules.length === 0))
|
|
58
80
|
return [];
|
|
59
81
|
if (!force && !touchedRef.current)
|
|
@@ -77,47 +99,47 @@ var Group = (props) => {
|
|
|
77
99
|
}
|
|
78
100
|
}
|
|
79
101
|
if (rules) {
|
|
80
|
-
|
|
102
|
+
for (const rule of rules) {
|
|
81
103
|
if (rule.validator) {
|
|
82
|
-
const
|
|
83
|
-
if (!passed) {
|
|
104
|
+
const result = yield (0, import_validate.runValidator)(rule.validator, values);
|
|
105
|
+
if (!result.passed) {
|
|
84
106
|
errors2.push({
|
|
85
107
|
name: childNames,
|
|
86
108
|
status: "error",
|
|
87
109
|
value: values,
|
|
88
|
-
message: rule.message
|
|
110
|
+
message: (_b = (_a2 = result.message) != null ? _a2 : rule.message) != null ? _b : ""
|
|
89
111
|
});
|
|
90
112
|
}
|
|
91
113
|
}
|
|
92
|
-
}
|
|
114
|
+
}
|
|
93
115
|
}
|
|
94
116
|
return errors2;
|
|
95
|
-
};
|
|
117
|
+
});
|
|
96
118
|
const [errors, setErrors] = (0, import_react2.useReducer)(
|
|
97
119
|
(prev, next) => next,
|
|
98
120
|
[]
|
|
99
121
|
);
|
|
100
|
-
const runValidation = () => {
|
|
101
|
-
const result = validate(false);
|
|
122
|
+
const runValidation = () => __async(void 0, null, function* () {
|
|
123
|
+
const result = yield validate(false);
|
|
102
124
|
setErrors(result);
|
|
103
|
-
};
|
|
125
|
+
});
|
|
104
126
|
(0, import_react2.useEffect)(() => {
|
|
105
127
|
const unsubscribes = childNames.map(
|
|
106
128
|
(name) => formInstance.subscribe(name, () => {
|
|
107
129
|
touchedRef.current = true;
|
|
108
|
-
runValidation();
|
|
130
|
+
void runValidation();
|
|
109
131
|
})
|
|
110
132
|
);
|
|
111
133
|
return () => unsubscribes.forEach((fn) => fn());
|
|
112
134
|
}, [childNames, formInstance]);
|
|
113
135
|
(0, import_react2.useEffect)(() => {
|
|
114
136
|
const unregister = formInstance.registerGroupEntity(groupId, {
|
|
115
|
-
validate: (force) => {
|
|
116
|
-
const result = validate(force);
|
|
137
|
+
validate: (force) => __async(void 0, null, function* () {
|
|
138
|
+
const result = yield validate(force);
|
|
117
139
|
setErrors(result);
|
|
118
140
|
forceUpdate();
|
|
119
141
|
return result;
|
|
120
|
-
},
|
|
142
|
+
}),
|
|
121
143
|
reset: () => {
|
|
122
144
|
touchedRef.current = false;
|
|
123
145
|
setErrors([]);
|
package/dist/cjs/Form/List.js
CHANGED
|
@@ -25,6 +25,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
25
25
|
mod
|
|
26
26
|
));
|
|
27
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var __async = (__this, __arguments, generator) => {
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
var fulfilled = (value) => {
|
|
31
|
+
try {
|
|
32
|
+
step(generator.next(value));
|
|
33
|
+
} catch (e) {
|
|
34
|
+
reject(e);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var rejected = (value) => {
|
|
38
|
+
try {
|
|
39
|
+
step(generator.throw(value));
|
|
40
|
+
} catch (e) {
|
|
41
|
+
reject(e);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
45
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
46
|
+
});
|
|
47
|
+
};
|
|
28
48
|
|
|
29
49
|
// src/Form/List.tsx
|
|
30
50
|
var List_exports = {};
|
|
@@ -75,7 +95,7 @@ var List = ({
|
|
|
75
95
|
return Array.isArray(value) ? value : [];
|
|
76
96
|
};
|
|
77
97
|
const operations = (0, import_react.useMemo)(() => {
|
|
78
|
-
const add = (defaultValue, insertIndex) => {
|
|
98
|
+
const add = (defaultValue, insertIndex) => __async(void 0, null, function* () {
|
|
79
99
|
const currentValue = getListValue();
|
|
80
100
|
const pathStr = prefixName.join(".");
|
|
81
101
|
const fieldPaths = [];
|
|
@@ -87,7 +107,7 @@ var List = ({
|
|
|
87
107
|
});
|
|
88
108
|
}
|
|
89
109
|
});
|
|
90
|
-
const errors = validateFields == null ? void 0 : validateFields(fieldPaths);
|
|
110
|
+
const errors = yield validateFields == null ? void 0 : validateFields(fieldPaths);
|
|
91
111
|
if (errors && errors.length > 0) {
|
|
92
112
|
forceUpdate((prev) => prev + 1);
|
|
93
113
|
return;
|
|
@@ -114,7 +134,7 @@ var List = ({
|
|
|
114
134
|
}
|
|
115
135
|
keyManager.id += 1;
|
|
116
136
|
forceUpdate((prev) => prev + 1);
|
|
117
|
-
};
|
|
137
|
+
});
|
|
118
138
|
const remove = (index) => {
|
|
119
139
|
const indices = Array.isArray(index) ? index : [index];
|
|
120
140
|
const indexSet = new Set(indices);
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var __async = (__this, __arguments, generator) => {
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
var fulfilled = (value) => {
|
|
31
|
+
try {
|
|
32
|
+
step(generator.next(value));
|
|
33
|
+
} catch (e) {
|
|
34
|
+
reject(e);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var rejected = (value) => {
|
|
38
|
+
try {
|
|
39
|
+
step(generator.throw(value));
|
|
40
|
+
} catch (e) {
|
|
41
|
+
reject(e);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
45
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
// src/Form/demo/async-validate.tsx
|
|
50
|
+
var async_validate_exports = {};
|
|
51
|
+
__export(async_validate_exports, {
|
|
52
|
+
default: () => async_validate_default
|
|
53
|
+
});
|
|
54
|
+
module.exports = __toCommonJS(async_validate_exports);
|
|
55
|
+
var import_yee_c = require("../..");
|
|
56
|
+
var import_react = __toESM(require("react"));
|
|
57
|
+
var TAKEN_USERNAMES = /* @__PURE__ */ new Set(["admin", "root", "test"]);
|
|
58
|
+
function checkUsernameUnique(username) {
|
|
59
|
+
return new Promise((resolve) => {
|
|
60
|
+
setTimeout(() => resolve(!TAKEN_USERNAMES.has(username)), 600);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
var async_validate_default = () => {
|
|
64
|
+
const [form] = import_yee_c.Form.useForm();
|
|
65
|
+
const onFinish = (values) => {
|
|
66
|
+
console.log("Received values:", values);
|
|
67
|
+
};
|
|
68
|
+
const onFinishFailed = (errorInfo) => {
|
|
69
|
+
console.log("Failed:", errorInfo);
|
|
70
|
+
};
|
|
71
|
+
return /* @__PURE__ */ import_react.default.createElement(import_yee_c.Form, { form, onFinish, onFinishFailed }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Grid, null, /* @__PURE__ */ import_react.default.createElement(
|
|
72
|
+
import_yee_c.Form.Field,
|
|
73
|
+
{
|
|
74
|
+
name: "username",
|
|
75
|
+
label: "Username",
|
|
76
|
+
rules: [
|
|
77
|
+
{ required: true, message: "Please input your username!" },
|
|
78
|
+
{
|
|
79
|
+
// Async validator: resolve to pass, throw / reject to fail.
|
|
80
|
+
// The thrown Error's message overrides rule.message.
|
|
81
|
+
validator: (value) => __async(void 0, null, function* () {
|
|
82
|
+
const isUnique = yield checkUsernameUnique(String(value));
|
|
83
|
+
if (!isUnique) {
|
|
84
|
+
throw new Error("This username is already taken");
|
|
85
|
+
}
|
|
86
|
+
}),
|
|
87
|
+
// Validate on blur so we don't hit the "API" on every keystroke.
|
|
88
|
+
validateTrigger: "onBlur"
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
/* @__PURE__ */ import_react.default.createElement(import_yee_c.Input, { placeholder: "Try admin / root / test (already taken)" })
|
|
93
|
+
), /* @__PURE__ */ import_react.default.createElement(
|
|
94
|
+
import_yee_c.Form.Field,
|
|
95
|
+
{
|
|
96
|
+
name: "email",
|
|
97
|
+
label: "Email",
|
|
98
|
+
rules: [
|
|
99
|
+
{ required: true, message: "Please input your email!" },
|
|
100
|
+
{
|
|
101
|
+
regexp: /^[\w.+-]+@[\w-]+\.[\w.-]+$/,
|
|
102
|
+
message: "Please enter a valid email!"
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
/* @__PURE__ */ import_react.default.createElement(import_yee_c.Input, { placeholder: "Please input your email" })
|
|
107
|
+
)), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Space, null, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { type: "primary", htmlType: "submit" }, "Submit"), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { htmlType: "reset" }, "Reset")));
|
|
108
|
+
};
|
|
@@ -79,7 +79,7 @@ var basic_default = () => {
|
|
|
79
79
|
]
|
|
80
80
|
},
|
|
81
81
|
/* @__PURE__ */ import_react.default.createElement(import_yee_c.Input.Password, { placeholder: "Please input your password" })
|
|
82
|
-
)), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Grid.Item, null, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Form.Field, { name: "gender", label: "Gender", initialValue: "male" }, /* @__PURE__ */ import_react.default.createElement(
|
|
82
|
+
)), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Grid.Item, null, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Form.Field, { name: "gender", label: "Gender", initialValue: "male", required: true }, /* @__PURE__ */ import_react.default.createElement(
|
|
83
83
|
import_yee_c.Select,
|
|
84
84
|
{
|
|
85
85
|
options: [
|
|
@@ -88,7 +88,7 @@ var basic_default = () => {
|
|
|
88
88
|
{ label: "other", value: "other" }
|
|
89
89
|
]
|
|
90
90
|
}
|
|
91
|
-
))), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Grid.Item, null, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Form.Field, { name: "birthday", label: "Birthday" }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.DatePicker, null))), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Grid.Item, null, /* @__PURE__ */ import_react.default.createElement(
|
|
91
|
+
))), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Grid.Item, null, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Form.Field, { name: "birthday", label: "Birthday", required: true }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.DatePicker, null))), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Grid.Item, null, /* @__PURE__ */ import_react.default.createElement(
|
|
92
92
|
import_yee_c.Form.Field,
|
|
93
93
|
{
|
|
94
94
|
name: ["address", 0, "one"],
|
|
@@ -26,13 +26,13 @@ export declare class FormStore {
|
|
|
26
26
|
setFieldsValue: (newStore: Store, trigger?: TRIGGER) => void;
|
|
27
27
|
resetFields: (name?: Name[]) => void;
|
|
28
28
|
clearFields: (name?: Name[]) => void;
|
|
29
|
-
validateField: (name: Name, trigger?: TRIGGER) => ValidateMessage[]
|
|
30
|
-
validateFields: (names?: string[], trigger?: TRIGGER) => ValidateMessage[]
|
|
29
|
+
validateField: (name: Name, trigger?: TRIGGER) => Promise<ValidateMessage[]>;
|
|
30
|
+
validateFields: (names?: string[], trigger?: TRIGGER) => Promise<ValidateMessage[]>;
|
|
31
31
|
refreshField: (newStore?: Store) => void;
|
|
32
32
|
subscribe: (namePath?: NamePath, callback?: () => void) => (() => void);
|
|
33
33
|
private notifyWatchers;
|
|
34
34
|
registerGroupEntity: (id: string, entity: GroupEntity) => (() => void);
|
|
35
|
-
validateGroups: (force?: boolean) => ValidateMessage[]
|
|
35
|
+
validateGroups: (force?: boolean) => Promise<ValidateMessage[]>;
|
|
36
36
|
setCallbacks: (callbacks: Callbacks) => void;
|
|
37
37
|
getCallbacks: () => Callbacks<any>;
|
|
38
38
|
/**
|
|
@@ -53,6 +53,6 @@ export declare class FormStore {
|
|
|
53
53
|
*/
|
|
54
54
|
private setListValue;
|
|
55
55
|
registerFieldEntities: (entity: FieldEntity) => () => void;
|
|
56
|
-
submit: () => ValidateMessage[]
|
|
56
|
+
submit: () => Promise<ValidateMessage[]>;
|
|
57
57
|
getForm(): FormInstance;
|
|
58
58
|
}
|
|
@@ -42,6 +42,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
42
42
|
mod
|
|
43
43
|
));
|
|
44
44
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
45
|
+
var __async = (__this, __arguments, generator) => {
|
|
46
|
+
return new Promise((resolve, reject) => {
|
|
47
|
+
var fulfilled = (value) => {
|
|
48
|
+
try {
|
|
49
|
+
step(generator.next(value));
|
|
50
|
+
} catch (e) {
|
|
51
|
+
reject(e);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
var rejected = (value) => {
|
|
55
|
+
try {
|
|
56
|
+
step(generator.throw(value));
|
|
57
|
+
} catch (e) {
|
|
58
|
+
reject(e);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
62
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
63
|
+
});
|
|
64
|
+
};
|
|
45
65
|
|
|
46
66
|
// src/Form/form-store.ts
|
|
47
67
|
var form_store_exports = {};
|
|
@@ -151,7 +171,7 @@ var FormStore = class {
|
|
|
151
171
|
});
|
|
152
172
|
}
|
|
153
173
|
if (trigger === "onChange" || trigger === "onBlur" || trigger === "onSubmit") {
|
|
154
|
-
this.validateFields(Object.keys(newStore), trigger);
|
|
174
|
+
void this.validateFields(Object.keys(newStore), trigger);
|
|
155
175
|
}
|
|
156
176
|
this.refreshField(newStore);
|
|
157
177
|
};
|
|
@@ -197,7 +217,8 @@ var FormStore = class {
|
|
|
197
217
|
}, {});
|
|
198
218
|
this.setFieldsValue(clearStore, "clear");
|
|
199
219
|
};
|
|
200
|
-
this.validateField = (name, trigger) => {
|
|
220
|
+
this.validateField = (name, trigger) => __async(this, null, function* () {
|
|
221
|
+
var _a;
|
|
201
222
|
const entity = this.fieldMap.get(name);
|
|
202
223
|
if (!entity) {
|
|
203
224
|
return [];
|
|
@@ -225,27 +246,32 @@ var FormStore = class {
|
|
|
225
246
|
});
|
|
226
247
|
}
|
|
227
248
|
const value = this.getFieldValue(name);
|
|
228
|
-
|
|
229
|
-
const
|
|
230
|
-
if (name && !
|
|
231
|
-
err.push(__spreadValues({
|
|
249
|
+
for (const rule of mergedRules) {
|
|
250
|
+
const result = yield (0, import_validate.default)(rule, value);
|
|
251
|
+
if (name && !result.passed) {
|
|
252
|
+
err.push(__spreadProps(__spreadValues({}, rule), {
|
|
232
253
|
name,
|
|
233
254
|
status: "error",
|
|
234
|
-
value
|
|
235
|
-
|
|
255
|
+
value,
|
|
256
|
+
message: (_a = result.message) != null ? _a : rule.message
|
|
257
|
+
}));
|
|
236
258
|
}
|
|
237
|
-
}
|
|
259
|
+
}
|
|
238
260
|
if (err.length > 0) {
|
|
239
261
|
this.validateMessages.set(name, err);
|
|
240
262
|
} else if (this.validateMessages.has(name)) {
|
|
241
263
|
this.validateMessages.delete(name);
|
|
242
264
|
}
|
|
265
|
+
entity == null ? void 0 : entity.onStoreChange();
|
|
243
266
|
return err;
|
|
244
|
-
};
|
|
245
|
-
this.validateFields = (names = Array.from(this.fieldMap.keys()), trigger)
|
|
267
|
+
});
|
|
268
|
+
this.validateFields = (..._0) => __async(this, [..._0], function* (names = Array.from(this.fieldMap.keys()), trigger) {
|
|
269
|
+
const results = yield Promise.all(
|
|
270
|
+
names.map((name) => this.validateField(name, trigger))
|
|
271
|
+
);
|
|
246
272
|
let err = [];
|
|
247
|
-
names.forEach((name) => {
|
|
248
|
-
const messages =
|
|
273
|
+
names.forEach((name, index) => {
|
|
274
|
+
const messages = results[index];
|
|
249
275
|
err = err.concat(messages);
|
|
250
276
|
if (messages.length > 0) {
|
|
251
277
|
this.validateMessages.set(name, messages);
|
|
@@ -254,7 +280,7 @@ var FormStore = class {
|
|
|
254
280
|
}
|
|
255
281
|
});
|
|
256
282
|
return err;
|
|
257
|
-
};
|
|
283
|
+
});
|
|
258
284
|
this.refreshField = (newStore) => {
|
|
259
285
|
if (newStore) {
|
|
260
286
|
const keys = Object.keys(newStore);
|
|
@@ -301,13 +327,17 @@ var FormStore = class {
|
|
|
301
327
|
this.groupEntities.delete(id);
|
|
302
328
|
};
|
|
303
329
|
};
|
|
304
|
-
this.validateGroups = (force = false) => {
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
330
|
+
this.validateGroups = (force = false) => __async(this, null, function* () {
|
|
331
|
+
const results = yield Promise.all(
|
|
332
|
+
Array.from(this.groupEntities.values()).map(
|
|
333
|
+
(entity) => entity.validate(force)
|
|
334
|
+
)
|
|
335
|
+
);
|
|
336
|
+
return results.reduce(
|
|
337
|
+
(acc, messages) => acc.concat(messages),
|
|
338
|
+
[]
|
|
339
|
+
);
|
|
340
|
+
});
|
|
311
341
|
this.setCallbacks = (callbacks) => {
|
|
312
342
|
this.callbacks = __spreadValues(__spreadValues({}, this.callbacks), callbacks);
|
|
313
343
|
};
|
|
@@ -431,10 +461,10 @@ var FormStore = class {
|
|
|
431
461
|
this.fieldMap.delete(normalizedName);
|
|
432
462
|
};
|
|
433
463
|
};
|
|
434
|
-
this.submit = () => {
|
|
464
|
+
this.submit = () => __async(this, null, function* () {
|
|
435
465
|
const { onFinish, onFinishFailed } = this.callbacks;
|
|
436
|
-
const fieldErrors = this.validateFields();
|
|
437
|
-
const groupErrors = this.validateGroups(true);
|
|
466
|
+
const fieldErrors = yield this.validateFields();
|
|
467
|
+
const groupErrors = yield this.validateGroups(true);
|
|
438
468
|
const allErrors = [...fieldErrors, ...groupErrors];
|
|
439
469
|
if (allErrors.length === 0) {
|
|
440
470
|
onFinish == null ? void 0 : onFinish(this.getFieldsValue());
|
|
@@ -443,7 +473,7 @@ var FormStore = class {
|
|
|
443
473
|
}
|
|
444
474
|
this.refreshField();
|
|
445
475
|
return allErrors;
|
|
446
|
-
};
|
|
476
|
+
});
|
|
447
477
|
}
|
|
448
478
|
// Set default validation message
|
|
449
479
|
setDefaultValidateMessage(message) {
|