@hkyhy/marsun-components-core 0.1.68 → 0.1.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/FlexBox/FlexBox.d.ts +7 -0
- package/dist/components/FlexBox/FlexBox.js +43 -0
- package/dist/components/FlexBox/FlexBox.js.map +1 -0
- package/dist/components/FlexBox/FlexBoxFetch.d.ts +3 -0
- package/dist/components/FlexBox/FlexBoxFetch.js +92 -0
- package/dist/components/FlexBox/FlexBoxFetch.js.map +1 -0
- package/dist/components/FlexBox/FlexBoxView.d.ts +18 -0
- package/dist/components/FlexBox/FlexBoxView.js +42 -0
- package/dist/components/FlexBox/FlexBoxView.js.map +1 -0
- package/dist/components/FlexBox/defaultColumns.d.ts +7 -0
- package/dist/components/FlexBox/defaultColumns.js +26 -0
- package/dist/components/FlexBox/defaultColumns.js.map +1 -0
- package/dist/components/FlexBox/index.d.ts +79 -0
- package/dist/components/FlexBox/useFlexBox.d.ts +5 -0
- package/dist/components/FlexBox/useFlexBox.js +19 -0
- package/dist/components/FlexBox/useFlexBox.js.map +1 -0
- package/dist/components/Form/FormDataSync.d.ts +3 -0
- package/dist/components/Form/FormDataSync.js +29 -15
- package/dist/components/Form/FormDataSync.js.map +1 -1
- package/dist/components/Form/InputRange.d.ts +19 -0
- package/dist/components/Form/InputRange.js +84 -0
- package/dist/components/Form/InputRange.js.map +1 -0
- package/dist/components/Form/InputRange.module.scss.js +9 -0
- package/dist/components/Form/InputRange.module.scss.js.map +1 -0
- package/dist/components/Form/index.d.ts +4 -0
- package/dist/components/Form/inputRangeRules.d.ts +15 -0
- package/dist/components/Form/inputRangeRules.js +23 -0
- package/dist/components/Form/inputRangeRules.js.map +1 -0
- package/dist/components/Form/kneFormInfo.js +9 -9
- package/dist/components/FormInfo/ErrorTip.d.ts +7 -0
- package/dist/components/FormInfo/ErrorTip.js +89 -0
- package/dist/components/FormInfo/ErrorTip.js.map +1 -0
- package/dist/components/FormInfo/Form.d.ts +7 -0
- package/dist/components/FormInfo/Form.js +23 -0
- package/dist/components/FormInfo/Form.js.map +1 -0
- package/dist/components/FormInfo/FormApiButton.d.ts +7 -0
- package/dist/components/FormInfo/FormApiButton.js +28 -0
- package/dist/components/FormInfo/FormApiButton.js.map +1 -0
- package/dist/components/FormInfo/FormDrawer.d.ts +9 -0
- package/dist/components/FormInfo/FormDrawer.js +42 -0
- package/dist/components/FormInfo/FormDrawer.js.map +1 -0
- package/dist/components/FormInfo/FormInfo.d.ts +4 -0
- package/dist/components/FormInfo/FormInfo.js +61 -0
- package/dist/components/FormInfo/FormInfo.js.map +1 -0
- package/dist/components/FormInfo/FormItem.d.ts +4 -0
- package/dist/components/FormInfo/FormItem.js +10 -0
- package/dist/components/FormInfo/FormItem.js.map +1 -0
- package/dist/components/FormInfo/FormModal.d.ts +11 -0
- package/dist/components/FormInfo/FormModal.js +43 -0
- package/dist/components/FormInfo/FormModal.js.map +1 -0
- package/dist/components/FormInfo/FormSteps.d.ts +9 -0
- package/dist/components/FormInfo/FormSteps.js +96 -0
- package/dist/components/FormInfo/FormSteps.js.map +1 -0
- package/dist/components/FormInfo/FormStepsModal.d.ts +14 -0
- package/dist/components/FormInfo/FormStepsModal.js +96 -0
- package/dist/components/FormInfo/FormStepsModal.js.map +1 -0
- package/dist/components/FormInfo/List.d.ts +6 -0
- package/dist/components/FormInfo/List.js +180 -0
- package/dist/components/FormInfo/List.js.map +1 -0
- package/dist/components/FormInfo/MultiField.d.ts +6 -0
- package/dist/components/FormInfo/MultiField.js +76 -0
- package/dist/components/FormInfo/MultiField.js.map +1 -0
- package/dist/components/FormInfo/Steps.d.ts +26 -0
- package/dist/components/FormInfo/Steps.js +178 -0
- package/dist/components/FormInfo/Steps.js.map +1 -0
- package/dist/components/FormInfo/TableList.d.ts +6 -0
- package/dist/components/FormInfo/TableList.js +216 -0
- package/dist/components/FormInfo/TableList.js.map +1 -0
- package/dist/components/FormInfo/buildFormOverlayProps.d.ts +27 -0
- package/dist/components/FormInfo/buildFormOverlayProps.js +55 -0
- package/dist/components/FormInfo/buildFormOverlayProps.js.map +1 -0
- package/dist/components/FormInfo/fields.d.ts +33 -0
- package/dist/components/FormInfo/fields.js +30 -0
- package/dist/components/FormInfo/fields.js.map +1 -0
- package/dist/components/FormInfo/index.d.ts +21 -0
- package/dist/components/FormInfo/locale/zh-CN.d.ts +16 -0
- package/dist/components/FormInfo/locale/zh-CN.js +17 -0
- package/dist/components/FormInfo/locale/zh-CN.js.map +1 -0
- package/dist/components/FormInfo/nestBlock.d.ts +15 -0
- package/dist/components/FormInfo/nestBlock.js +19 -0
- package/dist/components/FormInfo/nestBlock.js.map +1 -0
- package/dist/components/FormInfo/style.module.scss.js +57 -0
- package/dist/components/FormInfo/style.module.scss.js.map +1 -0
- package/dist/components/FormInfo/types.d.ts +213 -0
- package/dist/components/FormInfo/withLocale.d.ts +14 -0
- package/dist/components/FormInfo/withLocale.js +25 -0
- package/dist/components/FormInfo/withLocale.js.map +1 -0
- package/dist/components/Iam/client.d.ts +42 -0
- package/dist/components/Iam/index.d.ts +10 -0
- package/dist/components/Iam/pages/IamOrgPage.d.ts +8 -0
- package/dist/components/Iam/pages/IamOrgPage.js +45 -0
- package/dist/components/Iam/pages/IamOrgPage.js.map +1 -0
- package/dist/components/Iam/pages/IamRolesPage.d.ts +24 -0
- package/dist/components/Iam/pages/IamRolesPage.js +222 -0
- package/dist/components/Iam/pages/IamRolesPage.js.map +1 -0
- package/dist/components/Iam/pages/IamSharedGroupsPage.d.ts +6 -0
- package/dist/components/Iam/pages/IamSharedGroupsPage.js +207 -0
- package/dist/components/Iam/pages/IamSharedGroupsPage.js.map +1 -0
- package/dist/components/Iam/pages/IamUsersPage.d.ts +10 -0
- package/dist/components/Iam/pages/IamUsersPage.js +314 -0
- package/dist/components/Iam/pages/IamUsersPage.js.map +1 -0
- package/dist/components/Iam/types.d.ts +85 -0
- package/dist/components/Iam/utils/catalogToItems.d.ts +3 -0
- package/dist/components/Iam/utils/catalogToItems.js +17 -0
- package/dist/components/Iam/utils/catalogToItems.js.map +1 -0
- package/dist/components/Iam/utils/draftEffectivePermissions.d.ts +48 -0
- package/dist/components/Iam/utils/draftEffectivePermissions.js +42 -0
- package/dist/components/Iam/utils/draftEffectivePermissions.js.map +1 -0
- package/dist/components/Iam/utils/multiTagSelect.d.ts +15 -0
- package/dist/components/Iam/utils/multiTagSelect.js +21 -0
- package/dist/components/Iam/utils/multiTagSelect.js.map +1 -0
- package/dist/components/Iam/utils/roleDisplay.d.ts +13 -0
- package/dist/components/Iam/utils/roleDisplay.js +17 -0
- package/dist/components/Iam/utils/roleDisplay.js.map +1 -0
- package/dist/components/InfoPage/CentralContent/boxComputed.d.ts +2 -0
- package/dist/components/InfoPage/CentralContent/boxComputed.js +15 -0
- package/dist/components/InfoPage/CentralContent/boxComputed.js.map +1 -0
- package/dist/components/InfoPage/CentralContent/index.d.ts +3 -0
- package/dist/components/InfoPage/CentralContent/index.js +102 -0
- package/dist/components/InfoPage/CentralContent/index.js.map +1 -0
- package/dist/components/InfoPage/CentralContent/style.module.scss.js +15 -0
- package/dist/components/InfoPage/CentralContent/style.module.scss.js.map +1 -0
- package/dist/components/InfoPage/Content/index.d.ts +16 -0
- package/dist/components/InfoPage/Content/index.js +72 -0
- package/dist/components/InfoPage/Content/index.js.map +1 -0
- package/dist/components/InfoPage/Content/style.module.scss.js +14 -0
- package/dist/components/InfoPage/Content/style.module.scss.js.map +1 -0
- package/dist/components/InfoPage/Descriptions/index.d.ts +9 -0
- package/dist/components/InfoPage/Descriptions/index.js +48 -0
- package/dist/components/InfoPage/Descriptions/index.js.map +1 -0
- package/dist/components/InfoPage/Descriptions/style.module.scss.js +11 -0
- package/dist/components/InfoPage/Descriptions/style.module.scss.js.map +1 -0
- package/dist/components/InfoPage/Flow/index.d.ts +9 -0
- package/dist/components/InfoPage/Flow/index.js +165 -0
- package/dist/components/InfoPage/Flow/index.js.map +1 -0
- package/dist/components/InfoPage/Flow/style.module.scss.js +19 -0
- package/dist/components/InfoPage/Flow/style.module.scss.js.map +1 -0
- package/dist/components/InfoPage/InfoPage/Collapse.d.ts +10 -0
- package/dist/components/InfoPage/InfoPage/Collapse.js +11 -0
- package/dist/components/InfoPage/InfoPage/Collapse.js.map +1 -0
- package/dist/components/InfoPage/InfoPage/index.d.ts +21 -0
- package/dist/components/InfoPage/InfoPage/index.js +35 -0
- package/dist/components/InfoPage/InfoPage/index.js.map +1 -0
- package/dist/components/InfoPage/InfoPage/style.module.scss.js +15 -0
- package/dist/components/InfoPage/InfoPage/style.module.scss.js.map +1 -0
- package/dist/components/InfoPage/Report/List.d.ts +6 -0
- package/dist/components/InfoPage/Report/List.js +26 -0
- package/dist/components/InfoPage/Report/List.js.map +1 -0
- package/dist/components/InfoPage/Report/Part.d.ts +6 -0
- package/dist/components/InfoPage/Report/Part.js +42 -0
- package/dist/components/InfoPage/Report/Part.js.map +1 -0
- package/dist/components/InfoPage/Report/PrintPageBreak.d.ts +3 -0
- package/dist/components/InfoPage/Report/PrintPageBreak.js +8 -0
- package/dist/components/InfoPage/Report/PrintPageBreak.js.map +1 -0
- package/dist/components/InfoPage/Report/Result.d.ts +6 -0
- package/dist/components/InfoPage/Report/Result.js +26 -0
- package/dist/components/InfoPage/Report/Result.js.map +1 -0
- package/dist/components/InfoPage/Report/Table.d.ts +6 -0
- package/dist/components/InfoPage/Report/Table.js +125 -0
- package/dist/components/InfoPage/Report/Table.js.map +1 -0
- package/dist/components/InfoPage/Report/index.d.ts +26 -0
- package/dist/components/InfoPage/Report/index.js +61 -0
- package/dist/components/InfoPage/Report/index.js.map +1 -0
- package/dist/components/InfoPage/Report/style.module.scss.js +47 -0
- package/dist/components/InfoPage/Report/style.module.scss.js.map +1 -0
- package/dist/components/InfoPage/Score/index.d.ts +8 -0
- package/dist/components/InfoPage/Score/index.js +50 -0
- package/dist/components/InfoPage/Score/index.js.map +1 -0
- package/dist/components/InfoPage/Score/style.module.scss.js +10 -0
- package/dist/components/InfoPage/Score/style.module.scss.js.map +1 -0
- package/dist/components/InfoPage/SplitLine/index.d.ts +17 -0
- package/dist/components/InfoPage/SplitLine/index.js +67 -0
- package/dist/components/InfoPage/SplitLine/index.js.map +1 -0
- package/dist/components/InfoPage/SplitLine/style.module.scss.js +8 -0
- package/dist/components/InfoPage/SplitLine/style.module.scss.js.map +1 -0
- package/dist/components/InfoPage/computeColumnsValue.d.ts +28 -0
- package/dist/components/InfoPage/computeColumnsValue.js +60 -0
- package/dist/components/InfoPage/computeColumnsValue.js.map +1 -0
- package/dist/components/InfoPage/formatView.d.ts +23 -0
- package/dist/components/InfoPage/formatView.js +119 -0
- package/dist/components/InfoPage/formatView.js.map +1 -0
- package/dist/components/InfoPage/index.d.ts +262 -0
- package/dist/components/Layout/AgentAppShell/style.module.scss.js +20 -20
- package/dist/components/PermissionBindPanel/PermissionBindPanel.js +110 -98
- package/dist/components/PermissionBindPanel/PermissionBindPanel.js.map +1 -1
- package/dist/components/ReactModal/ColumnsLayout.d.ts +7 -0
- package/dist/components/ReactModal/ColumnsLayout.js +20 -0
- package/dist/components/ReactModal/ColumnsLayout.js.map +1 -0
- package/dist/components/ReactModal/Drawer.d.ts +73 -0
- package/dist/components/ReactModal/Drawer.js +292 -0
- package/dist/components/ReactModal/Drawer.js.map +1 -0
- package/dist/components/ReactModal/Footer.d.ts +12 -0
- package/dist/components/ReactModal/Footer.js +53 -0
- package/dist/components/ReactModal/Footer.js.map +1 -0
- package/dist/components/ReactModal/Modal.d.ts +14 -0
- package/dist/components/ReactModal/Modal.js +366 -0
- package/dist/components/ReactModal/Modal.js.map +1 -0
- package/dist/components/ReactModal/ScrollRegion.d.ts +7 -0
- package/dist/components/ReactModal/ScrollRegion.js +22 -0
- package/dist/components/ReactModal/ScrollRegion.js.map +1 -0
- package/dist/components/ReactModal/SimpleBar.d.ts +2 -0
- package/dist/components/ReactModal/SimpleBar.js +7 -0
- package/dist/components/ReactModal/SimpleBar.js.map +1 -0
- package/dist/components/ReactModal/TabsLayout.d.ts +6 -0
- package/dist/components/ReactModal/TabsLayout.js +16 -0
- package/dist/components/ReactModal/TabsLayout.js.map +1 -0
- package/dist/components/ReactModal/confirmModal.module.scss.js +30 -0
- package/dist/components/ReactModal/confirmModal.module.scss.js.map +1 -0
- package/dist/components/ReactModal/createDrawerRender.d.ts +2 -0
- package/dist/components/ReactModal/createDrawerRender.js +7 -0
- package/dist/components/ReactModal/createDrawerRender.js.map +1 -0
- package/dist/components/ReactModal/createModalRender.d.ts +2 -0
- package/dist/components/ReactModal/createModalRender.js +7 -0
- package/dist/components/ReactModal/createModalRender.js.map +1 -0
- package/dist/components/ReactModal/drawer.module.scss.js +36 -0
- package/dist/components/ReactModal/drawer.module.scss.js.map +1 -0
- package/dist/components/ReactModal/index.d.ts +57 -0
- package/dist/components/ReactModal/intlStub.d.ts +15 -0
- package/dist/components/ReactModal/intlStub.js +21 -0
- package/dist/components/ReactModal/intlStub.js.map +1 -0
- package/dist/components/ReactModal/layouts.module.scss.js +12 -0
- package/dist/components/ReactModal/layouts.module.scss.js.map +1 -0
- package/dist/components/ReactModal/locale/en-US.d.ts +5 -0
- package/dist/components/ReactModal/locale/zh-CN.d.ts +5 -0
- package/dist/components/ReactModal/locale/zh-CN.js +8 -0
- package/dist/components/ReactModal/locale/zh-CN.js.map +1 -0
- package/dist/components/ReactModal/lockParentScroll.d.ts +3 -0
- package/dist/components/ReactModal/modalClassNames.d.ts +5 -0
- package/dist/components/ReactModal/modalClassNames.js +8 -0
- package/dist/components/ReactModal/modalClassNames.js.map +1 -0
- package/dist/components/ReactModal/style.module.scss.js +38 -0
- package/dist/components/ReactModal/style.module.scss.js.map +1 -0
- package/dist/components/ReactModal/useConfirmModal.d.ts +4 -0
- package/dist/components/ReactModal/useConfirmModal.js +161 -0
- package/dist/components/ReactModal/useConfirmModal.js.map +1 -0
- package/dist/components/ReactModal/useDrawer.d.ts +5 -0
- package/dist/components/ReactModal/useDrawer.js +123 -0
- package/dist/components/ReactModal/useDrawer.js.map +1 -0
- package/dist/components/ReactModal/usePatchElement.d.ts +2 -0
- package/dist/components/ReactModal/usePatchElement.js +11 -0
- package/dist/components/ReactModal/usePatchElement.js.map +1 -0
- package/dist/components/ReactModal/withLocale.d.ts +5 -0
- package/dist/components/ReactModal/withLocale.js +6 -0
- package/dist/components/ReactModal/withLocale.js.map +1 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/form-info.d.ts +17 -0
- package/dist/form-info.js +68 -0
- package/dist/form-info.js.map +1 -0
- package/dist/iam.d.ts +14 -0
- package/dist/iam.js +23 -0
- package/dist/iam.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +700 -632
- package/dist/index.js.map +1 -1
- package/dist/marsun-components-core.css +1 -1
- package/dist/styles/global.css +1 -1
- package/dist/utils/date.d.ts +4 -1
- package/dist/utils/date.js +35 -27
- package/dist/utils/date.js.map +1 -1
- package/package.json +20 -2
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { jsx as m, jsxs as z } from "react/jsx-runtime";
|
|
2
|
+
import { useFormContext as K } from "@kne/react-form-antd";
|
|
3
|
+
import { useIsMobile as Q } from "@kne/responsive-utils";
|
|
4
|
+
import { useControllableValue as U } from "ahooks";
|
|
5
|
+
import { Flex as R, Steps as W, Button as $ } from "antd";
|
|
6
|
+
import q from "classnames";
|
|
7
|
+
import X from "lodash/omit";
|
|
8
|
+
import { useRef as Y, useState as Z, useCallback as j, useEffect as _ } from "react";
|
|
9
|
+
import A from "./FormInfo.js";
|
|
10
|
+
import { markNestBlock as ee } from "./nestBlock.js";
|
|
11
|
+
import te, { useFormInfoLocale as re } from "./withLocale.js";
|
|
12
|
+
import h from "./style.module.scss.js";
|
|
13
|
+
import se from "../InfoPage/InfoPage/index.js";
|
|
14
|
+
const D = (e = {}) => Array.isArray(e.fieldNames) && e.fieldNames.length ? e.fieldNames.filter(Boolean) : (e.list || []).map(
|
|
15
|
+
(r) => {
|
|
16
|
+
var s;
|
|
17
|
+
return r && typeof r == "object" && "props" in r ? (s = r.props) == null ? void 0 : s.name : void 0;
|
|
18
|
+
}
|
|
19
|
+
).filter(Boolean), ne = (e, r = []) => !(e != null && e.validateField) || !(e != null && e.emitter) || !r.length ? Promise.resolve(!0) : Promise.all(
|
|
20
|
+
r.map(
|
|
21
|
+
(s) => new Promise((i) => {
|
|
22
|
+
var C;
|
|
23
|
+
const d = (C = e.getField) == null ? void 0 : C.call(e, { name: s });
|
|
24
|
+
if (!(d != null && d.id)) {
|
|
25
|
+
i(!0);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
let P = !1, f;
|
|
29
|
+
const n = (o) => {
|
|
30
|
+
var a;
|
|
31
|
+
P || (P = !0, (a = f == null ? void 0 : f.remove) == null || a.call(f), clearTimeout(w), i(!!o));
|
|
32
|
+
};
|
|
33
|
+
f = e.emitter.addListener(
|
|
34
|
+
`form-field:validate:complete:${d.id}`,
|
|
35
|
+
(o) => {
|
|
36
|
+
const { validate: a } = o || {};
|
|
37
|
+
n((a == null ? void 0 : a.status) === "PASS");
|
|
38
|
+
}
|
|
39
|
+
), e.validateField({ name: s });
|
|
40
|
+
const w = setTimeout(() => {
|
|
41
|
+
var a, F;
|
|
42
|
+
const o = (a = e.getField) == null ? void 0 : a.call(e, { name: s });
|
|
43
|
+
n((o == null ? void 0 : o.isPass) === !0 || ((F = o == null ? void 0 : o.validate) == null ? void 0 : F.status) === "PASS");
|
|
44
|
+
}, 2e3);
|
|
45
|
+
})
|
|
46
|
+
)
|
|
47
|
+
).then((s) => s.every(Boolean)), oe = (e, r) => {
|
|
48
|
+
const s = new Set((r || []).map((i) => i == null ? void 0 : i.name).filter(Boolean));
|
|
49
|
+
return s.size ? e.findIndex((i) => D(i).some((d) => s.has(d))) : -1;
|
|
50
|
+
}, ae = te((e) => {
|
|
51
|
+
const { formatMessage: r } = re(), {
|
|
52
|
+
className: s,
|
|
53
|
+
stepsClassName: i,
|
|
54
|
+
title: d,
|
|
55
|
+
subtitle: P,
|
|
56
|
+
bordered: f,
|
|
57
|
+
items: n = [],
|
|
58
|
+
showActions: w = !0,
|
|
59
|
+
prevText: C,
|
|
60
|
+
nextText: o,
|
|
61
|
+
prevIcon: a,
|
|
62
|
+
nextIcon: F,
|
|
63
|
+
...I
|
|
64
|
+
} = Object.assign(
|
|
65
|
+
{
|
|
66
|
+
defaultCurrent: 0,
|
|
67
|
+
prevText: r({ id: "prev" }),
|
|
68
|
+
nextText: r({ id: "next" }),
|
|
69
|
+
prevIcon: null,
|
|
70
|
+
nextIcon: null
|
|
71
|
+
},
|
|
72
|
+
e
|
|
73
|
+
), O = Q(), { openApi: v } = K() || {}, E = Y(null), [B, M] = Z(!1), [l, u] = U(I, {
|
|
74
|
+
valuePropName: "current",
|
|
75
|
+
defaultValuePropName: "defaultCurrent"
|
|
76
|
+
}), V = O ? "vertical" : I.direction || I.orientation, G = V === "vertical", T = l >= n.length - 1, b = j(
|
|
77
|
+
(t) => {
|
|
78
|
+
const c = oe(n, t);
|
|
79
|
+
c < 0 || (u(c), requestAnimationFrame(() => {
|
|
80
|
+
var p, L;
|
|
81
|
+
(L = (p = E.current) == null ? void 0 : p.scrollIntoView) == null || L.call(p, { behavior: "smooth", block: "nearest" });
|
|
82
|
+
}));
|
|
83
|
+
},
|
|
84
|
+
[n, u]
|
|
85
|
+
);
|
|
86
|
+
_(() => {
|
|
87
|
+
const t = v == null ? void 0 : v.emitter;
|
|
88
|
+
if (!(t != null && t.addListener)) return;
|
|
89
|
+
const c = (g) => b(g), p = (g) => {
|
|
90
|
+
const { isPass: S, errors: k } = g || {};
|
|
91
|
+
S || b(k);
|
|
92
|
+
}, L = () => u(0), x = t.addListener("form:submit:error", c), N = t.addListener("form:submit:complete", p), y = t.addListener("form:reset", L);
|
|
93
|
+
return () => {
|
|
94
|
+
var g, S, k;
|
|
95
|
+
(g = x == null ? void 0 : x.remove) == null || g.call(x), (S = N == null ? void 0 : N.remove) == null || S.call(N), (k = y == null ? void 0 : y.remove) == null || k.call(y);
|
|
96
|
+
};
|
|
97
|
+
}, [v, b, u]);
|
|
98
|
+
const H = j(async () => {
|
|
99
|
+
if (!(B || T)) {
|
|
100
|
+
M(!0);
|
|
101
|
+
try {
|
|
102
|
+
await ne(v, D(n[l])) && u(Math.min(n.length - 1, l + 1));
|
|
103
|
+
} finally {
|
|
104
|
+
M(!1);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}, [l, T, n, B, u, v]), J = j(() => {
|
|
108
|
+
u(Math.max(0, l - 1));
|
|
109
|
+
}, [l, u]);
|
|
110
|
+
return n.length ? /* @__PURE__ */ m("div", { ref: E, className: q(s, h["marsun-form-info-steps-embed"]), children: /* @__PURE__ */ m(se.Part, { title: d, subtitle: P, bordered: f, children: /* @__PURE__ */ z(R, { vertical: !0, gap: 24, children: [
|
|
111
|
+
/* @__PURE__ */ m(
|
|
112
|
+
W,
|
|
113
|
+
{
|
|
114
|
+
...X(I, [
|
|
115
|
+
"current",
|
|
116
|
+
"defaultCurrent",
|
|
117
|
+
"onChange",
|
|
118
|
+
"direction",
|
|
119
|
+
"orientation",
|
|
120
|
+
"items"
|
|
121
|
+
]),
|
|
122
|
+
current: l,
|
|
123
|
+
direction: V,
|
|
124
|
+
className: q(
|
|
125
|
+
"marsun-form-info-steps",
|
|
126
|
+
i,
|
|
127
|
+
h["marsun-form-info-steps"],
|
|
128
|
+
{
|
|
129
|
+
[h["marsun-form-info-steps-vertical"]]: G
|
|
130
|
+
}
|
|
131
|
+
),
|
|
132
|
+
items: n.map((t, c) => ({
|
|
133
|
+
title: t.title || r({ id: "untitledStep" }, { index: c + 1 })
|
|
134
|
+
}))
|
|
135
|
+
}
|
|
136
|
+
),
|
|
137
|
+
n.map((t, c) => /* @__PURE__ */ m(
|
|
138
|
+
"div",
|
|
139
|
+
{
|
|
140
|
+
className: h["marsun-form-info-steps-embed-panel"],
|
|
141
|
+
style: c === l ? void 0 : { display: "none" },
|
|
142
|
+
"aria-hidden": c !== l,
|
|
143
|
+
children: t.children != null ? t.children : /* @__PURE__ */ m(A, { column: t.column, gap: t.gap, list: t.list || [] })
|
|
144
|
+
},
|
|
145
|
+
t.key || t.id || c
|
|
146
|
+
)),
|
|
147
|
+
w ? /* @__PURE__ */ z(
|
|
148
|
+
R,
|
|
149
|
+
{
|
|
150
|
+
className: h["marsun-form-info-steps-actions"],
|
|
151
|
+
justify: "space-between",
|
|
152
|
+
align: "center",
|
|
153
|
+
gap: 8,
|
|
154
|
+
wrap: "wrap",
|
|
155
|
+
children: [
|
|
156
|
+
/* @__PURE__ */ m("div", { className: h["marsun-form-info-steps-actions-side"], children: l > 0 ? /* @__PURE__ */ m($, { type: "link", size: "small", icon: a, onClick: J, children: C }) : null }),
|
|
157
|
+
/* @__PURE__ */ m("div", { className: h["marsun-form-info-steps-actions-side"], children: T ? null : /* @__PURE__ */ m(
|
|
158
|
+
$,
|
|
159
|
+
{
|
|
160
|
+
type: "link",
|
|
161
|
+
size: "small",
|
|
162
|
+
icon: F,
|
|
163
|
+
iconPosition: "end",
|
|
164
|
+
loading: B,
|
|
165
|
+
onClick: H,
|
|
166
|
+
children: o
|
|
167
|
+
}
|
|
168
|
+
) })
|
|
169
|
+
]
|
|
170
|
+
}
|
|
171
|
+
) : null
|
|
172
|
+
] }) }) }) : null;
|
|
173
|
+
}), ye = ee(ae);
|
|
174
|
+
export {
|
|
175
|
+
ye as default,
|
|
176
|
+
ne as validateFieldsByName
|
|
177
|
+
};
|
|
178
|
+
//# sourceMappingURL=Steps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Steps.js","sources":["../../../src/components/FormInfo/Steps.tsx"],"sourcesContent":["// @ts-nocheck\nimport { useFormContext } from '@kne/react-form-antd';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { useControllableValue } from 'ahooks';\nimport { Button, Flex, Steps as AntSteps } from 'antd';\nimport classnames from 'classnames';\nimport omit from 'lodash/omit';\nimport { useCallback, useEffect, useRef, useState, type ReactNode } from 'react';\nimport InfoPage from '@/components/InfoPage';\nimport FormInfo from './FormInfo';\nimport { markNestBlock } from './nestBlock';\nimport type { StepsItem, StepsProps } from './types';\nimport withLocale, { useFormInfoLocale } from './withLocale';\nimport style from './style.module.scss';\n\nconst collectFieldNames = (item: StepsItem = {}) => {\n if (Array.isArray(item.fieldNames) && item.fieldNames.length) {\n return item.fieldNames.filter(Boolean);\n }\n return (item.list || [])\n .map((field) =>\n field && typeof field === 'object' && 'props' in field\n ? (field as React.ReactElement).props?.name\n : undefined,\n )\n .filter(Boolean) as string[];\n};\n\n/** 校验指定字段,全部 PASS 才返回 true */\nexport const validateFieldsByName = (\n openApi:\n | {\n validateField?: (p: { name: string }) => void;\n emitter?: {\n addListener: (ev: string, fn: (p: unknown) => void) => { remove?: () => void };\n };\n getField?: (p: { name: string }) => {\n id?: string;\n isPass?: boolean;\n validate?: { status?: string };\n };\n }\n | null\n | undefined,\n names: string[] = [],\n) => {\n if (!openApi?.validateField || !openApi?.emitter || !names.length) {\n return Promise.resolve(true);\n }\n\n return Promise.all(\n names.map(\n (name) =>\n new Promise<boolean>((resolve) => {\n const field = openApi.getField?.({ name });\n if (!field?.id) {\n resolve(true);\n return;\n }\n\n let settled = false;\n let subscription: { remove?: () => void } | undefined;\n const finish = (pass: boolean) => {\n if (settled) return;\n settled = true;\n subscription?.remove?.();\n clearTimeout(timer);\n resolve(!!pass);\n };\n\n subscription = openApi.emitter!.addListener(\n `form-field:validate:complete:${field.id}`,\n (payload: unknown) => {\n const { validate } = (payload || {}) as { validate?: { status?: string } };\n finish(validate?.status === 'PASS');\n },\n );\n\n openApi.validateField!({ name });\n\n const timer = setTimeout(() => {\n const latest = openApi.getField?.({ name });\n finish(latest?.isPass === true || latest?.validate?.status === 'PASS');\n }, 2000);\n }),\n ),\n ).then((results) => results.every(Boolean));\n};\n\nconst findFirstErrorStepIndex = (\n items: StepsItem[],\n errors: Array<{ name?: string }> | undefined,\n) => {\n const errorNames = new Set((errors || []).map((item) => item?.name).filter(Boolean));\n if (!errorNames.size) return -1;\n return items.findIndex((step) => collectFieldNames(step).some((name) => errorNames.has(name)));\n};\n\n/**\n * 嵌入父级 Form 的分步区域(不自建 Form)。\n */\nconst Steps = withLocale((p: StepsProps) => {\n const { formatMessage } = useFormInfoLocale();\n const {\n className,\n stepsClassName,\n title,\n subtitle,\n bordered,\n items = [],\n showActions = true,\n prevText,\n nextText,\n prevIcon,\n nextIcon,\n ...stepProps\n } = Object.assign(\n {\n defaultCurrent: 0,\n prevText: formatMessage({ id: 'prev' }),\n nextText: formatMessage({ id: 'next' }),\n prevIcon: null as ReactNode,\n nextIcon: null as ReactNode,\n },\n p,\n );\n\n const isMobile = useIsMobile();\n const { openApi } = (useFormContext() || {}) as {\n openApi?: Parameters<typeof validateFieldsByName>[0];\n };\n const rootRef = useRef<HTMLDivElement>(null);\n const [nextLoading, setNextLoading] = useState(false);\n const [currentStep, onStepChange] = useControllableValue(stepProps, {\n valuePropName: 'current',\n defaultValuePropName: 'defaultCurrent',\n }) as [number, (n: number) => void];\n\n const stepsDirection = isMobile ? 'vertical' : stepProps.direction || stepProps.orientation;\n const isVerticalSteps = stepsDirection === 'vertical';\n const isLastStep = currentStep >= items.length - 1;\n\n const jumpToErrorStep = useCallback(\n (errors: Array<{ name?: string }> | undefined) => {\n const index = findFirstErrorStepIndex(items, errors);\n if (index < 0) return;\n onStepChange(index);\n requestAnimationFrame(() => {\n rootRef.current?.scrollIntoView?.({ behavior: 'smooth', block: 'nearest' });\n });\n },\n [items, onStepChange],\n );\n\n useEffect(() => {\n const emitter = openApi?.emitter as\n | { addListener: (ev: string, fn: (p: unknown) => void) => { remove?: () => void } }\n | undefined;\n if (!emitter?.addListener) return undefined;\n\n const onSubmitError = (errors: unknown) => jumpToErrorStep(errors as Array<{ name?: string }>);\n const onSubmitComplete = (payload: unknown) => {\n const { isPass, errors } = (payload || {}) as {\n isPass?: boolean;\n errors?: Array<{ name?: string }>;\n };\n if (!isPass) jumpToErrorStep(errors);\n };\n const onReset = () => onStepChange(0);\n\n const errorSub = emitter.addListener('form:submit:error', onSubmitError);\n const completeSub = emitter.addListener('form:submit:complete', onSubmitComplete);\n const resetSub = emitter.addListener('form:reset', onReset);\n return () => {\n errorSub?.remove?.();\n completeSub?.remove?.();\n resetSub?.remove?.();\n };\n }, [openApi, jumpToErrorStep, onStepChange]);\n\n const handleNext = useCallback(async () => {\n if (nextLoading || isLastStep) return;\n setNextLoading(true);\n try {\n const pass = await validateFieldsByName(openApi, collectFieldNames(items[currentStep]));\n if (pass) onStepChange(Math.min(items.length - 1, currentStep + 1));\n } finally {\n setNextLoading(false);\n }\n }, [currentStep, isLastStep, items, nextLoading, onStepChange, openApi]);\n\n const handlePrev = useCallback(() => {\n onStepChange(Math.max(0, currentStep - 1));\n }, [currentStep, onStepChange]);\n\n if (!items.length) return null;\n\n return (\n <div ref={rootRef} className={classnames(className, style['marsun-form-info-steps-embed'])}>\n <InfoPage.Part title={title} subtitle={subtitle} bordered={bordered}>\n <Flex vertical gap={24}>\n <AntSteps\n {...omit(stepProps, [\n 'current',\n 'defaultCurrent',\n 'onChange',\n 'direction',\n 'orientation',\n 'items',\n ])}\n current={currentStep}\n direction={stepsDirection as 'horizontal' | 'vertical'}\n className={classnames(\n 'marsun-form-info-steps',\n stepsClassName,\n style['marsun-form-info-steps'],\n {\n [style['marsun-form-info-steps-vertical']]: isVerticalSteps,\n },\n )}\n items={items.map((item, index) => ({\n title: item.title || formatMessage({ id: 'untitledStep' }, { index: index + 1 }),\n }))}\n />\n\n {items.map((item, index) => (\n <div\n key={item.key || item.id || index}\n className={style['marsun-form-info-steps-embed-panel']}\n style={index === currentStep ? undefined : { display: 'none' }}\n aria-hidden={index !== currentStep}\n >\n {item.children != null ? (\n item.children\n ) : (\n <FormInfo column={item.column} gap={item.gap} list={item.list || []} />\n )}\n </div>\n ))}\n\n {showActions ? (\n <Flex\n className={style['marsun-form-info-steps-actions']}\n justify=\"space-between\"\n align=\"center\"\n gap={8}\n wrap=\"wrap\"\n >\n <div className={style['marsun-form-info-steps-actions-side']}>\n {currentStep > 0 ? (\n <Button type=\"link\" size=\"small\" icon={prevIcon} onClick={handlePrev}>\n {prevText}\n </Button>\n ) : null}\n </div>\n <div className={style['marsun-form-info-steps-actions-side']}>\n {!isLastStep ? (\n <Button\n type=\"link\"\n size=\"small\"\n icon={nextIcon}\n iconPosition=\"end\"\n loading={nextLoading}\n onClick={handleNext}\n >\n {nextText}\n </Button>\n ) : null}\n </div>\n </Flex>\n ) : null}\n </Flex>\n </InfoPage.Part>\n </div>\n );\n});\n\nexport default markNestBlock(Steps);\n"],"names":["collectFieldNames","item","field","_a","validateFieldsByName","openApi","names","name","resolve","settled","subscription","finish","pass","timer","payload","validate","latest","_b","results","findFirstErrorStepIndex","items","errors","errorNames","step","Steps","withLocale","p","formatMessage","useFormInfoLocale","className","stepsClassName","title","subtitle","bordered","showActions","prevText","nextText","prevIcon","nextIcon","stepProps","isMobile","useIsMobile","useFormContext","rootRef","useRef","nextLoading","setNextLoading","useState","currentStep","onStepChange","useControllableValue","stepsDirection","isVerticalSteps","isLastStep","jumpToErrorStep","useCallback","index","useEffect","emitter","onSubmitError","onSubmitComplete","isPass","onReset","errorSub","completeSub","resetSub","_c","handleNext","handlePrev","jsx","classnames","style","InfoPage","Flex","AntSteps","omit","FormInfo","jsxs","Button","EmbedSteps","markNestBlock"],"mappings":"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"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { jsx as t, jsxs as v } from "react/jsx-runtime";
|
|
2
|
+
import { TableList as V, SubList as W, FieldList as q } from "@kne/react-form-plus";
|
|
3
|
+
import { useIsMobile as H } from "@kne/responsive-utils";
|
|
4
|
+
import $, { isRenderMobileActive as G, resolveRenderMobile as J } from "@kne/table-view";
|
|
5
|
+
import { Row as k, Col as p, Button as h } from "antd";
|
|
6
|
+
import d from "classnames";
|
|
7
|
+
import { useMemo as N, useRef as K, useState as Q, useLayoutEffect as U } from "react";
|
|
8
|
+
import { markNestBlock as X } from "./nestBlock.js";
|
|
9
|
+
import Y, { useFormInfoLocale as Z } from "./withLocale.js";
|
|
10
|
+
import s from "./style.module.scss.js";
|
|
11
|
+
/* empty css */
|
|
12
|
+
import { Trash2 as ee } from "../Icons/Trash2.js";
|
|
13
|
+
import { Plus as re } from "../Icons/Plus.js";
|
|
14
|
+
import te from "../Empty/Empty.js";
|
|
15
|
+
import se from "../InfoPage/InfoPage/index.js";
|
|
16
|
+
const ie = (a) => !!(a && a.scrollWidth - a.clientWidth > 8), ne = (a, { removeText: c }) => [
|
|
17
|
+
...(Array.isArray(a) ? a : []).filter((l) => {
|
|
18
|
+
if (!l || typeof l != "object" || !("props" in l)) return !1;
|
|
19
|
+
const o = l.props;
|
|
20
|
+
return (o == null ? void 0 : o.display) !== !1 && !(o != null && o.hidden);
|
|
21
|
+
}).map((l) => {
|
|
22
|
+
const o = l;
|
|
23
|
+
return {
|
|
24
|
+
name: o.props.name,
|
|
25
|
+
title: o.props.label,
|
|
26
|
+
render: (u) => u
|
|
27
|
+
};
|
|
28
|
+
}),
|
|
29
|
+
{
|
|
30
|
+
name: "__options__",
|
|
31
|
+
type: "options",
|
|
32
|
+
title: c || "",
|
|
33
|
+
width: 100,
|
|
34
|
+
render: (l) => l
|
|
35
|
+
}
|
|
36
|
+
], oe = Y((a) => {
|
|
37
|
+
const { formatMessage: c } = Z(), {
|
|
38
|
+
className: w,
|
|
39
|
+
addIcon: l,
|
|
40
|
+
addText: o,
|
|
41
|
+
removeIcon: u,
|
|
42
|
+
removeText: b,
|
|
43
|
+
title: O,
|
|
44
|
+
bordered: z,
|
|
45
|
+
renderMobile: f = !0,
|
|
46
|
+
list: m,
|
|
47
|
+
styles: C,
|
|
48
|
+
style: j,
|
|
49
|
+
...M
|
|
50
|
+
} = Object.assign(
|
|
51
|
+
{
|
|
52
|
+
empty: /* @__PURE__ */ t(
|
|
53
|
+
te,
|
|
54
|
+
{
|
|
55
|
+
iconType: "simple",
|
|
56
|
+
description: !1,
|
|
57
|
+
className: s["marsun-form-info-table-list-empty"]
|
|
58
|
+
}
|
|
59
|
+
),
|
|
60
|
+
addIcon: /* @__PURE__ */ t(re, { size: 14 }),
|
|
61
|
+
addText: c({ id: "addText" }),
|
|
62
|
+
removeIcon: /* @__PURE__ */ t(ee, { size: 14 }),
|
|
63
|
+
removeText: c({ id: "deleteText" })
|
|
64
|
+
},
|
|
65
|
+
a
|
|
66
|
+
), A = H(), R = G(f, A), y = N(() => J(f), [f]), L = N(
|
|
67
|
+
() => ne(m || [], { removeText: b }),
|
|
68
|
+
[m, b]
|
|
69
|
+
), S = N(
|
|
70
|
+
() => (Array.isArray(m) ? m : []).filter((e) => {
|
|
71
|
+
if (!e || typeof e != "object" || !("props" in e)) return !1;
|
|
72
|
+
const r = e.props;
|
|
73
|
+
return (r == null ? void 0 : r.display) !== !1 && !(r != null && r.hidden);
|
|
74
|
+
}).length,
|
|
75
|
+
[m]
|
|
76
|
+
), x = K(null), [_, T] = Q(!1);
|
|
77
|
+
U(() => {
|
|
78
|
+
if (R) {
|
|
79
|
+
T(!1);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const e = x.current;
|
|
83
|
+
if (!e) return;
|
|
84
|
+
const r = () => T(ie(e));
|
|
85
|
+
r();
|
|
86
|
+
const i = typeof ResizeObserver < "u" ? new ResizeObserver(r) : null;
|
|
87
|
+
i == null || i.observe(e);
|
|
88
|
+
const n = typeof MutationObserver < "u" ? new MutationObserver(r) : null;
|
|
89
|
+
return n == null || n.observe(e, { childList: !0, subtree: !0, characterData: !0 }), window.addEventListener("resize", r), () => {
|
|
90
|
+
i == null || i.disconnect(), n == null || n.disconnect(), window.removeEventListener("resize", r);
|
|
91
|
+
};
|
|
92
|
+
}, [R, m, L]);
|
|
93
|
+
const g = (e, { onAdd: r, allowAdd: i }, n) => /* @__PURE__ */ t(
|
|
94
|
+
se.Part,
|
|
95
|
+
{
|
|
96
|
+
title: O,
|
|
97
|
+
className: d(w, s["marsun-form-info-table-list"], n),
|
|
98
|
+
bordered: z,
|
|
99
|
+
styles: C,
|
|
100
|
+
style: j,
|
|
101
|
+
extra: /* @__PURE__ */ t("div", { className: s["marsun-form-info-extra-container"], children: i && /* @__PURE__ */ t(h, { className: s["marsun-form-info-extra-btn"], icon: l, onClick: r, children: o }) }),
|
|
102
|
+
children: e
|
|
103
|
+
}
|
|
104
|
+
), E = () => /* @__PURE__ */ t(
|
|
105
|
+
V,
|
|
106
|
+
{
|
|
107
|
+
...M,
|
|
108
|
+
list: m,
|
|
109
|
+
headerRender: (e) => /* @__PURE__ */ v(k, { className: s["marsun-form-info-table-list-header"], wrap: !1, children: [
|
|
110
|
+
e,
|
|
111
|
+
/* @__PURE__ */ t(
|
|
112
|
+
p,
|
|
113
|
+
{
|
|
114
|
+
className: d(
|
|
115
|
+
s["marsun-form-info-table-options"],
|
|
116
|
+
s["marsun-form-info-table-options-header"]
|
|
117
|
+
)
|
|
118
|
+
}
|
|
119
|
+
)
|
|
120
|
+
] }),
|
|
121
|
+
headerItemRender: (e, { id: r, isReq: i }) => /* @__PURE__ */ t(
|
|
122
|
+
p,
|
|
123
|
+
{
|
|
124
|
+
className: d({
|
|
125
|
+
[s["marsun-form-info-is-req"]]: i
|
|
126
|
+
}),
|
|
127
|
+
children: e
|
|
128
|
+
},
|
|
129
|
+
r
|
|
130
|
+
),
|
|
131
|
+
itemRender: (e) => /* @__PURE__ */ t(p, { className: s["marsun-form-info-table-list-field"], children: e }),
|
|
132
|
+
listRender: (e, { id: r, onRemove: i, allowRemove: n }) => /* @__PURE__ */ v(k, { wrap: !1, align: "top", children: [
|
|
133
|
+
e,
|
|
134
|
+
/* @__PURE__ */ t(p, { className: s["marsun-form-info-table-options"], children: /* @__PURE__ */ t(h, { type: "link", onClick: i, danger: !0, disabled: !n, icon: u, children: b }) })
|
|
135
|
+
] }, r),
|
|
136
|
+
children: (e, r) => g(
|
|
137
|
+
/* @__PURE__ */ t(
|
|
138
|
+
"div",
|
|
139
|
+
{
|
|
140
|
+
ref: x,
|
|
141
|
+
className: d(s["marsun-form-info-table-list-inner"], {
|
|
142
|
+
[s["marsun-form-info-is-overflow"]]: _
|
|
143
|
+
}),
|
|
144
|
+
style: {
|
|
145
|
+
"--table-list-field-count": Math.max(S, 1)
|
|
146
|
+
},
|
|
147
|
+
children: e
|
|
148
|
+
}
|
|
149
|
+
),
|
|
150
|
+
r
|
|
151
|
+
)
|
|
152
|
+
}
|
|
153
|
+
), P = () => /* @__PURE__ */ t(
|
|
154
|
+
W,
|
|
155
|
+
{
|
|
156
|
+
...M,
|
|
157
|
+
list: m,
|
|
158
|
+
listRender: ({
|
|
159
|
+
id: e,
|
|
160
|
+
list: r,
|
|
161
|
+
groupArgs: i,
|
|
162
|
+
onRemove: n,
|
|
163
|
+
allowRemove: D
|
|
164
|
+
}) => /* @__PURE__ */ v(
|
|
165
|
+
"div",
|
|
166
|
+
{
|
|
167
|
+
className: d(
|
|
168
|
+
s["marsun-form-info-table-list-mobile-card"],
|
|
169
|
+
"info-page-table-mobile-card"
|
|
170
|
+
),
|
|
171
|
+
children: [
|
|
172
|
+
/* @__PURE__ */ t("div", { className: s["marsun-form-info-table-list-mobile-card-body"], children: /* @__PURE__ */ t(
|
|
173
|
+
q,
|
|
174
|
+
{
|
|
175
|
+
list: r,
|
|
176
|
+
groupArgs: i,
|
|
177
|
+
itemRender: (I, F) => F.hidden ? /* @__PURE__ */ t("div", { style: { display: "none" }, children: I }) : /* @__PURE__ */ t("div", { className: s["marsun-form-info-table-list-mobile-field"], children: I })
|
|
178
|
+
}
|
|
179
|
+
) }),
|
|
180
|
+
/* @__PURE__ */ t("div", { className: s["marsun-form-info-table-list-mobile-actions"], children: /* @__PURE__ */ t(h, { type: "link", onClick: n, danger: !0, disabled: !D, icon: u, children: b }) })
|
|
181
|
+
]
|
|
182
|
+
},
|
|
183
|
+
e
|
|
184
|
+
),
|
|
185
|
+
children: (e, r) => g(
|
|
186
|
+
/* @__PURE__ */ t(
|
|
187
|
+
"div",
|
|
188
|
+
{
|
|
189
|
+
className: d(
|
|
190
|
+
s["marsun-form-info-table-list-mobile-list"],
|
|
191
|
+
"info-page-table-mobile-card-list"
|
|
192
|
+
),
|
|
193
|
+
children: e
|
|
194
|
+
}
|
|
195
|
+
),
|
|
196
|
+
r,
|
|
197
|
+
s["marsun-form-info-is-mobile"]
|
|
198
|
+
)
|
|
199
|
+
}
|
|
200
|
+
), B = f === !1 ? !1 : typeof y == "function" ? y : f === !0 || y === !0 ? () => P() : !1;
|
|
201
|
+
return /* @__PURE__ */ t(
|
|
202
|
+
$,
|
|
203
|
+
{
|
|
204
|
+
columns: L,
|
|
205
|
+
dataSource: [],
|
|
206
|
+
empty: null,
|
|
207
|
+
className: s["marsun-form-info-table-list-view"],
|
|
208
|
+
renderMobile: B,
|
|
209
|
+
render: () => E()
|
|
210
|
+
}
|
|
211
|
+
);
|
|
212
|
+
}), Re = X(oe);
|
|
213
|
+
export {
|
|
214
|
+
Re as default
|
|
215
|
+
};
|
|
216
|
+
//# sourceMappingURL=TableList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableList.js","sources":["../../../src/components/FormInfo/TableList.tsx"],"sourcesContent":["// @ts-nocheck\nimport { FieldList, SubList, TableList as TableListBase } from '@kne/react-form-plus';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport TableView, { isRenderMobileActive, resolveRenderMobile } from '@kne/table-view';\nimport { Button, Col, Row } from 'antd';\nimport classnames from 'classnames';\nimport { useLayoutEffect, useMemo, useRef, useState, type ReactNode } from 'react';\nimport { Empty } from '@/components/Empty';\nimport { Plus, Trash2 } from '@/components/Icons';\nimport InfoPage from '@/components/InfoPage';\nimport { markNestBlock } from './nestBlock';\nimport type { TableListProps } from './types';\nimport withLocale, { useFormInfoLocale } from './withLocale';\nimport style from './style.module.scss';\nimport '@kne/table-view/dist/index.css';\n\nconst isHorizontallyOverflowing = (el: HTMLElement | null) =>\n !!(el && el.scrollWidth - el.clientWidth > 8);\n\nconst buildColumns = (list: ReactNode[], { removeText }: { removeText?: ReactNode }) => {\n const fieldList = Array.isArray(list) ? list : [];\n return [\n ...fieldList\n .filter((item) => {\n if (!item || typeof item !== 'object' || !('props' in item)) return false;\n const props = (item as React.ReactElement).props as {\n display?: boolean;\n hidden?: boolean;\n };\n return props?.display !== false && !props?.hidden;\n })\n .map((item) => {\n const el = item as React.ReactElement;\n return {\n name: el.props.name,\n title: el.props.label,\n render: (value: unknown) => value,\n };\n }),\n {\n name: '__options__',\n type: 'options',\n title: removeText || '',\n width: 100,\n render: (value: unknown) => value,\n },\n ];\n};\n\nconst TableList = withLocale((p: TableListProps) => {\n const { formatMessage } = useFormInfoLocale();\n const {\n className,\n addIcon,\n addText,\n removeIcon,\n removeText,\n title,\n bordered,\n renderMobile = true,\n list,\n styles: partStyles,\n style: partStyle,\n ...others\n } = Object.assign(\n {\n empty: (\n <Empty\n iconType=\"simple\"\n description={false}\n className={style['marsun-form-info-table-list-empty']}\n />\n ),\n addIcon: <Plus size={14} />,\n addText: formatMessage({ id: 'addText' }),\n removeIcon: <Trash2 size={14} />,\n removeText: formatMessage({ id: 'deleteText' }),\n },\n p,\n );\n\n const isMobile = useIsMobile();\n const useMobileRender = isRenderMobileActive(renderMobile, isMobile);\n const resolvedRenderMobile = useMemo(() => resolveRenderMobile(renderMobile), [renderMobile]);\n const columns = useMemo(\n () => buildColumns((list || []) as ReactNode[], { removeText }),\n [list, removeText],\n );\n const fieldCount = useMemo(\n () =>\n (Array.isArray(list) ? list : []).filter((item) => {\n if (!item || typeof item !== 'object' || !('props' in item)) return false;\n const props = (item as React.ReactElement).props as {\n display?: boolean;\n hidden?: boolean;\n };\n return props?.display !== false && !props?.hidden;\n }).length,\n [list],\n );\n const innerRef = useRef<HTMLDivElement>(null);\n const [isOverflow, setIsOverflow] = useState(false);\n\n useLayoutEffect(() => {\n if (useMobileRender) {\n setIsOverflow(false);\n return;\n }\n const el = innerRef.current;\n if (!el) return;\n const update = () => setIsOverflow(isHorizontallyOverflowing(el));\n update();\n const ro = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(update) : null;\n ro?.observe(el);\n const mo = typeof MutationObserver !== 'undefined' ? new MutationObserver(update) : null;\n mo?.observe(el, { childList: true, subtree: true, characterData: true });\n window.addEventListener('resize', update);\n return () => {\n ro?.disconnect();\n mo?.disconnect();\n window.removeEventListener('resize', update);\n };\n }, [useMobileRender, list, columns]);\n\n const renderPart = (\n children: ReactNode,\n { onAdd, allowAdd }: { onAdd: () => void; allowAdd: boolean },\n extraClassName?: string,\n ) => (\n <InfoPage.Part\n title={title}\n className={classnames(className, style['marsun-form-info-table-list'], extraClassName)}\n bordered={bordered}\n styles={partStyles as never}\n style={partStyle as never}\n extra={\n <div className={style['marsun-form-info-extra-container']}>\n {allowAdd && (\n <Button className={style['marsun-form-info-extra-btn']} icon={addIcon} onClick={onAdd}>\n {addText}\n </Button>\n )}\n </div>\n }\n >\n {children}\n </InfoPage.Part>\n );\n\n const renderDesktop = () => (\n <TableListBase\n {...others}\n list={list as never}\n headerRender={(children: ReactNode) => (\n <Row className={style['marsun-form-info-table-list-header']} wrap={false}>\n {children}\n <Col\n className={classnames(\n style['marsun-form-info-table-options'],\n style['marsun-form-info-table-options-header'],\n )}\n />\n </Row>\n )}\n headerItemRender={(children: ReactNode, { id, isReq }: { id: string; isReq?: boolean }) => (\n <Col\n className={classnames({\n [style['marsun-form-info-is-req']]: isReq,\n })}\n key={id}\n >\n {children}\n </Col>\n )}\n itemRender={(children: ReactNode) => (\n <Col className={style['marsun-form-info-table-list-field']}>{children}</Col>\n )}\n listRender={(\n children: ReactNode,\n { id, onRemove, allowRemove }: { id: string; onRemove: () => void; allowRemove: boolean },\n ) => (\n <Row key={id} wrap={false} align=\"top\">\n {children}\n <Col className={style['marsun-form-info-table-options']}>\n <Button type=\"link\" onClick={onRemove} danger disabled={!allowRemove} icon={removeIcon}>\n {removeText}\n </Button>\n </Col>\n </Row>\n )}\n >\n {(children: ReactNode, controls: { onAdd: () => void; allowAdd: boolean }) =>\n renderPart(\n <div\n ref={innerRef}\n className={classnames(style['marsun-form-info-table-list-inner'], {\n [style['marsun-form-info-is-overflow']]: isOverflow,\n })}\n style={\n {\n '--table-list-field-count': Math.max(fieldCount, 1),\n } as React.CSSProperties\n }\n >\n {children}\n </div>,\n controls,\n )\n }\n </TableListBase>\n );\n\n const renderMobileList = () => (\n <SubList\n {...others}\n list={list as never}\n listRender={({\n id,\n list: rowList,\n groupArgs,\n onRemove,\n allowRemove,\n }: {\n id: string;\n list?: ReactNode[];\n groupArgs?: unknown[];\n onRemove: () => void;\n allowRemove: boolean;\n }) => (\n <div\n key={id}\n className={classnames(\n style['marsun-form-info-table-list-mobile-card'],\n 'info-page-table-mobile-card',\n )}\n >\n <div className={style['marsun-form-info-table-list-mobile-card-body']}>\n <FieldList\n list={rowList as never}\n groupArgs={groupArgs}\n itemRender={(children: ReactNode, targetProps: { hidden?: boolean }) => {\n if (targetProps.hidden) {\n return <div style={{ display: 'none' }}>{children}</div>;\n }\n return (\n <div className={style['marsun-form-info-table-list-mobile-field']}>\n {children}\n </div>\n );\n }}\n />\n </div>\n <div className={style['marsun-form-info-table-list-mobile-actions']}>\n <Button type=\"link\" onClick={onRemove} danger disabled={!allowRemove} icon={removeIcon}>\n {removeText}\n </Button>\n </div>\n </div>\n )}\n >\n {(children: ReactNode, controls: { onAdd: () => void; allowAdd: boolean }) =>\n renderPart(\n <div\n className={classnames(\n style['marsun-form-info-table-list-mobile-list'],\n 'info-page-table-mobile-card-list',\n )}\n >\n {children}\n </div>,\n controls,\n style['marsun-form-info-is-mobile'],\n )\n }\n </SubList>\n );\n\n const tableViewRenderMobile =\n renderMobile === false\n ? false\n : typeof resolvedRenderMobile === 'function'\n ? resolvedRenderMobile\n : renderMobile === true || resolvedRenderMobile === true\n ? () => renderMobileList()\n : false;\n\n return (\n <TableView\n columns={columns}\n dataSource={[]}\n empty={null}\n className={style['marsun-form-info-table-list-view']}\n renderMobile={tableViewRenderMobile}\n render={() => renderDesktop()}\n />\n );\n});\n\nexport default markNestBlock(TableList);\n"],"names":["isHorizontallyOverflowing","el","buildColumns","list","removeText","item","props","value","TableList","withLocale","p","formatMessage","useFormInfoLocale","className","addIcon","addText","removeIcon","title","bordered","renderMobile","partStyles","partStyle","others","jsx","Empty","style","Plus","Trash2","isMobile","useIsMobile","useMobileRender","isRenderMobileActive","resolvedRenderMobile","useMemo","resolveRenderMobile","columns","fieldCount","innerRef","useRef","isOverflow","setIsOverflow","useState","useLayoutEffect","update","ro","mo","renderPart","children","onAdd","allowAdd","extraClassName","InfoPage","classnames","Button","renderDesktop","TableListBase","jsxs","Row","Col","id","isReq","onRemove","allowRemove","controls","renderMobileList","SubList","rowList","groupArgs","FieldList","targetProps","tableViewRenderMobile","TableView","TableList_default","markNestBlock"],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { FormOverlaySharedProps } from './types';
|
|
3
|
+
export type BuildFormOverlayOptions = {
|
|
4
|
+
close?: () => void;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* 抽出 formProps / autoClose / footer Cancel+Submit,供 Modal/Drawer 共用。
|
|
8
|
+
* Adapted from kne-union/components-core FormInfo/FormModal buildFormOverlayProps.
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildFormOverlayProps(props: FormOverlaySharedProps, { close }?: BuildFormOverlayOptions): {
|
|
11
|
+
className: string;
|
|
12
|
+
onClose: (() => void) | undefined;
|
|
13
|
+
bodyScroll: boolean;
|
|
14
|
+
destroyOnHidden: boolean;
|
|
15
|
+
footerButtons: unknown[];
|
|
16
|
+
modalRender: (node: ReactNode) => import("react").JSX.Element;
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
okType?: string;
|
|
19
|
+
okButtonProps?: Record<string, unknown>;
|
|
20
|
+
onOk?: (...args: unknown[]) => unknown;
|
|
21
|
+
cancelButtonProps?: Record<string, unknown>;
|
|
22
|
+
footer?: ReactNode | ((ctx: {
|
|
23
|
+
defaultFooter: ReactNode;
|
|
24
|
+
props: Record<string, unknown>;
|
|
25
|
+
}) => ReactNode);
|
|
26
|
+
title?: ReactNode;
|
|
27
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as P } from "react/jsx-runtime";
|
|
2
|
+
import { CancelButton as S, SubmitButton as F } from "@kne/react-form-antd";
|
|
3
|
+
import N from "classnames";
|
|
4
|
+
import O from "./Form.js";
|
|
5
|
+
import T from "./style.module.scss.js";
|
|
6
|
+
function H(s, { close: m } = {}) {
|
|
7
|
+
const {
|
|
8
|
+
formProps: t = {},
|
|
9
|
+
saveText: l,
|
|
10
|
+
okText: c,
|
|
11
|
+
cancelText: a,
|
|
12
|
+
autoClose: i = !0,
|
|
13
|
+
footerButtons: u,
|
|
14
|
+
children: r,
|
|
15
|
+
onClose: f,
|
|
16
|
+
onCancel: p,
|
|
17
|
+
className: d,
|
|
18
|
+
...y
|
|
19
|
+
} = s, o = m ?? p ?? f, C = typeof t == "function" ? t({ close: o }) : t, { onSubmit: e, ...b } = Object.assign({}, C);
|
|
20
|
+
return {
|
|
21
|
+
...y,
|
|
22
|
+
className: N(T["marsun-form-info-modal"], "marsun-form-info-modal", d),
|
|
23
|
+
onClose: o,
|
|
24
|
+
bodyScroll: !0,
|
|
25
|
+
destroyOnHidden: !0,
|
|
26
|
+
footerButtons: u || [
|
|
27
|
+
{
|
|
28
|
+
children: a || "取消",
|
|
29
|
+
ButtonComponent: S
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
type: "primary",
|
|
33
|
+
children: c ?? l ?? "提交",
|
|
34
|
+
ButtonComponent: F,
|
|
35
|
+
autoClose: !1
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
modalRender: (B) => /* @__PURE__ */ P(
|
|
39
|
+
O,
|
|
40
|
+
{
|
|
41
|
+
...b,
|
|
42
|
+
onSubmit: async (h, ...x) => {
|
|
43
|
+
const n = e && await e(h, { close: o }, ...x);
|
|
44
|
+
return n !== !1 && i && (o == null || o()), n;
|
|
45
|
+
},
|
|
46
|
+
children: B
|
|
47
|
+
}
|
|
48
|
+
),
|
|
49
|
+
children: typeof r == "function" ? r({ close: o }) : r
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export {
|
|
53
|
+
H as buildFormOverlayProps
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=buildFormOverlayProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildFormOverlayProps.js","sources":["../../../src/components/FormInfo/buildFormOverlayProps.tsx"],"sourcesContent":["// @ts-nocheck\nimport { CancelButton, SubmitButton } from '@kne/react-form-antd';\nimport classnames from 'classnames';\nimport type { ReactNode } from 'react';\nimport Form from './Form';\nimport type { FormOverlaySharedProps } from './types';\nimport style from './style.module.scss';\n\nexport type BuildFormOverlayOptions = { close?: () => void };\n\n/**\n * 抽出 formProps / autoClose / footer Cancel+Submit,供 Modal/Drawer 共用。\n * Adapted from kne-union/components-core FormInfo/FormModal buildFormOverlayProps.\n */\nexport function buildFormOverlayProps(\n props: FormOverlaySharedProps,\n { close }: BuildFormOverlayOptions = {},\n) {\n const {\n formProps = {},\n saveText,\n okText,\n cancelText,\n autoClose = true,\n footerButtons,\n children,\n onClose,\n onCancel,\n className,\n ...rest\n } = props;\n\n const resolvedClose = close ?? onCancel ?? onClose;\n const resolvedFormProps =\n typeof formProps === 'function' ? formProps({ close: resolvedClose }) : formProps;\n const { onSubmit, ..._formProps } = Object.assign({}, resolvedFormProps) as {\n onSubmit?: (\n data: Record<string, unknown>,\n ctx: { close?: () => void },\n ...args: unknown[]\n ) => unknown;\n [key: string]: unknown;\n };\n\n return {\n ...rest,\n className: classnames(style['marsun-form-info-modal'], 'marsun-form-info-modal', className),\n onClose: resolvedClose,\n bodyScroll: true,\n destroyOnHidden: true,\n footerButtons:\n footerButtons ||\n ([\n {\n children: cancelText || '取消',\n ButtonComponent: CancelButton,\n },\n {\n type: 'primary',\n children: okText ?? saveText ?? '提交',\n ButtonComponent: SubmitButton,\n autoClose: false,\n },\n ] as unknown[]),\n modalRender: (node: ReactNode) => (\n <Form\n {..._formProps}\n onSubmit={async (data: Record<string, unknown>, ...args: unknown[]) => {\n const res = onSubmit && (await onSubmit(data, { close: resolvedClose }, ...args));\n if (res !== false) {\n autoClose && resolvedClose?.();\n }\n return res;\n }}\n >\n {node}\n </Form>\n ),\n children: typeof children === 'function' ? children({ close: resolvedClose }) : children,\n };\n}\n"],"names":["buildFormOverlayProps","props","close","formProps","saveText","okText","cancelText","autoClose","footerButtons","children","onClose","onCancel","className","rest","resolvedClose","resolvedFormProps","onSubmit","_formProps","classnames","style","CancelButton","SubmitButton","node","jsx","Form","data","args","res"],"mappings":";;;;;AAcO,SAASA,EACdC,GACA,EAAE,OAAAC,EAAA,IAAmC,CAAA,GACrC;AACA,QAAM;AAAA,IACJ,WAAAC,IAAY,CAAA;AAAA,IACZ,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,eAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDZ,GAEEa,IAAgBZ,KAASS,KAAYD,GACrCK,IACJ,OAAOZ,KAAc,aAAaA,EAAU,EAAE,OAAOW,EAAA,CAAe,IAAIX,GACpE,EAAE,UAAAa,GAAU,GAAGC,EAAA,IAAe,OAAO,OAAO,CAAA,GAAIF,CAAiB;AASvE,SAAO;AAAA,IACL,GAAGF;AAAA,IACH,WAAWK,EAAWC,EAAM,wBAAwB,GAAG,0BAA0BP,CAAS;AAAA,IAC1F,SAASE;AAAA,IACT,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,eACEN,KACC;AAAA,MACC;AAAA,QACE,UAAUF,KAAc;AAAA,QACxB,iBAAiBc;AAAA,MAAA;AAAA,MAEnB;AAAA,QACE,MAAM;AAAA,QACN,UAAUf,KAAUD,KAAY;AAAA,QAChC,iBAAiBiB;AAAA,QACjB,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEJ,aAAa,CAACC,MACZ,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACE,GAAGP;AAAA,QACJ,UAAU,OAAOQ,MAAkCC,MAAoB;AACrE,gBAAMC,IAAMX,KAAa,MAAMA,EAASS,GAAM,EAAE,OAAOX,KAAiB,GAAGY,CAAI;AAC/E,iBAAIC,MAAQ,MACVpB,MAAaO,KAAA,QAAAA,MAERa;AAAA,QACT;AAAA,QAEC,UAAAL;AAAA,MAAA;AAAA,IAAA;AAAA,IAGL,UAAU,OAAOb,KAAa,aAAaA,EAAS,EAAE,OAAOK,EAAA,CAAe,IAAIL;AAAA,EAAA;AAEpF;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ComponentType, ReactNode } from 'react';
|
|
2
|
+
type FieldProps = {
|
|
3
|
+
name: string;
|
|
4
|
+
label?: ReactNode;
|
|
5
|
+
labelTips?: ReactNode | ((props: FieldProps) => ReactNode);
|
|
6
|
+
rule?: string;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
block?: boolean;
|
|
10
|
+
rows?: number;
|
|
11
|
+
options?: unknown[];
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
};
|
|
14
|
+
type ButtonProps = {
|
|
15
|
+
children?: ReactNode;
|
|
16
|
+
type?: string;
|
|
17
|
+
loading?: boolean;
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
};
|
|
20
|
+
type InputType = ComponentType<FieldProps> & {
|
|
21
|
+
Password: ComponentType<FieldProps>;
|
|
22
|
+
};
|
|
23
|
+
export declare const Input: InputType;
|
|
24
|
+
export declare const TextArea: ComponentType<FieldProps>;
|
|
25
|
+
export declare const Select: ComponentType<FieldProps>;
|
|
26
|
+
export declare const TreeSelect: ComponentType<FieldProps>;
|
|
27
|
+
export declare const InputNumber: ComponentType<FieldProps>;
|
|
28
|
+
export declare const Switch: ComponentType<FieldProps>;
|
|
29
|
+
export declare const RadioGroup: ComponentType<FieldProps>;
|
|
30
|
+
export declare const SubmitButton: ComponentType<ButtonProps>;
|
|
31
|
+
export declare const ResetButton: ComponentType<ButtonProps>;
|
|
32
|
+
export declare const CancelButton: ComponentType<ButtonProps>;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { CancelButton as o, ResetButton as n, SubmitButton as s, Input as a, TextArea as u, Select as c, TreeSelect as r, InputNumber as p, Switch as i, RadioGroup as S } from "@kne/react-form-antd";
|
|
2
|
+
import { withNormalizedLabelTips as t } from "../Form/normalizeLabelTips.js";
|
|
3
|
+
const e = a, l = t(e), $ = Object.assign(l, {
|
|
4
|
+
Password: t(e.Password)
|
|
5
|
+
}), b = t(
|
|
6
|
+
u
|
|
7
|
+
), I = t(
|
|
8
|
+
c
|
|
9
|
+
), d = t(
|
|
10
|
+
r
|
|
11
|
+
), T = t(
|
|
12
|
+
p
|
|
13
|
+
), w = t(
|
|
14
|
+
i
|
|
15
|
+
), R = t(
|
|
16
|
+
S
|
|
17
|
+
), h = s, x = n, N = o;
|
|
18
|
+
export {
|
|
19
|
+
N as CancelButton,
|
|
20
|
+
$ as Input,
|
|
21
|
+
T as InputNumber,
|
|
22
|
+
R as RadioGroup,
|
|
23
|
+
x as ResetButton,
|
|
24
|
+
I as Select,
|
|
25
|
+
h as SubmitButton,
|
|
26
|
+
w as Switch,
|
|
27
|
+
b as TextArea,
|
|
28
|
+
d as TreeSelect
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.js","sources":["../../../src/components/FormInfo/fields.ts"],"sourcesContent":["/**\n * 字段包装:withNormalizedLabelTips;引擎按钮再导出。\n */\nimport {\n CancelButton as BaseCancelButton,\n Input as BaseInput,\n InputNumber as BaseInputNumber,\n RadioGroup as BaseRadioGroup,\n ResetButton as BaseResetButton,\n Select as BaseSelect,\n SubmitButton as BaseSubmitButton,\n Switch as BaseSwitch,\n TextArea as BaseTextArea,\n TreeSelect as BaseTreeSelect,\n} from '@kne/react-form-antd';\nimport type { ComponentType, ReactNode } from 'react';\nimport { withNormalizedLabelTips } from '@/components/Form/normalizeLabelTips';\n\ntype FieldProps = {\n name: string;\n label?: ReactNode;\n labelTips?: ReactNode | ((props: FieldProps) => ReactNode);\n rule?: string;\n placeholder?: string;\n disabled?: boolean;\n block?: boolean;\n rows?: number;\n options?: unknown[];\n [key: string]: unknown;\n};\n\ntype ButtonProps = {\n children?: ReactNode;\n type?: string;\n loading?: boolean;\n [key: string]: unknown;\n};\n\ntype InputType = ComponentType<FieldProps> & { Password: ComponentType<FieldProps> };\nconst InputBase = BaseInput as unknown as InputType;\nconst InputWrapped = withNormalizedLabelTips(InputBase);\nexport const Input = Object.assign(InputWrapped, {\n Password: withNormalizedLabelTips(InputBase.Password),\n}) as InputType;\n\nexport const TextArea = withNormalizedLabelTips(\n BaseTextArea as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const Select = withNormalizedLabelTips(\n BaseSelect as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const TreeSelect = withNormalizedLabelTips(\n BaseTreeSelect as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const InputNumber = withNormalizedLabelTips(\n BaseInputNumber as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const Switch = withNormalizedLabelTips(\n BaseSwitch as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const RadioGroup = withNormalizedLabelTips(\n BaseRadioGroup as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\n\nexport const SubmitButton = BaseSubmitButton as ComponentType<ButtonProps>;\nexport const ResetButton = BaseResetButton as ComponentType<ButtonProps>;\nexport const CancelButton = BaseCancelButton as ComponentType<ButtonProps>;\n"],"names":["InputBase","BaseInput","InputWrapped","withNormalizedLabelTips","Input","TextArea","BaseTextArea","Select","BaseSelect","TreeSelect","BaseTreeSelect","InputNumber","BaseInputNumber","Switch","BaseSwitch","RadioGroup","BaseRadioGroup","SubmitButton","BaseSubmitButton","ResetButton","BaseResetButton","CancelButton","BaseCancelButton"],"mappings":";;AAuCA,MAAMA,IAAYC,GACZC,IAAeC,EAAwBH,CAAS,GACzCI,IAAQ,OAAO,OAAOF,GAAc;AAAA,EAC/C,UAAUC,EAAwBH,EAAU,QAAQ;AACtD,CAAC,GAEYK,IAAWF;AAAA,EACtBG;AACF,GACaC,IAASJ;AAAA,EACpBK;AACF,GACaC,IAAaN;AAAA,EACxBO;AACF,GACaC,IAAcR;AAAA,EACzBS;AACF,GACaC,IAASV;AAAA,EACpBW;AACF,GACaC,IAAaZ;AAAA,EACxBa;AACF,GAEaC,IAAeC,GACfC,IAAcC,GACdC,IAAeC;"}
|