@hkyhy/marsun-components-core 0.1.114 → 0.1.115

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.
@@ -1,11 +1,8 @@
1
+ import { ReactNode } from 'react';
1
2
  import { FormModalProps } from './types';
2
- /**
3
- * 受控 FormModal:默认挂本仓 ReactModal;可传 renderModal(createModalRender/createDrawerRender)切换宿主。
4
- * destroyOnHidden。
5
- */
6
- declare const FormModal: (props: FormModalProps) => string | number | bigint | boolean | Iterable<import('react').ReactNode> | Promise<string | number | bigint | boolean | import('react').ReactPortal | import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>> | Iterable<import('react').ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
3
+ export declare function resolveFormModalWidth(width?: string | number, size?: string): string | number;
4
+ declare const FormModal: (props: FormModalProps) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import('react').ReactPortal | import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
7
5
  export default FormModal;
8
- /** 命令式打开:内部挂 useModal */
9
6
  export declare const useFormModal: () => (props?: FormModalProps) => {
10
7
  close: () => void;
11
8
  };
@@ -1,43 +1,209 @@
1
- import { jsx as d } from "react/jsx-runtime";
2
- import f from "classnames";
3
- import { buildFormOverlayProps as c } from "./buildFormOverlayProps.js";
4
- import u from "./style.module.scss.js";
5
- import i, { useModal as p } from "../ReactModal/Modal.js";
6
- const P = (l) => {
7
- const { open: e, onCancel: o, onClose: n, renderModal: s, ...r } = l, t = o ?? n, m = c(
8
- { ...r, onClose: t, onCancel: t },
9
- { close: t }
10
- ), a = {
11
- ...m,
12
- open: !!e,
13
- className: f(
14
- u["marsun-form-info-modal"],
15
- "marsun-form-info-modal",
16
- m.className
17
- ),
18
- destroyOnHidden: !0
19
- };
20
- return typeof s == "function" ? s(a) : /* @__PURE__ */ d(i, { ...a });
21
- }, v = () => {
22
- const l = p();
23
- return (e = {}) => {
24
- const o = {}, n = () => {
25
- var r;
26
- return (r = o.close) == null ? void 0 : r.call(o);
27
- }, s = l(
28
- c(
1
+ import { jsx as f, jsxs as _ } from "react/jsx-runtime";
2
+ import { Modal as g, App as A, Flex as H } from "antd";
3
+ import { CancelButton as I, SubmitButton as O } from "@kne/react-form-antd";
4
+ import y from "classnames";
5
+ import R from "./Form.js";
6
+ import { buildFormOverlayProps as W } from "./buildFormOverlayProps.js";
7
+ import C from "./style.module.scss.js";
8
+ function S(n, o) {
9
+ return n != null && n !== "" ? n : o === "large" ? 800 : 520;
10
+ }
11
+ function j({
12
+ formProps: n = {},
13
+ autoClose: o = !0,
14
+ children: e,
15
+ close: t,
16
+ okText: a,
17
+ saveText: s,
18
+ cancelText: l,
19
+ footerButtons: m,
20
+ okButtonProps: b,
21
+ cancelButtonProps: B
22
+ }) {
23
+ const h = typeof n == "function" ? n({ close: t }) : n, { onSubmit: x, ...P } = Object.assign({}, h), k = [
24
+ {
25
+ children: l || "取消",
26
+ ButtonComponent: I,
27
+ onClick: () => t == null ? void 0 : t(),
28
+ ...B || {}
29
+ },
30
+ {
31
+ type: "primary",
32
+ children: a ?? s ?? "提交",
33
+ ButtonComponent: O,
34
+ autoClose: !1,
35
+ ...b || {}
36
+ }
37
+ ], v = m || k, N = /* @__PURE__ */ f(
38
+ H,
39
+ {
40
+ justify: "flex-end",
41
+ gap: 8,
42
+ className: y(
43
+ C["marsun-form-info-modal-footer"],
44
+ "marsun-form-info-modal-footer"
45
+ ),
46
+ children: v.map((i, c) => {
47
+ const {
48
+ ButtonComponent: u,
49
+ onClick: d,
50
+ autoClose: F = !0,
51
+ children: p,
52
+ type: M,
53
+ ...r
54
+ } = i;
55
+ return /* @__PURE__ */ f(
56
+ u || O,
57
+ {
58
+ type: M,
59
+ ...r,
60
+ onClick: async (...w) => {
61
+ const z = await Promise.resolve(d == null ? void 0 : d(...w));
62
+ return F && z !== !1 && (t == null || t()), z;
63
+ },
64
+ children: p
65
+ },
66
+ c
67
+ );
68
+ })
69
+ }
70
+ );
71
+ return /* @__PURE__ */ _(
72
+ R,
73
+ {
74
+ ...P,
75
+ onSubmit: async (i, ...c) => {
76
+ const u = x && await x(i, { close: t }, ...c);
77
+ return u !== !1 && o && (t == null || t()), u;
78
+ },
79
+ children: [
80
+ /* @__PURE__ */ f(
81
+ "div",
82
+ {
83
+ className: y(C["marsun-form-info-modal-body"], "marsun-form-info-modal-body"),
84
+ children: typeof e == "function" ? e({ close: t }) : e
85
+ }
86
+ ),
87
+ N
88
+ ]
89
+ }
90
+ );
91
+ }
92
+ const Q = (n) => {
93
+ const {
94
+ open: o,
95
+ onCancel: e,
96
+ onClose: t,
97
+ renderModal: a,
98
+ width: s,
99
+ size: l,
100
+ title: m,
101
+ zIndex: b,
102
+ className: B,
103
+ destroyOnHidden: h = !0,
104
+ children: x,
105
+ formProps: P,
106
+ autoClose: k = !0,
107
+ okText: v,
108
+ saveText: N,
109
+ cancelText: i,
110
+ footerButtons: c,
111
+ okButtonProps: u,
112
+ cancelButtonProps: d,
113
+ bodyScroll: F,
114
+ footer: p,
115
+ ...M
116
+ } = n, r = e ?? t;
117
+ if (typeof a == "function") {
118
+ const T = W(
119
+ { ...n, onClose: r, onCancel: r },
120
+ { close: r }
121
+ );
122
+ return a({
123
+ ...T,
124
+ open: !!o,
125
+ className: y(
126
+ C["marsun-form-info-modal"],
127
+ "marsun-form-info-modal",
128
+ T.className
129
+ ),
130
+ destroyOnHidden: !0
131
+ });
132
+ }
133
+ return /* @__PURE__ */ f(
134
+ g,
135
+ {
136
+ open: !!o,
137
+ title: m,
138
+ onCancel: () => r == null ? void 0 : r(),
139
+ width: S(s, l),
140
+ destroyOnHidden: h,
141
+ zIndex: b,
142
+ footer: null,
143
+ mask: { closable: !1 },
144
+ className: y(C["marsun-form-info-modal"], "marsun-form-info-modal", B),
145
+ children: /* @__PURE__ */ f(
146
+ j,
29
147
  {
30
- ...e,
31
- onClose: e.onClose || e.onCancel || n
32
- },
33
- { close: n }
148
+ formProps: P,
149
+ autoClose: k,
150
+ close: r,
151
+ okText: v,
152
+ saveText: N,
153
+ cancelText: i,
154
+ footerButtons: c,
155
+ okButtonProps: u,
156
+ cancelButtonProps: d,
157
+ children: x
158
+ }
34
159
  )
35
- );
36
- return o.close = s.close, s;
160
+ }
161
+ );
162
+ }, U = () => {
163
+ const { modal: n } = A.useApp();
164
+ return (o = {}) => {
165
+ const e = {}, t = () => {
166
+ var m;
167
+ return (m = e.close) == null ? void 0 : m.call(e);
168
+ }, a = o.onClose || o.onCancel, s = () => {
169
+ a == null || a(), t();
170
+ }, { destroy: l } = n.info({
171
+ title: o.title,
172
+ icon: null,
173
+ width: S(o.width, o.size),
174
+ className: y(
175
+ C["marsun-form-info-modal"],
176
+ "marsun-form-info-modal",
177
+ o.className
178
+ ),
179
+ footer: null,
180
+ closable: !0,
181
+ mask: { closable: !1 },
182
+ destroyOnHidden: !0,
183
+ zIndex: o.zIndex,
184
+ onCancel: s,
185
+ content: /* @__PURE__ */ f(
186
+ j,
187
+ {
188
+ formProps: o.formProps,
189
+ autoClose: o.autoClose !== !1,
190
+ close: s,
191
+ okText: o.okText,
192
+ saveText: o.saveText,
193
+ cancelText: o.cancelText,
194
+ footerButtons: o.footerButtons,
195
+ okButtonProps: o.okButtonProps,
196
+ cancelButtonProps: o.cancelButtonProps,
197
+ children: o.children
198
+ }
199
+ )
200
+ });
201
+ return e.close = l, { close: l };
37
202
  };
38
203
  };
39
204
  export {
40
- P as default,
41
- v as useFormModal
205
+ Q as default,
206
+ S as resolveFormModalWidth,
207
+ U as useFormModal
42
208
  };
43
209
  //# sourceMappingURL=FormModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormModal.js","sources":["../../../src/components/FormInfo/FormModal.tsx"],"sourcesContent":["// @ts-nocheck\nimport classnames from 'classnames';\nimport { ReactModal, useModal } from '@/components/ReactModal';\nimport { buildFormOverlayProps } from './buildFormOverlayProps';\nimport type { FormModalProps } from './types';\nimport style from './style.module.scss';\n\n/**\n * 受控 FormModal:默认挂本仓 ReactModal;可传 renderModal(createModalRender/createDrawerRender)切换宿主。\n * destroyOnHidden。\n */\nconst FormModal = (props: FormModalProps) => {\n const { open, onCancel, onClose, renderModal, ...rest } = props;\n const close = onCancel ?? onClose;\n const overlayProps = buildFormOverlayProps(\n { ...rest, onClose: close, onCancel: close },\n { close },\n );\n const hostProps = {\n ...overlayProps,\n open: !!open,\n className: classnames(\n style['marsun-form-info-modal'],\n 'marsun-form-info-modal',\n overlayProps.className,\n ),\n destroyOnHidden: true as const,\n };\n if (typeof renderModal === 'function') {\n return renderModal(hostProps);\n }\n return <ReactModal {...hostProps} />;\n};\n\nexport default FormModal;\n\n/** 命令式打开:内部挂 useModal */\nexport const useFormModal = () => {\n const modal = useModal();\n return (props: FormModalProps = {}) => {\n const api: { close?: () => void } = {};\n const close = () => api.close?.();\n const opened = modal(\n buildFormOverlayProps(\n {\n ...props,\n onClose: props.onClose || props.onCancel || close,\n },\n { close },\n ),\n );\n api.close = opened.close;\n return opened;\n };\n};\n"],"names":["FormModal","props","open","onCancel","onClose","renderModal","rest","close","overlayProps","buildFormOverlayProps","hostProps","classnames","style","jsx","ReactModal","useFormModal","modal","useModal","api","_a","opened"],"mappings":";;;;;AAWA,MAAMA,IAAY,CAACC,MAA0B;AAC3C,QAAM,EAAE,MAAAC,GAAM,UAAAC,GAAU,SAAAC,GAAS,aAAAC,GAAa,GAAGC,MAASL,GACpDM,IAAQJ,KAAYC,GACpBI,IAAeC;AAAA,IACnB,EAAE,GAAGH,GAAM,SAASC,GAAO,UAAUA,EAAA;AAAA,IACrC,EAAE,OAAAA,EAAA;AAAA,EAAM,GAEJG,IAAY;AAAA,IAChB,GAAGF;AAAA,IACH,MAAM,CAAC,CAACN;AAAA,IACR,WAAWS;AAAAA,MACTC,EAAM,wBAAwB;AAAA,MAC9B;AAAA,MACAJ,EAAa;AAAA,IAAA;AAAA,IAEf,iBAAiB;AAAA,EAAA;AAEnB,SAAI,OAAOH,KAAgB,aAClBA,EAAYK,CAAS,IAEvB,gBAAAG,EAACC,GAAA,EAAY,GAAGJ,EAAA,CAAW;AACpC,GAKaK,IAAe,MAAM;AAChC,QAAMC,IAAQC,EAAA;AACd,SAAO,CAAChB,IAAwB,OAAO;AACrC,UAAMiB,IAA8B,CAAA,GAC9BX,IAAQ;;AAAM,cAAAY,IAAAD,EAAI,UAAJ,gBAAAC,EAAA,KAAAD;AAAA,OACdE,IAASJ;AAAA,MACbP;AAAA,QACE;AAAA,UACE,GAAGR;AAAA,UACH,SAASA,EAAM,WAAWA,EAAM,YAAYM;AAAA,QAAA;AAAA,QAE9C,EAAE,OAAAA,EAAA;AAAA,MAAM;AAAA,IACV;AAEF,WAAAW,EAAI,QAAQE,EAAO,OACZA;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"FormModal.js","sources":["../../../src/components/FormInfo/FormModal.tsx"],"sourcesContent":["// @ts-nocheck\nimport { App, Flex, Modal } from 'antd';\nimport { CancelButton, SubmitButton } from '@kne/react-form-antd';\nimport classnames from 'classnames';\nimport type { ReactNode } from 'react';\nimport Form from './Form';\nimport { buildFormOverlayProps } from './buildFormOverlayProps';\nimport type { FormModalProps } from './types';\nimport style from './style.module.scss';\n\nexport function resolveFormModalWidth(width?: string | number, size?: string): string | number {\n if (width != null && width !== '') return width;\n if (size === 'large') return 800;\n return 520;\n}\n\ntype FormModalBodyProps = {\n formProps?: FormModalProps['formProps'];\n autoClose?: boolean;\n children?: FormModalProps['children'];\n close?: () => void;\n okText?: FormModalProps['okText'];\n saveText?: FormModalProps['saveText'];\n cancelText?: FormModalProps['cancelText'];\n footerButtons?: FormModalProps['footerButtons'];\n okButtonProps?: FormModalProps['okButtonProps'];\n cancelButtonProps?: FormModalProps['cancelButtonProps'];\n};\n\nfunction FormModalBody({\n formProps = {},\n autoClose = true,\n children,\n close,\n okText,\n saveText,\n cancelText,\n footerButtons,\n okButtonProps,\n cancelButtonProps,\n}: FormModalBodyProps) {\n const resolvedFormProps = typeof formProps === 'function' ? formProps({ close }) : 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 const defaultButtons = [\n {\n children: cancelText || '取消',\n ButtonComponent: CancelButton,\n onClick: () => close?.(),\n ...(cancelButtonProps || {}),\n },\n {\n type: 'primary' as const,\n children: okText ?? saveText ?? '提交',\n ButtonComponent: SubmitButton,\n autoClose: false,\n ...(okButtonProps || {}),\n },\n ];\n\n const buttons = (footerButtons as typeof defaultButtons | undefined) || defaultButtons;\n\n const footer = (\n <Flex\n justify=\"flex-end\"\n gap={8}\n className={classnames(\n style['marsun-form-info-modal-footer'],\n 'marsun-form-info-modal-footer',\n )}\n >\n {buttons.map((item, idx) => {\n const {\n ButtonComponent,\n onClick,\n autoClose: btnAutoClose = true,\n children: btnChildren,\n type,\n ...btnRest\n } = item as {\n ButtonComponent?: React.ComponentType<Record<string, unknown>>;\n onClick?: (...args: unknown[]) => unknown;\n autoClose?: boolean;\n children?: ReactNode;\n type?: string;\n [key: string]: unknown;\n };\n const Comp = ButtonComponent || SubmitButton;\n return (\n <Comp\n key={idx}\n type={type}\n {...btnRest}\n onClick={async (...args: unknown[]) => {\n const res = await Promise.resolve(onClick?.(...args));\n if (btnAutoClose && res !== false) close?.();\n return res;\n }}\n >\n {btnChildren}\n </Comp>\n );\n })}\n </Flex>\n );\n\n return (\n <Form\n {..._formProps}\n onSubmit={async (data: Record<string, unknown>, ...args: unknown[]) => {\n const res = onSubmit && (await onSubmit(data, { close }, ...args));\n if (res !== false) {\n autoClose && close?.();\n }\n return res;\n }}\n >\n <div\n className={classnames(style['marsun-form-info-modal-body'], 'marsun-form-info-modal-body')}\n >\n {typeof children === 'function' ? children({ close }) : children}\n </div>\n {footer}\n </Form>\n );\n}\n\nconst FormModal = (props: FormModalProps) => {\n const {\n open,\n onCancel,\n onClose,\n renderModal,\n width,\n size,\n title,\n zIndex,\n className,\n destroyOnHidden = true,\n children,\n formProps,\n autoClose = true,\n okText,\n saveText,\n cancelText,\n footerButtons,\n okButtonProps,\n cancelButtonProps,\n bodyScroll: _bodyScroll,\n footer: _footer,\n ..._rest\n } = props;\n void _bodyScroll;\n void _footer;\n void _rest;\n\n const close = onCancel ?? onClose;\n\n if (typeof renderModal === 'function') {\n const overlayProps = buildFormOverlayProps(\n { ...props, onClose: close, onCancel: close },\n { close },\n );\n return renderModal({\n ...overlayProps,\n open: !!open,\n className: classnames(\n style['marsun-form-info-modal'],\n 'marsun-form-info-modal',\n overlayProps.className,\n ),\n destroyOnHidden: true,\n });\n }\n\n return (\n <Modal\n open={!!open}\n title={title}\n onCancel={() => close?.()}\n width={resolveFormModalWidth(width, size)}\n destroyOnHidden={destroyOnHidden}\n zIndex={zIndex as number | undefined}\n footer={null}\n mask={{ closable: false }}\n className={classnames(style['marsun-form-info-modal'], 'marsun-form-info-modal', className)}\n >\n <FormModalBody\n formProps={formProps}\n autoClose={autoClose}\n close={close}\n okText={okText}\n saveText={saveText}\n cancelText={cancelText}\n footerButtons={footerButtons}\n okButtonProps={okButtonProps}\n cancelButtonProps={cancelButtonProps}\n >\n {children}\n </FormModalBody>\n </Modal>\n );\n};\n\nexport default FormModal;\n\nexport const useFormModal = () => {\n const { modal } = App.useApp();\n return (props: FormModalProps = {}) => {\n const api: { close?: () => void } = {};\n const destroyClose = () => api.close?.();\n const userClose = props.onClose || props.onCancel;\n const close = () => {\n userClose?.();\n destroyClose();\n };\n\n const { destroy } = modal.info({\n title: props.title,\n icon: null,\n width: resolveFormModalWidth(props.width, props.size),\n className: classnames(\n style['marsun-form-info-modal'],\n 'marsun-form-info-modal',\n props.className,\n ),\n footer: null,\n closable: true,\n mask: { closable: false },\n destroyOnHidden: true,\n zIndex: props.zIndex as number | undefined,\n onCancel: close,\n content: (\n <FormModalBody\n formProps={props.formProps}\n autoClose={props.autoClose !== false}\n close={close}\n okText={props.okText}\n saveText={props.saveText}\n cancelText={props.cancelText}\n footerButtons={props.footerButtons}\n okButtonProps={props.okButtonProps}\n cancelButtonProps={props.cancelButtonProps}\n >\n {props.children}\n </FormModalBody>\n ),\n });\n api.close = destroy;\n return { close: destroy };\n };\n};\n"],"names":["resolveFormModalWidth","width","size","FormModalBody","formProps","autoClose","children","close","okText","saveText","cancelText","footerButtons","okButtonProps","cancelButtonProps","resolvedFormProps","onSubmit","_formProps","defaultButtons","CancelButton","SubmitButton","buttons","footer","jsx","Flex","classnames","style","item","idx","ButtonComponent","onClick","btnAutoClose","btnChildren","type","btnRest","args","res","jsxs","Form","data","FormModal","props","open","onCancel","onClose","renderModal","title","zIndex","className","destroyOnHidden","_bodyScroll","_footer","_rest","overlayProps","buildFormOverlayProps","Modal","useFormModal","modal","App","api","destroyClose","_a","userClose","destroy"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { FormStepsModalProps } from './types';
2
2
  /**
3
- * 步骤弹窗:ReactModal + FormSteps;页内 Submit 驱动下一步/完成。
3
+ * 步骤弹窗:仍挂 ReactModal + FormSteps(与 FormModal antd 壳分叉;另窗再迁)。
4
4
  * destroyOnHidden。
5
5
  */
6
6
  declare const FormStepsModal: {
@@ -8,7 +8,9 @@ declare const FormStepsModal: {
8
8
  displayName: string;
9
9
  };
10
10
  export default FormStepsModal;
11
- /** 命令式打开步骤弹窗(经 useFormModal 挂 ReactModal) */
11
+ /**
12
+ * 命令式打开步骤弹窗:直接挂 ReactModal.useModal(不经 useFormModal,避免吃到 antd FormModal 壳)。
13
+ */
12
14
  export declare const useFormStepModal: () => (props?: FormStepsModalProps) => {
13
15
  close: () => void;
14
16
  };
@@ -1,39 +1,39 @@
1
- import { jsx as r, jsxs as h, Fragment as y } from "react/jsx-runtime";
2
- import { SubmitButton as C } from "@kne/react-form-antd";
1
+ import { jsx as s, jsxs as C, Fragment as h } from "react/jsx-runtime";
2
+ import { SubmitButton as y } from "@kne/react-form-antd";
3
3
  import { Flex as T } from "antd";
4
- import f from "classnames";
5
- import M from "lodash/merge";
6
- import g from "./FormSteps.js";
7
- import { useFormModal as F } from "./FormModal.js";
8
- import N, { useFormInfoLocale as S } from "./withLocale.js";
9
- import u from "./style.module.scss.js";
10
- import w from "../ReactModal/Modal.js";
11
- const q = N((i) => {
12
- const { formatMessage: n } = S(), { modalProps: e, completeText: m, nextText: p, className: c, ...t } = M(
4
+ import u from "classnames";
5
+ import g from "lodash/merge";
6
+ import { buildFormOverlayProps as M } from "./buildFormOverlayProps.js";
7
+ import F from "./FormSteps.js";
8
+ import N, { useFormInfoLocale as P } from "./withLocale.js";
9
+ import x from "./style.module.scss.js";
10
+ import S, { useModal as w } from "../ReactModal/Modal.js";
11
+ const q = N((p) => {
12
+ const { formatMessage: l } = P(), { modalProps: e, completeText: c, nextText: d, className: f, ...r } = g(
13
13
  {},
14
14
  {
15
15
  autoStep: !0,
16
16
  modalProps: { autoClose: !0 },
17
- completeText: n({ id: "complete" }),
18
- nextText: n({ id: "next" })
17
+ completeText: l({ id: "complete" }),
18
+ nextText: l({ id: "next" })
19
19
  },
20
- i
21
- ), o = e.onCancel ?? e.onClose, a = /* @__PURE__ */ r(
22
- g,
20
+ p
21
+ ), o = e.onCancel ?? e.onClose, i = /* @__PURE__ */ s(
22
+ F,
23
23
  {
24
- ...t,
25
- className: f(c, u["marsun-form-info-steps-modal"]),
26
- onComplete: async (d) => {
27
- var x;
28
- const l = await ((x = t.onComplete) == null ? void 0 : x.call(t, d));
29
- return e.autoClose !== !1 && l !== !1 && (o == null || o()), l;
24
+ ...r,
25
+ className: u(f, x["marsun-form-info-steps-modal"]),
26
+ onComplete: async (t) => {
27
+ var a;
28
+ const n = await ((a = r.onComplete) == null ? void 0 : a.call(r, t));
29
+ return e.autoClose !== !1 && n !== !1 && (o == null || o()), n;
30
30
  },
31
- children: ({ children: d, isLastStep: l }) => /* @__PURE__ */ h(y, { children: [
32
- d,
33
- /* @__PURE__ */ r(T, { justify: "flex-end", gap: 8, style: { marginTop: 16 }, children: /* @__PURE__ */ r(C, { type: "primary", children: l ? m : p }) })
31
+ children: ({ children: t, isLastStep: n }) => /* @__PURE__ */ C(h, { children: [
32
+ t,
33
+ /* @__PURE__ */ s(T, { justify: "flex-end", gap: 8, style: { marginTop: 16 }, children: /* @__PURE__ */ s(y, { type: "primary", children: n ? c : d }) })
34
34
  ] })
35
35
  }
36
- ), s = {
36
+ ), m = {
37
37
  open: !!e.open,
38
38
  title: e.title,
39
39
  width: e.width,
@@ -43,22 +43,22 @@ const q = N((i) => {
43
43
  destroyOnHidden: !0,
44
44
  footerButtons: [
45
45
  {
46
- children: e.cancelText || n({ id: "cancel" }),
46
+ children: e.cancelText || l({ id: "cancel" }),
47
47
  onClick: () => o == null ? void 0 : o()
48
48
  }
49
49
  ],
50
- className: f(
50
+ className: u(
51
51
  "marsun-form-info-modal",
52
- u["marsun-form-info-modal"],
52
+ x["marsun-form-info-modal"],
53
53
  e.className
54
54
  ),
55
- children: a
55
+ children: i
56
56
  };
57
- return typeof e.renderModal == "function" ? e.renderModal(s) : /* @__PURE__ */ r(w, { ...s });
58
- }), v = () => {
59
- const i = F();
60
- return (n = {}) => {
61
- const { modalProps: e, completeText: m, nextText: p, className: c, ...t } = M(
57
+ return typeof e.renderModal == "function" ? e.renderModal(m) : /* @__PURE__ */ s(S, { ...m });
58
+ }), A = () => {
59
+ const p = w();
60
+ return (l = {}) => {
61
+ const { modalProps: e, completeText: c, nextText: d, className: f, ...r } = g(
62
62
  {},
63
63
  {
64
64
  autoStep: !0,
@@ -66,31 +66,40 @@ const q = N((i) => {
66
66
  completeText: "完成",
67
67
  nextText: "下一步"
68
68
  },
69
- n
70
- );
71
- return i({
72
- ...e,
73
- okText: m,
74
- children: /* @__PURE__ */ r(
75
- g,
69
+ l
70
+ ), o = {}, i = () => {
71
+ var t;
72
+ return (t = o.close) == null ? void 0 : t.call(o);
73
+ }, m = p(
74
+ M(
76
75
  {
77
- ...t,
78
- className: f(c, u["marsun-form-info-steps-modal"]),
79
- onComplete: async (o) => {
80
- var s;
81
- return await ((s = t.onComplete) == null ? void 0 : s.call(t, o));
82
- },
83
- children: ({ children: o, isLastStep: a }) => /* @__PURE__ */ h(y, { children: [
84
- o,
85
- /* @__PURE__ */ r(T, { justify: "flex-end", gap: 8, style: { marginTop: 16 }, children: /* @__PURE__ */ r(C, { type: "primary", children: a ? m : p }) })
86
- ] })
87
- }
76
+ ...e,
77
+ okText: c,
78
+ onClose: e.onClose || e.onCancel || i,
79
+ children: /* @__PURE__ */ s(
80
+ F,
81
+ {
82
+ ...r,
83
+ className: u(f, x["marsun-form-info-steps-modal"]),
84
+ onComplete: async (t) => {
85
+ var a;
86
+ return await ((a = r.onComplete) == null ? void 0 : a.call(r, t));
87
+ },
88
+ children: ({ children: t, isLastStep: n }) => /* @__PURE__ */ C(h, { children: [
89
+ t,
90
+ /* @__PURE__ */ s(T, { justify: "flex-end", gap: 8, style: { marginTop: 16 }, children: /* @__PURE__ */ s(y, { type: "primary", children: n ? c : d }) })
91
+ ] })
92
+ }
93
+ )
94
+ },
95
+ { close: i }
88
96
  )
89
- });
97
+ );
98
+ return o.close = m.close, m;
90
99
  };
91
100
  };
92
101
  export {
93
102
  q as default,
94
- v as useFormStepModal
103
+ A as useFormStepModal
95
104
  };
96
105
  //# sourceMappingURL=FormStepsModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormStepsModal.js","sources":["../../../src/components/FormInfo/FormStepsModal.tsx"],"sourcesContent":["// @ts-nocheck\nimport { SubmitButton } from '@kne/react-form-antd';\nimport { Flex } from 'antd';\nimport classnames from 'classnames';\nimport merge from 'lodash/merge';\nimport { ReactModal } from '@/components/ReactModal';\nimport FormSteps from './FormSteps';\nimport { useFormModal } from './FormModal';\nimport type { FormStepsModalProps } from './types';\nimport withLocale, { useFormInfoLocale } from './withLocale';\nimport style from './style.module.scss';\n\n/**\n * 步骤弹窗:ReactModal + FormSteps;页内 Submit 驱动下一步/完成。\n * destroyOnHidden。\n */\nconst FormStepsModal = withLocale((p: FormStepsModalProps) => {\n const { formatMessage } = useFormInfoLocale();\n const { modalProps, completeText, nextText, className, ...others } = merge(\n {},\n {\n autoStep: true,\n modalProps: { autoClose: true },\n completeText: formatMessage({ id: 'complete' }),\n nextText: formatMessage({ id: 'next' }),\n },\n p,\n );\n\n const close = modalProps.onCancel ?? modalProps.onClose;\n\n const stepsChildren = (\n <FormSteps\n {...others}\n className={classnames(className, style['marsun-form-info-steps-modal'])}\n onComplete={async (data) => {\n const res = await others.onComplete?.(data);\n if (modalProps.autoClose !== false && res !== false) {\n close?.();\n }\n return res;\n }}\n >\n {({ children, isLastStep }) => (\n <>\n {children}\n <Flex justify=\"flex-end\" gap={8} style={{ marginTop: 16 }}>\n <SubmitButton type=\"primary\">{isLastStep ? completeText : nextText}</SubmitButton>\n </Flex>\n </>\n )}\n </FormSteps>\n );\n\n const hostProps = {\n open: !!modalProps.open,\n title: modalProps.title,\n width: modalProps.width,\n size: modalProps.size,\n onClose: close,\n onCancel: close,\n destroyOnHidden: true as const,\n footerButtons: [\n {\n children: modalProps.cancelText || formatMessage({ id: 'cancel' }),\n onClick: () => close?.(),\n },\n ],\n className: classnames(\n 'marsun-form-info-modal',\n style['marsun-form-info-modal'],\n modalProps.className,\n ),\n children: stepsChildren,\n };\n\n if (typeof modalProps.renderModal === 'function') {\n return modalProps.renderModal(hostProps);\n }\n\n return <ReactModal {...hostProps} />;\n});\n\nexport default FormStepsModal;\n\n/** 命令式打开步骤弹窗(经 useFormModal 挂 ReactModal) */\nexport const useFormStepModal = () => {\n const formModal = useFormModal();\n return (props: FormStepsModalProps = {}) => {\n const { modalProps, completeText, nextText, className, ...others } = merge(\n {},\n {\n autoStep: true,\n modalProps: { autoClose: true },\n completeText: '完成',\n nextText: '下一步',\n },\n props,\n );\n\n return formModal({\n ...modalProps,\n okText: completeText,\n children: (\n <FormSteps\n {...others}\n className={classnames(className, style['marsun-form-info-steps-modal'])}\n onComplete={async (data) => {\n const res = await others.onComplete?.(data);\n return res;\n }}\n >\n {({ children, isLastStep }) => (\n <>\n {children}\n <Flex justify=\"flex-end\" gap={8} style={{ marginTop: 16 }}>\n <SubmitButton type=\"primary\">{isLastStep ? completeText : nextText}</SubmitButton>\n </Flex>\n </>\n )}\n </FormSteps>\n ),\n });\n };\n};\n"],"names":["FormStepsModal","withLocale","p","formatMessage","useFormInfoLocale","modalProps","completeText","nextText","className","others","merge","close","stepsChildren","jsx","FormSteps","classnames","style","data","res","_a","children","isLastStep","jsxs","Fragment","Flex","SubmitButton","hostProps","ReactModal","useFormStepModal","formModal","useFormModal","props"],"mappings":"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"}
1
+ {"version":3,"file":"FormStepsModal.js","sources":["../../../src/components/FormInfo/FormStepsModal.tsx"],"sourcesContent":["// @ts-nocheck\nimport { SubmitButton } from '@kne/react-form-antd';\nimport { Flex } from 'antd';\nimport classnames from 'classnames';\nimport merge from 'lodash/merge';\nimport { ReactModal, useModal } from '@/components/ReactModal';\nimport { buildFormOverlayProps } from './buildFormOverlayProps';\nimport FormSteps from './FormSteps';\nimport type { FormStepsModalProps } from './types';\nimport withLocale, { useFormInfoLocale } from './withLocale';\nimport style from './style.module.scss';\n\n/**\n * 步骤弹窗:仍挂 ReactModal + FormSteps(与 FormModal antd 壳分叉;另窗再迁)。\n * destroyOnHidden。\n */\nconst FormStepsModal = withLocale((p: FormStepsModalProps) => {\n const { formatMessage } = useFormInfoLocale();\n const { modalProps, completeText, nextText, className, ...others } = merge(\n {},\n {\n autoStep: true,\n modalProps: { autoClose: true },\n completeText: formatMessage({ id: 'complete' }),\n nextText: formatMessage({ id: 'next' }),\n },\n p,\n );\n\n const close = modalProps.onCancel ?? modalProps.onClose;\n\n const stepsChildren = (\n <FormSteps\n {...others}\n className={classnames(className, style['marsun-form-info-steps-modal'])}\n onComplete={async (data) => {\n const res = await others.onComplete?.(data);\n if (modalProps.autoClose !== false && res !== false) {\n close?.();\n }\n return res;\n }}\n >\n {({ children, isLastStep }) => (\n <>\n {children}\n <Flex justify=\"flex-end\" gap={8} style={{ marginTop: 16 }}>\n <SubmitButton type=\"primary\">{isLastStep ? completeText : nextText}</SubmitButton>\n </Flex>\n </>\n )}\n </FormSteps>\n );\n\n const hostProps = {\n open: !!modalProps.open,\n title: modalProps.title,\n width: modalProps.width,\n size: modalProps.size,\n onClose: close,\n onCancel: close,\n destroyOnHidden: true as const,\n footerButtons: [\n {\n children: modalProps.cancelText || formatMessage({ id: 'cancel' }),\n onClick: () => close?.(),\n },\n ],\n className: classnames(\n 'marsun-form-info-modal',\n style['marsun-form-info-modal'],\n modalProps.className,\n ),\n children: stepsChildren,\n };\n\n if (typeof modalProps.renderModal === 'function') {\n return modalProps.renderModal(hostProps);\n }\n\n return <ReactModal {...hostProps} />;\n});\n\nexport default FormStepsModal;\n\n/**\n * 命令式打开步骤弹窗:直接挂 ReactModal.useModal(不经 useFormModal,避免吃到 antd FormModal 壳)。\n */\nexport const useFormStepModal = () => {\n const modal = useModal();\n return (props: FormStepsModalProps = {}) => {\n const { modalProps, completeText, nextText, className, ...others } = merge(\n {},\n {\n autoStep: true,\n modalProps: { autoClose: true },\n completeText: '完成',\n nextText: '下一步',\n },\n props,\n );\n\n const api: { close?: () => void } = {};\n const close = () => api.close?.();\n const opened = modal(\n buildFormOverlayProps(\n {\n ...modalProps,\n okText: completeText,\n onClose: modalProps.onClose || modalProps.onCancel || close,\n children: (\n <FormSteps\n {...others}\n className={classnames(className, style['marsun-form-info-steps-modal'])}\n onComplete={async (data) => {\n const res = await others.onComplete?.(data);\n return res;\n }}\n >\n {({ children, isLastStep }) => (\n <>\n {children}\n <Flex justify=\"flex-end\" gap={8} style={{ marginTop: 16 }}>\n <SubmitButton type=\"primary\">\n {isLastStep ? completeText : nextText}\n </SubmitButton>\n </Flex>\n </>\n )}\n </FormSteps>\n ),\n },\n { close },\n ),\n );\n api.close = opened.close;\n return opened;\n };\n};\n"],"names":["FormStepsModal","withLocale","formatMessage","useFormInfoLocale","modalProps","completeText","nextText","className","others","merge","close","stepsChildren","jsx","FormSteps","classnames","style","data","res","_a","children","isLastStep","jsxs","Fragment","Flex","SubmitButton","hostProps","ReactModal","useFormStepModal","modal","useModal","props","api","opened","buildFormOverlayProps"],"mappings":"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"}
@@ -1,55 +1,57 @@
1
1
  const o = {
2
- "marsun-form-info-outer": "_marsun-form-info-outer_1x40w_25",
3
- "marsun-form-info": "_marsun-form-info_1x40w_25",
4
- "marsun-form-info-nest-block-col": "_marsun-form-info-nest-block-col_1x40w_109",
5
- "marsun-form-info-extra-btn": "_marsun-form-info-extra-btn_1x40w_127",
6
- "marsun-form-info-list-part": "_marsun-form-info-list-part_1x40w_137",
7
- "marsun-form-info-list-item": "_marsun-form-info-list-item_1x40w_159",
8
- "marsun-form-info-list-item-part": "_marsun-form-info-list-item-part_1x40w_167",
9
- "marsun-form-info-list-item-part-in-bordered": "_marsun-form-info-list-item-part-in-bordered_1x40w_184",
10
- "marsun-form-info-list-item-part-plain": "_marsun-form-info-list-item-part-plain_1x40w_195",
11
- "marsun-form-info-list-item-part-wraps-nest-beyond": "_marsun-form-info-list-item-part-wraps-nest-beyond_1x40w_207",
12
- "marsun-form-info-is-important": "_marsun-form-info-is-important_1x40w_210",
13
- "marsun-form-info-nest-beyond": "_marsun-form-info-nest-beyond_1x40w_224",
14
- "marsun-form-info-table-list-inner": "_marsun-form-info-table-list-inner_1x40w_284",
15
- "marsun-form-info-list-item-part-beyond": "_marsun-form-info-list-item-part-beyond_1x40w_349",
16
- "marsun-form-info-extra-container": "_marsun-form-info-extra-container_1x40w_442",
17
- "marsun-form-info-list-item-part-no-title": "_marsun-form-info-list-item-part-no-title_1x40w_554",
18
- "marsun-form-info-list-item-title-placeholder": "_marsun-form-info-list-item-title-placeholder_1x40w_565",
19
- "marsun-form-info-nest-beyond-rail": "_marsun-form-info-nest-beyond-rail_1x40w_626",
20
- "marsun-form-info-nest-beyond-collapsed": "_marsun-form-info-nest-beyond-collapsed_1x40w_634",
21
- "marsun-form-info-nest-beyond-title": "_marsun-form-info-nest-beyond-title_1x40w_683",
22
- "marsun-form-info-nest-level-toggle": "_marsun-form-info-nest-level-toggle_1x40w_691",
23
- "marsun-form-info-nest-beyond-title-text": "_marsun-form-info-nest-beyond-title-text_1x40w_708",
24
- "marsun-form-info-nest-parent-tag": "_marsun-form-info-nest-parent-tag_1x40w_713",
25
- "marsun-form-info-nest-block-col-beyond": "_marsun-form-info-nest-block-col-beyond_1x40w_810",
26
- "marsun-form-info-multi-field-item": "_marsun-form-info-multi-field-item_1x40w_822",
27
- "react-form__field-label": "_react-form__field-label_1x40w_28",
28
- "marsun-form-info-multi-field-add-btn": "_marsun-form-info-multi-field-add-btn_1x40w_841",
29
- "marsun-form-info-table-list-view": "_marsun-form-info-table-list-view_1x40w_845",
30
- "marsun-form-info-table-list": "_marsun-form-info-table-list_1x40w_284",
31
- "marsun-form-info-is-mobile": "_marsun-form-info-is-mobile_1x40w_879",
32
- "marsun-form-info-table-list-mobile-list": "_marsun-form-info-table-list-mobile-list_1x40w_905",
33
- "marsun-form-info-table-list-mobile-card": "_marsun-form-info-table-list-mobile-card_1x40w_911",
34
- "marsun-form-info-table-list-mobile-card-body": "_marsun-form-info-table-list-mobile-card-body_1x40w_923",
35
- "marsun-form-info-table-list-mobile-field": "_marsun-form-info-table-list-mobile-field_1x40w_931",
36
- "marsun-form-info-table-list-mobile-actions": "_marsun-form-info-table-list-mobile-actions_1x40w_936",
37
- "marsun-form-info-table-list-field": "_marsun-form-info-table-list-field_1x40w_955",
38
- "marsun-form-info-table-list-header": "_marsun-form-info-table-list-header_1x40w_964",
39
- "marsun-form-info-is-req": "_marsun-form-info-is-req_1x40w_28",
40
- "marsun-form-info-table-options": "_marsun-form-info-table-options_1x40w_984",
41
- "marsun-form-info-table-options-header": "_marsun-form-info-table-options-header_1x40w_997",
42
- "marsun-form-info-is-overflow": "_marsun-form-info-is-overflow_1x40w_1001",
43
- "marsun-form-info-steps": "_marsun-form-info-steps_1x40w_1024",
44
- "marsun-form-info-steps-vertical": "_marsun-form-info-steps-vertical_1x40w_1112",
45
- "marsun-form-info-steps-form-inner": "_marsun-form-info-steps-form-inner_1x40w_1137",
46
- "marsun-form-info-steps-embed": "_marsun-form-info-steps-embed_1x40w_1141",
47
- "marsun-form-info-steps-embed-panel": "_marsun-form-info-steps-embed-panel_1x40w_1145",
48
- "marsun-form-info-steps-actions": "_marsun-form-info-steps-actions_1x40w_1149",
49
- "marsun-form-info-steps-actions-side": "_marsun-form-info-steps-actions-side_1x40w_1155",
50
- "marsun-form-info-steps-modal": "_marsun-form-info-steps-modal_1x40w_1165",
51
- "marsun-form-info-table-list-empty": "_marsun-form-info-table-list-empty_1x40w_1177",
52
- "marsun-form-info-column-not-layout": "_marsun-form-info-column-not-layout_1x40w_1185"
2
+ "marsun-form-info-outer": "_marsun-form-info-outer_1d28s_25",
3
+ "marsun-form-info": "_marsun-form-info_1d28s_25",
4
+ "marsun-form-info-nest-block-col": "_marsun-form-info-nest-block-col_1d28s_109",
5
+ "marsun-form-info-extra-btn": "_marsun-form-info-extra-btn_1d28s_127",
6
+ "marsun-form-info-list-part": "_marsun-form-info-list-part_1d28s_137",
7
+ "marsun-form-info-list-item": "_marsun-form-info-list-item_1d28s_159",
8
+ "marsun-form-info-list-item-part": "_marsun-form-info-list-item-part_1d28s_167",
9
+ "marsun-form-info-list-item-part-in-bordered": "_marsun-form-info-list-item-part-in-bordered_1d28s_184",
10
+ "marsun-form-info-list-item-part-plain": "_marsun-form-info-list-item-part-plain_1d28s_195",
11
+ "marsun-form-info-list-item-part-wraps-nest-beyond": "_marsun-form-info-list-item-part-wraps-nest-beyond_1d28s_207",
12
+ "marsun-form-info-is-important": "_marsun-form-info-is-important_1d28s_210",
13
+ "marsun-form-info-nest-beyond": "_marsun-form-info-nest-beyond_1d28s_224",
14
+ "marsun-form-info-table-list-inner": "_marsun-form-info-table-list-inner_1d28s_284",
15
+ "marsun-form-info-list-item-part-beyond": "_marsun-form-info-list-item-part-beyond_1d28s_349",
16
+ "marsun-form-info-extra-container": "_marsun-form-info-extra-container_1d28s_442",
17
+ "marsun-form-info-list-item-part-no-title": "_marsun-form-info-list-item-part-no-title_1d28s_554",
18
+ "marsun-form-info-list-item-title-placeholder": "_marsun-form-info-list-item-title-placeholder_1d28s_565",
19
+ "marsun-form-info-nest-beyond-rail": "_marsun-form-info-nest-beyond-rail_1d28s_626",
20
+ "marsun-form-info-nest-beyond-collapsed": "_marsun-form-info-nest-beyond-collapsed_1d28s_634",
21
+ "marsun-form-info-nest-beyond-title": "_marsun-form-info-nest-beyond-title_1d28s_683",
22
+ "marsun-form-info-nest-level-toggle": "_marsun-form-info-nest-level-toggle_1d28s_691",
23
+ "marsun-form-info-nest-beyond-title-text": "_marsun-form-info-nest-beyond-title-text_1d28s_708",
24
+ "marsun-form-info-nest-parent-tag": "_marsun-form-info-nest-parent-tag_1d28s_713",
25
+ "marsun-form-info-nest-block-col-beyond": "_marsun-form-info-nest-block-col-beyond_1d28s_810",
26
+ "marsun-form-info-multi-field-item": "_marsun-form-info-multi-field-item_1d28s_822",
27
+ "react-form__field-label": "_react-form__field-label_1d28s_28",
28
+ "marsun-form-info-multi-field-add-btn": "_marsun-form-info-multi-field-add-btn_1d28s_841",
29
+ "marsun-form-info-table-list-view": "_marsun-form-info-table-list-view_1d28s_845",
30
+ "marsun-form-info-table-list": "_marsun-form-info-table-list_1d28s_284",
31
+ "marsun-form-info-is-mobile": "_marsun-form-info-is-mobile_1d28s_879",
32
+ "marsun-form-info-table-list-mobile-list": "_marsun-form-info-table-list-mobile-list_1d28s_905",
33
+ "marsun-form-info-table-list-mobile-card": "_marsun-form-info-table-list-mobile-card_1d28s_911",
34
+ "marsun-form-info-table-list-mobile-card-body": "_marsun-form-info-table-list-mobile-card-body_1d28s_923",
35
+ "marsun-form-info-table-list-mobile-field": "_marsun-form-info-table-list-mobile-field_1d28s_931",
36
+ "marsun-form-info-table-list-mobile-actions": "_marsun-form-info-table-list-mobile-actions_1d28s_936",
37
+ "marsun-form-info-table-list-field": "_marsun-form-info-table-list-field_1d28s_955",
38
+ "marsun-form-info-table-list-header": "_marsun-form-info-table-list-header_1d28s_964",
39
+ "marsun-form-info-is-req": "_marsun-form-info-is-req_1d28s_28",
40
+ "marsun-form-info-table-options": "_marsun-form-info-table-options_1d28s_984",
41
+ "marsun-form-info-table-options-header": "_marsun-form-info-table-options-header_1d28s_997",
42
+ "marsun-form-info-is-overflow": "_marsun-form-info-is-overflow_1d28s_1001",
43
+ "marsun-form-info-steps": "_marsun-form-info-steps_1d28s_1024",
44
+ "marsun-form-info-steps-vertical": "_marsun-form-info-steps-vertical_1d28s_1112",
45
+ "marsun-form-info-steps-form-inner": "_marsun-form-info-steps-form-inner_1d28s_1137",
46
+ "marsun-form-info-steps-embed": "_marsun-form-info-steps-embed_1d28s_1141",
47
+ "marsun-form-info-steps-embed-panel": "_marsun-form-info-steps-embed-panel_1d28s_1145",
48
+ "marsun-form-info-steps-actions": "_marsun-form-info-steps-actions_1d28s_1149",
49
+ "marsun-form-info-steps-actions-side": "_marsun-form-info-steps-actions-side_1d28s_1155",
50
+ "marsun-form-info-steps-modal": "_marsun-form-info-steps-modal_1d28s_1165",
51
+ "marsun-form-info-table-list-empty": "_marsun-form-info-table-list-empty_1d28s_1177",
52
+ "marsun-form-info-column-not-layout": "_marsun-form-info-column-not-layout_1d28s_1185",
53
+ "marsun-form-info-modal-body": "_marsun-form-info-modal-body_1d28s_1191",
54
+ "marsun-form-info-modal-footer": "_marsun-form-info-modal-footer_1d28s_1196"
53
55
  };
54
56
  export {
55
57
  o as default
@@ -1 +1 @@
1
- {"version":3,"file":"style.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"style.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}