@flatbiz/antd 5.0.1 → 5.0.2

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.
@@ -0,0 +1,133 @@
1
+ /*! @flatjs/forge MIT @flatbiz/antd */
2
+
3
+ import { _ as _objectWithoutProperties, b as _objectSpread2 } from './_rollupPluginBabelHelpers-BYm17lo8.js';
4
+ import { useMemo } from 'react';
5
+ import { InputNumber } from 'antd';
6
+ import { isNotEmptyArray, isEmptyArray, isUndefinedOrNull } from '@flatbiz/utils';
7
+ import { F as FlexLayout } from './flex-layout-BaDncU_Z.js';
8
+ import { F as FormItemWrapper } from './form-item-wrapper-CwXh7JxL.js';
9
+ import { jsx, jsxs } from 'react/jsx-runtime';
10
+
11
+ var _excluded = ["minFormItemName", "maxFormItemName", "required", "requiredRuleMessage", "rangeRuleMessage", "minInputNumberProps", "maxInputNumberProps", "isInputEqual"];
12
+ /**
13
+ * 数字输入范围组件
14
+ */
15
+ var NumberRangeFormItem = function NumberRangeFormItem(props) {
16
+ var minFormItemName = props.minFormItemName,
17
+ maxFormItemName = props.maxFormItemName,
18
+ required = props.required,
19
+ requiredRuleMessage = props.requiredRuleMessage,
20
+ rangeRuleMessage = props.rangeRuleMessage,
21
+ minInputNumberProps = props.minInputNumberProps,
22
+ maxInputNumberProps = props.maxInputNumberProps,
23
+ isInputEqual = props.isInputEqual,
24
+ otherProps = _objectWithoutProperties(props, _excluded);
25
+ var rangeRuleMessageList = useMemo(function () {
26
+ if (!rangeRuleMessage) return ['最小值输入不能超过最大值', '最大值输入不能低于最小值'];
27
+ if (isNotEmptyArray(rangeRuleMessage)) {
28
+ return [rangeRuleMessage[0], rangeRuleMessage[1] || rangeRuleMessage[0]];
29
+ }
30
+ return [rangeRuleMessage, rangeRuleMessage];
31
+ }, [rangeRuleMessage]);
32
+ var requiredRuleMessageList = useMemo(function () {
33
+ if (!requiredRuleMessage || isEmptyArray(requiredRuleMessage)) return [];
34
+ if (isNotEmptyArray(requiredRuleMessage)) {
35
+ return [requiredRuleMessage[0], requiredRuleMessage[1] || requiredRuleMessage[0]];
36
+ }
37
+ return [requiredRuleMessage, requiredRuleMessage];
38
+ }, [requiredRuleMessage]);
39
+ var minRules = [{
40
+ required: required,
41
+ message: requiredRuleMessageList[0] || ''
42
+ }, function (_ref) {
43
+ var getFieldValue = _ref.getFieldValue;
44
+ return {
45
+ validator: function validator(_, value) {
46
+ if (isUndefinedOrNull(value)) {
47
+ return Promise.resolve();
48
+ }
49
+ var maxValue = getFieldValue(maxFormItemName);
50
+ if (isUndefinedOrNull(maxValue)) {
51
+ return Promise.resolve();
52
+ }
53
+ if (isInputEqual) {
54
+ if (value <= maxValue) {
55
+ return Promise.resolve();
56
+ }
57
+ } else {
58
+ if (value < maxValue) {
59
+ return Promise.resolve();
60
+ }
61
+ }
62
+ return Promise.reject(new Error(rangeRuleMessageList[0]));
63
+ }
64
+ };
65
+ }];
66
+ var maxRules = [{
67
+ required: required,
68
+ message: requiredRuleMessageList[1] || ''
69
+ }, function (_ref2) {
70
+ var getFieldValue = _ref2.getFieldValue;
71
+ return {
72
+ validator: function validator(_, value) {
73
+ if (isUndefinedOrNull(value)) {
74
+ return Promise.resolve();
75
+ }
76
+ var minValue = getFieldValue(minFormItemName);
77
+ if (isUndefinedOrNull(minValue)) {
78
+ return Promise.resolve();
79
+ }
80
+ if (isInputEqual) {
81
+ if (value >= minValue) {
82
+ return Promise.resolve();
83
+ }
84
+ } else {
85
+ if (value > minValue) {
86
+ return Promise.resolve();
87
+ }
88
+ }
89
+ return Promise.reject(new Error(rangeRuleMessageList[1]));
90
+ }
91
+ };
92
+ }];
93
+ return /*#__PURE__*/jsx(FormItemWrapper, _objectSpread2(_objectSpread2({}, otherProps), {}, {
94
+ required: required,
95
+ children: /*#__PURE__*/jsxs(FlexLayout, {
96
+ fullIndex: [0, 1],
97
+ direction: "horizontal",
98
+ gap: 10,
99
+ children: [/*#__PURE__*/jsx(FormItemWrapper, {
100
+ name: minFormItemName,
101
+ dependencies: [maxFormItemName],
102
+ rules: minRules,
103
+ style: {
104
+ margin: 0
105
+ },
106
+ children: /*#__PURE__*/jsx(InputNumber, _objectSpread2(_objectSpread2({
107
+ placeholder: "\u8BF7\u8F93\u5165"
108
+ }, minInputNumberProps), {}, {
109
+ style: _objectSpread2({
110
+ width: '100%'
111
+ }, minInputNumberProps === null || minInputNumberProps === void 0 ? void 0 : minInputNumberProps.style)
112
+ }))
113
+ }), /*#__PURE__*/jsx(FormItemWrapper, {
114
+ name: maxFormItemName,
115
+ dependencies: [minFormItemName],
116
+ rules: maxRules,
117
+ style: {
118
+ margin: 0
119
+ },
120
+ children: /*#__PURE__*/jsx(InputNumber, _objectSpread2(_objectSpread2({
121
+ placeholder: "\u8BF7\u8F93\u5165"
122
+ }, maxInputNumberProps), {}, {
123
+ style: _objectSpread2({
124
+ width: '100%'
125
+ }, maxInputNumberProps === null || maxInputNumberProps === void 0 ? void 0 : maxInputNumberProps.style)
126
+ }))
127
+ })]
128
+ })
129
+ }));
130
+ };
131
+
132
+ export { NumberRangeFormItem as N };
133
+ //# sourceMappingURL=number-range-B_WHzUn5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-range-B_WHzUn5.js","sources":["@flatbiz/antd/src/number-range-form-item/number-range.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { type GetProps, InputNumber } from 'antd';\nimport {\n isEmptyArray,\n isNotEmptyArray,\n isUndefinedOrNull,\n} from '@flatbiz/utils';\nimport { FlexLayout } from '../flex-layout/flex-layout.jsx';\nimport {\n FormItemWrapper,\n type FormItemWrapperProps,\n} from '../form-item-wrapper/index.js';\nimport type { FormItemNamePath } from '../types/index.js';\n\ntype InputNumberProps = GetProps<typeof InputNumber>;\n\nexport type NumberRangeFormItemProps = Omit<\n FormItemWrapperProps,\n 'name' | 'rules'\n> & {\n minFormItemName: FormItemNamePath;\n maxFormItemName: FormItemNamePath;\n /** 是否必填 */\n required?: boolean;\n /** 必填验证异常文案 */\n requiredRuleMessage?: string | [string, string];\n /** 范围验证异常文案 */\n rangeRuleMessage?: string | [string, string];\n minInputNumberProps?: Omit<InputNumberProps, 'value'>;\n maxInputNumberProps?: Omit<InputNumberProps, 'value'>;\n /** 最小值与最大值输入是否可以相同 */\n isInputEqual?: boolean;\n};\n/**\n * 数字输入范围组件\n */\nexport const NumberRangeFormItem = (props: NumberRangeFormItemProps) => {\n const {\n minFormItemName,\n maxFormItemName,\n required,\n requiredRuleMessage,\n rangeRuleMessage,\n minInputNumberProps,\n maxInputNumberProps,\n isInputEqual,\n ...otherProps\n } = props;\n\n const rangeRuleMessageList = useMemo(() => {\n if (!rangeRuleMessage)\n return ['最小值输入不能超过最大值', '最大值输入不能低于最小值'];\n if (isNotEmptyArray(rangeRuleMessage)) {\n return [rangeRuleMessage[0], rangeRuleMessage[1] || rangeRuleMessage[0]];\n }\n return [rangeRuleMessage, rangeRuleMessage] as string[];\n }, [rangeRuleMessage]);\n\n const requiredRuleMessageList = useMemo(() => {\n if (!requiredRuleMessage || isEmptyArray(requiredRuleMessage)) return [];\n if (isNotEmptyArray(requiredRuleMessage)) {\n return [\n requiredRuleMessage[0],\n requiredRuleMessage[1] || requiredRuleMessage[0],\n ];\n }\n return [requiredRuleMessage, requiredRuleMessage] as string[];\n }, [requiredRuleMessage]);\n\n const minRules = [\n { required: required, message: requiredRuleMessageList[0] || '' },\n ({ getFieldValue }) => ({\n validator(_, value) {\n if (isUndefinedOrNull(value)) {\n return Promise.resolve();\n }\n const maxValue = getFieldValue(maxFormItemName);\n if (isUndefinedOrNull(maxValue)) {\n return Promise.resolve();\n }\n if (isInputEqual) {\n if (value <= maxValue) {\n return Promise.resolve();\n }\n } else {\n if (value < maxValue) {\n return Promise.resolve();\n }\n }\n return Promise.reject(new Error(rangeRuleMessageList[0]));\n },\n }),\n ];\n\n const maxRules = [\n { required: required, message: requiredRuleMessageList[1] || '' },\n ({ getFieldValue }) => ({\n validator(_, value) {\n if (isUndefinedOrNull(value)) {\n return Promise.resolve();\n }\n const minValue = getFieldValue(minFormItemName);\n if (isUndefinedOrNull(minValue)) {\n return Promise.resolve();\n }\n\n if (isInputEqual) {\n if (value >= minValue) {\n return Promise.resolve();\n }\n } else {\n if (value > minValue) {\n return Promise.resolve();\n }\n }\n return Promise.reject(new Error(rangeRuleMessageList[1]));\n },\n }),\n ];\n\n return (\n <FormItemWrapper {...otherProps} required={required}>\n <FlexLayout fullIndex={[0, 1]} direction=\"horizontal\" gap={10}>\n <FormItemWrapper\n name={minFormItemName}\n dependencies={[maxFormItemName]}\n rules={minRules}\n style={{ margin: 0 }}\n >\n <InputNumber\n placeholder=\"请输入\"\n {...minInputNumberProps}\n style={{ width: '100%', ...minInputNumberProps?.style }}\n />\n </FormItemWrapper>\n <FormItemWrapper\n name={maxFormItemName}\n dependencies={[minFormItemName]}\n rules={maxRules}\n style={{ margin: 0 }}\n >\n <InputNumber\n placeholder=\"请输入\"\n {...maxInputNumberProps}\n style={{ width: '100%', ...maxInputNumberProps?.style }}\n />\n </FormItemWrapper>\n </FlexLayout>\n </FormItemWrapper>\n );\n};\n"],"names":["NumberRangeFormItem","props","minFormItemName","maxFormItemName","required","requiredRuleMessage","rangeRuleMessage","minInputNumberProps","maxInputNumberProps","isInputEqual","otherProps","_objectWithoutProperties","_excluded","rangeRuleMessageList","useMemo","isNotEmptyArray","requiredRuleMessageList","isEmptyArray","minRules","message","_ref","getFieldValue","validator","_","value","isUndefinedOrNull","Promise","resolve","maxValue","reject","Error","maxRules","_ref2","minValue","_jsx","FormItemWrapper","_objectSpread","children","_jsxs","FlexLayout","fullIndex","direction","gap","name","dependencies","rules","style","margin","InputNumber","placeholder","width"],"mappings":";;;;;;;;;;;AAiCA;AACA;AACA;IACaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,KAA+B,EAAK;AACtE,EAAA,IACEC,eAAe,GASbD,KAAK,CATPC,eAAe;IACfC,eAAe,GAQbF,KAAK,CARPE,eAAe;IACfC,QAAQ,GAONH,KAAK,CAPPG,QAAQ;IACRC,mBAAmB,GAMjBJ,KAAK,CANPI,mBAAmB;IACnBC,gBAAgB,GAKdL,KAAK,CALPK,gBAAgB;IAChBC,mBAAmB,GAIjBN,KAAK,CAJPM,mBAAmB;IACnBC,mBAAmB,GAGjBP,KAAK,CAHPO,mBAAmB;IACnBC,YAAY,GAEVR,KAAK,CAFPQ,YAAY;AACTC,IAAAA,UAAU,GAAAC,wBAAA,CACXV,KAAK,EAAAW,SAAA,CAAA;AAET,EAAA,IAAMC,oBAAoB,GAAGC,OAAO,CAAC,YAAM;IACzC,IAAI,CAACR,gBAAgB,EACnB,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC;AACzC,IAAA,IAAIS,eAAe,CAACT,gBAAgB,CAAC,EAAE;AACrC,MAAA,OAAO,CAACA,gBAAgB,CAAC,CAAC,CAAC,EAAEA,gBAAgB,CAAC,CAAC,CAAC,IAAIA,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC1E;AACA,IAAA,OAAO,CAACA,gBAAgB,EAAEA,gBAAgB,CAAC;AAC7C,GAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;AAEtB,EAAA,IAAMU,uBAAuB,GAAGF,OAAO,CAAC,YAAM;IAC5C,IAAI,CAACT,mBAAmB,IAAIY,YAAY,CAACZ,mBAAmB,CAAC,EAAE,OAAO,EAAE;AACxE,IAAA,IAAIU,eAAe,CAACV,mBAAmB,CAAC,EAAE;AACxC,MAAA,OAAO,CACLA,mBAAmB,CAAC,CAAC,CAAC,EACtBA,mBAAmB,CAAC,CAAC,CAAC,IAAIA,mBAAmB,CAAC,CAAC,CAAC,CACjD;AACH;AACA,IAAA,OAAO,CAACA,mBAAmB,EAAEA,mBAAmB,CAAC;AACnD,GAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,IAAMa,QAAQ,GAAG,CACf;AAAEd,IAAAA,QAAQ,EAAEA,QAAQ;AAAEe,IAAAA,OAAO,EAAEH,uBAAuB,CAAC,CAAC,CAAC,IAAI;GAAI,EACjE,UAAAI,IAAA,EAAA;AAAA,IAAA,IAAGC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IAAA,OAAQ;AACtBC,MAAAA,SAAS,WAATA,SAASA,CAACC,CAAC,EAAEC,KAAK,EAAE;AAClB,QAAA,IAAIC,iBAAiB,CAACD,KAAK,CAAC,EAAE;AAC5B,UAAA,OAAOE,OAAO,CAACC,OAAO,EAAE;AAC1B;AACA,QAAA,IAAMC,QAAQ,GAAGP,aAAa,CAAClB,eAAe,CAAC;AAC/C,QAAA,IAAIsB,iBAAiB,CAACG,QAAQ,CAAC,EAAE;AAC/B,UAAA,OAAOF,OAAO,CAACC,OAAO,EAAE;AAC1B;AACA,QAAA,IAAIlB,YAAY,EAAE;UAChB,IAAIe,KAAK,IAAII,QAAQ,EAAE;AACrB,YAAA,OAAOF,OAAO,CAACC,OAAO,EAAE;AAC1B;AACF,SAAC,MAAM;UACL,IAAIH,KAAK,GAAGI,QAAQ,EAAE;AACpB,YAAA,OAAOF,OAAO,CAACC,OAAO,EAAE;AAC1B;AACF;AACA,QAAA,OAAOD,OAAO,CAACG,MAAM,CAAC,IAAIC,KAAK,CAACjB,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D;KACD;AAAA,GAAC,CACH;EAED,IAAMkB,QAAQ,GAAG,CACf;AAAE3B,IAAAA,QAAQ,EAAEA,QAAQ;AAAEe,IAAAA,OAAO,EAAEH,uBAAuB,CAAC,CAAC,CAAC,IAAI;GAAI,EACjE,UAAAgB,KAAA,EAAA;AAAA,IAAA,IAAGX,aAAa,GAAAW,KAAA,CAAbX,aAAa;IAAA,OAAQ;AACtBC,MAAAA,SAAS,WAATA,SAASA,CAACC,CAAC,EAAEC,KAAK,EAAE;AAClB,QAAA,IAAIC,iBAAiB,CAACD,KAAK,CAAC,EAAE;AAC5B,UAAA,OAAOE,OAAO,CAACC,OAAO,EAAE;AAC1B;AACA,QAAA,IAAMM,QAAQ,GAAGZ,aAAa,CAACnB,eAAe,CAAC;AAC/C,QAAA,IAAIuB,iBAAiB,CAACQ,QAAQ,CAAC,EAAE;AAC/B,UAAA,OAAOP,OAAO,CAACC,OAAO,EAAE;AAC1B;AAEA,QAAA,IAAIlB,YAAY,EAAE;UAChB,IAAIe,KAAK,IAAIS,QAAQ,EAAE;AACrB,YAAA,OAAOP,OAAO,CAACC,OAAO,EAAE;AAC1B;AACF,SAAC,MAAM;UACL,IAAIH,KAAK,GAAGS,QAAQ,EAAE;AACpB,YAAA,OAAOP,OAAO,CAACC,OAAO,EAAE;AAC1B;AACF;AACA,QAAA,OAAOD,OAAO,CAACG,MAAM,CAAC,IAAIC,KAAK,CAACjB,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D;KACD;AAAA,GAAC,CACH;EAED,oBACEqB,GAAA,CAACC,eAAe,EAAAC,cAAA,CAAAA,cAAA,KAAK1B,UAAU,CAAA,EAAA,EAAA,EAAA;AAAEN,IAAAA,QAAQ,EAAEA,QAAS;IAAAiC,QAAA,eAClDC,IAAA,CAACC,UAAU,EAAA;AAACC,MAAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE;AAACC,MAAAA,SAAS,EAAC,YAAY;AAACC,MAAAA,GAAG,EAAE,EAAG;MAAAL,QAAA,EAAA,cAC5DH,GAAA,CAACC,eAAe,EAAA;AACdQ,QAAAA,IAAI,EAAEzC,eAAgB;QACtB0C,YAAY,EAAE,CAACzC,eAAe,CAAE;AAChC0C,QAAAA,KAAK,EAAE3B,QAAS;AAChB4B,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE;SAAI;AAAAV,QAAAA,QAAA,eAErBH,GAAA,CAACc,WAAW,EAAAZ,cAAA,CAAAA,cAAA,CAAA;AACVa,UAAAA,WAAW,EAAC;AAAK,SAAA,EACb1C,mBAAmB,CAAA,EAAA,EAAA,EAAA;AACvBuC,UAAAA,KAAK,EAAAV,cAAA,CAAA;AAAIc,YAAAA,KAAK,EAAE;AAAM,WAAA,EAAK3C,mBAAmB,KAAnBA,IAAAA,IAAAA,mBAAmB,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAmB,CAAEuC,KAAK;SACtD,CAAA;AAAC,OACa,CAAC,eAClBZ,GAAA,CAACC,eAAe,EAAA;AACdQ,QAAAA,IAAI,EAAExC,eAAgB;QACtByC,YAAY,EAAE,CAAC1C,eAAe,CAAE;AAChC2C,QAAAA,KAAK,EAAEd,QAAS;AAChBe,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE;SAAI;AAAAV,QAAAA,QAAA,eAErBH,GAAA,CAACc,WAAW,EAAAZ,cAAA,CAAAA,cAAA,CAAA;AACVa,UAAAA,WAAW,EAAC;AAAK,SAAA,EACbzC,mBAAmB,CAAA,EAAA,EAAA,EAAA;AACvBsC,UAAAA,KAAK,EAAAV,cAAA,CAAA;AAAIc,YAAAA,KAAK,EAAE;AAAM,WAAA,EAAK1C,mBAAmB,KAAnBA,IAAAA,IAAAA,mBAAmB,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAmB,CAAEsC,KAAK;SACtD,CAAA;AAAC,OACa,CAAC;KACR;AAAC,GAAA,CACE,CAAC;AAEtB;;;;"}
@@ -0,0 +1 @@
1
+ .v-flex-layout{display:flex}.v-flex-vertical{flex-direction:column}
@@ -0,0 +1,73 @@
1
+ import { TAny } from '@flatbiz/utils';
2
+ import { FormItemProps, GetProps, InputNumber } from 'antd';
3
+ import { ReactElement, ReactNode } from 'react';
4
+
5
+ export type TFormItemLayoutPreClassNameProps = {
6
+ /**
7
+ * label宽度,Form内部所有FormItem label都生效
8
+ * ```
9
+ * 1. 可设置数值
10
+ * 2. 可设置`auto`自适应
11
+ * ```
12
+ */
13
+ labelWidth?: "auto" | "70" | "80" | "90" | "100" | "110" | "120" | "130" | "140" | "150" | "160" | "170" | "180" | "190" | "200";
14
+ /** labelItem 竖直布局 */
15
+ labelItemVertical?: boolean;
16
+ /** label 对齐方式 */
17
+ labelAlign?: "left" | "right";
18
+ /**
19
+ * className 中可能会包含 preDefinedClassName.formItem.xx,优先级大于 labelWidth、labelItemVertical、labelAlign
20
+ */
21
+ className?: string;
22
+ };
23
+ export type FormItemWrapperProps = FormItemProps & TFormItemLayoutPreClassNameProps & {
24
+ wrapper?: (children: ReactNode) => ReactElement;
25
+ /** 设置wrapper后,before、after失效 */
26
+ before?: ReactNode;
27
+ /** 设置wrapper后,before、after失效 */
28
+ after?: ReactNode;
29
+ /** value 序列化处理 */
30
+ inputNormalize?: (value?: TAny) => TAny;
31
+ /**
32
+ * onChange 参数序列化处理
33
+ * 如果设置 normalize 属性,outputNormalize将失效
34
+ */
35
+ outputNormalize?: (value?: TAny) => TAny;
36
+ /** 是否清除 Form.Item */
37
+ isClear?: boolean;
38
+ /**
39
+ * 栅格占位格数,最大值:24
40
+ * ```
41
+ * 1. 当 FormItemWrapper 处在 EasyForm 直接子节点中有效,即FormItemWrapper在EasyForm栅格中的占位格数;
42
+ * ```
43
+ */
44
+ span?: number;
45
+ };
46
+ export type FormItemNamePath = string | number | Array<string | number>;
47
+ export type InputNumberProps = GetProps<typeof InputNumber>;
48
+ export type NumberRangeFormItemProps = Omit<FormItemWrapperProps, "name" | "rules"> & {
49
+ minFormItemName: FormItemNamePath;
50
+ maxFormItemName: FormItemNamePath;
51
+ /** 是否必填 */
52
+ required?: boolean;
53
+ /** 必填验证异常文案 */
54
+ requiredRuleMessage?: string | [
55
+ string,
56
+ string
57
+ ];
58
+ /** 范围验证异常文案 */
59
+ rangeRuleMessage?: string | [
60
+ string,
61
+ string
62
+ ];
63
+ minInputNumberProps?: Omit<InputNumberProps, "value">;
64
+ maxInputNumberProps?: Omit<InputNumberProps, "value">;
65
+ /** 最小值与最大值输入是否可以相同 */
66
+ isInputEqual?: boolean;
67
+ };
68
+ /**
69
+ * 数字输入范围组件
70
+ */
71
+ export declare const NumberRangeFormItem: (props: NumberRangeFormItemProps) => import("react").JSX.Element;
72
+
73
+ export {};
@@ -0,0 +1,17 @@
1
+ /* eslint-disable */
2
+ import './../form-item-wrapper/index.css';
3
+ import './../pre-defined-class-name/index.css';
4
+ import './index.css';
5
+ /*! @flatjs/forge MIT @flatbiz/antd */
6
+
7
+ export { N as NumberRangeFormItem } from '../number-range-B_WHzUn5.js';
8
+ import '../_rollupPluginBabelHelpers-BYm17lo8.js';
9
+ import 'react';
10
+ import 'antd';
11
+ import '@flatbiz/utils';
12
+ import '../flex-layout-BaDncU_Z.js';
13
+ import '@dimjs/utils/class-names/class-names';
14
+ import 'react/jsx-runtime';
15
+ import '../form-item-wrapper-CwXh7JxL.js';
16
+ import '../pre-defined-class-name/index.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "5.0.1",
3
+ "version": "5.0.2",
4
4
  "homepage": "https://gitlab.itcjf.com/flatjs-next/node-template-mono",
5
5
  "repository": {
6
6
  "type": "git",
@@ -154,6 +154,10 @@
154
154
  "types": "./dist/drag-collapse-form-list/index.d.ts",
155
155
  "import": "./dist/drag-collapse-form-list/index.js"
156
156
  },
157
+ "./drag-editable-card": {
158
+ "types": "./dist/drag-editable-card/index.d.ts",
159
+ "import": "./dist/drag-editable-card/index.js"
160
+ },
157
161
  "./drag-editable-table": {
158
162
  "types": "./dist/drag-editable-table/index.d.ts",
159
163
  "import": "./dist/drag-editable-table/index.js"
@@ -198,6 +202,10 @@
198
202
  "types": "./dist/editable-table/index.d.ts",
199
203
  "import": "./dist/editable-table/index.js"
200
204
  },
205
+ "./editable-card": {
206
+ "types": "./dist/editable-card/index.d.ts",
207
+ "import": "./dist/editable-card/index.js"
208
+ },
201
209
  "./error-boundary-wrapper": {
202
210
  "types": "./dist/error-boundary-wrapper/index.d.ts",
203
211
  "import": "./dist/error-boundary-wrapper/index.js"
@@ -302,6 +310,10 @@
302
310
  "types": "./dist/modal-action/index.d.ts",
303
311
  "import": "./dist/modal-action/index.js"
304
312
  },
313
+ "./number-range-form-item": {
314
+ "types": "./dist/number-range-form-item/index.d.ts",
315
+ "import": "./dist/number-range-form-item/index.js"
316
+ },
305
317
  "./page-fixed-footer": {
306
318
  "types": "./dist/page-fixed-footer/index.d.ts",
307
319
  "import": "./dist/page-fixed-footer/index.js"
@@ -508,12 +520,12 @@
508
520
  "@types/react": "^18.3.12",
509
521
  "@wove/react": "^2.0.2",
510
522
  "ahooks": "^3.8.1",
511
- "antd": "5.21.5",
523
+ "antd": "5.21.4",
512
524
  "dayjs": "1.11.13",
513
525
  "eslint": "9.13.0",
514
526
  "npm-run-all": "4.1.5",
515
- "react": "18.3.1",
516
- "react-dom": "18.3.1",
527
+ "react": "18.2.0",
528
+ "react-dom": "18.2.0",
517
529
  "typescript": "5.6.3",
518
530
  "vite-tsconfig-paths": "5.0.1",
519
531
  "vitest": "2.1.3"
@@ -542,7 +554,7 @@
542
554
  "dequal": "2.0.3",
543
555
  "pubsub-js": "1.9.4",
544
556
  "react-ace": "^12.0.0",
545
- "react-is": "^18.3.1",
557
+ "react-is": "^18.2.0",
546
558
  "react-split": "2.0.14",
547
559
  "simple-mind-map": "^0.12.0",
548
560
  "sql-formatter": "^15.4.5",
@@ -1 +0,0 @@
1
- {"version":3,"file":"editable-card-C2W7M00M.js","sources":["@flatbiz/antd/src/editable-card/editable-card.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { Fragment, isValidElement, useMemo, useRef } from 'react';\nimport type { FormListFieldData } from 'antd';\nimport { Empty, Form, type FormListOperation } from 'antd';\nimport { PlusOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { CardWrapper } from '../card-wrapper/card-wrapper.jsx';\nimport { DeleteNode } from '../delete-node/delete-node.jsx';\nimport { EasyForm } from '../easy-form/form.jsx';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { FormItemHidden } from '../form-item-hidden/form-item-hidden.jsx';\nimport { FormItemWrapper } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { TipsWrapper } from '../tips-wrapper/tips-wrapper.jsx';\nimport type {\n EditableCardDataIndex,\n EditableCardOperation,\n EditableCardProps,\n} from './type.js';\nimport './style.less';\n\n/**\n * 使用FormList实现可编辑卡片\n * ```\n * 1. EditableCard有两种模式,正常 & 禁用\n * 2. 必须在外部包裹Form组件\n * 3. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowField 方法\n * 4. 可使用DragEditableCard组件实现拖拽排序\n * 5. 设置EditableCard disabled后,通过 LabelValueRender 组件展示数据,可通过 disabledRenderProps 配置布局\n *\n * demo\n * https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * ```\n */\nexport const EditableCard = (props: EditableCardProps) => {\n const form = Form.useFormInstance();\n const formListName = toArray<string | number>(props.formListName);\n const formListOperationRef = useRef<FormListOperation>();\n const forceUpdate = hooks.useForceUpdate();\n\n const formListCompleteName = props.formListCompleteName || formListName;\n\n const validateRowFields = hooks.useCallbackRef(\n async (\n formItemPrevName: Array<string | number>,\n nameList: EditableCardDataIndex[]\n ) => {\n await form.validateFields(\n nameList.map((item) => [\n ...formItemPrevName,\n ...toArray<string | number>(item),\n ])\n );\n }\n );\n const getCurrentRowData = hooks.useCallbackRef(\n (formItemPrevName: Array<string | number>) => {\n return form.getFieldValue(formItemPrevName);\n }\n );\n\n const setCurrentRowField = hooks.useCallbackRef(\n (\n formItemPrevName: string | number,\n dataIndexConfigs: {\n name: EditableCardDataIndex;\n value?: TAny;\n }[]\n ) => {\n fbaUtils.setFormFieldsAndTriggerValuesChange(\n form,\n dataIndexConfigs.map((item) => {\n return {\n name: [\n ...formListCompleteName,\n formItemPrevName,\n ...toArray<string | number>(item.name),\n ],\n value: item.value,\n };\n })\n );\n forceUpdate();\n }\n );\n\n const columns = useMemo(() => {\n return props.columns.map((column) => {\n const title = column.title;\n let titleRender: ReactElement | string | undefined = title;\n if (column.tips) {\n titleRender = (\n <TipsWrapper\n tipType=\"popover\"\n popoverProps={{ content: column.tips }}\n >\n {title}\n </TipsWrapper>\n );\n }\n\n let required = column.required;\n\n if (\n !required &&\n typeof column.formItemProps === 'object' &&\n column.formItemProps.rules?.length\n ) {\n required = !!column.formItemProps.rules.find(\n (item) => !!item['required']\n );\n }\n\n const dataIndex = toArray<string>(column['dataIndex']);\n\n return {\n render: (\n index,\n fieldData: FormListFieldData,\n operation: FormListOperation\n ) => {\n const record = form.getFieldValue([\n ...formListCompleteName,\n fieldData.name,\n ]);\n const value = form.getFieldValue([\n ...formListCompleteName,\n fieldData.name,\n ...dataIndex,\n ]);\n if (isUndefinedOrNull(column.render)) {\n return <Fragment>{value}</Fragment>;\n }\n\n const editable =\n typeof column?.editable === 'function'\n ? column?.editable(record, index)\n : column?.editable;\n\n const rowFormItemCompleteName = [\n ...formListCompleteName,\n fieldData.name,\n ];\n\n const renderOperationProps: EditableCardOperation = {\n index,\n editable,\n add: operation.add,\n remove: operation.remove,\n move: operation.move,\n rowFormItemName: fieldData.name,\n rowFormItemCompleteName,\n setCurrentRowField: setCurrentRowField.bind(null, fieldData.name),\n validateRowFields: validateRowFields.bind(\n null,\n rowFormItemCompleteName\n ),\n getCurrentRowData: getCurrentRowData.bind(\n null,\n rowFormItemCompleteName\n ),\n forceUpdate,\n };\n\n if (column.hidden?.(record, index)) {\n return (\n <FormItemHidden\n name={[fieldData.name, ...dataIndex]}\n key={fieldData.key}\n />\n );\n }\n let formItemProps =\n typeof column.formItemProps === 'function'\n ? column.formItemProps(renderOperationProps)\n : column.formItemProps;\n\n if (!formItemProps?.rules?.length && required) {\n formItemProps = {\n ...formItemProps,\n rules: [{ required: true, message: '' }],\n };\n }\n\n if (editable === true) {\n return (\n <FormItemWrapper\n {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n >\n {column.render?.(renderOperationProps) as React.ReactNode}\n </FormItemWrapper>\n );\n }\n return (\n <FormItemWrapper\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n {...formItemProps}\n >\n {column.render?.(renderOperationProps)}\n </FormItemWrapper>\n );\n },\n };\n });\n }, [\n props.columns,\n form,\n formListCompleteName,\n setCurrentRowField,\n validateRowFields,\n getCurrentRowData,\n forceUpdate,\n ]);\n\n const className = classNames('editable-card', props.className);\n\n return (\n <div className={className} style={props.style}>\n <Form.List name={formListName} rules={props.rules}>\n {(fields, formListOperation, { errors }) => {\n formListOperationRef.current = formListOperation;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length\n ? '1px solid #ff4d4f'\n : '1px solid transparent',\n }}\n >\n {props.contentBeforeRender?.(formListOperation, fields.length)}\n {fields.map((fieldItem, index) => {\n const title = props.onCustomGroupName\n ? props.onCustomGroupName(index)\n : index + 1;\n\n const extraData = {\n index,\n fields,\n fieldItem,\n operation: formListOperation,\n required: props.required,\n key: `${fieldItem.key}`,\n };\n if (props.onCustomWrapper) {\n return props.onCustomWrapper(\n <EasyForm\n nonuseFormWrapper={true}\n key={fieldItem.key}\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column, index) => {\n return column.render(\n index,\n fieldItem,\n formListOperation\n );\n })}\n </EasyForm>,\n extraData\n );\n }\n\n const cardExtraRenderResult =\n props.cardExtraRender?.(extraData);\n\n return (\n <CardWrapper\n key={fieldItem.key}\n className={props.cardClassName}\n title={title}\n size=\"small\"\n style={{\n padding: 0,\n margin: '0 0 15px 0',\n ...props.cardStyle,\n }}\n bodyStyle={{ paddingBottom: 0 }}\n // styles={{ body: { paddingBottom: 0 } }}\n extra={\n isValidElement(cardExtraRenderResult) ? (\n cardExtraRenderResult\n ) : (\n <div\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '8px',\n }}\n >\n {cardExtraRenderResult?.['before']}\n <DeleteNode\n style={{ color: 'red' }}\n hidden={props.required && fields.length === 1}\n onDelete={() => {\n formListOperation.remove(index);\n }}\n />\n {cardExtraRenderResult?.['after']}\n </div>\n )\n }\n >\n <EasyForm\n nonuseFormWrapper={true}\n key={fieldItem.key}\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column, index) => {\n return column.render(\n index,\n fieldItem,\n formListOperation\n );\n })}\n </EasyForm>\n </CardWrapper>\n );\n })}\n {fields.length === 0 ? (\n <div className=\"editable-card-empty\">\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n ) : null}\n <ButtonWrapper\n block\n hidden={props.hiddenFooterBtn}\n type=\"dashed\"\n icon={<PlusOutlined />}\n style={{ marginTop: fields.length ? 15 : 0 }}\n onClick={() => {\n const defaultValues = props.addRowDefaultValues?.();\n formListOperation.add({ ...defaultValues });\n }}\n >\n 新增\n </ButtonWrapper>\n {props.contentAfterRender?.(formListOperation, fields.length)}\n {errors.length ? (\n <Form.ErrorList\n errors={[\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]}\n />\n ) : null}\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["EditableCard","props","form","Form","useFormInstance","formListName","toArray","formListOperationRef","useRef","forceUpdate","_hooks","useForceUpdate","formListCompleteName","validateRowFields","useCallbackRef","formItemPrevName","nameList","Promise","$return","$error","resolve","validateFields","map","item","concat","_toConsumableArray","then","$await_1","$boundEx","getCurrentRowData","getFieldValue","setCurrentRowField","dataIndexConfigs","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","columns","useMemo","column","_column$formItemProps","title","titleRender","tips","_jsx","TipsWrapper","tipType","popoverProps","content","children","required","formItemProps","rules","length","find","dataIndex","render","index","fieldData","operation","_column$hidden","_formItemProps","_column$render2","record","isUndefinedOrNull","Fragment","editable","rowFormItemCompleteName","renderOperationProps","add","remove","move","rowFormItemName","bind","hidden","call","FormItemHidden","key","_objectSpread","message","_column$render","_createElement","FormItemWrapper","label","span","gridNumber","className","_classNames","style","List","fields","formListOperation","_ref","_props$contentBeforeR","_props$contentAfterRe","errors","current","_jsxs","borderRadius","border","contentBeforeRender","fieldItem","_props$cardExtraRende","_props$cardEasyFormPr2","onCustomGroupName","extraData","onCustomWrapper","_props$cardEasyFormPr","EasyForm","nonuseFormWrapper","cardEasyFormProps","padding","margin","cardExtraRenderResult","cardExtraRender","CardWrapper","cardClassName","size","cardStyle","bodyStyle","paddingBottom","extra","isValidElement","display","alignItems","gap","DeleteNode","color","onDelete","Empty","image","PRESENTED_IMAGE_SIMPLE","ButtonWrapper","block","hiddenFooterBtn","type","icon","_PlusOutlined","marginTop","onClick","_props$addRowDefaultV","defaultValues","addRowDefaultValues","contentAfterRender","ErrorList"],"mappings":"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"}