tntd 2.7.1 → 2.7.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.
Files changed (59) hide show
  1. package/es/affix/index.js +2 -1
  2. package/es/alert/index.js +2 -1
  3. package/es/anchor/index.js +2 -1
  4. package/es/array-input/icon.js +6 -24
  5. package/es/array-input/index.js +119 -203
  6. package/es/auth-context/index.js +2 -1
  7. package/es/auto-complete/index.js +2 -1
  8. package/es/avatar/index.js +2 -1
  9. package/es/back-top/index.js +2 -1
  10. package/es/badge/index.js +2 -1
  11. package/es/breadcrumb/index.js +2 -1
  12. package/es/button/index.js +2 -1
  13. package/es/calendar/index.js +2 -1
  14. package/es/card/index.js +2 -1
  15. package/es/carousel/index.js +2 -1
  16. package/es/cascader/index.js +2 -1
  17. package/es/checkbox/checkbox-group.js +2 -1
  18. package/es/checkbox/index.js +2 -1
  19. package/es/col/index.js +2 -1
  20. package/es/collapse/index.js +2 -1
  21. package/es/color-picker/ColorPicker.js +80 -126
  22. package/es/color-picker/index.js +5 -8
  23. package/es/color-picker/index.less +4 -0
  24. package/es/columns/index.js +30 -66
  25. package/es/columns/style/index.js +2 -1
  26. package/es/comment/index.js +2 -1
  27. package/es/config-provider/DisabledContext.js +5 -9
  28. package/es/config-provider/SizeContext.js +3 -7
  29. package/es/config-provider/config-provider.js +2 -1
  30. package/es/page/index.js +1 -1
  31. package/es/page/index.js.map +1 -1
  32. package/es/switch/switch.js.map +1 -1
  33. package/es/tntd-form/Form.js +13 -1
  34. package/es/tntd-form/Form.js.map +1 -1
  35. package/es/tntd-form/tntd-form.stories.js +14 -2
  36. package/es/tntd-form/tntd-form.stories.js.map +1 -1
  37. package/es/tntd-layout/HeaderActions.js +1 -1
  38. package/es/tntd-layout/HeaderActions.js.map +1 -1
  39. package/es/tree-select/index.js +1 -0
  40. package/es/tree-select/index.js.map +1 -1
  41. package/lib/color-picker/index.less +4 -0
  42. package/lib/page/index.js +1 -1
  43. package/lib/page/index.js.map +1 -1
  44. package/lib/switch/switch.d.ts +1 -1
  45. package/lib/switch/switch.d.ts.map +1 -1
  46. package/lib/switch/switch.js.map +1 -1
  47. package/lib/tntd-form/Form.d.ts.map +1 -1
  48. package/lib/tntd-form/Form.js +12 -0
  49. package/lib/tntd-form/Form.js.map +1 -1
  50. package/lib/tntd-form/tntd-form.stories.d.ts.map +1 -1
  51. package/lib/tntd-form/tntd-form.stories.js +14 -2
  52. package/lib/tntd-form/tntd-form.stories.js.map +1 -1
  53. package/lib/tntd-layout/HeaderActions.js +1 -1
  54. package/lib/tntd-layout/HeaderActions.js.map +1 -1
  55. package/lib/tree-select/index.d.ts +8 -2
  56. package/lib/tree-select/index.d.ts.map +1 -1
  57. package/lib/tree-select/index.js +1 -0
  58. package/lib/tree-select/index.js.map +1 -1
  59. package/package.json +1 -1
@@ -1,136 +1,90 @@
1
- import "antd/es/icon/style";
2
- import _Icon from "antd/es/icon";
3
- import "antd/es/popover/style";
4
- import _Popover from "antd/es/popover";
5
- import _toLower from "lodash/toLower";
6
- import _upperFirst from "lodash/upperFirst";
7
- import _isObject from "lodash/isObject";
8
- var __rest = this && this.__rest || function (s, e) {
9
- var t = {};
10
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
11
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
12
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
13
- }
14
- return t;
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
15
11
  };
16
12
  import React, { useState, useCallback, useEffect, useMemo } from 'react';
17
- import { AlphaPicker, BlockPicker, ChromePicker, CirclePicker, CompactPicker, GithubPicker, HuePicker, MaterialPicker, PhotoshopPicker, SketchPicker, SliderPicker, SwatchesPicker, TwitterPicker } from 'react-color';
13
+ import { Popover, Icon } from 'antd';
14
+ import { AlphaPicker, BlockPicker, ChromePicker, CirclePicker, CompactPicker, GithubPicker, HuePicker, MaterialPicker, PhotoshopPicker, SketchPicker, SliderPicker, SwatchesPicker, TwitterPicker, } from 'react-color';
18
15
  import cn from 'classnames';
16
+ import { isObject, upperFirst, toLower } from 'lodash';
19
17
  import imgSrc from './tip.svg';
20
18
  const prefixCls = 'tnt-color-picker';
21
19
  const modeMap = {
22
- AlphaPicker,
23
- BlockPicker,
24
- ChromePicker,
25
- CirclePicker,
26
- CompactPicker,
27
- GithubPicker,
28
- HuePicker,
29
- MaterialPicker,
30
- PhotoshopPicker,
31
- SketchPicker,
32
- SliderPicker,
33
- SwatchesPicker,
34
- TwitterPicker
20
+ AlphaPicker,
21
+ BlockPicker,
22
+ ChromePicker,
23
+ CirclePicker,
24
+ CompactPicker,
25
+ GithubPicker,
26
+ HuePicker,
27
+ MaterialPicker,
28
+ PhotoshopPicker,
29
+ SketchPicker,
30
+ SliderPicker,
31
+ SwatchesPicker,
32
+ TwitterPicker,
35
33
  };
36
34
  const propsFormatMap = {
37
- SketchPicker: _a => {
38
- var {
39
- colors
40
- } = _a,
41
- otherProps = __rest(_a, ["colors"]);
42
- if (colors) {
43
- return Object.assign({
44
- presetColors: colors
45
- }, otherProps);
46
- }
47
- return otherProps;
48
- }
35
+ SketchPicker: (_a) => {
36
+ var { colors } = _a, otherProps = __rest(_a, ["colors"]);
37
+ if (colors) {
38
+ return Object.assign({ presetColors: colors }, otherProps);
39
+ }
40
+ return otherProps;
41
+ },
49
42
  };
50
43
  export default function ColorPicker(_a) {
51
- var {
52
- value: _value,
53
- onChange,
54
- visible: vs,
55
- allowClear,
56
- disabled,
57
- className,
58
- mode = 'sketch',
59
- style = {},
60
- size,
61
- placeholder,
62
- placement = 'bottomLeft',
63
- locale
64
- } = _a,
65
- otherProps = __rest(_a, ["value", "onChange", "visible", "allowClear", "disabled", "className", "mode", "style", "size", "placeholder", "placement", "locale"]);
66
- const [visible, setVisible] = useState(vs);
67
- const [value, setValue] = useState(_value);
68
- useEffect(() => {
69
- setValue(_value);
70
- }, [_value]);
71
- const handleChange = useCallback(color => {
72
- let value;
73
- if (_isObject(color === null || color === void 0 ? void 0 : color.rgb)) {
74
- value = `rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`;
75
- }
76
- if (onChange) {
77
- onChange(value);
78
- } else {
79
- setValue(value);
80
- }
81
- }, [onChange]);
82
- const domClick = useCallback(() => {
83
- setVisible(true);
84
- }, []);
85
- const doClear = useCallback(e => {
86
- e.stopPropagation();
87
- handleChange();
88
- }, [handleChange]);
89
- const [ModePicker, propsFormat] = useMemo(() => {
90
- const modeKey = _upperFirst(_toLower(mode)) + 'Picker' || 'SketchPicker';
91
- const ModePicker = modeMap[modeKey] || SketchPicker;
92
- return [ModePicker, propsFormatMap[modeKey] || (p => p)];
93
- }, [mode]);
94
- return React.createElement(_Popover, {
95
- placement: placement,
96
- trigger: "click",
97
- visible: visible && !disabled,
98
- onVisibleChange: setVisible,
99
- content: React.createElement(ModePicker, Object.assign({}, propsFormat(otherProps), {
100
- color: value,
101
- onChangeComplete: handleChange
102
- })),
103
- overlayClassName: `${prefixCls}-pop`
104
- }, React.createElement("div", {
105
- className: cn(prefixCls, className, {
106
- [`${prefixCls}-selected`]: !!value,
107
- [`${prefixCls}-disabled`]: disabled,
108
- [`${prefixCls}-active`]: visible && !disabled,
109
- [`${prefixCls}-sm`]: size === 'small',
110
- [`${prefixCls}-lg`]: size === 'large'
111
- }),
112
- style: style,
113
- onClick: domClick
114
- }, React.createElement("div", {
115
- className: `${prefixCls}-inner`
116
- }, !!value ? React.createElement("div", {
117
- className: `${prefixCls}-value`
118
- }, React.createElement("div", {
119
- className: `${prefixCls}-value-bg`,
120
- style: {
121
- background: value
122
- }
123
- })) : React.createElement("div", {
124
- className: `${prefixCls}-placeholder`
125
- }, placeholder), React.createElement("span", {
126
- className: `${prefixCls}-img`
127
- }, React.createElement("img", {
128
- src: imgSrc
129
- })), allowClear && !!value && !disabled && React.createElement("span", {
130
- className: `${prefixCls}-clear`,
131
- onClick: doClear
132
- }, React.createElement(_Icon, {
133
- type: "close-circle",
134
- theme: "filled"
135
- })))));
136
- }
44
+ var { value: _value, onChange, visible: vs, allowClear, disabled, className, mode = 'sketch', style = {}, size, placeholder, placement = 'bottomLeft', locale } = _a, otherProps = __rest(_a, ["value", "onChange", "visible", "allowClear", "disabled", "className", "mode", "style", "size", "placeholder", "placement", "locale"]);
45
+ const [visible, setVisible] = useState(vs);
46
+ const [value, setValue] = useState(_value);
47
+ useEffect(() => {
48
+ setValue(_value);
49
+ }, [_value]);
50
+ const handleChange = useCallback((color) => {
51
+ let value;
52
+ if (isObject(color === null || color === void 0 ? void 0 : color.rgb)) {
53
+ value = `rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`;
54
+ }
55
+ if (onChange) {
56
+ onChange(value);
57
+ }
58
+ else {
59
+ setValue(value);
60
+ }
61
+ }, [onChange]);
62
+ const domClick = useCallback(() => {
63
+ setVisible(true);
64
+ }, []);
65
+ const doClear = useCallback((e) => {
66
+ e.stopPropagation();
67
+ handleChange();
68
+ }, [handleChange]);
69
+ const [ModePicker, propsFormat] = useMemo(() => {
70
+ const modeKey = upperFirst(toLower(mode)) + 'Picker' || 'SketchPicker';
71
+ const ModePicker = modeMap[modeKey] || SketchPicker;
72
+ return [ModePicker, propsFormatMap[modeKey] || ((p) => p)];
73
+ }, [mode]);
74
+ return (React.createElement(Popover, { placement: placement, trigger: "click", visible: visible && !disabled, onVisibleChange: setVisible, content: React.createElement(ModePicker, Object.assign({}, propsFormat(otherProps), { color: value, onChangeComplete: handleChange })), overlayClassName: `${prefixCls}-pop` },
75
+ React.createElement("div", { className: cn(prefixCls, className, {
76
+ [`${prefixCls}-selected`]: !!value,
77
+ [`${prefixCls}-disabled`]: disabled,
78
+ [`${prefixCls}-active`]: visible && !disabled,
79
+ [`${prefixCls}-sm`]: size === 'small',
80
+ [`${prefixCls}-lg`]: size === 'large',
81
+ }), style: style, onClick: domClick },
82
+ React.createElement("div", { className: `${prefixCls}-inner` },
83
+ !!value ? (React.createElement("div", { className: `${prefixCls}-value` },
84
+ React.createElement("div", { className: `${prefixCls}-value-bg`, style: { background: value } }))) : (React.createElement("div", { className: `${prefixCls}-placeholder` }, placeholder)),
85
+ React.createElement("span", { className: `${prefixCls}-img` },
86
+ React.createElement("img", { src: imgSrc })),
87
+ allowClear && !!value && !disabled && (React.createElement("span", { className: `${prefixCls}-clear`, onClick: doClear },
88
+ React.createElement(Icon, { type: "close-circle", theme: "filled" })))))));
89
+ }
90
+ //# sourceMappingURL=ColorPicker.js.map
@@ -4,11 +4,8 @@ import LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver';
4
4
  import ColorPicker from './ColorPicker';
5
5
  import './index.less';
6
6
  export default function (props) {
7
- return React.createElement(LocaleReceiver, {
8
- componentName: "ColorPicker"
9
- }, locale => {
10
- return React.createElement(ColorPicker, Object.assign({
11
- locale: locale
12
- }, props));
13
- });
14
- }
7
+ return (React.createElement(LocaleReceiver, { componentName: "ColorPicker" }, (locale) => {
8
+ return React.createElement(ColorPicker, Object.assign({ locale: locale }, props));
9
+ }));
10
+ }
11
+ //# sourceMappingURL=index.js.map
@@ -41,6 +41,7 @@
41
41
  box-sizing: border-box;
42
42
  display: inline-block;
43
43
  border: @border-width-base @border-style-base @select-border-color;
44
+ background: @component-background;
44
45
  border-radius: @border-radius-base;
45
46
  cursor: pointer;
46
47
  position: relative;
@@ -96,6 +97,9 @@
96
97
  &-disabled {
97
98
  background: @input-disabled-bg;
98
99
  cursor: not-allowed;
100
+ &:hover {
101
+ border-color: @border-width-base;
102
+ }
99
103
  .@{prefixCls}-img {
100
104
  background: #e9edf3;
101
105
  }
@@ -1,75 +1,39 @@
1
- var __rest = this && this.__rest || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
4
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
5
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
6
- }
7
- return t;
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
8
11
  };
9
12
  import classnames from 'classnames';
10
13
  import React from 'react';
11
14
  import { Row, Col } from '../';
12
15
  import './index.less';
13
16
  const clsPrefix = 'tnt-columns';
14
- export const Item = props => {
15
- const {
16
- children,
17
- span,
18
- extra,
19
- title,
20
- tabList,
21
- defaultActiveTabKey,
22
- activeTabKey,
23
- tabType,
24
- onTabChange
25
- } = props;
26
- const realActiveKey = activeTabKey || defaultActiveTabKey;
27
- return React.createElement(Col, {
28
- className: `${clsPrefix}-col`,
29
- span: span < 4 ? 4 : span
30
- }, React.createElement("div", null, (!tabList || tabList.length < 0) && React.createElement("div", {
31
- className: `${clsPrefix}-col-header`
32
- }, React.createElement("div", {
33
- className: "title-left"
34
- }, title), extra && React.createElement("div", {
35
- className: "title-extra"
36
- }, extra)), (tabList === null || tabList === void 0 ? void 0 : tabList.length) > 0 && React.createElement("div", {
37
- className: `${clsPrefix}-col-tabs`,
38
- tabType: tabType,
39
- tabList: tabList
40
- }, tabList.map(({
41
- tab,
42
- key
43
- }) => React.createElement("span", {
44
- className: classnames('tab-item', {
45
- 'active-tab': realActiveKey === key
46
- }),
47
- style: {
48
- width: tabList && tabType === 'default' ? 'auto' : `${100 / tabList.length}%`
49
- },
50
- key: key,
51
- onClick: () => onTabChange(key)
52
- }, tab))), React.createElement("div", {
53
- className: `${clsPrefix}-col-body`
54
- }, children)));
17
+ export const Item = (props) => {
18
+ const { children, span, extra, title, tabList, defaultActiveTabKey, activeTabKey, tabType, onTabChange, } = props;
19
+ const realActiveKey = activeTabKey || defaultActiveTabKey;
20
+ return (React.createElement(Col, { className: `${clsPrefix}-col`, span: span < 4 ? 4 : span },
21
+ React.createElement("div", null,
22
+ (!tabList || tabList.length < 0) && (React.createElement("div", { className: `${clsPrefix}-col-header` },
23
+ React.createElement("div", { className: "title-left" }, title),
24
+ extra && React.createElement("div", { className: "title-extra" }, extra))),
25
+ (tabList === null || tabList === void 0 ? void 0 : tabList.length) > 0 && (React.createElement("div", { className: `${clsPrefix}-col-tabs`, tabType: tabType, tabList: tabList }, tabList.map(({ tab, key }) => (React.createElement("span", { className: classnames('tab-item', {
26
+ 'active-tab': realActiveKey === key,
27
+ }), style: {
28
+ width: tabList && tabType === 'default' ? 'auto' : `${100 / tabList.length}%`,
29
+ }, key: key, onClick: () => onTabChange(key) }, tab))))),
30
+ React.createElement("div", { className: `${clsPrefix}-col-body` }, children))));
55
31
  };
56
- const Columns = props => {
57
- const {
58
- children,
59
- height,
60
- gutter = 0,
61
- style
62
- } = props,
63
- rest = __rest(props, ["children", "height", "gutter", "style"]);
64
- const rowStyle = Object.assign(Object.assign({}, style), {
65
- height: props.height ? `${props.height}px` : 'calc(100vh)'
66
- });
67
- return React.createElement(Row, Object.assign({
68
- className: classnames(clsPrefix, {
69
- gutter
70
- }),
71
- style: rowStyle
72
- }, rest), children);
32
+ const Columns = (props) => {
33
+ const { children, height, gutter = 0, style } = props, rest = __rest(props, ["children", "height", "gutter", "style"]);
34
+ const rowStyle = Object.assign(Object.assign({}, style), { height: props.height ? `${props.height}px` : 'calc(100vh)' });
35
+ return (React.createElement(Row, Object.assign({ className: classnames(clsPrefix, { gutter }), style: rowStyle }, rest), children));
73
36
  };
74
37
  Columns.Item = Item;
75
- export default Columns;
38
+ export default Columns;
39
+ //# sourceMappingURL=index.js.map
@@ -1 +1,2 @@
1
- "use strict";
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
1
  import Comment from 'antd/es/comment';
2
2
  import 'antd/es/comment/style';
3
3
  export * from 'antd/es/comment';
4
- export default Comment;
4
+ export default Comment;
5
+ //# sourceMappingURL=index.js.map
@@ -1,12 +1,8 @@
1
1
  import * as React from 'react';
2
2
  const DisabledContext = React.createContext(false);
3
- export const DisabledContextProvider = ({
4
- children,
5
- disabled
6
- }) => {
7
- const originDisabled = React.useContext(DisabledContext);
8
- return React.createElement(DisabledContext.Provider, {
9
- value: disabled !== null && disabled !== void 0 ? disabled : originDisabled
10
- }, children);
3
+ export const DisabledContextProvider = ({ children, disabled }) => {
4
+ const originDisabled = React.useContext(DisabledContext);
5
+ return (React.createElement(DisabledContext.Provider, { value: disabled !== null && disabled !== void 0 ? disabled : originDisabled }, children));
11
6
  };
12
- export default DisabledContext;
7
+ export default DisabledContext;
8
+ //# sourceMappingURL=DisabledContext.js.map
@@ -1,9 +1,5 @@
1
1
  import * as React from 'react';
2
2
  const SizeContext = React.createContext(undefined);
3
- export const SizeContextProvider = ({
4
- children,
5
- size
6
- }) => React.createElement(SizeContext.Consumer, null, originSize => React.createElement(SizeContext.Provider, {
7
- value: size || originSize
8
- }, children));
9
- export default SizeContext;
3
+ export const SizeContextProvider = ({ children, size }) => (React.createElement(SizeContext.Consumer, null, (originSize) => (React.createElement(SizeContext.Provider, { value: size || originSize }, children))));
4
+ export default SizeContext;
5
+ //# sourceMappingURL=SizeContext.js.map
@@ -1,2 +1,3 @@
1
1
  import ConfigProvider from 'antd/es/config-provider';
2
- export { ConfigProvider };
2
+ export { ConfigProvider };
3
+ //# sourceMappingURL=config-provider.js.map
package/es/page/index.js CHANGED
@@ -82,7 +82,7 @@ const PageLayout = (_a) => {
82
82
  }
83
83
  const extraProps = Object.assign({ headerHeight: computedHeaderHeight, size, height: computedHeight, contentTotalMargin: inLayout ? '32px' : '0px', inLayout }, child.props);
84
84
  if (!isPageBox(child)) {
85
- return React.cloneElement(child, extraProps);
85
+ return React.cloneElement(child, {}); // 如果是自定义的children,不需要读取参数
86
86
  }
87
87
  const { mode = 'gray', width } = child.props;
88
88
  const style = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page/index.js"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,IAAI,MAAM,cAAc,CAAA;AAC/B,OAAO,GAAG,MAAM,OAAO,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEvD,OAAO,cAAc,CAAA;AAErB,MAAM,SAAS,GAAG,UAAU,CAAA;AAE5B,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,GAAG,KAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,OAAO,CAAA,CAAA,EAAA,CAAA;AAEzE,MAAM,UAAU,GAAG,CAAC,EAanB,EAAE,EAAE;;QAbe,EAClB,MAAM,GAAG,OAAO,EAChB,YAAY,GAAG,EAAE,EACjB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAU,EACV,MAAM,EACN,KAAK,EACL,IAAI,GAAG,OAAO,EACd,QAAQ,GAAG,KAAK,EAChB,SAAS,OAEV,EADI,SAAS,cAZM,2HAanB,CADa;IAEZ,mBAAmB;IACnB,IAAI,oBAAoB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;IACxD,IAAI,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAE5C,WAAW;IACX,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE;QAC/B,oBAAoB,GAAG,KAAK,CAAA;KAC7B;IAED,IAAI,QAAQ,EAAE;QACZ,oBAAoB,GAAG,MAAM,CAAA;KAC9B;IAED,wBAAwB;IACxB,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,eAAe,GAAG,EAAE,CAAA;IAExB,yBAAyB;IACzB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,+BAA+B;IAE/B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,eAAe,GAAG,CAAC,QAAQ,CAAC,CAAA;KAC7B;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAClC,eAAe,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAA;KAChC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QACrC,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;YACpB,QAAQ,IAAI,CAAC,CAAA;SACd;IACH,CAAC,CAAC,CAAA;IAEF,SAAS,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,CAAC,0CAAE,MAAM,CAAA;IACnF,MAAM,KAAK,GAAG,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,IAAG,CAAC,CAAA;IACzC,IAAI,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,CAAC,CAAA;IACtC,IAAI,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAA;IACxB,MAAM,WAAW,GAAG;QAClB,MAAM,EAAE,oBAAoB;QAC5B,OAAO,EAAE,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI;QAC1C,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;KAClC,CAAA;IACD,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QACxC,SAAS,EAAE,oBAAoB;QAC/B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK;KACxC,CAAA;IAED,OAAO,CACL,+CACE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE;YACvB,CAAC,SAAS,CAAC,EAAE,SAAS;YACtB,WAAW,EAAE,QAAQ;YACrB,eAAe,EAAE,CAAC,QAAQ;SAC3B,CAAC,IACE,SAAS;QAEZ,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,CACvC,6BAAK,SAAS,EAAE,GAAG,SAAS,SAAS,EAAE,KAAK,EAAE,WAAW;YACvD,6BAAK,SAAS,EAAE,GAAG,SAAS,iBAAiB;gBAC1C,MAAM,IAAI,CACT,6BACE,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,GAAG,EAAE;wBACZ,MAAM,EAAE,CAAA;oBACV,CAAC;oBAED,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG;oBACpB,kCAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAQ,CACzC,CACP;gBACA,KAAK,CACF;YACL,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAChC,6BAAK,SAAS,EAAE,GAAG,SAAS,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAClD,IAAI,CACD,CACP,CAAC,CACE,CACP;QACD,6BAAK,SAAS,EAAE,GAAG,SAAS,UAAU,EAAE,KAAK,EAAE,YAAY,IACxD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACtC,2BAA2B;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACf,OAAO,KAAK,CAAC,YAAY,CAAC,iCAAM,KAAK,CAAO,CAAC,CAAA;aAC9C;YAED,MAAM,UAAU,mBACd,YAAY,EAAE,oBAAoB,EAClC,IAAI,EACJ,MAAM,EAAE,cAAc,EACtB,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAC7C,QAAQ,IACL,KAAK,CAAC,KAAK,CACf,CAAA;YAED,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACrB,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;aAC7C;YAED,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,CAAA;YAE5C,MAAM,KAAK,GAAG;gBACZ,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC;gBACzB,aAAa;gBACb,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE;aACpD,CAAA;YAED,MAAM,SAAS,GAAG,EAAE,CAAC,GAAG,SAAS,QAAQ,SAAS,QAAQ,IAAI,EAAE,CAAC,CAAA;YAEjE,OAAO,KAAK,CAAC,aAAa,CACxB,KAAK,EACL,EAAE,SAAS,EAAE,KAAK,EAAE,EACpB,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CACtC,CAAA;QACH,CAAC,CAAC,CACE,CACE,CACX,CAAA;AACH,CAAC,CAAA;AAED,UAAU,CAAC,GAAG,GAAG,GAAG,CAAA;AAEpB,eAAe,UAAU,CAAA","sourcesContent":["import cn from 'classnames'\nimport React from 'react'\nimport Icon from '../tntd-icon'\nimport Box from './Box'\nimport { addUnitForValue, computeWidth } from './utils'\n\nimport './index.less'\n\nconst clsPrefix = 'tnt-page'\n\nconst isPageBox = (child) => child?.type === Box || child?.props?.pageBox\n\nconst PageLayout = ({\n height = '100vh',\n headerHeight = 50,\n children,\n title,\n goBack,\n goBackText,\n center,\n extra,\n size = 'small',\n inLayout = false,\n className,\n ...restProps\n}) => {\n // 如果传入只有数字,需要默认加px\n let computedHeaderHeight = addUnitForValue(headerHeight)\n let computedHeight = addUnitForValue(height)\n\n // 判断是否有标题栏\n if (!(title || extra || center)) {\n computedHeaderHeight = '0px'\n }\n\n if (inLayout) {\n computedHeaderHeight = '40px'\n }\n\n // 计算中间的zIndex,灰色递减,白色递增\n let whiteCols = 0\n let childrenToArray = []\n\n // 计算children type是box的数量\n let boxCount = 0\n\n // 如果children是单个节点,统一转为数组处理计算层级\n\n if (typeof children === 'object') {\n childrenToArray = [children]\n } else if (Array.isArray(children)) {\n childrenToArray = [...children]\n }\n\n React.Children.map(children, (child) => {\n if (isPageBox(child)) {\n boxCount += 1\n }\n })\n\n whiteCols = childrenToArray?.filter(({ props }) => props?.mode === 'white')?.length\n const total = childrenToArray?.length + 5\n let startIndex = total - whiteCols - 1\n let endIndex = total - 2\n const headerStyle = {\n height: computedHeaderHeight,\n padding: `${size === 'small' ? 20 : 24}px`,\n zIndex: inLayout ? 1 : total || 1,\n }\n const contentStyle = {\n display: boxCount > 0 ? 'flex' : 'block',\n marginTop: computedHeaderHeight,\n padding: inLayout ? '16px 20px' : '0px',\n }\n\n return (\n <section\n className={cn(clsPrefix, {\n [className]: className,\n 'in-layout': inLayout,\n 'not-in-layout': !inLayout,\n })}\n {...restProps}\n >\n {(title || goBack || center || extra) && (\n <div className={`${clsPrefix}-header`} style={headerStyle}>\n <div className={`${clsPrefix}-header-section`}>\n {goBack && (\n <div\n className=\"page-header-section-back\"\n onClick={() => {\n goBack()\n }}\n >\n <Icon type=\"left\" />\n <span>{goBackText ? goBackText : '返回'}</span>\n </div>\n )}\n {title}\n </div>\n {[center, extra].map((item, i) => (\n <div className={`${clsPrefix}-header-section`} key={i}>\n {item}\n </div>\n ))}\n </div>\n )}\n <div className={`${clsPrefix}-content`} style={contentStyle}>\n {React.Children.map(children, (child) => {\n // 如果children不是Box,就不需要多列布局\n if (!child.type) {\n return React.cloneElement(<div>{child}</div>)\n }\n\n const extraProps = {\n headerHeight: computedHeaderHeight,\n size,\n height: computedHeight,\n contentTotalMargin: inLayout ? '32px' : '0px',\n inLayout,\n ...child.props,\n }\n\n if (!isPageBox(child)) {\n return React.cloneElement(child, extraProps)\n }\n\n const { mode = 'gray', width } = child.props\n\n const style = {\n flex: computeWidth(width),\n // 设置cols层级关系\n zIndex: mode === 'gray' ? endIndex-- : startIndex++,\n }\n\n const className = cn(`${clsPrefix}-box ${clsPrefix}-box-${mode}`)\n\n return React.createElement(\n 'div',\n { className, style },\n React.cloneElement(child, extraProps)\n )\n })}\n </div>\n </section>\n )\n}\n\nPageLayout.Box = Box\n\nexport default PageLayout\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page/index.js"],"names":[],"mappings":"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","sourcesContent":["import cn from 'classnames'\nimport React from 'react'\nimport Icon from '../tntd-icon'\nimport Box from './Box'\nimport { addUnitForValue, computeWidth } from './utils'\n\nimport './index.less'\n\nconst clsPrefix = 'tnt-page'\n\nconst isPageBox = (child) => child?.type === Box || child?.props?.pageBox\n\nconst PageLayout = ({\n height = '100vh',\n headerHeight = 50,\n children,\n title,\n goBack,\n goBackText,\n center,\n extra,\n size = 'small',\n inLayout = false,\n className,\n ...restProps\n}) => {\n // 如果传入只有数字,需要默认加px\n let computedHeaderHeight = addUnitForValue(headerHeight)\n let computedHeight = addUnitForValue(height)\n\n // 判断是否有标题栏\n if (!(title || extra || center)) {\n computedHeaderHeight = '0px'\n }\n\n if (inLayout) {\n computedHeaderHeight = '40px'\n }\n\n // 计算中间的zIndex,灰色递减,白色递增\n let whiteCols = 0\n let childrenToArray = []\n\n // 计算children type是box的数量\n let boxCount = 0\n\n // 如果children是单个节点,统一转为数组处理计算层级\n\n if (typeof children === 'object') {\n childrenToArray = [children]\n } else if (Array.isArray(children)) {\n childrenToArray = [...children]\n }\n\n React.Children.map(children, (child) => {\n if (isPageBox(child)) {\n boxCount += 1\n }\n })\n\n whiteCols = childrenToArray?.filter(({ props }) => props?.mode === 'white')?.length\n const total = childrenToArray?.length + 5\n let startIndex = total - whiteCols - 1\n let endIndex = total - 2\n const headerStyle = {\n height: computedHeaderHeight,\n padding: `${size === 'small' ? 20 : 24}px`,\n zIndex: inLayout ? 1 : total || 1,\n }\n const contentStyle = {\n display: boxCount > 0 ? 'flex' : 'block',\n marginTop: computedHeaderHeight,\n padding: inLayout ? '16px 20px' : '0px',\n }\n\n return (\n <section\n className={cn(clsPrefix, {\n [className]: className,\n 'in-layout': inLayout,\n 'not-in-layout': !inLayout,\n })}\n {...restProps}\n >\n {(title || goBack || center || extra) && (\n <div className={`${clsPrefix}-header`} style={headerStyle}>\n <div className={`${clsPrefix}-header-section`}>\n {goBack && (\n <div\n className=\"page-header-section-back\"\n onClick={() => {\n goBack()\n }}\n >\n <Icon type=\"left\" />\n <span>{goBackText ? goBackText : '返回'}</span>\n </div>\n )}\n {title}\n </div>\n {[center, extra].map((item, i) => (\n <div className={`${clsPrefix}-header-section`} key={i}>\n {item}\n </div>\n ))}\n </div>\n )}\n <div className={`${clsPrefix}-content`} style={contentStyle}>\n {React.Children.map(children, (child) => {\n // 如果children不是Box,就不需要多列布局\n if (!child.type) {\n return React.cloneElement(<div>{child}</div>)\n }\n\n const extraProps = {\n headerHeight: computedHeaderHeight,\n size,\n height: computedHeight,\n contentTotalMargin: inLayout ? '32px' : '0px',\n inLayout,\n ...child.props,\n }\n\n if (!isPageBox(child)) {\n return React.cloneElement(child, {}) // 如果是自定义的children,不需要读取参数\n }\n\n const { mode = 'gray', width } = child.props\n\n const style = {\n flex: computeWidth(width),\n // 设置cols层级关系\n zIndex: mode === 'gray' ? endIndex-- : startIndex++,\n }\n\n const className = cn(`${clsPrefix}-box ${clsPrefix}-box-${mode}`)\n\n return React.createElement(\n 'div',\n { className, style },\n React.cloneElement(child, extraProps)\n )\n })}\n </div>\n </section>\n )\n}\n\nPageLayout.Box = Box\n\nexport default PageLayout\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../src/switch/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AACzC,OAAO,UAAU,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAErD,OAAO,sBAAsB,CAAA;AAE7B,cAAc,gBAAgB,CAAA;AAM9B,MAAM,CAAC,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CACpE,oBAAC,UAAU,oBAAK,KAAK,IAAE,QAAQ,UAAG,CACnC,CAAC,CAAA;AAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;AAE7B,eAAe,MAAM,CAAA","sourcesContent":["import React, { forwardRef } from 'react'\nimport AntdSwitch from 'antd/es/switch'\nimport type { SwitchProps as AntdSwitchProps } from 'antd/es/switch'\nimport { connectReadonlyComponent } from '../connect'\n\nimport 'antd/es/switch/style'\n\nexport * from 'antd/es/switch'\n\nexport type SwitchProps = AntdSwitchProps & {\n readonly?: boolean\n}\n\nexport const Switch = connectReadonlyComponent(AntdSwitch, (props) => (\n <AntdSwitch {...props} disabled />\n))\n\nSwitch.displayName = 'Switch'\n\nexport default Switch\n"]}
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../src/switch/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAEzC,OAAO,UAAU,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAErD,OAAO,sBAAsB,CAAA;AAE7B,cAAc,gBAAgB,CAAA;AAM9B,MAAM,CAAC,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CACpE,oBAAC,UAAU,oBAAK,KAAK,IAAE,QAAQ,UAAG,CACnC,CAAoB,CAAA;AAErB,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;AAE7B,eAAe,MAAM,CAAA","sourcesContent":["import React, { forwardRef } from 'react'\nimport type { FC } from 'react'\nimport AntdSwitch from 'antd/es/switch'\nimport type { SwitchProps as AntdSwitchProps } from 'antd/es/switch'\nimport { connectReadonlyComponent } from '../connect'\n\nimport 'antd/es/switch/style'\n\nexport * from 'antd/es/switch'\n\nexport type SwitchProps = AntdSwitchProps & {\n readonly?: boolean\n}\n\nexport const Switch = connectReadonlyComponent(AntdSwitch, (props) => (\n <AntdSwitch {...props} disabled />\n)) as FC<SwitchProps>\n\nSwitch.displayName = 'Switch'\n\nexport default Switch\n"]}
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import classNames from 'classnames';
13
13
  import FieldForm, { List, useWatch } from 'rc-field-form';
14
14
  import * as React from 'react';
15
- import { useMemo } from 'react';
15
+ import { useMemo, useEffect } from 'react';
16
16
  import { ConfigContext } from '../config-provider';
17
17
  import DisabledContext, { DisabledContextProvider } from '../config-provider/DisabledContext';
18
18
  import SizeContext, { SizeContextProvider } from '../config-provider/SizeContext';
@@ -86,6 +86,18 @@ const InternalForm = (props, ref) => {
86
86
  wrapForm.scrollToField(errorInfo.errorFields[0].name, defaultScrollToFirstError);
87
87
  }
88
88
  };
89
+ useEffect(() => {
90
+ // set initial values
91
+ if (restFormProps.initialValues) {
92
+ form === null || form === void 0 ? void 0 : form.setFieldsValue(restFormProps.initialValues);
93
+ }
94
+ // clear form fields value after unmount
95
+ return () => form.setFieldsValue(Object.keys(form.getFieldsValue() || {}).reduce((acc, cur) => {
96
+ acc[cur] = undefined;
97
+ return acc;
98
+ }, {}));
99
+ // eslint-disable-next-line react-hooks/exhaustive-deps
100
+ }, []);
89
101
  return (React.createElement(DisabledContextProvider, { disabled: disabled },
90
102
  React.createElement(SizeContextProvider, { size: size },
91
103
  React.createElement(FormProvider, Object.assign({}, {
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../src/tntd-form/Form.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames'\nimport FieldForm, { List, useWatch } from 'rc-field-form'\nimport type { FormProps as RcFormProps } from 'rc-field-form/lib/Form'\nimport type { ValidateErrorEntity } from 'rc-field-form/lib/interface'\nimport * as React from 'react'\nimport { useMemo } from 'react'\nimport type { Options } from 'scroll-into-view-if-needed'\nimport { ConfigContext } from '../config-provider'\nimport DisabledContext, { DisabledContextProvider } from '../config-provider/DisabledContext'\nimport type { SizeType } from '../config-provider/SizeContext'\nimport SizeContext, { SizeContextProvider } from '../config-provider/SizeContext'\nimport type { ColProps } from '../col'\nimport type { FormContextProps } from './context'\nimport { FormContext, FormProvider } from './context'\nimport ValidateMessagesContext from './validateMessagesContext'\nimport useForm, { FormInstance } from './hooks/useForm'\nimport type { FormLabelAlign } from './interface'\n\nexport type RequiredMark = boolean | 'optional'\nexport type FormLayout = 'horizontal' | 'inline' | 'vertical'\n\nexport interface FormProps<Values = any> extends Omit<RcFormProps<Values>, 'form'> {\n prefixCls?: string\n colon?: boolean\n name?: string\n layout?: FormLayout\n labelAlign?: FormLabelAlign\n labelWrap?: boolean\n labelCol?: ColProps\n wrapperCol?: ColProps\n form?: FormInstance<Values>\n size?: SizeType\n disabled?: boolean\n readonly?: boolean\n scrollToFirstError?: Options | boolean\n requiredMark?: RequiredMark\n /** @deprecated Will warning in future branch. Pls use `requiredMark` instead. */\n hideRequiredMark?: boolean\n}\n\nconst InternalForm: React.ForwardRefRenderFunction<FormInstance, FormProps> = (props, ref) => {\n const contextSize = React.useContext(SizeContext)\n const contextDisabled = React.useContext(DisabledContext)\n // TODO\n // @ts-ignore\n const { getPrefixCls, direction, form: contextForm } = React.useContext(ConfigContext)\n\n const {\n prefixCls: customizePrefixCls,\n className = '',\n size = contextSize,\n disabled = contextDisabled,\n form,\n colon,\n labelAlign,\n labelWrap,\n labelCol,\n wrapperCol,\n hideRequiredMark,\n layout = 'horizontal',\n scrollToFirstError,\n requiredMark,\n onFinishFailed,\n name,\n readonly,\n ...restFormProps\n } = props\n\n const contextValidateMessages = React.useContext(ValidateMessagesContext)\n\n const mergedRequiredMark = useMemo(() => {\n if (requiredMark !== undefined) {\n return requiredMark\n }\n\n if (contextForm && contextForm.requiredMark !== undefined) {\n return contextForm.requiredMark\n }\n\n if (hideRequiredMark) {\n return false\n }\n\n return true\n }, [hideRequiredMark, requiredMark, contextForm])\n\n const mergedColon = colon ?? contextForm?.colon\n\n const prefixCls = getPrefixCls('form', customizePrefixCls)\n\n const formClassName = classNames(\n prefixCls,\n {\n [`${prefixCls}-tntd`]: true,\n [`${prefixCls}-${layout}`]: true,\n [`${prefixCls}-hide-required-mark`]: mergedRequiredMark === false,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-${size}`]: size,\n },\n className\n )\n\n const [wrapForm] = useForm(form)\n const { __INTERNAL__ } = wrapForm\n __INTERNAL__.name = name\n\n const formContextValue = useMemo<FormContextProps>(\n () => ({\n name,\n labelAlign,\n labelCol,\n labelWrap,\n wrapperCol,\n vertical: layout === 'vertical',\n colon: mergedColon,\n requiredMark: mergedRequiredMark,\n itemRef: __INTERNAL__.itemRef,\n form: wrapForm,\n readonly,\n }),\n [\n name,\n labelAlign,\n labelCol,\n labelWrap,\n wrapperCol,\n layout,\n mergedColon,\n mergedRequiredMark,\n wrapForm,\n readonly,\n ]\n )\n\n React.useImperativeHandle(ref, () => wrapForm)\n\n const onInternalFinishFailed = (errorInfo: ValidateErrorEntity) => {\n onFinishFailed?.(errorInfo)\n\n let defaultScrollToFirstError: Options = { block: 'nearest' }\n\n if (scrollToFirstError && errorInfo.errorFields.length) {\n if (typeof scrollToFirstError === 'object') {\n defaultScrollToFirstError = scrollToFirstError\n }\n wrapForm.scrollToField(errorInfo.errorFields[0].name, defaultScrollToFirstError)\n }\n }\n\n return (\n <DisabledContextProvider disabled={disabled}>\n <SizeContextProvider size={size}>\n <FormProvider\n {...{\n // This is not list in API, we pass with spread\n validateMessages: contextValidateMessages,\n }}\n >\n <FormContext.Provider value={formContextValue}>\n <FieldForm\n id={name}\n {...restFormProps}\n name={name}\n onFinishFailed={onInternalFinishFailed}\n form={wrapForm}\n className={formClassName}\n />\n </FormContext.Provider>\n </FormProvider>\n </SizeContextProvider>\n </DisabledContextProvider>\n )\n}\n\nconst Form = React.forwardRef<FormInstance, FormProps>(InternalForm) as <Values = any>(\n props: React.PropsWithChildren<FormProps<Values>> & { ref?: React.Ref<FormInstance<Values>> }\n) => React.ReactElement\n\nexport { useForm, List, FormInstance, useWatch }\n\nexport default Form\n"]}
1
+ {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../src/tntd-form/Form.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames'\nimport FieldForm, { List, useWatch } from 'rc-field-form'\nimport type { FormProps as RcFormProps } from 'rc-field-form/lib/Form'\nimport type { ValidateErrorEntity } from 'rc-field-form/lib/interface'\nimport * as React from 'react'\nimport { useMemo, useEffect } from 'react'\nimport type { Options } from 'scroll-into-view-if-needed'\nimport { ConfigContext } from '../config-provider'\nimport DisabledContext, { DisabledContextProvider } from '../config-provider/DisabledContext'\nimport type { SizeType } from '../config-provider/SizeContext'\nimport SizeContext, { SizeContextProvider } from '../config-provider/SizeContext'\nimport type { ColProps } from '../col'\nimport type { FormContextProps } from './context'\nimport { FormContext, FormProvider } from './context'\nimport ValidateMessagesContext from './validateMessagesContext'\nimport useForm, { FormInstance } from './hooks/useForm'\nimport type { FormLabelAlign } from './interface'\n\nexport type RequiredMark = boolean | 'optional'\nexport type FormLayout = 'horizontal' | 'inline' | 'vertical'\n\nexport interface FormProps<Values = any> extends Omit<RcFormProps<Values>, 'form'> {\n prefixCls?: string\n colon?: boolean\n name?: string\n layout?: FormLayout\n labelAlign?: FormLabelAlign\n labelWrap?: boolean\n labelCol?: ColProps\n wrapperCol?: ColProps\n form?: FormInstance<Values>\n size?: SizeType\n disabled?: boolean\n readonly?: boolean\n scrollToFirstError?: Options | boolean\n requiredMark?: RequiredMark\n /** @deprecated Will warning in future branch. Pls use `requiredMark` instead. */\n hideRequiredMark?: boolean\n}\n\nconst InternalForm: React.ForwardRefRenderFunction<FormInstance, FormProps> = (props, ref) => {\n const contextSize = React.useContext(SizeContext)\n const contextDisabled = React.useContext(DisabledContext)\n // TODO\n // @ts-ignore\n const { getPrefixCls, direction, form: contextForm } = React.useContext(ConfigContext)\n\n const {\n prefixCls: customizePrefixCls,\n className = '',\n size = contextSize,\n disabled = contextDisabled,\n form,\n colon,\n labelAlign,\n labelWrap,\n labelCol,\n wrapperCol,\n hideRequiredMark,\n layout = 'horizontal',\n scrollToFirstError,\n requiredMark,\n onFinishFailed,\n name,\n readonly,\n ...restFormProps\n } = props\n\n const contextValidateMessages = React.useContext(ValidateMessagesContext)\n\n const mergedRequiredMark = useMemo(() => {\n if (requiredMark !== undefined) {\n return requiredMark\n }\n\n if (contextForm && contextForm.requiredMark !== undefined) {\n return contextForm.requiredMark\n }\n\n if (hideRequiredMark) {\n return false\n }\n\n return true\n }, [hideRequiredMark, requiredMark, contextForm])\n\n const mergedColon = colon ?? contextForm?.colon\n\n const prefixCls = getPrefixCls('form', customizePrefixCls)\n\n const formClassName = classNames(\n prefixCls,\n {\n [`${prefixCls}-tntd`]: true,\n [`${prefixCls}-${layout}`]: true,\n [`${prefixCls}-hide-required-mark`]: mergedRequiredMark === false,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-${size}`]: size,\n },\n className\n )\n\n const [wrapForm] = useForm(form)\n const { __INTERNAL__ } = wrapForm\n __INTERNAL__.name = name\n\n const formContextValue = useMemo<FormContextProps>(\n () => ({\n name,\n labelAlign,\n labelCol,\n labelWrap,\n wrapperCol,\n vertical: layout === 'vertical',\n colon: mergedColon,\n requiredMark: mergedRequiredMark,\n itemRef: __INTERNAL__.itemRef,\n form: wrapForm,\n readonly,\n }),\n [\n name,\n labelAlign,\n labelCol,\n labelWrap,\n wrapperCol,\n layout,\n mergedColon,\n mergedRequiredMark,\n wrapForm,\n readonly,\n ]\n )\n\n React.useImperativeHandle(ref, () => wrapForm)\n\n const onInternalFinishFailed = (errorInfo: ValidateErrorEntity) => {\n onFinishFailed?.(errorInfo)\n\n let defaultScrollToFirstError: Options = { block: 'nearest' }\n\n if (scrollToFirstError && errorInfo.errorFields.length) {\n if (typeof scrollToFirstError === 'object') {\n defaultScrollToFirstError = scrollToFirstError\n }\n wrapForm.scrollToField(errorInfo.errorFields[0].name, defaultScrollToFirstError)\n }\n }\n\n useEffect(() => {\n // set initial values\n if (restFormProps.initialValues) {\n form?.setFieldsValue(restFormProps.initialValues)\n }\n\n // clear form fields value after unmount\n return () =>\n form.setFieldsValue(\n Object.keys(form.getFieldsValue() || {}).reduce((acc, cur) => {\n acc[cur] = undefined\n return acc\n }, {})\n )\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <DisabledContextProvider disabled={disabled}>\n <SizeContextProvider size={size}>\n <FormProvider\n {...{\n // This is not list in API, we pass with spread\n validateMessages: contextValidateMessages,\n }}\n >\n <FormContext.Provider value={formContextValue}>\n <FieldForm\n id={name}\n {...restFormProps}\n name={name}\n onFinishFailed={onInternalFinishFailed}\n form={wrapForm}\n className={formClassName}\n />\n </FormContext.Provider>\n </FormProvider>\n </SizeContextProvider>\n </DisabledContextProvider>\n )\n}\n\nconst Form = React.forwardRef<FormInstance, FormProps>(InternalForm) as <Values = any>(\n props: React.PropsWithChildren<FormProps<Values>> & { ref?: React.Ref<FormInstance<Values>> }\n) => React.ReactElement\n\nexport { useForm, List, FormInstance, useWatch }\n\nexport default Form\n"]}
@@ -14,6 +14,7 @@ import Form from './index';
14
14
  import { Input, InputNumber, Checkbox, Button, Select, Radio, Row, message, Icon, Modal, Drawer, Cascader, DatePicker, TimePicker, TreeSelect, Switch, Upload, } from '../index';
15
15
  import moment from 'moment';
16
16
  const { Option } = Select;
17
+ const { TreeNode } = TreeSelect;
17
18
  const options = [
18
19
  { label: 'Apple', value: 'apple' },
19
20
  { label: 'Pear', value: 'pear' },
@@ -49,6 +50,14 @@ Basic.args = {
49
50
  React.createElement(Input, null)),
50
51
  React.createElement(Form.Item, { label: "Password", name: "password", rules: [{ required: true, message: 'Please input your password!' }] },
51
52
  React.createElement(Input.Password, null)),
53
+ React.createElement(Form.Item, { label: "TreeSelect", name: "treeSelect", rules: [{ required: true, message: 'Please select one node' }] },
54
+ React.createElement(TreeSelect, { showSearch: true, treeDefaultExpandAll: true, allowClear: true },
55
+ React.createElement(TreeNode, { value: "parent 1", title: "parent 1", key: "0-1" },
56
+ React.createElement(TreeNode, { value: "parent 1-0", title: "parent 1-0", key: "0-1-1" },
57
+ React.createElement(TreeNode, { value: "leaf1", title: "my leaf", key: "random" }),
58
+ React.createElement(TreeNode, { value: "leaf2", title: "your leaf", key: "random1" })),
59
+ React.createElement(TreeNode, { value: "parent 1-1", title: "parent 1-1", key: "random2" },
60
+ React.createElement(TreeNode, { value: "sss", title: React.createElement("b", { style: { color: '#08c' } }, "sss"), key: "random3" }))))),
52
61
  React.createElement(Form.Item, { name: "remember", valuePropName: "checked", wrapperCol: { offset: 8, span: 16 } },
53
62
  React.createElement(Checkbox, null, "Remember me")),
54
63
  React.createElement(Form.Item, { wrapperCol: { offset: 8, span: 16 } },
@@ -259,12 +268,14 @@ export const DynamicItemsComplex = DynamicItemsComplexTpl.bind({});
259
268
  // 弹窗中表单
260
269
  const FormInModalTpl = () => {
261
270
  const [data, setData] = useState({});
271
+ const [destroyOnClose, setDestroyOnClose] = useState(true);
262
272
  const [popupType, setPopupType] = useState('modal');
263
273
  const PopupCom = {
264
274
  modal: Modal,
265
275
  drawer: Drawer,
266
276
  }[popupType];
267
277
  const close = () => setData(null);
278
+ const [form] = Form.useForm();
268
279
  return (React.createElement(React.Fragment, null,
269
280
  React.createElement(Button, { type: "primary", onClick: () => setData({}), style: { marginRight: 12 } }, "\u65B0\u5EFA"),
270
281
  React.createElement(Button, { type: "primary", style: { marginRight: 12, marginBottom: 12 }, onClick: () => setData({
@@ -276,8 +287,9 @@ const FormInModalTpl = () => {
276
287
  React.createElement(Radio.Group, { value: popupType, onChange: (evt) => setPopupType(evt.target.value) },
277
288
  React.createElement(Radio.Button, { value: "modal" }, "\u5F39\u7A97"),
278
289
  React.createElement(Radio.Button, { value: "drawer" }, "\u62BD\u5C49")),
279
- React.createElement(PopupCom, { title: `${(data === null || data === void 0 ? void 0 : data.id) ? '编辑' : '新建'}`, visible: !!data, width: "40%", destroyOnClose: true, onClose: close, onCancel: close, onOk: close },
280
- React.createElement(Form, { initialValues: data },
290
+ React.createElement(Switch, { onClick: () => setDestroyOnClose(!destroyOnClose), checked: destroyOnClose, checkedChildren: "\u5173\u95ED\u65F6\u9500\u6BC1\u5B50\u5143\u7D20", unCheckedChildren: "\u5173\u95ED\u65F6\u4E0D\u9500\u6BC1\u5B50\u5143\u7D20" }),
291
+ React.createElement(PopupCom, { title: `${(data === null || data === void 0 ? void 0 : data.id) ? '编辑' : '新建'}`, visible: !!data, width: "40%", destroyOnClose: destroyOnClose, onClose: close, onCancel: close, onOk: close },
292
+ React.createElement(Form, { initialValues: data, form: form },
281
293
  React.createElement(Form.Item, { name: "name", label: "\u540D\u79F0" },
282
294
  React.createElement(Input, null)),
283
295
  React.createElement(Form.Item, { name: "desc", label: "\u63CF\u8FF0" },