@hkyhy/marsun-components-core 0.1.117 → 0.1.119

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/components/AgentHub/Chat/Action/ManageActionButtons.js +1 -1
  2. package/dist/components/AgentHub/Chat/Action/ManageActionButtons.js.map +1 -1
  3. package/dist/components/AgentHub/Chat/Action/SessionActionButtons.js +1 -1
  4. package/dist/components/AgentHub/Chat/Action/SessionActionButtons.js.map +1 -1
  5. package/dist/components/AgentHub/Chat/Detail/ChatWidgetBlock/index.js +93 -72
  6. package/dist/components/AgentHub/Chat/Detail/ChatWidgetBlock/index.js.map +1 -1
  7. package/dist/components/AgentHub/Chat/List/ChatCard/index.js +121 -60
  8. package/dist/components/AgentHub/Chat/List/ChatCard/index.js.map +1 -1
  9. package/dist/components/AgentHub/KnowledgeBase/Action/ManageActionButtons.js +1 -1
  10. package/dist/components/AgentHub/KnowledgeBase/Action/ManageActionButtons.js.map +1 -1
  11. package/dist/components/AgentHub/KnowledgeBase/Detail/DocumentTable/index.js +9 -2
  12. package/dist/components/AgentHub/KnowledgeBase/Detail/DocumentTable/index.js.map +1 -1
  13. package/dist/components/AgentHub/KnowledgeBase/List/KnowledgeCard/index.js +84 -11
  14. package/dist/components/AgentHub/KnowledgeBase/List/KnowledgeCard/index.js.map +1 -1
  15. package/dist/components/Audit/AuditLogList.d.ts +4 -0
  16. package/dist/components/Audit/AuditLogList.js +168 -166
  17. package/dist/components/Audit/AuditLogList.js.map +1 -1
  18. package/dist/components/Audit/AuditStepPerfChart.d.ts +10 -0
  19. package/dist/components/Audit/AuditStepPerfChart.js +51 -0
  20. package/dist/components/Audit/AuditStepPerfChart.js.map +1 -0
  21. package/dist/components/Audit/AuditWaterfall.d.ts +5 -1
  22. package/dist/components/Audit/AuditWaterfall.js +50 -34
  23. package/dist/components/Audit/AuditWaterfall.js.map +1 -1
  24. package/dist/components/Audit/Chart/createLazyPlot.d.ts +4 -0
  25. package/dist/components/Audit/Chart/createLazyPlot.js +12 -11
  26. package/dist/components/Audit/Chart/createLazyPlot.js.map +1 -1
  27. package/dist/components/Audit/detailKpi.d.ts +8 -3
  28. package/dist/components/Audit/detailKpi.js +28 -20
  29. package/dist/components/Audit/detailKpi.js.map +1 -1
  30. package/dist/components/Audit/index.d.ts +4 -2
  31. package/dist/components/Audit/style.module.scss.js +48 -28
  32. package/dist/components/Audit/style.module.scss.js.map +1 -1
  33. package/dist/components/ButtonGroup/index.d.ts +22 -0
  34. package/dist/components/ButtonGroup/index.js +32 -0
  35. package/dist/components/ButtonGroup/index.js.map +1 -0
  36. package/dist/components/ButtonGroup/normalizeActionList.d.ts +35 -0
  37. package/dist/components/ButtonGroup/normalizeActionList.js +20 -0
  38. package/dist/components/ButtonGroup/normalizeActionList.js.map +1 -0
  39. package/dist/components/ButtonGroup/style.module.scss.js +7 -0
  40. package/dist/components/ButtonGroup/style.module.scss.js.map +1 -0
  41. package/dist/components/Disposition/DispositionBar/style.module.scss.js +6 -6
  42. package/dist/components/FormInfo/List.js +79 -69
  43. package/dist/components/FormInfo/List.js.map +1 -1
  44. package/dist/components/FormInfo/MultiField.js +55 -33
  45. package/dist/components/FormInfo/MultiField.js.map +1 -1
  46. package/dist/components/FormInfo/TableList.js +119 -97
  47. package/dist/components/FormInfo/TableList.js.map +1 -1
  48. package/dist/components/FormInfo/locale/zh-CN.d.ts +2 -0
  49. package/dist/components/FormInfo/locale/zh-CN.js +2 -0
  50. package/dist/components/FormInfo/locale/zh-CN.js.map +1 -1
  51. package/dist/components/InteractiveBlock/InteractiveBlock.js +1 -1
  52. package/dist/components/InteractiveBlock/InteractiveBlock.js.map +1 -1
  53. package/dist/components/Modal/Modal/index.js +1 -1
  54. package/dist/components/Modal/Modal/index.js.map +1 -1
  55. package/dist/components/ReactModal/Footer.js +1 -1
  56. package/dist/components/ReactModal/Footer.js.map +1 -1
  57. package/dist/components/Tag/TagGroup/index.d.ts +27 -0
  58. package/dist/components/Tag/TagGroup/index.js +34 -0
  59. package/dist/components/Tag/TagGroup/index.js.map +1 -0
  60. package/dist/components/Tag/TagGroup/style.module.scss.js +8 -0
  61. package/dist/components/Tag/TagGroup/style.module.scss.js.map +1 -0
  62. package/dist/components/Tag/index.d.ts +2 -0
  63. package/dist/components/index.d.ts +2 -0
  64. package/dist/index.d.ts +2 -0
  65. package/dist/index.js +808 -798
  66. package/dist/index.js.map +1 -1
  67. package/dist/marsun-components-core.css +1 -1
  68. package/dist/styles/global.css +1 -1
  69. package/package.json +1 -1
@@ -1,36 +1,56 @@
1
- const t = "_wrap_1wy8p_2", o = "_filter_1wy8p_6", s = "_statsBar_1wy8p_10", _ = "_statsBarCards_1wy8p_18", a = "_detail_1wy8p_23", c = "_actionCode_1wy8p_29", n = "_stepBody_1wy8p_38", e = "_stepMeta_1wy8p_47", p = "_blockLabel_1wy8p_54", r = "_jsonWrap_1wy8p_60", l = "_jsonScroll_1wy8p_65", y = "_jsonBlock_1wy8p_70", w = "_truncateHint_1wy8p_86", i = "_kpiBlock_1wy8p_92", B = "_truncateNote_1wy8p_96", d = {
1
+ const t = "_wrap_fkgi3_2", i = "_filter_fkgi3_6", n = "_statsBar_fkgi3_10", _ = "_statsBarCards_fkgi3_18", o = "_detail_fkgi3_23", s = "_actionCode_fkgi3_29", a = "_stepBody_fkgi3_38", g = "_blockLabel_fkgi3_54", e = "_jsonWrap_fkgi3_60", c = "_jsonScroll_fkgi3_65", r = "_jsonBlock_fkgi3_70", k = "_truncateHint_fkgi3_86", l = "_kpiBlock_fkgi3_92", f = "_truncateNote_fkgi3_96", m = "_timing_fkgi3_103", B = "_timingRows_fkgi3_109", d = "_timingRow_fkgi3_109", p = "_timingLabel_fkgi3_123", b = "_timingTrack_fkgi3_132", j = "_timingBar_fkgi3_139", w = "_timingBarThin_fkgi3_147", H = "_timingMs_fkgi3_151", T = "_timingFoot_fkgi3_160", u = "_stepHeader_fkgi3_169", C = "_stepHeaderTitle_fkgi3_178", L = {
2
2
  wrap: t,
3
- filter: o,
4
- statsBar: s,
3
+ filter: i,
4
+ statsBar: n,
5
5
  statsBarCards: _,
6
- detail: a,
7
- actionCode: c,
8
- stepBody: n,
9
- stepMeta: e,
10
- blockLabel: p,
11
- jsonWrap: r,
12
- jsonScroll: l,
13
- jsonBlock: y,
14
- truncateHint: w,
15
- kpiBlock: i,
16
- truncateNote: B
6
+ detail: o,
7
+ actionCode: s,
8
+ stepBody: a,
9
+ blockLabel: g,
10
+ jsonWrap: e,
11
+ jsonScroll: c,
12
+ jsonBlock: r,
13
+ truncateHint: k,
14
+ kpiBlock: l,
15
+ truncateNote: f,
16
+ timing: m,
17
+ timingRows: B,
18
+ timingRow: d,
19
+ timingLabel: p,
20
+ timingTrack: b,
21
+ timingBar: j,
22
+ timingBarThin: w,
23
+ timingMs: H,
24
+ timingFoot: T,
25
+ stepHeader: u,
26
+ stepHeaderTitle: C
17
27
  };
18
28
  export {
19
- c as actionCode,
20
- p as blockLabel,
21
- d as default,
22
- a as detail,
23
- o as filter,
24
- y as jsonBlock,
25
- l as jsonScroll,
26
- r as jsonWrap,
27
- i as kpiBlock,
28
- s as statsBar,
29
+ s as actionCode,
30
+ g as blockLabel,
31
+ L as default,
32
+ o as detail,
33
+ i as filter,
34
+ r as jsonBlock,
35
+ c as jsonScroll,
36
+ e as jsonWrap,
37
+ l as kpiBlock,
38
+ n as statsBar,
29
39
  _ as statsBarCards,
30
- n as stepBody,
31
- e as stepMeta,
32
- w as truncateHint,
33
- B as truncateNote,
40
+ a as stepBody,
41
+ u as stepHeader,
42
+ C as stepHeaderTitle,
43
+ m as timing,
44
+ j as timingBar,
45
+ w as timingBarThin,
46
+ T as timingFoot,
47
+ p as timingLabel,
48
+ H as timingMs,
49
+ d as timingRow,
50
+ B as timingRows,
51
+ b as timingTrack,
52
+ k as truncateHint,
53
+ f as truncateNote,
34
54
  t as wrap
35
55
  };
36
56
  //# sourceMappingURL=style.module.scss.js.map
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+ import { ActionListItem } from './normalizeActionList';
3
+ export type { ActionListItem, ActionListItemInput } from './normalizeActionList';
4
+ export type { NormalizeActionListOptions } from './normalizeActionList';
5
+ export { actionListItem, normalizeActionList } from './normalizeActionList';
6
+ export type ButtonGroupProps = {
7
+ list?: Array<ActionListItem | ((...args: never[]) => unknown)>;
8
+ /** 默认 true:unavailable → hidden,禁止 disabled 占位 */
9
+ hideUnavailable?: boolean;
10
+ moreType?: 'link' | 'default' | string;
11
+ showLength?: number;
12
+ className?: string;
13
+ itemClassName?: string;
14
+ [key: string]: unknown;
15
+ };
16
+ /**
17
+ * 业务操作组 SSOT:薄封装 `@kne/button-group`。
18
+ * 默认把 `unavailable` 收成 `hidden`(无权限/态到了不可再操作不置灰占位)。
19
+ * 短暂 loading 用 `loading`/`disabled`,勿标 `unavailable`。
20
+ */
21
+ declare const ButtonGroup: React.FC<ButtonGroupProps>;
22
+ export default ButtonGroup;
@@ -0,0 +1,32 @@
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import n from "@kne/button-group";
3
+ import e from "classnames";
4
+ import { useMemo as p } from "react";
5
+ import { normalizeActionList as i } from "./normalizeActionList.js";
6
+ import { actionListItem as N } from "./normalizeActionList.js";
7
+ import a from "./style.module.scss.js";
8
+ const B = ({
9
+ list: o,
10
+ hideUnavailable: t = !0,
11
+ className: r,
12
+ ...m
13
+ }) => {
14
+ const s = p(
15
+ () => i(o, { hideUnavailable: t }),
16
+ [o, t]
17
+ );
18
+ return /* @__PURE__ */ u(
19
+ n,
20
+ {
21
+ ...m,
22
+ list: s,
23
+ className: e("marsun-button-group", a["marsun-button-group"], r)
24
+ }
25
+ );
26
+ };
27
+ export {
28
+ N as actionListItem,
29
+ B as default,
30
+ i as normalizeActionList
31
+ };
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/ButtonGroup/index.tsx"],"sourcesContent":["import KneButtonGroup from '@kne/button-group';\nimport classNames from 'classnames';\nimport React, { useMemo } from 'react';\nimport { normalizeActionList, type ActionListItem } from './normalizeActionList';\nimport styles from './style.module.scss';\n\nexport type { ActionListItem, ActionListItemInput } from './normalizeActionList';\nexport type { NormalizeActionListOptions } from './normalizeActionList';\nexport { actionListItem, normalizeActionList } from './normalizeActionList';\n\nexport type ButtonGroupProps = {\n list?: Array<ActionListItem | ((...args: never[]) => unknown)>;\n /** 默认 true:unavailable → hidden,禁止 disabled 占位 */\n hideUnavailable?: boolean;\n moreType?: 'link' | 'default' | string;\n showLength?: number;\n className?: string;\n itemClassName?: string;\n [key: string]: unknown;\n};\n\n/**\n * 业务操作组 SSOT:薄封装 `@kne/button-group`。\n * 默认把 `unavailable` 收成 `hidden`(无权限/态到了不可再操作不置灰占位)。\n * 短暂 loading 用 `loading`/`disabled`,勿标 `unavailable`。\n */\nconst ButtonGroup: React.FC<ButtonGroupProps> = ({\n list,\n hideUnavailable = true,\n className,\n ...rest\n}) => {\n const normalized = useMemo(\n () => normalizeActionList(list, { hideUnavailable }),\n [list, hideUnavailable],\n );\n\n return (\n <KneButtonGroup\n {...rest}\n list={normalized}\n className={classNames('marsun-button-group', styles['marsun-button-group'], className)}\n />\n );\n};\n\nexport default ButtonGroup;\n"],"names":["ButtonGroup","list","hideUnavailable","className","rest","normalized","useMemo","normalizeActionList","jsx","KneButtonGroup","classNames","styles"],"mappings":";;;;;;;AA0BA,MAAMA,IAA0C,CAAC;AAAA,EAC/C,MAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,WAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAaC;AAAA,IACjB,MAAMC,EAAoBN,GAAM,EAAE,iBAAAC,GAAiB;AAAA,IACnD,CAACD,GAAMC,CAAe;AAAA,EAAA;AAGxB,SACE,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGL;AAAA,MACJ,MAAMC;AAAA,MACN,WAAWK,EAAW,uBAAuBC,EAAO,qBAAqB,GAAGR,CAAS;AAAA,IAAA;AAAA,EAAA;AAG3F;"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * 操作组 list 项:无权限或不可再操作 → hidden,禁止用 disabled 占位「已认领」类文案。
3
+ * `unavailable` 为业务态门禁(态到了不可再点);`hidden` 为权限等显隐。
4
+ * 短暂 loading 仍用 `disabled` / `loading`,勿标 `unavailable`。
5
+ */
6
+ export type ActionListItem = Record<string, unknown> & {
7
+ children?: React.ReactNode;
8
+ hidden?: boolean;
9
+ /** 业务态不可再操作 → 与 hidden 一并视为不渲染 */
10
+ unavailable?: boolean;
11
+ disabled?: boolean;
12
+ loading?: boolean;
13
+ onClick?: (...args: never[]) => unknown;
14
+ type?: string;
15
+ size?: string;
16
+ };
17
+ export type NormalizeActionListOptions = {
18
+ /**
19
+ * 默认 true:`unavailable` 合并进 `hidden`,且不再向下游传 `unavailable`。
20
+ * 设为 false 时原样透传(仅调试/逃生)。
21
+ */
22
+ hideUnavailable?: boolean;
23
+ };
24
+ /**
25
+ * 规范化 ButtonGroup `list`:不可用项隐藏,不置灰占位。
26
+ */
27
+ export declare function normalizeActionList<T extends ActionListItem | ((...args: never[]) => unknown)>(list: T[] | null | undefined, options?: NormalizeActionListOptions): T[];
28
+ export type ActionListItemInput = Omit<ActionListItem, 'hidden' | 'unavailable'> & {
29
+ /** 有对应 EP / 角色;false → hidden */
30
+ can?: boolean;
31
+ /** 业务态仍可操作;false → unavailable→hidden */
32
+ available?: boolean;
33
+ };
34
+ /** 构造单条操作:无权限或不可再操作 → hidden(不写 disabled 占位) */
35
+ export declare function actionListItem(input: ActionListItemInput): ActionListItem;
@@ -0,0 +1,20 @@
1
+ function l(e, r) {
2
+ const a = (r == null ? void 0 : r.hideUnavailable) !== !1;
3
+ return !Array.isArray(e) || e.length === 0 ? [] : e.map((n) => {
4
+ if (typeof n == "function") return n;
5
+ const t = n, { unavailable: i, hidden: u, ...d } = t;
6
+ return a ? { ...d, hidden: !!u || i === !0 } : n;
7
+ });
8
+ }
9
+ function f(e) {
10
+ const { can: r = !0, available: a = !0, ...n } = e;
11
+ return {
12
+ ...n,
13
+ hidden: !r || !a
14
+ };
15
+ }
16
+ export {
17
+ f as actionListItem,
18
+ l as normalizeActionList
19
+ };
20
+ //# sourceMappingURL=normalizeActionList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeActionList.js","sources":["../../../src/components/ButtonGroup/normalizeActionList.ts"],"sourcesContent":["/**\n * 操作组 list 项:无权限或不可再操作 → hidden,禁止用 disabled 占位「已认领」类文案。\n * `unavailable` 为业务态门禁(态到了不可再点);`hidden` 为权限等显隐。\n * 短暂 loading 仍用 `disabled` / `loading`,勿标 `unavailable`。\n */\nexport type ActionListItem = Record<string, unknown> & {\n children?: React.ReactNode;\n hidden?: boolean;\n /** 业务态不可再操作 → 与 hidden 一并视为不渲染 */\n unavailable?: boolean;\n disabled?: boolean;\n loading?: boolean;\n onClick?: (...args: never[]) => unknown;\n type?: string;\n size?: string;\n};\n\nexport type NormalizeActionListOptions = {\n /**\n * 默认 true:`unavailable` 合并进 `hidden`,且不再向下游传 `unavailable`。\n * 设为 false 时原样透传(仅调试/逃生)。\n */\n hideUnavailable?: boolean;\n};\n\n/**\n * 规范化 ButtonGroup `list`:不可用项隐藏,不置灰占位。\n */\nexport function normalizeActionList<T extends ActionListItem | ((...args: never[]) => unknown)>(\n list: T[] | null | undefined,\n options?: NormalizeActionListOptions,\n): T[] {\n const hideUnavailable = options?.hideUnavailable !== false;\n if (!Array.isArray(list) || list.length === 0) return [];\n\n return list.map((item) => {\n if (typeof item === 'function') return item;\n const row = item as ActionListItem;\n const { unavailable, hidden, ...rest } = row;\n if (!hideUnavailable) {\n return item;\n }\n const nextHidden = Boolean(hidden) || unavailable === true;\n return { ...rest, hidden: nextHidden } as T;\n });\n}\n\nexport type ActionListItemInput = Omit<ActionListItem, 'hidden' | 'unavailable'> & {\n /** 有对应 EP / 角色;false → hidden */\n can?: boolean;\n /** 业务态仍可操作;false → unavailable→hidden */\n available?: boolean;\n};\n\n/** 构造单条操作:无权限或不可再操作 → hidden(不写 disabled 占位) */\nexport function actionListItem(input: ActionListItemInput): ActionListItem {\n const { can = true, available = true, ...rest } = input;\n return {\n ...rest,\n hidden: !can || !available,\n };\n}\n"],"names":["normalizeActionList","list","options","hideUnavailable","item","row","unavailable","hidden","rest","actionListItem","input","can","available"],"mappings":"AA4BO,SAASA,EACdC,GACAC,GACK;AACL,QAAMC,KAAkBD,KAAA,gBAAAA,EAAS,qBAAoB;AACrD,SAAI,CAAC,MAAM,QAAQD,CAAI,KAAKA,EAAK,WAAW,IAAU,CAAA,IAE/CA,EAAK,IAAI,CAACG,MAAS;AACxB,QAAI,OAAOA,KAAS,WAAY,QAAOA;AACvC,UAAMC,IAAMD,GACN,EAAE,aAAAE,GAAa,QAAAC,GAAQ,GAAGC,MAASH;AACzC,WAAKF,IAIE,EAAE,GAAGK,GAAM,QADC,EAAQD,KAAWD,MAAgB,GAC5B,IAHjBF;AAAA,EAIX,CAAC;AACH;AAUO,SAASK,EAAeC,GAA4C;AACzE,QAAM,EAAE,KAAAC,IAAM,IAAM,WAAAC,IAAY,IAAM,GAAGJ,MAASE;AAClD,SAAO;AAAA,IACL,GAAGF;AAAA,IACH,QAAQ,CAACG,KAAO,CAACC;AAAA,EAAA;AAErB;"}
@@ -0,0 +1,7 @@
1
+ const t = {
2
+ "marsun-button-group": "_marsun-button-group_1s0le_1"
3
+ };
4
+ export {
5
+ t as default
6
+ };
7
+ //# sourceMappingURL=style.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,10 +1,10 @@
1
1
  const s = {
2
- "marsun-disposition-bar": "_marsun-disposition-bar_h2lzw_1",
3
- "marsun-disposition-status": "_marsun-disposition-status_h2lzw_16",
4
- "marsun-disposition-label": "_marsun-disposition-label_h2lzw_24",
5
- "marsun-disposition-lead": "_marsun-disposition-lead_h2lzw_31",
6
- "marsun-disposition-badge": "_marsun-disposition-badge_h2lzw_43",
7
- "marsun-disposition-actions": "_marsun-disposition-actions_h2lzw_57"
2
+ "marsun-disposition-bar": "_marsun-disposition-bar_1lz2k_2",
3
+ "marsun-disposition-status": "_marsun-disposition-status_1lz2k_17",
4
+ "marsun-disposition-label": "_marsun-disposition-label_1lz2k_27",
5
+ "marsun-disposition-lead": "_marsun-disposition-lead_1lz2k_34",
6
+ "marsun-disposition-badge": "_marsun-disposition-badge_1lz2k_46",
7
+ "marsun-disposition-actions": "_marsun-disposition-actions_1lz2k_60"
8
8
  };
9
9
  export {
10
10
  s as default
@@ -1,43 +1,43 @@
1
1
  import { jsx as t, jsxs as f } from "react/jsx-runtime";
2
2
  import { SubList as A } from "@kne/react-form-plus";
3
- import { Tag as G, Button as D, Divider as J } from "antd";
3
+ import { Tag as G, Button as D, Popconfirm as J, Divider as Q } from "antd";
4
4
  import c from "classnames";
5
- import { useState as Q } from "react";
6
- import U from "./FormInfo.js";
7
- import { markNestBlock as V, decorateNestBlocks as X, isNestBlockType as Z, NEST_DEPTH_BEYOND as u } from "./nestBlock.js";
8
- import $, { useFormInfoLocale as ee } from "./withLocale.js";
5
+ import { useState as U } from "react";
6
+ import V from "./FormInfo.js";
7
+ import { markNestBlock as X, decorateNestBlocks as Z, isNestBlockType as $, NEST_DEPTH_BEYOND as u } from "./nestBlock.js";
8
+ import ee, { useFormInfoLocale as te } from "./withLocale.js";
9
9
  import e from "./style.module.scss.js";
10
- import te from "../Empty/Empty.js";
11
- import { Trash2 as se } from "../Icons/Trash2.js";
12
- import { Plus as oe } from "../Icons/Plus.js";
13
- import re from "../InfoPage/InfoPage/index.js";
14
- const ne = $((I) => {
15
- const { formatMessage: m } = ee(), {
16
- className: E,
17
- itemClassName: L,
18
- removeIcon: P,
19
- removeText: w,
20
- addText: C,
10
+ import se from "../Empty/Empty.js";
11
+ import { Trash2 as oe } from "../Icons/Trash2.js";
12
+ import { Plus as re } from "../Icons/Plus.js";
13
+ import ne from "../InfoPage/InfoPage/index.js";
14
+ const ae = ee((I) => {
15
+ const { formatMessage: r } = te(), {
16
+ className: P,
17
+ itemClassName: E,
18
+ removeIcon: L,
19
+ removeText: C,
20
+ addText: w,
21
21
  addIcon: S,
22
- important: R,
22
+ important: j,
23
23
  title: y,
24
- bordered: j,
24
+ bordered: O,
25
25
  nestDepth: b,
26
- nestParentTitles: ae,
27
- styles: _,
28
- style: M,
29
- ...O
26
+ nestParentTitles: ie,
27
+ styles: R,
28
+ style: _,
29
+ ...M
30
30
  } = Object.assign(
31
31
  {
32
- addText: m({ id: "addText" }),
33
- addIcon: /* @__PURE__ */ t(oe, { size: 14 }),
34
- removeText: m({ id: "deleteText" }),
35
- removeIcon: /* @__PURE__ */ t(se, { size: 14 }),
36
- empty: /* @__PURE__ */ t(te, { iconType: "simple", description: !1 })
32
+ addText: r({ id: "addText" }),
33
+ addIcon: /* @__PURE__ */ t(re, { size: 14 }),
34
+ removeText: r({ id: "deleteText" }),
35
+ removeIcon: /* @__PURE__ */ t(oe, { size: 14 }),
36
+ empty: /* @__PURE__ */ t(se, { iconType: "simple", description: !1 })
37
37
  },
38
38
  I
39
- ), r = typeof b == "number" ? b : 0, h = !!j, N = r === 0, z = N && h, s = r >= u, x = r === u, v = r + 1, [a, F] = Q(!0), d = N && h, g = (o) => {
40
- o.preventDefault(), o.stopPropagation(), F((i) => !i);
39
+ ), n = typeof b == "number" ? b : 0, h = !!O, x = n === 0, z = x && h, s = n >= u, N = n === u, v = n + 1, [d, F] = U(!0), m = x && h, g = (o) => {
40
+ o.preventDefault(), o.stopPropagation(), F((a) => !a);
41
41
  }, H = s ? /* @__PURE__ */ f("span", { className: e["marsun-form-info-nest-beyond-title"], children: [
42
42
  /* @__PURE__ */ f(
43
43
  "span",
@@ -45,9 +45,9 @@ const ne = $((I) => {
45
45
  className: e["marsun-form-info-nest-level-toggle"],
46
46
  role: "button",
47
47
  tabIndex: 0,
48
- "aria-expanded": a,
49
- "aria-label": m(
50
- { id: a ? "nestCollapse" : "nestExpand" },
48
+ "aria-expanded": d,
49
+ "aria-label": r(
50
+ { id: d ? "nestCollapse" : "nestExpand" },
51
51
  { level: v }
52
52
  ),
53
53
  onClick: g,
@@ -55,8 +55,8 @@ const ne = $((I) => {
55
55
  (o.key === "Enter" || o.key === " ") && g(o);
56
56
  },
57
57
  children: [
58
- /* @__PURE__ */ t(G, { className: e["marsun-form-info-nest-parent-tag"], children: m({ id: "nestLevel" }, { level: v }) }),
59
- a ? "▾" : "▸"
58
+ /* @__PURE__ */ t(G, { className: e["marsun-form-info-nest-parent-tag"], children: r({ id: "nestLevel" }, { level: v }) }),
59
+ d ? "▾" : "▸"
60
60
  ]
61
61
  }
62
62
  ),
@@ -65,12 +65,12 @@ const ne = $((I) => {
65
65
  return /* @__PURE__ */ t(
66
66
  A,
67
67
  {
68
- ...O,
68
+ ...M,
69
69
  listRender: ({
70
70
  id: o,
71
- allowRemove: i,
71
+ allowRemove: a,
72
72
  onRemove: l,
73
- index: ie,
73
+ index: de,
74
74
  list: K,
75
75
  title: p,
76
76
  ...W
@@ -81,24 +81,24 @@ const ne = $((I) => {
81
81
  className: e["marsun-form-info-list-item-title-placeholder"],
82
82
  "aria-hidden": "true"
83
83
  }
84
- ), k = X(
84
+ ), k = Z(
85
85
  K || [],
86
- r + 1
86
+ n + 1
87
87
  ), q = k.some(
88
- (n) => {
88
+ (i) => {
89
89
  var B;
90
- return n && typeof n == "object" && "type" in n && Z(n.type) && typeof ((B = n.props) == null ? void 0 : B.nestDepth) == "number" && n.props.nestDepth >= u;
90
+ return i && typeof i == "object" && "type" in i && $(i.type) && typeof ((B = i.props) == null ? void 0 : B.nestDepth) == "number" && i.props.nestDepth >= u;
91
91
  }
92
92
  );
93
93
  return /* @__PURE__ */ f(
94
94
  "div",
95
95
  {
96
96
  className: c(e["marsun-form-info-list-item"], {
97
- [e["marsun-form-info-is-important"]]: R
97
+ [e["marsun-form-info-is-important"]]: j
98
98
  }),
99
99
  children: [
100
100
  /* @__PURE__ */ t(
101
- U,
101
+ V,
102
102
  {
103
103
  ...W,
104
104
  list: k,
@@ -106,15 +106,15 @@ const ne = $((I) => {
106
106
  bordered: !1,
107
107
  className: c(e["marsun-form-info-list-item-part"], {
108
108
  [e["marsun-form-info-list-item-part-no-title"]]: !T,
109
- [e["marsun-form-info-list-item-part-in-bordered"]]: !s && d,
110
- [e["marsun-form-info-list-item-part-plain"]]: !s && !d,
109
+ [e["marsun-form-info-list-item-part-in-bordered"]]: !s && m,
110
+ [e["marsun-form-info-list-item-part-plain"]]: !s && !m,
111
111
  [e["marsun-form-info-list-item-part-beyond"]]: s,
112
112
  [e["marsun-form-info-list-item-part-wraps-nest-beyond"]]: q
113
113
  }),
114
114
  styles: {
115
115
  header: {
116
116
  borderBottom: "none",
117
- borderRadius: d ? "var(--radius-default, 8px)" : "var(--radius-default, 8px) var(--radius-default, 8px) 0 0"
117
+ borderRadius: m ? "var(--radius-default, 8px)" : "var(--radius-default, 8px) var(--radius-default, 8px) 0 0"
118
118
  }
119
119
  },
120
120
  style: {
@@ -124,48 +124,58 @@ const ne = $((I) => {
124
124
  },
125
125
  gap: s ? 0 : 16,
126
126
  extra: /* @__PURE__ */ t(
127
- D,
127
+ J,
128
128
  {
129
- type: "link",
130
- danger: !0,
131
- className: "btn-no-padding",
132
- icon: P,
133
- disabled: !i,
134
- onClick: l,
135
- children: w
129
+ title: r({ id: "deleteConfirm" }),
130
+ okText: r({ id: "deleteConfirmOk" }),
131
+ cancelText: r({ id: "cancel" }),
132
+ okButtonProps: { danger: !0 },
133
+ disabled: !a,
134
+ onConfirm: l,
135
+ children: /* @__PURE__ */ t(
136
+ D,
137
+ {
138
+ type: "link",
139
+ danger: !0,
140
+ className: "btn-no-padding",
141
+ icon: L,
142
+ disabled: !a,
143
+ children: C
144
+ }
145
+ )
136
146
  }
137
147
  )
138
148
  }
139
149
  ),
140
- /* @__PURE__ */ t(J, {})
150
+ /* @__PURE__ */ t(Q, {})
141
151
  ]
142
152
  },
143
153
  o
144
154
  );
145
155
  },
146
- children: (o, { allowAdd: i, onAdd: l }) => /* @__PURE__ */ t(
147
- re.Part,
156
+ children: (o, { allowAdd: a, onAdd: l }) => /* @__PURE__ */ t(
157
+ ne.Part,
148
158
  {
149
- className: c(E, L, e["marsun-form-info-list-part"], {
159
+ className: c(P, E, e["marsun-form-info-list-part"], {
150
160
  [e["marsun-form-info-nest-beyond"]]: s,
151
- [e["marsun-form-info-nest-beyond-rail"]]: x,
152
- [e["marsun-form-info-nest-beyond-collapsed"]]: s && !a
161
+ [e["marsun-form-info-nest-beyond-rail"]]: N,
162
+ [e["marsun-form-info-nest-beyond-collapsed"]]: s && !d
153
163
  }),
154
164
  title: H,
155
165
  bordered: z,
156
- styles: _,
157
- style: M,
166
+ styles: R,
167
+ style: _,
158
168
  "data-nest-beyond": s ? "true" : void 0,
159
- "data-nest-rail": x ? "true" : void 0,
160
- "data-nest-depth": String(r),
161
- "data-nest-collapsed": s && !a ? "true" : void 0,
162
- extra: /* @__PURE__ */ t("div", { className: e["marsun-form-info-extra-container"], children: i && /* @__PURE__ */ t(
169
+ "data-nest-rail": N ? "true" : void 0,
170
+ "data-nest-depth": String(n),
171
+ "data-nest-collapsed": s && !d ? "true" : void 0,
172
+ extra: /* @__PURE__ */ t("div", { className: e["marsun-form-info-extra-container"], children: a && /* @__PURE__ */ t(
163
173
  D,
164
174
  {
165
175
  className: e["marsun-form-info-extra-btn"],
166
176
  icon: S,
167
177
  onClick: l,
168
- children: C
178
+ children: w
169
179
  }
170
180
  ) }),
171
181
  children: o
@@ -173,8 +183,8 @@ const ne = $((I) => {
173
183
  )
174
184
  }
175
185
  );
176
- }), ge = V(ne);
186
+ }), Te = X(ae);
177
187
  export {
178
- ge as default
188
+ Te as default
179
189
  };
180
190
  //# sourceMappingURL=List.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sources":["../../../src/components/FormInfo/List.tsx"],"sourcesContent":["// @ts-nocheck\nimport { SubList } from '@kne/react-form-plus';\nimport { Button, Divider, Tag } from 'antd';\nimport classnames from 'classnames';\nimport { useState, type ReactNode } from 'react';\nimport { Empty } from '@/components/Empty';\nimport { Plus, Trash2 } from '@/components/Icons';\nimport InfoPage from '@/components/InfoPage';\nimport FormInfo from './FormInfo';\nimport { decorateNestBlocks, isNestBlockType, markNestBlock, NEST_DEPTH_BEYOND } from './nestBlock';\nimport type { ListProps } from './types';\nimport withLocale, { useFormInfoLocale } from './withLocale';\nimport style from './style.module.scss';\n\nconst List = withLocale((p: ListProps) => {\n const { formatMessage } = useFormInfoLocale();\n const {\n className,\n itemClassName,\n removeIcon,\n removeText,\n addText,\n addIcon,\n important,\n title,\n bordered,\n nestDepth: nestDepthProp,\n nestParentTitles: _unusedNestParentTitles,\n styles: partStyles,\n style: partStyle,\n ...others\n } = Object.assign(\n {\n addText: formatMessage({ id: 'addText' }),\n addIcon: <Plus size={14} />,\n removeText: formatMessage({ id: 'deleteText' }),\n removeIcon: <Trash2 size={14} />,\n empty: <Empty iconType=\"simple\" description={false} />,\n },\n p,\n );\n\n const nestDepth = typeof nestDepthProp === 'number' ? nestDepthProp : 0;\n const showBorder = !!bordered;\n const isRootList = nestDepth === 0;\n const showOuterBorder = isRootList && showBorder;\n const isNestBeyond = nestDepth >= NEST_DEPTH_BEYOND;\n const showNestRail = nestDepth === NEST_DEPTH_BEYOND;\n const nestLevel = nestDepth + 1;\n const [nestExpanded, setNestExpanded] = useState(true);\n const isCardModeItem = isRootList && showBorder;\n\n const toggleNestExpanded = (e: React.SyntheticEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setNestExpanded((v) => !v);\n };\n\n const partTitle = isNestBeyond ? (\n <span className={style['marsun-form-info-nest-beyond-title']}>\n <span\n className={style['marsun-form-info-nest-level-toggle']}\n role=\"button\"\n tabIndex={0}\n aria-expanded={nestExpanded}\n aria-label={formatMessage(\n { id: nestExpanded ? 'nestCollapse' : 'nestExpand' },\n { level: nestLevel },\n )}\n onClick={toggleNestExpanded}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n toggleNestExpanded(e);\n }\n }}\n >\n <Tag className={style['marsun-form-info-nest-parent-tag']}>\n {formatMessage({ id: 'nestLevel' }, { level: nestLevel })}\n </Tag>\n {nestExpanded ? '▾' : '▸'}\n </span>\n <span className={style['marsun-form-info-nest-beyond-title-text']}>{title}</span>\n </span>\n ) : (\n title\n );\n\n return (\n <SubList\n {...others}\n listRender={({\n id,\n allowRemove,\n onRemove,\n index,\n list: itemList,\n title: itemTitle,\n ...props\n }: {\n id: string;\n allowRemove: boolean;\n onRemove: () => void;\n index: number;\n list?: ReactNode[];\n title?: ReactNode;\n [key: string]: unknown;\n }) => {\n const hasItemTitle = itemTitle != null && itemTitle !== '';\n const titleNode = hasItemTitle ? (\n itemTitle\n ) : (\n <span\n className={style['marsun-form-info-list-item-title-placeholder']}\n aria-hidden=\"true\"\n />\n );\n const nestedList = decorateNestBlocks(\n (itemList || []) as React.ReactElement[],\n nestDepth + 1,\n );\n const itemWrapsNestBeyond = nestedList.some(\n (el) =>\n el &&\n typeof el === 'object' &&\n 'type' in el &&\n isNestBlockType(el.type) &&\n typeof (el as React.ReactElement).props?.nestDepth === 'number' &&\n (el as React.ReactElement).props.nestDepth >= NEST_DEPTH_BEYOND,\n );\n\n return (\n <div\n key={id}\n className={classnames(style['marsun-form-info-list-item'], {\n [style['marsun-form-info-is-important']]: important,\n })}\n >\n <FormInfo\n {...props}\n list={nestedList}\n title={titleNode}\n bordered={false}\n className={classnames(style['marsun-form-info-list-item-part'], {\n [style['marsun-form-info-list-item-part-no-title']]: !hasItemTitle,\n [style['marsun-form-info-list-item-part-in-bordered']]:\n !isNestBeyond && isCardModeItem,\n [style['marsun-form-info-list-item-part-plain']]: !isNestBeyond && !isCardModeItem,\n [style['marsun-form-info-list-item-part-beyond']]: isNestBeyond,\n [style['marsun-form-info-list-item-part-wraps-nest-beyond']]: itemWrapsNestBeyond,\n })}\n styles={{\n header: {\n borderBottom: 'none',\n borderRadius: isCardModeItem\n ? 'var(--radius-default, 8px)'\n : 'var(--radius-default, 8px) var(--radius-default, 8px) 0 0',\n },\n }}\n style={{\n borderRadius: 'var(--radius-default, 8px)',\n overflow: isNestBeyond ? 'visible' : 'hidden',\n padding: 0,\n }}\n gap={isNestBeyond ? 0 : 16}\n extra={\n <Button\n type=\"link\"\n danger\n className=\"btn-no-padding\"\n icon={removeIcon}\n disabled={!allowRemove}\n onClick={onRemove}\n >\n {removeText}\n </Button>\n }\n />\n <Divider />\n </div>\n );\n }}\n >\n {(children: ReactNode, { allowAdd, onAdd }: { allowAdd: boolean; onAdd: () => void }) => (\n <InfoPage.Part\n className={classnames(className, itemClassName, style['marsun-form-info-list-part'], {\n [style['marsun-form-info-nest-beyond']]: isNestBeyond,\n [style['marsun-form-info-nest-beyond-rail']]: showNestRail,\n [style['marsun-form-info-nest-beyond-collapsed']]: isNestBeyond && !nestExpanded,\n })}\n title={partTitle}\n bordered={showOuterBorder}\n styles={partStyles as never}\n style={partStyle as never}\n data-nest-beyond={isNestBeyond ? 'true' : undefined}\n data-nest-rail={showNestRail ? 'true' : undefined}\n data-nest-depth={String(nestDepth)}\n data-nest-collapsed={isNestBeyond && !nestExpanded ? 'true' : undefined}\n extra={\n <div className={style['marsun-form-info-extra-container']}>\n {allowAdd && (\n <Button\n className={style['marsun-form-info-extra-btn']}\n icon={addIcon}\n onClick={onAdd}\n >\n {addText}\n </Button>\n )}\n </div>\n }\n >\n {children}\n </InfoPage.Part>\n )}\n </SubList>\n );\n});\n\nexport default markNestBlock(List);\n"],"names":["List","withLocale","p","formatMessage","useFormInfoLocale","className","itemClassName","removeIcon","removeText","addText","addIcon","important","title","bordered","nestDepthProp","_unusedNestParentTitles","partStyles","partStyle","others","jsx","Plus","Trash2","Empty","nestDepth","showBorder","isRootList","showOuterBorder","isNestBeyond","NEST_DEPTH_BEYOND","showNestRail","nestLevel","nestExpanded","setNestExpanded","useState","isCardModeItem","toggleNestExpanded","e","v","partTitle","jsxs","style","Tag","SubList","id","allowRemove","onRemove","index","itemList","itemTitle","props","hasItemTitle","titleNode","nestedList","decorateNestBlocks","itemWrapsNestBeyond","el","isNestBlockType","_a","classnames","FormInfo","Button","Divider","children","allowAdd","onAdd","InfoPage","List_default","markNestBlock"],"mappings":"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"}
1
+ {"version":3,"file":"List.js","sources":["../../../src/components/FormInfo/List.tsx"],"sourcesContent":["// @ts-nocheck\nimport { SubList } from '@kne/react-form-plus';\nimport { Button, Divider, Popconfirm, Tag } from 'antd';\nimport classnames from 'classnames';\nimport { useState, type ReactNode } from 'react';\nimport { Empty } from '@/components/Empty';\nimport { Plus, Trash2 } from '@/components/Icons';\nimport InfoPage from '@/components/InfoPage';\nimport FormInfo from './FormInfo';\nimport { decorateNestBlocks, isNestBlockType, markNestBlock, NEST_DEPTH_BEYOND } from './nestBlock';\nimport type { ListProps } from './types';\nimport withLocale, { useFormInfoLocale } from './withLocale';\nimport style from './style.module.scss';\n\nconst List = withLocale((p: ListProps) => {\n const { formatMessage } = useFormInfoLocale();\n const {\n className,\n itemClassName,\n removeIcon,\n removeText,\n addText,\n addIcon,\n important,\n title,\n bordered,\n nestDepth: nestDepthProp,\n nestParentTitles: _unusedNestParentTitles,\n styles: partStyles,\n style: partStyle,\n ...others\n } = Object.assign(\n {\n addText: formatMessage({ id: 'addText' }),\n addIcon: <Plus size={14} />,\n removeText: formatMessage({ id: 'deleteText' }),\n removeIcon: <Trash2 size={14} />,\n empty: <Empty iconType=\"simple\" description={false} />,\n },\n p,\n );\n\n const nestDepth = typeof nestDepthProp === 'number' ? nestDepthProp : 0;\n const showBorder = !!bordered;\n const isRootList = nestDepth === 0;\n const showOuterBorder = isRootList && showBorder;\n const isNestBeyond = nestDepth >= NEST_DEPTH_BEYOND;\n const showNestRail = nestDepth === NEST_DEPTH_BEYOND;\n const nestLevel = nestDepth + 1;\n const [nestExpanded, setNestExpanded] = useState(true);\n const isCardModeItem = isRootList && showBorder;\n\n const toggleNestExpanded = (e: React.SyntheticEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setNestExpanded((v) => !v);\n };\n\n const partTitle = isNestBeyond ? (\n <span className={style['marsun-form-info-nest-beyond-title']}>\n <span\n className={style['marsun-form-info-nest-level-toggle']}\n role=\"button\"\n tabIndex={0}\n aria-expanded={nestExpanded}\n aria-label={formatMessage(\n { id: nestExpanded ? 'nestCollapse' : 'nestExpand' },\n { level: nestLevel },\n )}\n onClick={toggleNestExpanded}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n toggleNestExpanded(e);\n }\n }}\n >\n <Tag className={style['marsun-form-info-nest-parent-tag']}>\n {formatMessage({ id: 'nestLevel' }, { level: nestLevel })}\n </Tag>\n {nestExpanded ? '▾' : '▸'}\n </span>\n <span className={style['marsun-form-info-nest-beyond-title-text']}>{title}</span>\n </span>\n ) : (\n title\n );\n\n return (\n <SubList\n {...others}\n listRender={({\n id,\n allowRemove,\n onRemove,\n index,\n list: itemList,\n title: itemTitle,\n ...props\n }: {\n id: string;\n allowRemove: boolean;\n onRemove: () => void;\n index: number;\n list?: ReactNode[];\n title?: ReactNode;\n [key: string]: unknown;\n }) => {\n const hasItemTitle = itemTitle != null && itemTitle !== '';\n const titleNode = hasItemTitle ? (\n itemTitle\n ) : (\n <span\n className={style['marsun-form-info-list-item-title-placeholder']}\n aria-hidden=\"true\"\n />\n );\n const nestedList = decorateNestBlocks(\n (itemList || []) as React.ReactElement[],\n nestDepth + 1,\n );\n const itemWrapsNestBeyond = nestedList.some(\n (el) =>\n el &&\n typeof el === 'object' &&\n 'type' in el &&\n isNestBlockType(el.type) &&\n typeof (el as React.ReactElement).props?.nestDepth === 'number' &&\n (el as React.ReactElement).props.nestDepth >= NEST_DEPTH_BEYOND,\n );\n\n return (\n <div\n key={id}\n className={classnames(style['marsun-form-info-list-item'], {\n [style['marsun-form-info-is-important']]: important,\n })}\n >\n <FormInfo\n {...props}\n list={nestedList}\n title={titleNode}\n bordered={false}\n className={classnames(style['marsun-form-info-list-item-part'], {\n [style['marsun-form-info-list-item-part-no-title']]: !hasItemTitle,\n [style['marsun-form-info-list-item-part-in-bordered']]:\n !isNestBeyond && isCardModeItem,\n [style['marsun-form-info-list-item-part-plain']]: !isNestBeyond && !isCardModeItem,\n [style['marsun-form-info-list-item-part-beyond']]: isNestBeyond,\n [style['marsun-form-info-list-item-part-wraps-nest-beyond']]: itemWrapsNestBeyond,\n })}\n styles={{\n header: {\n borderBottom: 'none',\n borderRadius: isCardModeItem\n ? 'var(--radius-default, 8px)'\n : 'var(--radius-default, 8px) var(--radius-default, 8px) 0 0',\n },\n }}\n style={{\n borderRadius: 'var(--radius-default, 8px)',\n overflow: isNestBeyond ? 'visible' : 'hidden',\n padding: 0,\n }}\n gap={isNestBeyond ? 0 : 16}\n extra={\n <Popconfirm\n title={formatMessage({ id: 'deleteConfirm' })}\n okText={formatMessage({ id: 'deleteConfirmOk' })}\n cancelText={formatMessage({ id: 'cancel' })}\n okButtonProps={{ danger: true }}\n disabled={!allowRemove}\n onConfirm={onRemove}\n >\n <Button\n type=\"link\"\n danger\n className=\"btn-no-padding\"\n icon={removeIcon}\n disabled={!allowRemove}\n >\n {removeText}\n </Button>\n </Popconfirm>\n }\n />\n <Divider />\n </div>\n );\n }}\n >\n {(children: ReactNode, { allowAdd, onAdd }: { allowAdd: boolean; onAdd: () => void }) => (\n <InfoPage.Part\n className={classnames(className, itemClassName, style['marsun-form-info-list-part'], {\n [style['marsun-form-info-nest-beyond']]: isNestBeyond,\n [style['marsun-form-info-nest-beyond-rail']]: showNestRail,\n [style['marsun-form-info-nest-beyond-collapsed']]: isNestBeyond && !nestExpanded,\n })}\n title={partTitle}\n bordered={showOuterBorder}\n styles={partStyles as never}\n style={partStyle as never}\n data-nest-beyond={isNestBeyond ? 'true' : undefined}\n data-nest-rail={showNestRail ? 'true' : undefined}\n data-nest-depth={String(nestDepth)}\n data-nest-collapsed={isNestBeyond && !nestExpanded ? 'true' : undefined}\n extra={\n <div className={style['marsun-form-info-extra-container']}>\n {allowAdd && (\n <Button\n className={style['marsun-form-info-extra-btn']}\n icon={addIcon}\n onClick={onAdd}\n >\n {addText}\n </Button>\n )}\n </div>\n }\n >\n {children}\n </InfoPage.Part>\n )}\n </SubList>\n );\n});\n\nexport default markNestBlock(List);\n"],"names":["List","withLocale","p","formatMessage","useFormInfoLocale","className","itemClassName","removeIcon","removeText","addText","addIcon","important","title","bordered","nestDepthProp","_unusedNestParentTitles","partStyles","partStyle","others","jsx","Plus","Trash2","Empty","nestDepth","showBorder","isRootList","showOuterBorder","isNestBeyond","NEST_DEPTH_BEYOND","showNestRail","nestLevel","nestExpanded","setNestExpanded","useState","isCardModeItem","toggleNestExpanded","e","v","partTitle","jsxs","style","Tag","SubList","id","allowRemove","onRemove","index","itemList","itemTitle","props","hasItemTitle","titleNode","nestedList","decorateNestBlocks","itemWrapsNestBeyond","el","isNestBlockType","_a","classnames","FormInfo","Popconfirm","Button","Divider","children","allowAdd","onAdd","InfoPage","List_default","markNestBlock"],"mappings":"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"}