@qsxy/element-plus-react 1.0.0-next.1 → 1.0.0-next.3
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/README.md +31 -0
- package/dist/Badge/Badge.js +4 -5
- package/dist/Badge/typings.d.ts +10 -0
- package/dist/Breadcrumb/Breadcrumb.js +1 -4
- package/dist/Breadcrumb/typings.d.ts +4 -0
- package/dist/Button/Button.d.ts +0 -1
- package/dist/Button/Button.js +21 -9
- package/dist/Button/typings.d.ts +28 -0
- package/dist/Calendar/Calendar.js +1 -2
- package/dist/Calendar/CalendarContext.d.ts +10 -0
- package/dist/Calendar/Footer.js +1 -2
- package/dist/Calendar/Header.js +3 -8
- package/dist/Calendar/ShortCuts.d.ts +2 -0
- package/dist/Calendar/typings.d.ts +18 -0
- package/dist/Card/typings.d.ts +4 -0
- package/dist/Cascader/Cascader.js +26 -25
- package/dist/Cascader/CascaderDropdown.d.ts +1 -0
- package/dist/Cascader/CascaderMenu.d.ts +7 -0
- package/dist/Cascader/typings.d.ts +80 -0
- package/dist/Cascader/useCascader.d.ts +72 -0
- package/dist/Checkbox/Checkbox.js +2 -6
- package/dist/Checkbox/CheckboxButton.js +2 -6
- package/dist/Checkbox/typings.d.ts +11 -0
- package/dist/CheckboxGroup/CheckboxGroup.d.ts +4 -0
- package/dist/CheckboxGroup/CheckboxGroupContext.d.ts +1 -0
- package/dist/Col/Col.js +1 -8
- package/dist/Col/typings.d.ts +10 -0
- package/dist/Collapse/CollapseContext.d.ts +3 -0
- package/dist/Collapse/CollapseItem.js +9 -7
- package/dist/Collapse/CollapseTransition.d.ts +7 -6
- package/dist/Collapse/CollapseTransition.js +49 -31
- package/dist/Collapse/typings.d.ts +7 -0
- package/dist/ColorPicker/AlphaSlider.d.ts +7 -0
- package/dist/ColorPicker/AlphaSlider.js +0 -1
- package/dist/ColorPicker/ColorPicker.js +0 -1
- package/dist/ColorPicker/HueSlider.d.ts +7 -0
- package/dist/ColorPicker/HueSlider.js +0 -1
- package/dist/ColorPicker/Predefine.d.ts +7 -0
- package/dist/ColorPicker/Predefine.js +0 -1
- package/dist/ColorPicker/SvPanel.d.ts +7 -0
- package/dist/ColorPicker/SvPanel.js +0 -1
- package/dist/ColorPicker/typings.d.ts +9 -0
- package/dist/ConfigProvider/ConfigProvider.d.ts +5 -0
- package/dist/DatePicker/DatePicker.js +19 -8
- package/dist/DatePicker/DateRangePicker.js +11 -10
- package/dist/DatePicker/typings.d.ts +69 -0
- package/dist/DateTimePicker/DateTimePicker.d.ts +1 -1
- package/dist/DateTimePicker/DateTimePicker.js +10 -8
- package/dist/DateTimePicker/typings.d.ts +1 -0
- package/dist/Descriptions/Descriptions.js +1 -5
- package/dist/Descriptions/DescriptionsContext.d.ts +2 -0
- package/dist/Descriptions/typings.d.ts +13 -0
- package/dist/Dialog/Dialog.d.ts +0 -1
- package/dist/Dialog/Dialog.js +3 -6
- package/dist/Dialog/DialogBody.js +0 -3
- package/dist/Dialog/DialogContext.d.ts +8 -0
- package/dist/Dialog/DialogHeader.js +1 -4
- package/dist/Dialog/typings.d.ts +36 -0
- package/dist/Divider/Divider.d.ts +4 -0
- package/dist/Divider/Divider.js +1 -6
- package/dist/Drawer/Drawer.js +10 -5
- package/dist/Drawer/DrawerBody.js +1 -4
- package/dist/Drawer/DrawerContext.d.ts +10 -0
- package/dist/Drawer/DrawerHeader.js +1 -4
- package/dist/Drawer/typings.d.ts +16 -0
- package/dist/Dropdown/Dropdown.js +11 -7
- package/dist/Dropdown/DropdownContext.d.ts +2 -0
- package/dist/Dropdown/typings.d.ts +15 -0
- package/dist/Empty/Empty.js +1 -4
- package/dist/Form/Form.js +10 -6
- package/dist/Form/FormItem.d.ts +12 -0
- package/dist/Form/FormItem.js +3 -1
- package/dist/Form/typings.d.ts +55 -0
- package/dist/Form/useForm.d.ts +22 -0
- package/dist/Form/utils/NameMap.d.ts +3 -0
- package/dist/Form/utils/validateUtil.d.ts +4 -0
- package/dist/Form/utils/valueUtil.d.ts +17 -0
- package/dist/Icon/Icon.js +1 -4
- package/dist/Icon/typings.d.ts +7 -0
- package/dist/Input/Input.js +16 -9
- package/dist/Input/InputRange.js +11 -8
- package/dist/Input/TextArea.js +8 -4
- package/dist/Input/typings.d.ts +61 -0
- package/dist/InputNumber/InputNumber.js +10 -7
- package/dist/InputNumber/typings.d.ts +21 -0
- package/dist/Link/Link.js +1 -4
- package/dist/Link/typings.d.ts +6 -1
- package/dist/Loading/Loading.js +3 -5
- package/dist/Loading/typings.d.ts +5 -0
- package/dist/Message/Main.d.ts +7 -0
- package/dist/Message/Message.js +11 -8
- package/dist/Message/index.d.ts +8 -0
- package/dist/Message/typings.d.ts +11 -0
- package/dist/MessageBox/Main.js +3 -1
- package/dist/MessageBox/index.d.ts +17 -3
- package/dist/MessageBox/index.js +1 -1
- package/dist/MessageBox/typings.d.ts +50 -0
- package/dist/Notification/Main.d.ts +7 -0
- package/dist/Notification/Notification.js +17 -14
- package/dist/Notification/index.d.ts +15 -0
- package/dist/Notification/typings.d.ts +13 -0
- package/dist/Pagination/Pagination.js +15 -11
- package/dist/Pagination/typings.d.ts +28 -0
- package/dist/Popconfirm/Popconfirm.js +13 -9
- package/dist/Popconfirm/typings.d.ts +10 -0
- package/dist/Popover/Popover.js +12 -8
- package/dist/Popover/typings.d.ts +12 -0
- package/dist/Popper/Popper.js +15 -11
- package/dist/Popper/typings.d.ts +7 -1
- package/dist/Progress/Progress.js +12 -8
- package/dist/Progress/typings.d.ts +12 -0
- package/dist/Radio/typings.d.ts +7 -0
- package/dist/RadioGroup/typings.d.ts +1 -0
- package/dist/Row/Row.js +8 -5
- package/dist/Row/RowContext.d.ts +1 -0
- package/dist/Row/typings.d.ts +4 -0
- package/dist/Scrollbar/Scrollbar.js +13 -9
- package/dist/Scrollbar/Thumb.js +1 -1
- package/dist/Scrollbar/typings.d.ts +20 -0
- package/dist/Select/SelectCore.js +17 -14
- package/dist/Select/typings.d.ts +33 -0
- package/dist/Skeleton/PlaceholderGraph.d.ts +4 -0
- package/dist/Skeleton/PlaceholderGrid.d.ts +4 -0
- package/dist/Skeleton/PlaceholderGrid.js +0 -4
- package/dist/Skeleton/PlaceholderParagraph.d.ts +4 -0
- package/dist/Skeleton/PlaceholderParagraph.js +0 -4
- package/dist/Switch/Switch.js +13 -10
- package/dist/Switch/typings.d.ts +15 -0
- package/dist/Table/Colgroup.d.ts +1 -0
- package/dist/Table/Table.js +13 -9
- package/dist/Table/TableBody.js +10 -41
- package/dist/Table/TableCell.js +0 -5
- package/dist/Table/TableColumn.js +0 -4
- package/dist/Table/TableContext.d.ts +8 -0
- package/dist/Table/hooks/useSelection.d.ts +17 -0
- package/dist/Table/hooks/useTable.d.ts +7 -0
- package/dist/Table/treeUtil.d.ts +39 -0
- package/dist/Table/typings.d.ts +137 -1
- package/dist/Table/util.d.ts +10 -0
- package/dist/Tabs/Tabs.js +1 -4
- package/dist/Tabs/typings.d.ts +38 -0
- package/dist/Tag/Tag.d.ts +1 -1
- package/dist/Tag/Tag.js +7 -8
- package/dist/Tag/typings.d.ts +10 -0
- package/dist/TimeLine/TimeLineItem.js +7 -4
- package/dist/TimeLine/typings.d.ts +9 -0
- package/dist/TimePicker/TimePicker.js +14 -11
- package/dist/TimePicker/TimePickerRange.js +15 -12
- package/dist/TimePicker/TimeSpinnerPanel.js +1 -4
- package/dist/TimePicker/typings.d.ts +13 -0
- package/dist/TimePicker/useTimePicker.d.ts +7 -0
- package/dist/Tooltip/Tooltip.js +8 -15
- package/dist/Tooltip/TooltipContext.d.ts +1 -0
- package/dist/Tooltip/typings.d.ts +14 -1
- package/dist/Transfer/List.js +12 -8
- package/dist/Transfer/ListItem.d.ts +1 -0
- package/dist/Transfer/Transfer.js +11 -7
- package/dist/Transfer/typings/index.d.ts +27 -0
- package/dist/Transfer/typings/list.d.ts +25 -0
- package/dist/Transfer/typings/listBody.d.ts +1 -0
- package/dist/Transition/Transition.d.ts +16 -3
- package/dist/Transition/Transition.js +6 -4
- package/dist/Transition/TransitionGroup.d.ts +59 -0
- package/dist/Transition/childMapping.d.ts +23 -0
- package/dist/Tree/NodeList.d.ts +3 -0
- package/dist/Tree/RCTree.d.ts +15 -0
- package/dist/Tree/Tree.d.ts +15 -0
- package/dist/Tree/TreeNode.d.ts +7 -0
- package/dist/Tree/TreeNode.js +1 -4
- package/dist/Tree/contextTypes.d.ts +4 -0
- package/dist/Tree/typings.d.ts +3 -0
- package/dist/Tree/util.d.ts +17 -0
- package/dist/Tree/utils/KeyCode.d.ts +326 -0
- package/dist/Tree/utils/conductUtil.d.ts +6 -0
- package/dist/Tree/utils/dictUtil.d.ts +1 -0
- package/dist/Tree/utils/pickAttrs.d.ts +5 -0
- package/dist/Tree/utils/treeUtil.d.ts +25 -1
- package/dist/TreeSelect/TreeSelect.js +14 -13
- package/dist/TreeSelect/Utils.d.ts +1 -0
- package/dist/TreeSelect/typings.d.ts +19 -0
- package/dist/Upload/Upload.js +9 -8
- package/dist/Upload/UploadList.js +2 -1
- package/dist/Upload/typings.d.ts +34 -0
- package/dist/Upload/use-handlers.d.ts +1 -0
- package/dist/Upload/use-handlers.js +1 -1
- package/dist/Util/Math.d.ts +34 -0
- package/dist/Util/base.d.ts +22 -0
- package/dist/Util/base.js +5 -0
- package/dist/Util/shallowEqual.d.ts +11 -0
- package/dist/Util/treeUtils.d.ts +8 -0
- package/dist/VirtualList/Filler.d.ts +5 -0
- package/dist/VirtualList/VirtualList.d.ts +3 -0
- package/dist/VirtualList/hooks/useLayoutEffect.d.ts +3 -0
- package/dist/VirtualList/utils/algorithmUtil.d.ts +17 -0
- package/dist/VirtualList/utils/findDOMNode.d.ts +3 -0
- package/dist/hooks/animationPropsUtils.d.ts +12 -0
- package/dist/hooks/htmlPropsUtils.d.ts +8 -0
- package/dist/hooks/popperPropsUtils.d.ts +12 -0
- package/dist/hooks/treePropsUtils.d.ts +12 -0
- package/dist/hooks/useChildrenInstance.d.ts +11 -0
- package/dist/hooks/useClassNames.d.ts +78 -0
- package/dist/hooks/useControlled.d.ts +8 -0
- package/dist/hooks/useForceUpdate.d.ts +1 -0
- package/dist/index.css +72 -45422
- package/dist/index.d.ts +1 -0
- package/dist/theme-chalk/build.scss +64 -0
- package/dist/theme-chalk/icon/fonts.scss +8 -0
- package/dist/theme-chalk/icon/index.scss +0 -9
- package/dist/theme-chalk/index.scss +1 -0
- package/dist/theme-chalk/link/index.scss +0 -85
- package/dist/types/common.d.ts +24 -0
- package/dist/types/type.d.ts +5 -0
- package/package.json +1 -1
|
@@ -35,9 +35,20 @@ module.exports = __toCommonJS(Dropdown_exports);
|
|
|
35
35
|
var import_classnames = __toESM(require("classnames"));
|
|
36
36
|
var import_react = __toESM(require("react"));
|
|
37
37
|
var import_Tooltip = __toESM(require("../Tooltip/Tooltip"));
|
|
38
|
+
var import_Util = require("../Util");
|
|
38
39
|
var import_hooks = require("../hooks");
|
|
39
40
|
var import_DropdownContext = require("./DropdownContext");
|
|
40
41
|
var Dropdown = (props) => {
|
|
42
|
+
props = (0, import_Util.mergeDefaultProps)(
|
|
43
|
+
{
|
|
44
|
+
hideOnClick: true,
|
|
45
|
+
showArrow: true,
|
|
46
|
+
showTimeout: 0,
|
|
47
|
+
hideTimeout: 100,
|
|
48
|
+
trigger: "hover"
|
|
49
|
+
},
|
|
50
|
+
props
|
|
51
|
+
);
|
|
41
52
|
const {
|
|
42
53
|
menu,
|
|
43
54
|
classPrefix = "dropdown",
|
|
@@ -94,12 +105,5 @@ var Dropdown = (props) => {
|
|
|
94
105
|
}
|
|
95
106
|
));
|
|
96
107
|
};
|
|
97
|
-
Dropdown.defaultProps = {
|
|
98
|
-
hideOnClick: true,
|
|
99
|
-
showArrow: true,
|
|
100
|
-
showTimeout: 0,
|
|
101
|
-
hideTimeout: 100,
|
|
102
|
-
trigger: "hover"
|
|
103
|
-
};
|
|
104
108
|
Dropdown.displayName = "Dropdown";
|
|
105
109
|
var Dropdown_default = Dropdown;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
interface DropdownContextProps {
|
|
3
|
+
/** 是否在点击菜单项后隐藏菜单 */
|
|
3
4
|
hideOnClick: boolean;
|
|
5
|
+
/** 点击菜单项触发的事件回调 */
|
|
4
6
|
onClick: (command: string | number | object) => void;
|
|
5
7
|
}
|
|
6
8
|
export declare const DropdownContext: import("react").Context<DropdownContextProps>;
|
|
@@ -2,26 +2,41 @@ import React from 'react';
|
|
|
2
2
|
import { PopperOptions } from '../Popper';
|
|
3
3
|
import { TransitionProps } from '../Transition';
|
|
4
4
|
import { AnimationEventProps, BaseProps, NativeProps } from '../types/common';
|
|
5
|
+
/** Dropdown 属性 */
|
|
5
6
|
export interface DropdownProps extends BaseProps, NativeProps, PopperOptions, AnimationEventProps, TransitionProps {
|
|
6
7
|
menu: React.ReactElement<DropdownMenuProps>;
|
|
8
|
+
/** 触发下拉的行为 */
|
|
7
9
|
trigger?: 'hover' | 'click' | 'contextmenu';
|
|
10
|
+
/** 是否在点击菜单项后隐藏菜单 */
|
|
8
11
|
hideOnClick?: boolean;
|
|
12
|
+
/** 展开下拉菜单的延时,仅在 trigger 为 hover 时有效 */
|
|
9
13
|
showTimeout?: number;
|
|
14
|
+
/** 收起下拉菜单的延时(仅在 trigger 为 hover 时有效) */
|
|
10
15
|
hideTimeout?: number;
|
|
16
|
+
/** 状态是否可见 */
|
|
11
17
|
visible?: boolean;
|
|
18
|
+
/** 初始值 */
|
|
12
19
|
defaultVisible?: boolean;
|
|
20
|
+
/** 是否禁用 */
|
|
13
21
|
disabled?: boolean;
|
|
14
22
|
onMouseEnter?: (e?: React.MouseEvent<any>) => void;
|
|
15
23
|
onMouseLeave?: (e?: React.MouseEvent<any>) => void;
|
|
24
|
+
/** 点击菜单项触发的事件回调 */
|
|
16
25
|
onClick?: (command: string | number | object) => void;
|
|
26
|
+
/** 下拉框出现/隐藏时触发: 出现则为 true,隐藏则为 false */
|
|
17
27
|
visiblechange?: (visible: boolean) => void;
|
|
18
28
|
}
|
|
19
29
|
export interface DropdownMenuProps extends BaseProps, NativeProps {
|
|
20
30
|
classPrefix?: string;
|
|
21
31
|
}
|
|
32
|
+
/** Dropdown-Item 属性 */
|
|
22
33
|
export interface DropdownItemProps extends BaseProps, NativeProps {
|
|
34
|
+
/** 派发到command回调函数的指令参数 */
|
|
23
35
|
command?: string | number | object;
|
|
36
|
+
/** 是否禁用*/
|
|
24
37
|
disabled?: boolean;
|
|
38
|
+
/** 是否显示分隔符 */
|
|
25
39
|
divided?: boolean;
|
|
40
|
+
/** 是否为激活状态 */
|
|
26
41
|
active?: boolean;
|
|
27
42
|
}
|
package/dist/Empty/Empty.js
CHANGED
|
@@ -37,7 +37,7 @@ var import_react = __toESM(require("react"));
|
|
|
37
37
|
var import_hooks = require("../hooks");
|
|
38
38
|
var import_ImgEmpty = __toESM(require("./ImgEmpty"));
|
|
39
39
|
var Empty = (props) => {
|
|
40
|
-
const { image, imageSize, description } = props;
|
|
40
|
+
const { image, imageSize, description = "暂无数据" } = props;
|
|
41
41
|
const { b, e } = (0, import_hooks.useClassNames)("empty");
|
|
42
42
|
const imageStyle = (0, import_react.useMemo)(() => {
|
|
43
43
|
return {
|
|
@@ -54,8 +54,5 @@ var Empty = (props) => {
|
|
|
54
54
|
}
|
|
55
55
|
) : /* @__PURE__ */ import_react.default.createElement(import_ImgEmpty.default, null)), /* @__PURE__ */ import_react.default.createElement("div", { className: e`description` }, /* @__PURE__ */ import_react.default.createElement("p", null, description)), props.children ? /* @__PURE__ */ import_react.default.createElement("div", { className: e`bottom` }, props.children) : null);
|
|
56
56
|
};
|
|
57
|
-
Empty.defaultProps = {
|
|
58
|
-
description: "暂无数据"
|
|
59
|
-
};
|
|
60
57
|
Empty.displayName = "Empty";
|
|
61
58
|
var Empty_default = Empty;
|
package/dist/Form/Form.js
CHANGED
|
@@ -35,6 +35,7 @@ module.exports = __toCommonJS(Form_exports);
|
|
|
35
35
|
var import_classnames = __toESM(require("classnames"));
|
|
36
36
|
var import_omit = __toESM(require("lodash/omit"));
|
|
37
37
|
var import_react = __toESM(require("react"));
|
|
38
|
+
var import_Util = require("../Util");
|
|
38
39
|
var import_hooks = require("../hooks");
|
|
39
40
|
var import_FieldContext = __toESM(require("./FieldContext"));
|
|
40
41
|
var import_FormContext = __toESM(require("./FormContext"));
|
|
@@ -44,6 +45,15 @@ var import_useForm = __toESM(require("./useForm"));
|
|
|
44
45
|
var import_useWatch = __toESM(require("./useWatch"));
|
|
45
46
|
var import_valueUtil = require("./utils/valueUtil");
|
|
46
47
|
var Form = (0, import_react.forwardRef)((props, ref) => {
|
|
48
|
+
props = (0, import_Util.mergeDefaultProps)(
|
|
49
|
+
{
|
|
50
|
+
inline: false,
|
|
51
|
+
cols: 0,
|
|
52
|
+
labelWidth: 120,
|
|
53
|
+
labelPosition: "right"
|
|
54
|
+
},
|
|
55
|
+
props
|
|
56
|
+
);
|
|
47
57
|
const {
|
|
48
58
|
colon,
|
|
49
59
|
inline,
|
|
@@ -180,10 +190,4 @@ Form.Item = import_FormItem.default;
|
|
|
180
190
|
Form.List = import_List.default;
|
|
181
191
|
Form.useForm = import_useForm.default;
|
|
182
192
|
Form.useWatch = import_useWatch.default;
|
|
183
|
-
Form.defaultProps = {
|
|
184
|
-
inline: false,
|
|
185
|
-
cols: 0,
|
|
186
|
-
labelWidth: 120,
|
|
187
|
-
labelPosition: "right"
|
|
188
|
-
};
|
|
189
193
|
var Form_default = Form;
|
package/dist/Form/FormItem.d.ts
CHANGED
|
@@ -9,14 +9,22 @@ interface ChildProps {
|
|
|
9
9
|
}
|
|
10
10
|
export interface InternalFieldProps<Values = any> extends Omit<FormItemProps<Values>, 'children'> {
|
|
11
11
|
children?: ComponentChildren | ((control: ChildProps, meta: Meta, form: FormInstance<Values>) => React.ReactElement);
|
|
12
|
+
/**
|
|
13
|
+
* Set up `dependencies` field.
|
|
14
|
+
* When dependencies field update and current field is touched,
|
|
15
|
+
* will trigger validate rules and render.
|
|
16
|
+
*/
|
|
12
17
|
dependencies?: NamePath[];
|
|
13
18
|
getValueFromEvent?: (...args: EventArgs) => StoreValue;
|
|
19
|
+
/** 字段名,支持数组 */
|
|
14
20
|
name?: InternalNamePath;
|
|
15
21
|
normalize?: (value: StoreValue, prevValue: StoreValue, allValues: Store) => StoreValue;
|
|
22
|
+
/** 校验规则,设置字段的校验逻辑。点击此处查看示例 */
|
|
16
23
|
rules?: Rule[];
|
|
17
24
|
shouldUpdate?: ShouldUpdate<Values>;
|
|
18
25
|
trigger?: string;
|
|
19
26
|
validateTrigger?: string | string[] | false;
|
|
27
|
+
/** 当某一规则校验不通过时,是否停止剩下的规则的校验。设置 parallel 时会并行校验 */
|
|
20
28
|
validateFirst?: boolean | 'parallel';
|
|
21
29
|
valuePropName?: string;
|
|
22
30
|
getValueProps?: (value: StoreValue) => Record<string, unknown>;
|
|
@@ -27,8 +35,12 @@ export interface InternalFieldProps<Values = any> extends Omit<FormItemProps<Val
|
|
|
27
35
|
destroy?: boolean;
|
|
28
36
|
}) => void;
|
|
29
37
|
preserve?: boolean;
|
|
38
|
+
/** @private Passed by Form.List props. Do not use since it will break by path check. */
|
|
30
39
|
isListField?: boolean;
|
|
40
|
+
/** @private Passed by Form.List props. Do not use since it will break by path check. */
|
|
31
41
|
isList?: boolean;
|
|
42
|
+
/** @private Pass context as prop instead of context api
|
|
43
|
+
* since class component can not get context in constructor */
|
|
32
44
|
fieldContext?: InternalFormInstance;
|
|
33
45
|
}
|
|
34
46
|
export interface FieldProps<Values = any> extends Omit<InternalFieldProps<Values>, 'name' | 'fieldContext'> {
|
package/dist/Form/FormItem.js
CHANGED
|
@@ -377,13 +377,15 @@ var Field = class extends import_react.default.Component {
|
|
|
377
377
|
};
|
|
378
378
|
this.getValidateLable = () => {
|
|
379
379
|
const { errorStyle, warningStyle } = this.props;
|
|
380
|
-
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_Transition.Transition, { name: (0, import_classUtil.b)("slide-up"), visible: this.errors.length > 0, transitionAppear: true, unmountOnExit: true, display: "" }, /* @__PURE__ */ import_react.default.createElement("label", { className: import_classUtil.e`error`, style: errorStyle }, (0, import_head.default)(this.errors))), /* @__PURE__ */ import_react.default.createElement(import_Transition.Transition, { name: (0, import_classUtil.b)("slide-up"), visible: this.warnings.length > 0, transitionAppear: true, unmountOnExit: true, display: "" }, /* @__PURE__ */ import_react.default.createElement("label", { className: import_classUtil.e`warning`, style: warningStyle }, (0, import_head.default)(this.warnings))));
|
|
380
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_Transition.Transition, { nodeRef: this.errorRef, name: (0, import_classUtil.b)("slide-up"), visible: this.errors.length > 0, transitionAppear: true, unmountOnExit: true, display: "" }, /* @__PURE__ */ import_react.default.createElement("label", { ref: this.errorRef, className: import_classUtil.e`error`, style: errorStyle }, (0, import_head.default)(this.errors))), /* @__PURE__ */ import_react.default.createElement(import_Transition.Transition, { nodeRef: this.warningRef, name: (0, import_classUtil.b)("slide-up"), visible: this.warnings.length > 0, transitionAppear: true, unmountOnExit: true, display: "" }, /* @__PURE__ */ import_react.default.createElement("label", { ref: this.warningRef, className: import_classUtil.e`warning`, style: warningStyle }, (0, import_head.default)(this.warnings))));
|
|
381
381
|
};
|
|
382
382
|
if (props.fieldContext) {
|
|
383
383
|
const { getInternalHooks } = props.fieldContext;
|
|
384
384
|
const { initEntityValue } = getInternalHooks(import_FieldContext.HOOK_MARK);
|
|
385
385
|
initEntityValue(this);
|
|
386
386
|
}
|
|
387
|
+
this.warningRef = (0, import_react.createRef)();
|
|
388
|
+
this.errorRef = (0, import_react.createRef)();
|
|
387
389
|
}
|
|
388
390
|
componentDidMount() {
|
|
389
391
|
const { shouldUpdate, fieldContext } = this.props;
|
package/dist/Form/typings.d.ts
CHANGED
|
@@ -5,12 +5,15 @@ type BaseFormProps = Omit<React.AllHTMLAttributes<HTMLFormElement>, 'onSubmit' |
|
|
|
5
5
|
type RenderProps = (values: Store, form: FormInstance) => React.ReactElement;
|
|
6
6
|
export type FormRules = Record<string, Rule[]>;
|
|
7
7
|
export interface FormProps<Values = any> extends BaseFormProps {
|
|
8
|
+
/** 经 Form.useForm() 创建的 form 控制实例,不提供时会自动创建 */
|
|
8
9
|
form?: FormInstance<Values>;
|
|
9
10
|
children?: RenderProps | ComponentChildren;
|
|
10
11
|
component?: false | string | FC<any> | ComponentClass<any, any>;
|
|
11
12
|
fields?: FieldData[];
|
|
13
|
+
/** 表单验证规则 */
|
|
12
14
|
rules?: FormRules;
|
|
13
15
|
name?: string;
|
|
16
|
+
/** 验证提示模板 */
|
|
14
17
|
validateMessages?: ValidateMessages;
|
|
15
18
|
onValuesChange?: Callbacks<Values>['onValuesChange'];
|
|
16
19
|
onFieldsChange?: Callbacks<Values>['onFieldsChange'];
|
|
@@ -18,31 +21,55 @@ export interface FormProps<Values = any> extends BaseFormProps {
|
|
|
18
21
|
onFinishFailed?: Callbacks<Values>['onFinishFailed'];
|
|
19
22
|
validateTrigger?: string | string[] | false;
|
|
20
23
|
preserve?: boolean;
|
|
24
|
+
/** 配置 Form.Item 的 colon 的默认值。表示是否显示 label 后面的冒号 */
|
|
21
25
|
colon?: boolean;
|
|
26
|
+
/** 表单默认值,只有初始化以及重置时生效 */
|
|
22
27
|
initialValues?: Store;
|
|
28
|
+
/** 表单域标签的位置, 如果值为 left 或者 right 时,则需要设置 label-width */
|
|
23
29
|
labelPosition?: 'left' | 'right' | 'top';
|
|
30
|
+
/** 表单域标签的宽度,例如 '50px'。 作为 Form 直接子元素的 form-item 会继承该值。 支持 auto。 */
|
|
24
31
|
labelWidth?: string | number;
|
|
32
|
+
/** 行内表单模式 */
|
|
25
33
|
inline?: boolean;
|
|
34
|
+
/** 是否宽度100% */
|
|
26
35
|
flat?: boolean;
|
|
36
|
+
/** 每行列数 */
|
|
37
|
+
/** 是否只读 */
|
|
27
38
|
disabled?: boolean;
|
|
39
|
+
/** 用于控制该表单内组件的尺寸 */
|
|
28
40
|
size?: TypeAttributes.Size;
|
|
29
41
|
onChange?: (model: any) => void;
|
|
30
42
|
formStyle?: React.CSSProperties;
|
|
31
43
|
className?: string;
|
|
32
44
|
}
|
|
33
45
|
export interface FormItemProps<T> extends BaseProps, NativeProps {
|
|
46
|
+
/**
|
|
47
|
+
* 配合 label 属性使用,表示是否显示 label 后面的冒号
|
|
48
|
+
*/
|
|
34
49
|
colon?: boolean;
|
|
50
|
+
/** label 标签的文本 */
|
|
35
51
|
label?: boolean | string | React.ReactElement;
|
|
52
|
+
/** 用于控制该表单内组件的尺寸 */
|
|
36
53
|
size?: TypeAttributes.Size;
|
|
54
|
+
/** 标签的长度,例如 '50px'。 作为 Form 直接子元素的 form-item 会继承该值。 可以使用 auto。 */
|
|
37
55
|
labelWidth?: string | number;
|
|
56
|
+
/** 必填样式设置。如不设置,则会根据校验规则自动生成 */
|
|
38
57
|
required?: boolean;
|
|
58
|
+
/** 为 true 时不带样式,作为纯字段控件使用 */
|
|
39
59
|
noStyle?: boolean;
|
|
60
|
+
/** 校验状态,如不设置,则会根据校验规则自动生成,可选:'success' 'warning' 'error' 'validating' */
|
|
40
61
|
validateStatus?: 'success' | 'warning' | 'error' | 'validating';
|
|
62
|
+
/** 配置提示信息 */
|
|
41
63
|
help?: string | React.ReactElement;
|
|
64
|
+
/** 是否标签宽度为0,等用于`labelWidth={0}`,如果同时设置了labelWidth,则此配置无效 */
|
|
42
65
|
pure?: boolean;
|
|
66
|
+
/** 是否居中 */
|
|
43
67
|
center?: boolean;
|
|
68
|
+
/** 文本自定义内联样式 */
|
|
44
69
|
labelStyle?: React.CSSProperties;
|
|
70
|
+
/** 校验失败文本自定义内联样式 */
|
|
45
71
|
errorStyle?: React.CSSProperties;
|
|
72
|
+
/** 校验警告自定义内联样式 */
|
|
46
73
|
warningStyle?: React.CSSProperties;
|
|
47
74
|
}
|
|
48
75
|
export interface FieldEntity {
|
|
@@ -91,6 +118,9 @@ export interface Meta {
|
|
|
91
118
|
export interface InternalFieldData extends Meta {
|
|
92
119
|
value: StoreValue;
|
|
93
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Used by `setFields` config
|
|
123
|
+
*/
|
|
94
124
|
export interface FieldData extends Partial<Omit<InternalFieldData, 'name'>> {
|
|
95
125
|
name: NamePath;
|
|
96
126
|
}
|
|
@@ -115,6 +145,7 @@ interface BaseRule {
|
|
|
115
145
|
transform?: (value: StoreValue) => StoreValue;
|
|
116
146
|
type?: RuleType;
|
|
117
147
|
whitespace?: boolean;
|
|
148
|
+
/** Customize rule level `validateTrigger`. Must be subset of Field `validateTrigger` */
|
|
118
149
|
validateTrigger?: string | string[];
|
|
119
150
|
phone?: boolean;
|
|
120
151
|
}
|
|
@@ -166,6 +197,10 @@ export interface ValidateOptions {
|
|
|
166
197
|
label?: string | boolean | React.ReactElement<{}>;
|
|
167
198
|
triggerName?: string;
|
|
168
199
|
validateMessages?: ValidateMessages;
|
|
200
|
+
/**
|
|
201
|
+
* Recursive validate. It will validate all the name path that contains the provided one.
|
|
202
|
+
* e.g. ['a'] will validate ['a'] , ['a', 'b'] and ['a', 1].
|
|
203
|
+
*/
|
|
169
204
|
recursive?: boolean;
|
|
170
205
|
}
|
|
171
206
|
export type InternalValidateFields<Values = any> = (nameList?: NamePath[], options?: ValidateOptions) => Promise<Values>;
|
|
@@ -189,6 +224,11 @@ interface SetFieldInfo {
|
|
|
189
224
|
}
|
|
190
225
|
interface DependenciesUpdateInfo {
|
|
191
226
|
type: 'dependenciesUpdate';
|
|
227
|
+
/**
|
|
228
|
+
* Contains all the related `InternalNamePath[]`.
|
|
229
|
+
* a <- b <- c : change `a`
|
|
230
|
+
* relatedFields=[a, b, c]
|
|
231
|
+
*/
|
|
192
232
|
relatedFields: InternalNamePath[];
|
|
193
233
|
}
|
|
194
234
|
export type NotifyInfo = ValueUpdateInfo | ValidateFinishInfo | ResetInfo | RemoveInfo | SetFieldInfo | DependenciesUpdateInfo;
|
|
@@ -216,6 +256,7 @@ export interface InternalHooks {
|
|
|
216
256
|
setPreserve: (preserve?: boolean) => void;
|
|
217
257
|
getInitialValue: (namePath: InternalNamePath) => StoreValue;
|
|
218
258
|
}
|
|
259
|
+
/** Only return partial when type is not any */
|
|
219
260
|
type RecursivePartial<T> = T extends object ? {
|
|
220
261
|
[P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object ? RecursivePartial<T[P]> : T[P];
|
|
221
262
|
} : any;
|
|
@@ -239,15 +280,29 @@ export interface FormInstance<Values = any> {
|
|
|
239
280
|
}
|
|
240
281
|
export type InternalFormInstance = Omit<FormInstance, 'validateFields'> & {
|
|
241
282
|
validateFields: InternalValidateFields;
|
|
283
|
+
/**
|
|
284
|
+
* Passed by field context props
|
|
285
|
+
*/
|
|
242
286
|
prefixName?: InternalNamePath;
|
|
243
287
|
validateTrigger?: string | string[] | false;
|
|
288
|
+
/**
|
|
289
|
+
* Form component should register some content into store.
|
|
290
|
+
* We pass the `HOOK_MARK` as key to avoid user call the function.
|
|
291
|
+
*/
|
|
244
292
|
getInternalHooks: (secret: string) => InternalHooks | null;
|
|
293
|
+
/** @private Internal usage. Do not use it in your production */
|
|
245
294
|
_init?: boolean;
|
|
295
|
+
/** 配置 Form.Item 的 colon 的默认值。表示是否显示 label 后面的冒号 */
|
|
246
296
|
colon?: boolean;
|
|
297
|
+
/** 是否禁用该表单内的所有组件。 如果设置为 true, 它将覆盖内部组件的 disabled 属性 */
|
|
247
298
|
disabled?: boolean;
|
|
299
|
+
/** 表单域标签的位置, 如果值为 left 或者 right 时,则需要设置 label-width */
|
|
248
300
|
labelPosition?: 'left' | 'right' | 'top';
|
|
301
|
+
/** 标签宽度,例如 '50px'。 可以使用 auto。 */
|
|
249
302
|
labelWidth?: string | number;
|
|
303
|
+
/** 用于控制该表单域下组件的默认尺寸 */
|
|
250
304
|
size?: TypeAttributes.Size;
|
|
305
|
+
/** 表单验证规则 */
|
|
251
306
|
rules?: FormRules;
|
|
252
307
|
};
|
|
253
308
|
export type EventArgs = any[];
|
package/dist/Form/useForm.d.ts
CHANGED
|
@@ -26,7 +26,14 @@ export declare class FormStore {
|
|
|
26
26
|
private scrollToField;
|
|
27
27
|
private getInternalHooks;
|
|
28
28
|
private useSubscribe;
|
|
29
|
+
/**
|
|
30
|
+
* Record prev Form unmount fieldEntities which config preserve false.
|
|
31
|
+
* This need to be refill with initialValues instead of store value.
|
|
32
|
+
*/
|
|
29
33
|
private prevWithoutPreserves;
|
|
34
|
+
/**
|
|
35
|
+
* First time `setInitialValues` should update store with initial value
|
|
36
|
+
*/
|
|
30
37
|
private setInitialValues;
|
|
31
38
|
private destroyForm;
|
|
32
39
|
private getInitialValue;
|
|
@@ -39,6 +46,10 @@ export declare class FormStore {
|
|
|
39
46
|
private timeoutId;
|
|
40
47
|
private warningUnhooked;
|
|
41
48
|
private updateStore;
|
|
49
|
+
/**
|
|
50
|
+
* Get registered field entities.
|
|
51
|
+
* @param pure Only return field which has a `name`. Default: false
|
|
52
|
+
*/
|
|
42
53
|
private getFieldEntities;
|
|
43
54
|
private getFieldsMap;
|
|
44
55
|
private getFieldEntitiesForNamePathList;
|
|
@@ -51,15 +62,26 @@ export declare class FormStore {
|
|
|
51
62
|
private isFieldTouched;
|
|
52
63
|
private isFieldsValidating;
|
|
53
64
|
private isFieldValidating;
|
|
65
|
+
/**
|
|
66
|
+
* Reset Field with field `initialValue` prop.
|
|
67
|
+
* Can pass `entities` or `namePathList` or just nothing.
|
|
68
|
+
*/
|
|
54
69
|
private resetWithFieldInitialValue;
|
|
55
70
|
private resetFields;
|
|
56
71
|
private setFields;
|
|
57
72
|
private getFields;
|
|
73
|
+
/**
|
|
74
|
+
* This only trigger when a field is on constructor to avoid we get initialValue too late
|
|
75
|
+
*/
|
|
58
76
|
private initEntityValue;
|
|
59
77
|
private isMergedPreserve;
|
|
60
78
|
private registerField;
|
|
61
79
|
private dispatch;
|
|
62
80
|
private notifyObservers;
|
|
81
|
+
/**
|
|
82
|
+
* Notify dependencies children with parent update
|
|
83
|
+
* We need delay to trigger validate in case Field is under render props
|
|
84
|
+
*/
|
|
63
85
|
private triggerDependenciesUpdate;
|
|
64
86
|
private updateValue;
|
|
65
87
|
private setFieldsValue;
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import type { InternalNamePath, RuleError, RuleObject, StoreValue, ValidateOptions } from '../typings';
|
|
2
|
+
/**
|
|
3
|
+
* We use `async-validator` to validate the value.
|
|
4
|
+
* But only check one value in a time to avoid namePath validate issue.
|
|
5
|
+
*/
|
|
2
6
|
export declare function validateRules(namePath: InternalNamePath, value: StoreValue, rules: RuleObject[], options: ValidateOptions, validateFirst: boolean | 'parallel', messageVariables?: Record<string, string>): Promise<RuleError[]>;
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { EventArgs, InternalNamePath, NamePath, Store, StoreValue } from '../typings';
|
|
2
|
+
/**
|
|
3
|
+
* Convert name to internal supported format.
|
|
4
|
+
* This function should keep since we still thinking if need support like `a.b.c` format.
|
|
5
|
+
* 'a' => ['a']
|
|
6
|
+
* 123 => [123]
|
|
7
|
+
* ['a', 123] => ['a', 123]
|
|
8
|
+
*/
|
|
2
9
|
export declare function getNamePath(path: NamePath | null): InternalNamePath;
|
|
3
10
|
export declare function getValue(store: Store, namePath: InternalNamePath): any;
|
|
4
11
|
export declare function setValue(store: Store, namePath: InternalNamePath, value: StoreValue, removeIfUndefined?: boolean): Store;
|
|
@@ -9,6 +16,16 @@ export declare function matchNamePath(namePath: InternalNamePath, changedNamePat
|
|
|
9
16
|
type SimilarObject = string | number | {};
|
|
10
17
|
export declare function isSimilar(source: SimilarObject, target: SimilarObject): boolean;
|
|
11
18
|
export declare function defaultGetValueFromEvent(valuePropName: string, ...args: EventArgs): any;
|
|
19
|
+
/**
|
|
20
|
+
* Moves an array item from one position in an array to another.
|
|
21
|
+
*
|
|
22
|
+
* Note: This is a pure function so a new array will be returned, instead
|
|
23
|
+
* of altering the array argument.
|
|
24
|
+
*
|
|
25
|
+
* @param array Array in which to move an item. (required)
|
|
26
|
+
* @param moveIndex The index of the item to move. (required)
|
|
27
|
+
* @param toIndex The index to move item at moveIndex to. (required)
|
|
28
|
+
*/
|
|
12
29
|
export declare function move<T>(array: T[], moveIndex: number, toIndex: number): T[];
|
|
13
30
|
export declare function toNamePathStr(name: NamePath): string;
|
|
14
31
|
export {};
|
package/dist/Icon/Icon.js
CHANGED
|
@@ -38,7 +38,7 @@ var import_react = __toESM(require("react"));
|
|
|
38
38
|
var import_hooks = require("../hooks");
|
|
39
39
|
var Icon = (0, import_react.memo)(
|
|
40
40
|
(0, import_react.forwardRef)((props, ref) => {
|
|
41
|
-
const { prefix, name, size, rotate, flip, spin, pulse, className, style, onClick, classPrefix = "icon", ...other } = props;
|
|
41
|
+
const { prefix = "far", name, size, rotate, flip, spin, pulse, className, style, onClick, classPrefix = "icon", ...other } = props;
|
|
42
42
|
const { b } = (0, import_hooks.useClassNames)(classPrefix, "el");
|
|
43
43
|
const hasFa = (0, import_startsWith.default)(name, "fa-");
|
|
44
44
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
@@ -59,8 +59,5 @@ var Icon = (0, import_react.memo)(
|
|
|
59
59
|
);
|
|
60
60
|
})
|
|
61
61
|
);
|
|
62
|
-
Icon.defaultProps = {
|
|
63
|
-
prefix: "far"
|
|
64
|
-
};
|
|
65
62
|
Icon.displayName = "ElIcon";
|
|
66
63
|
var Icon_default = Icon;
|
package/dist/Icon/typings.d.ts
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { BaseProps, NativeProps } from '../types/common';
|
|
3
3
|
export interface IconProps extends Omit<React.AllHTMLAttributes<HTMLElement>, 'size' | 'style' | 'className' | 'readOnly' | 'disabled' | 'children'>, BaseProps, NativeProps {
|
|
4
|
+
/** 图标前缀,定义图标字体粗细 */
|
|
4
5
|
prefix?: IconPrefix;
|
|
6
|
+
/** 图标名称 */
|
|
5
7
|
name: IconName;
|
|
8
|
+
/** 图标大小 */
|
|
6
9
|
size?: IconSize;
|
|
10
|
+
/** 图标是否旋转 */
|
|
7
11
|
rotate?: Rotate;
|
|
12
|
+
/** 图标是否翻转 */
|
|
8
13
|
flip?: Flip;
|
|
14
|
+
/** 是否动画 */
|
|
9
15
|
spin?: boolean;
|
|
16
|
+
/** 是否8方向旋转 */
|
|
10
17
|
pulse?: boolean;
|
|
11
18
|
}
|
|
12
19
|
export type SvgIconProps = Omit<IconProps, 'name'>;
|
package/dist/Input/Input.js
CHANGED
|
@@ -44,6 +44,16 @@ var import_InputGroup = __toESM(require("./InputGroup"));
|
|
|
44
44
|
var import_InputRange = __toESM(require("./InputRange"));
|
|
45
45
|
var import_TextArea = __toESM(require("./TextArea"));
|
|
46
46
|
function InternalInput(props, ref) {
|
|
47
|
+
props = (0, import_Util.mergeDefaultProps)(
|
|
48
|
+
{
|
|
49
|
+
type: "text",
|
|
50
|
+
placeholder: "请输入",
|
|
51
|
+
clearable: true,
|
|
52
|
+
debounceTime: 200,
|
|
53
|
+
defaultValue: ""
|
|
54
|
+
},
|
|
55
|
+
props
|
|
56
|
+
);
|
|
47
57
|
const {
|
|
48
58
|
name,
|
|
49
59
|
title,
|
|
@@ -277,12 +287,16 @@ function InternalInput(props, ref) {
|
|
|
277
287
|
onInput: handleInput,
|
|
278
288
|
onClick: props.onClick,
|
|
279
289
|
onFocus: (event) => {
|
|
280
|
-
|
|
290
|
+
if (contentRef.current) {
|
|
291
|
+
(0, import_dom_lib.addClass)(contentRef.current, is("focus"));
|
|
292
|
+
}
|
|
281
293
|
showClear(value);
|
|
282
294
|
onFocus == null ? void 0 : onFocus.call(this, event);
|
|
283
295
|
},
|
|
284
296
|
onBlur: (event) => {
|
|
285
|
-
|
|
297
|
+
if (contentRef.current) {
|
|
298
|
+
(0, import_dom_lib.removeClass)(contentRef.current, is("focus"));
|
|
299
|
+
}
|
|
286
300
|
hideClear();
|
|
287
301
|
onBlur == null ? void 0 : onBlur.call(this, event);
|
|
288
302
|
},
|
|
@@ -380,12 +394,5 @@ var ForwardInput = (0, import_react.forwardRef)(InternalInput);
|
|
|
380
394
|
var Input = ForwardInput;
|
|
381
395
|
Input.TextArea = import_TextArea.default;
|
|
382
396
|
Input.Range = import_InputRange.default;
|
|
383
|
-
Input.defaultProps = {
|
|
384
|
-
type: "text",
|
|
385
|
-
placeholder: "请输入",
|
|
386
|
-
clearable: true,
|
|
387
|
-
debounceTime: 200,
|
|
388
|
-
defaultValue: ""
|
|
389
|
-
};
|
|
390
397
|
Input.displayName = "ElInput";
|
|
391
398
|
var Input_default = Input;
|
package/dist/Input/InputRange.js
CHANGED
|
@@ -46,6 +46,17 @@ var import_hooks = require("../hooks");
|
|
|
46
46
|
var import_prefix = require("../hooks/prefix");
|
|
47
47
|
var import_InputGroup = __toESM(require("./InputGroup"));
|
|
48
48
|
var InputRange = (0, import_react.forwardRef)((props, ref) => {
|
|
49
|
+
props = (0, import_Util.mergeDefaultProps)(
|
|
50
|
+
{
|
|
51
|
+
name: ["", ""],
|
|
52
|
+
startPlaceholder: "请输入",
|
|
53
|
+
endPlaceholder: "请输入",
|
|
54
|
+
type: "text",
|
|
55
|
+
clearable: true,
|
|
56
|
+
rangeSeparator: "到"
|
|
57
|
+
},
|
|
58
|
+
props
|
|
59
|
+
);
|
|
49
60
|
const {
|
|
50
61
|
name,
|
|
51
62
|
clearable,
|
|
@@ -341,13 +352,5 @@ var InputRange = (0, import_react.forwardRef)((props, ref) => {
|
|
|
341
352
|
return content;
|
|
342
353
|
}
|
|
343
354
|
});
|
|
344
|
-
InputRange.defaultProps = {
|
|
345
|
-
name: ["", ""],
|
|
346
|
-
startPlaceholder: "请输入",
|
|
347
|
-
endPlaceholder: "请输入",
|
|
348
|
-
type: "text",
|
|
349
|
-
clearable: true,
|
|
350
|
-
rangeSeparator: "到"
|
|
351
|
-
};
|
|
352
355
|
InputRange.displayName = "InputRange";
|
|
353
356
|
var InputRange_default = InputRange;
|
package/dist/Input/TextArea.js
CHANGED
|
@@ -34,8 +34,16 @@ __export(TextArea_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(TextArea_exports);
|
|
35
35
|
var import_classnames = __toESM(require("classnames"));
|
|
36
36
|
var import_react = __toESM(require("react"));
|
|
37
|
+
var import_Util = require("../Util");
|
|
37
38
|
var import_hooks = require("../hooks");
|
|
38
39
|
var TextArea = (0, import_react.forwardRef)((props, ref) => {
|
|
40
|
+
props = (0, import_Util.mergeDefaultProps)(
|
|
41
|
+
{
|
|
42
|
+
placeholder: "请输入",
|
|
43
|
+
style: { width: "100%" }
|
|
44
|
+
},
|
|
45
|
+
props
|
|
46
|
+
);
|
|
39
47
|
const { name, title, error, placeholder, readOnly, plain, rows, classPrefix = "textarea", onFocus, onBlur, onChange, warning, maxLength, showWordLimit, ...rest } = props;
|
|
40
48
|
const { b, m, e, is } = (0, import_hooks.useClassNames)(classPrefix);
|
|
41
49
|
const [value, setValue] = (0, import_hooks.useControlled)(props.value, props.defaultValue);
|
|
@@ -110,9 +118,5 @@ var TextArea = (0, import_react.forwardRef)((props, ref) => {
|
|
|
110
118
|
}
|
|
111
119
|
), maxLength && showWordLimit ? /* @__PURE__ */ import_react.default.createElement("span", { className: e`count` }, typeof value === "string" ? value.length : 0, " / ", maxLength) : null);
|
|
112
120
|
});
|
|
113
|
-
TextArea.defaultProps = {
|
|
114
|
-
placeholder: "请输入",
|
|
115
|
-
style: { width: "100%" }
|
|
116
|
-
};
|
|
117
121
|
TextArea.displayName = "TextArea";
|
|
118
122
|
var TextArea_default = TextArea;
|