@hkyhy/marsun-components-core 0.1.122 → 0.1.124

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 (63) hide show
  1. package/README.md +1 -0
  2. package/dist/components/File/FileItem/index.js +65 -55
  3. package/dist/components/File/FileItem/index.js.map +1 -1
  4. package/dist/components/File/FilePreview/FilePreviewContent.js +114 -90
  5. package/dist/components/File/FilePreview/FilePreviewContent.js.map +1 -1
  6. package/dist/components/File/FilePreview/index.js +43 -33
  7. package/dist/components/File/FilePreview/index.js.map +1 -1
  8. package/dist/components/File/index.d.ts +1 -0
  9. package/dist/components/File/utils/authedFetch.d.ts +12 -0
  10. package/dist/components/File/utils/authedFetch.js +50 -0
  11. package/dist/components/File/utils/authedFetch.js.map +1 -0
  12. package/dist/components/Form/index.d.ts +1 -1
  13. package/dist/components/Form/kneFormInfo.d.ts +2 -0
  14. package/dist/components/Form/kneFormInfo.js +30 -27
  15. package/dist/components/Form/kneFormInfo.js.map +1 -1
  16. package/dist/components/FormInfo/fields.d.ts +2 -0
  17. package/dist/components/FormInfo/fields.js +22 -19
  18. package/dist/components/FormInfo/fields.js.map +1 -1
  19. package/dist/components/FormInfo/index.d.ts +1 -1
  20. package/dist/components/InfoPage/Content/index.d.ts +8 -1
  21. package/dist/components/InfoPage/Content/index.js +103 -57
  22. package/dist/components/InfoPage/Content/index.js.map +1 -1
  23. package/dist/components/InfoPage/Content/style.module.scss.js +10 -8
  24. package/dist/components/InfoPage/Content/style.module.scss.js.map +1 -1
  25. package/dist/components/InfoPage/index.d.ts +13 -1
  26. package/dist/components/Tools/ActionTracking/CreateAction/CreateActionForm.d.ts +8 -1
  27. package/dist/components/Tools/ActionTracking/CreateAction/CreateActionForm.js +148 -142
  28. package/dist/components/Tools/ActionTracking/CreateAction/CreateActionForm.js.map +1 -1
  29. package/dist/components/Tools/ActionTracking/CreateAction/CreateActionForm.module.scss.js +5 -4
  30. package/dist/components/Tools/ActionTracking/CreateAction/CreateActionForm.module.scss.js.map +1 -1
  31. package/dist/components/Tools/ActionTracking/CreateAction/CreateActionModal.d.ts +10 -2
  32. package/dist/components/Tools/ActionTracking/CreateAction/CreateActionModal.js +122 -116
  33. package/dist/components/Tools/ActionTracking/CreateAction/CreateActionModal.js.map +1 -1
  34. package/dist/components/Tools/ActionTracking/CreateAction/PersonRoleCascaderField.js +20 -31
  35. package/dist/components/Tools/ActionTracking/CreateAction/PersonRoleCascaderField.js.map +1 -1
  36. package/dist/components/Tools/ActionTracking/CreateAction/PersonRoleCascaderField.module.scss.js +1 -2
  37. package/dist/components/Tools/ActionTracking/CreateAction/PersonRoleCascaderField.module.scss.js.map +1 -1
  38. package/dist/components/Tools/ActionTracking/CreateAction/index.d.ts +1 -1
  39. package/dist/components/Tools/ActionTracking/CreateAction/submitHelpers.d.ts +5 -0
  40. package/dist/components/Tools/ActionTracking/CreateAction/submitHelpers.js +37 -18
  41. package/dist/components/Tools/ActionTracking/CreateAction/submitHelpers.js.map +1 -1
  42. package/dist/components/Tools/ActionTracking/CreateAction/types.d.ts +9 -0
  43. package/dist/components/Tools/ActionTracking/index.d.ts +1 -1
  44. package/dist/components/Tools/Inbox/InboxBell/InboxBell.d.ts +14 -3
  45. package/dist/components/Tools/Inbox/InboxBell/InboxBell.js +136 -95
  46. package/dist/components/Tools/Inbox/InboxBell/InboxBell.js.map +1 -1
  47. package/dist/components/Tools/Inbox/InboxBell/index.d.ts +1 -1
  48. package/dist/components/Tools/Inbox/InboxBell/style.module.scss.js +18 -16
  49. package/dist/components/Tools/Inbox/InboxBell/style.module.scss.js.map +1 -1
  50. package/dist/components/Tools/Inbox/index.d.ts +2 -1
  51. package/dist/components/Tools/Inbox/requestInboxBadgeRefresh.d.ts +9 -0
  52. package/dist/components/Tools/Inbox/requestInboxBadgeRefresh.js +15 -0
  53. package/dist/components/Tools/Inbox/requestInboxBadgeRefresh.js.map +1 -0
  54. package/dist/components/Tools/index.d.ts +3 -2
  55. package/dist/file.js +24 -19
  56. package/dist/file.js.map +1 -1
  57. package/dist/form-info.js +46 -45
  58. package/dist/index.d.ts +1 -0
  59. package/dist/index.js +534 -524
  60. package/dist/index.js.map +1 -1
  61. package/dist/marsun-components-core.css +1 -1
  62. package/dist/styles/global.css +1 -1
  63. package/package.json +1 -1
@@ -1,72 +1,118 @@
1
- import { jsx as o, jsxs as y } from "react/jsx-runtime";
2
- import C, { useRef as d, useState as g, useLayoutEffect as j } from "react";
3
- import { Row as w, Col as z, Space as O } from "antd";
4
- import u from "classnames";
5
- import c from "./style.module.scss.js";
6
- const W = ({ className: s, children: l, setWidth: t }) => {
7
- const n = d(null), m = d(t);
8
- return m.current = t, j(() => {
9
- const a = () => {
10
- if (!n.current)
1
+ import { jsx as a, jsxs as k } from "react/jsx-runtime";
2
+ import E, { useRef as y, useState as F, useMemo as p, useLayoutEffect as W } from "react";
3
+ import { Row as _, Col as D, Space as K } from "antd";
4
+ import r from "classnames";
5
+ import e from "./style.module.scss.js";
6
+ import q from "../../FlexBox/FlexBox.js";
7
+ const A = (o, s = 140) => {
8
+ const n = Math.max(1, Number(o) || 1), c = [];
9
+ for (let l = 1; l <= n; l += 1)
10
+ c.push({ width: s * l, col: l });
11
+ return c;
12
+ }, G = ({ className: o, children: s, setWidth: n }) => {
13
+ const c = y(null), l = y(n);
14
+ return l.current = n, W(() => {
15
+ const m = () => {
16
+ if (!c.current)
11
17
  return;
12
- const { width: i } = n.current.getBoundingClientRect();
13
- t(i);
14
- }, r = new ResizeObserver(a);
15
- return r.observe(n.current), a(), () => {
16
- r.disconnect();
18
+ const { width: i } = c.current.getBoundingClientRect();
19
+ n(i);
20
+ }, d = new ResizeObserver(m);
21
+ return d.observe(c.current), m(), () => {
22
+ d.disconnect();
17
23
  };
18
- }, [t]), /* @__PURE__ */ y("div", { ref: n, className: s, children: [
19
- l,
24
+ }, [n]), /* @__PURE__ */ k("div", { ref: c, className: o, children: [
25
+ s,
20
26
  ":"
21
27
  ] });
22
- }, B = ({
23
- list: s = [],
24
- labelAlign: l = "left",
25
- col: t = 1,
26
- gutter: n = 0,
27
- className: m,
28
- size: a,
29
- itemRender: r
28
+ }, H = (o) => {
29
+ const { label: s, content: n } = o;
30
+ return /* @__PURE__ */ k("div", { className: r(e["item-stack"], "content-item"), children: [
31
+ s ? /* @__PURE__ */ a("div", { className: r(e.label, "content-label"), children: s }) : null,
32
+ /* @__PURE__ */ a("div", { className: r(e["content-content"], "content-content"), children: n })
33
+ ] });
34
+ }, Y = ({
35
+ list: o = [],
36
+ labelAlign: s = "left",
37
+ col: n = 1,
38
+ gutter: c = 0,
39
+ className: l,
40
+ size: m,
41
+ layout: d = "inline",
42
+ columns: i,
43
+ minItemWidth: v = 140,
44
+ itemRender: b
30
45
  }) => {
31
- const i = d([]), [p, v] = g(0);
32
- return /* @__PURE__ */ o(
33
- w,
46
+ const N = y([]), [x, C] = F(0), S = d === "stack", f = p(
47
+ () => (o || []).filter((t) => typeof t.display == "function" ? t.display(t, o) : t.display !== !1),
48
+ [o]
49
+ ), L = p(
50
+ () => f.map((t, u) => ({ ...t, key: u })),
51
+ [f]
52
+ ), w = p(() => i != null && i.length ? i : A(f.length, v), [i, f.length, v]);
53
+ return S ? /* @__PURE__ */ a(
54
+ "div",
55
+ {
56
+ "data-testid": "components-core-content",
57
+ "data-layout": d,
58
+ className: r(e.content, "content", l, {
59
+ [e["size-small"]]: m === "small",
60
+ [e["layout-stack"]]: !0
61
+ }),
62
+ children: /* @__PURE__ */ a(
63
+ q,
64
+ {
65
+ columns: w,
66
+ gutter: c || [16, 10],
67
+ dataSource: L,
68
+ rowKey: "key",
69
+ renderItem: (t, u) => {
70
+ const h = H(t);
71
+ return typeof b == "function" ? b(h, Object.assign({}, t, { index: u })) : h;
72
+ }
73
+ }
74
+ )
75
+ }
76
+ ) : /* @__PURE__ */ a(
77
+ _,
34
78
  {
35
79
  "data-testid": "components-core-content",
36
- className: u(c.content, "content", m, {
37
- [c["size-small"]]: a === "small"
80
+ "data-layout": d,
81
+ className: r(e.content, "content", l, {
82
+ [e["size-small"]]: m === "small"
38
83
  }),
39
- gutter: n,
40
- children: s.filter((e) => typeof e.display == "function" ? e.display(e, s) : e.display !== !1).map((e, f) => {
41
- const { label: h, content: N, block: R } = e, b = /* @__PURE__ */ o(z, { span: R === !0 ? 24 : 24 / t, className: c.item, children: /* @__PURE__ */ y(O, { className: u(c.item, "content-item"), children: [
42
- h ? /* @__PURE__ */ o(
43
- "div",
44
- {
45
- style: p && l !== "auto" ? {
46
- minWidth: p,
47
- textAlign: l
48
- } : null,
49
- children: /* @__PURE__ */ o(
50
- W,
51
- {
52
- className: u(c.label, "content-label"),
53
- setWidth: (L) => {
54
- i.current[f] = L, v(Math.max(...i.current));
55
- },
56
- children: h
57
- }
58
- )
59
- }
60
- ) : null,
61
- /* @__PURE__ */ o("div", { className: u(c["content-content"], "content-content"), children: N })
62
- ] }) }), x = typeof r == "function" ? r(b, Object.assign({}, e, { index: f })) : b;
63
- return C.cloneElement(x, { key: f });
84
+ gutter: c,
85
+ children: f.map((t, u) => {
86
+ const { label: h, content: j, block: M } = t, O = h ? /* @__PURE__ */ a(
87
+ "div",
88
+ {
89
+ style: x && s !== "auto" ? {
90
+ minWidth: x,
91
+ textAlign: s
92
+ } : null,
93
+ children: /* @__PURE__ */ a(
94
+ G,
95
+ {
96
+ className: r(e.label, "content-label"),
97
+ setWidth: (B) => {
98
+ N.current[u] = B, C(Math.max(...N.current));
99
+ },
100
+ children: h
101
+ }
102
+ )
103
+ }
104
+ ) : null, R = /* @__PURE__ */ a("div", { className: r(e["content-content"], "content-content"), children: j }), g = /* @__PURE__ */ a(D, { span: M === !0 ? 24 : 24 / n, className: e.item, children: /* @__PURE__ */ k(K, { className: r(e.item, "content-item"), children: [
105
+ O,
106
+ R
107
+ ] }) }), z = typeof b == "function" ? b(g, Object.assign({}, t, { index: u })) : g;
108
+ return E.cloneElement(z, { key: u });
64
109
  })
65
110
  }
66
111
  );
67
112
  };
68
113
  export {
69
- W as Label,
70
- B as default
114
+ G as Label,
115
+ A as buildStackFlexColumns,
116
+ Y as default
71
117
  };
72
118
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/InfoPage/Content/index.jsx"],"sourcesContent":["// @ts-nocheck\n// Ported from https://github.com/kne-union/info-page/blob/master/src/Content/index.js\nimport { useLayoutEffect, useRef, useState } from 'react';\nimport { Col, Row, Space } from 'antd';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport style from './style.module.scss';\n\nexport const Label = ({ className, children, setWidth }) => {\n const ref = useRef(null);\n const setWidthRef = useRef(setWidth);\n setWidthRef.current = setWidth;\n useLayoutEffect(() => {\n const computed = () => {\n if (!ref.current) {\n return;\n }\n const { width } = ref.current.getBoundingClientRect();\n setWidth(width);\n };\n const resizeObserver = new ResizeObserver(computed);\n resizeObserver.observe(ref.current);\n computed();\n return () => {\n resizeObserver.disconnect();\n };\n }, [setWidth]);\n return (\n <div ref={ref} className={className}>\n {children}:\n </div>\n );\n};\n\nconst Content = ({\n list = [],\n labelAlign = 'left',\n col = 1,\n gutter = 0,\n className,\n size,\n itemRender,\n}) => {\n const labelWidthListRef = useRef([]);\n const [maxLabelWidth, setMaxLabelWidth] = useState(0);\n return (\n <Row\n data-testid=\"components-core-content\"\n className={classnames(style['content'], 'content', className, {\n [style['size-small']]: size === 'small',\n })}\n gutter={gutter}\n >\n {list\n .filter((item) => {\n if (typeof item.display === 'function') {\n return item.display(item, list);\n }\n return item.display !== false;\n })\n .map((listItem, index) => {\n const { label, content, block } = listItem;\n const innerComponent = (\n <Col span={block === true ? 24 : 24 / col} className={style['item']}>\n <Space className={classnames(style['item'], 'content-item')}>\n {label ? (\n <div\n style={\n maxLabelWidth && labelAlign !== 'auto'\n ? {\n minWidth: maxLabelWidth,\n textAlign: labelAlign,\n }\n : null\n }\n >\n <Label\n className={classnames(style['label'], 'content-label')}\n setWidth={(width) => {\n labelWidthListRef.current[index] = width;\n setMaxLabelWidth(Math.max(...labelWidthListRef.current));\n }}\n >\n {label}\n </Label>\n </div>\n ) : null}\n <div className={classnames(style['content-content'], 'content-content')}>\n {content}\n </div>\n </Space>\n </Col>\n );\n const item =\n typeof itemRender === 'function'\n ? itemRender(innerComponent, Object.assign({}, listItem, { index }))\n : innerComponent;\n return React.cloneElement(item, { key: index });\n })}\n </Row>\n );\n};\n\nexport default Content;\n"],"names":["Label","className","children","setWidth","ref","useRef","setWidthRef","useLayoutEffect","computed","width","resizeObserver","jsxs","Content","list","labelAlign","col","gutter","size","itemRender","labelWidthListRef","maxLabelWidth","setMaxLabelWidth","useState","jsx","Row","classnames","style","item","listItem","index","label","content","block","innerComponent","Col","Space","React"],"mappings":";;;;;AASO,MAAMA,IAAQ,CAAC,EAAE,WAAAC,GAAW,UAAAC,GAAU,UAAAC,QAAe;AAC1D,QAAMC,IAAMC,EAAO,IAAI,GACjBC,IAAcD,EAAOF,CAAQ;AACnC,SAAAG,EAAY,UAAUH,GACtBI,EAAgB,MAAM;AACpB,UAAMC,IAAW,MAAM;AACrB,UAAI,CAACJ,EAAI;AACP;AAEF,YAAM,EAAE,OAAAK,EAAA,IAAUL,EAAI,QAAQ,sBAAA;AAC9B,MAAAD,EAASM,CAAK;AAAA,IAChB,GACMC,IAAiB,IAAI,eAAeF,CAAQ;AAClD,WAAAE,EAAe,QAAQN,EAAI,OAAO,GAClCI,EAAA,GACO,MAAM;AACX,MAAAE,EAAe,WAAA;AAAA,IACjB;AAAA,EACF,GAAG,CAACP,CAAQ,CAAC,GAEX,gBAAAQ,EAAC,OAAA,EAAI,KAAAP,GAAU,WAAAH,GACZ,UAAA;AAAA,IAAAC;AAAA,IAAS;AAAA,EAAA,GACZ;AAEJ,GAEMU,IAAU,CAAC;AAAA,EACf,MAAAC,IAAO,CAAA;AAAA,EACP,YAAAC,IAAa;AAAA,EACb,KAAAC,IAAM;AAAA,EACN,QAAAC,IAAS;AAAA,EACT,WAAAf;AAAA,EACA,MAAAgB;AAAA,EACA,YAAAC;AACF,MAAM;AACJ,QAAMC,IAAoBd,EAAO,EAAE,GAC7B,CAACe,GAAeC,CAAgB,IAAIC,EAAS,CAAC;AACpD,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,WAAWC,EAAWC,EAAM,SAAY,WAAWzB,GAAW;AAAA,QAC5D,CAACyB,EAAM,YAAY,CAAC,GAAGT,MAAS;AAAA,MAAA,CACjC;AAAA,MACD,QAAAD;AAAA,MAEC,UAAAH,EACE,OAAO,CAACc,MACH,OAAOA,EAAK,WAAY,aACnBA,EAAK,QAAQA,GAAMd,CAAI,IAEzBc,EAAK,YAAY,EACzB,EACA,IAAI,CAACC,GAAUC,MAAU;AACxB,cAAM,EAAE,OAAAC,GAAO,SAAAC,GAAS,OAAAC,EAAA,IAAUJ,GAC5BK,sBACHC,GAAA,EAAI,MAAMF,MAAU,KAAO,KAAK,KAAKjB,GAAK,WAAWW,EAAM,MAC1D,4BAACS,GAAA,EAAM,WAAWV,EAAWC,EAAM,MAAS,cAAc,GACvD,UAAA;AAAA,UAAAI,IACC,gBAAAP;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OACEH,KAAiBN,MAAe,SAC5B;AAAA,gBACE,UAAUM;AAAA,gBACV,WAAWN;AAAA,cAAA,IAEb;AAAA,cAGN,UAAA,gBAAAS;AAAA,gBAACvB;AAAA,gBAAA;AAAA,kBACC,WAAWyB,EAAWC,EAAM,OAAU,eAAe;AAAA,kBACrD,UAAU,CAACjB,MAAU;AACnB,oBAAAU,EAAkB,QAAQU,CAAK,IAAIpB,GACnCY,EAAiB,KAAK,IAAI,GAAGF,EAAkB,OAAO,CAAC;AAAA,kBACzD;AAAA,kBAEC,UAAAW;AAAA,gBAAA;AAAA,cAAA;AAAA,YACH;AAAA,UAAA,IAEA;AAAA,UACJ,gBAAAP,EAAC,SAAI,WAAWE,EAAWC,EAAM,iBAAiB,GAAG,iBAAiB,GACnE,UAAAK,EAAA,CACH;AAAA,QAAA,EAAA,CACF,EAAA,CACF,GAEIJ,IACJ,OAAOT,KAAe,aAClBA,EAAWe,GAAgB,OAAO,OAAO,CAAA,GAAIL,GAAU,EAAE,OAAAC,EAAA,CAAO,CAAC,IACjEI;AACN,eAAOG,EAAM,aAAaT,GAAM,EAAE,KAAKE,GAAO;AAAA,MAChD,CAAC;AAAA,IAAA;AAAA,EAAA;AAGT;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/InfoPage/Content/index.jsx"],"sourcesContent":["// @ts-nocheck\n// Ported from https://github.com/kne-union/info-page/blob/master/src/Content/index.js\n// Extended: layout=\"stack\" — label above value;栅格走 FlexBox,优先一行排满。\nimport { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Col, Row, Space } from 'antd';\nimport classnames from 'classnames';\nimport React from 'react';\nimport FlexBox from '../../FlexBox';\n\nimport style from './style.module.scss';\n\n/** 按条数生成 FlexBox columns:容器够宽时 col=条数 → 一行排完 */\nexport const buildStackFlexColumns = (itemCount, minItemWidth = 140) => {\n const capped = Math.max(1, Number(itemCount) || 1);\n const columns = [];\n for (let c = 1; c <= capped; c += 1) {\n columns.push({ width: minItemWidth * c, col: c });\n }\n return columns;\n};\n\nexport const Label = ({ className, children, setWidth }) => {\n const ref = useRef(null);\n const setWidthRef = useRef(setWidth);\n setWidthRef.current = setWidth;\n useLayoutEffect(() => {\n const computed = () => {\n if (!ref.current) {\n return;\n }\n const { width } = ref.current.getBoundingClientRect();\n setWidth(width);\n };\n const resizeObserver = new ResizeObserver(computed);\n resizeObserver.observe(ref.current);\n computed();\n return () => {\n resizeObserver.disconnect();\n };\n }, [setWidth]);\n return (\n <div ref={ref} className={className}>\n {children}:\n </div>\n );\n};\n\nconst renderStackCell = (listItem) => {\n const { label, content } = listItem;\n return (\n <div className={classnames(style['item-stack'], 'content-item')}>\n {label ? <div className={classnames(style['label'], 'content-label')}>{label}</div> : null}\n <div className={classnames(style['content-content'], 'content-content')}>{content}</div>\n </div>\n );\n};\n\nconst Content = ({\n list = [],\n labelAlign = 'left',\n col = 1,\n gutter = 0,\n className,\n size,\n layout = 'inline',\n columns: columnsProp,\n minItemWidth = 140,\n itemRender,\n}) => {\n const labelWidthListRef = useRef([]);\n const [maxLabelWidth, setMaxLabelWidth] = useState(0);\n const isStack = layout === 'stack';\n\n const visibleList = useMemo(\n () =>\n (list || []).filter((item) => {\n if (typeof item.display === 'function') {\n return item.display(item, list);\n }\n return item.display !== false;\n }),\n [list],\n );\n\n const stackDataSource = useMemo(\n () => visibleList.map((item, index) => ({ ...item, key: index })),\n [visibleList],\n );\n\n const stackColumns = useMemo(() => {\n if (columnsProp?.length) return columnsProp;\n // stack:按字段数自适应,够宽则一行排完(忽略 col,避免 col=3 把 5 项拆两行)\n return buildStackFlexColumns(visibleList.length, minItemWidth);\n }, [columnsProp, visibleList.length, minItemWidth]);\n\n if (isStack) {\n return (\n <div\n data-testid=\"components-core-content\"\n data-layout={layout}\n className={classnames(style['content'], 'content', className, {\n [style['size-small']]: size === 'small',\n [style['layout-stack']]: true,\n })}\n >\n <FlexBox\n columns={stackColumns}\n gutter={gutter || [16, 10]}\n dataSource={stackDataSource}\n rowKey=\"key\"\n renderItem={(listItem, index) => {\n const cell = renderStackCell(listItem);\n if (typeof itemRender === 'function') {\n return itemRender(cell, Object.assign({}, listItem, { index }));\n }\n return cell;\n }}\n />\n </div>\n );\n }\n\n return (\n <Row\n data-testid=\"components-core-content\"\n data-layout={layout}\n className={classnames(style['content'], 'content', className, {\n [style['size-small']]: size === 'small',\n })}\n gutter={gutter}\n >\n {visibleList.map((listItem, index) => {\n const { label, content, block } = listItem;\n const labelNode = label ? (\n <div\n style={\n maxLabelWidth && labelAlign !== 'auto'\n ? {\n minWidth: maxLabelWidth,\n textAlign: labelAlign,\n }\n : null\n }\n >\n <Label\n className={classnames(style['label'], 'content-label')}\n setWidth={(width) => {\n labelWidthListRef.current[index] = width;\n setMaxLabelWidth(Math.max(...labelWidthListRef.current));\n }}\n >\n {label}\n </Label>\n </div>\n ) : null;\n\n const valueNode = (\n <div className={classnames(style['content-content'], 'content-content')}>{content}</div>\n );\n\n const innerComponent = (\n <Col span={block === true ? 24 : 24 / col} className={style['item']}>\n <Space className={classnames(style['item'], 'content-item')}>\n {labelNode}\n {valueNode}\n </Space>\n </Col>\n );\n const item =\n typeof itemRender === 'function'\n ? itemRender(innerComponent, Object.assign({}, listItem, { index }))\n : innerComponent;\n return React.cloneElement(item, { key: index });\n })}\n </Row>\n );\n};\n\nexport default Content;\n"],"names":["buildStackFlexColumns","itemCount","minItemWidth","capped","columns","c","Label","className","children","setWidth","ref","useRef","setWidthRef","useLayoutEffect","computed","width","resizeObserver","jsxs","renderStackCell","listItem","label","content","classnames","style","jsx","Content","list","labelAlign","col","gutter","size","layout","columnsProp","itemRender","labelWidthListRef","maxLabelWidth","setMaxLabelWidth","useState","isStack","visibleList","useMemo","item","stackDataSource","index","stackColumns","FlexBox","cell","Row","block","labelNode","valueNode","innerComponent","Col","Space","React"],"mappings":"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"}
@@ -1,14 +1,16 @@
1
- const t = "_content_1av6n_2", n = "_label_1av6n_13", e = "_item_1av6n_21", _ = {
1
+ const t = "_content_15zdc_3", c = "_label_15zdc_14", _ = "_item_15zdc_24", e = {
2
2
  content: t,
3
- "size-small": "_size-small_1av6n_10",
4
- label: n,
5
- "content-content": "_content-content_1av6n_14",
6
- item: e
3
+ "size-small": "_size-small_15zdc_11",
4
+ label: c,
5
+ "content-content": "_content-content_15zdc_15",
6
+ "layout-stack": "_layout-stack_15zdc_24",
7
+ "item-stack": "_item-stack_15zdc_24",
8
+ item: _
7
9
  };
8
10
  export {
9
11
  t as content,
10
- _ as default,
11
- e as item,
12
- n as label
12
+ e as default,
13
+ _ as item,
14
+ c as label
13
15
  };
14
16
  //# 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":";;;;;;;;;"}
@@ -27,12 +27,24 @@ export interface ContentItem {
27
27
  display?: boolean | ((item: ContentItem, list: ContentItem[]) => boolean);
28
28
  }
29
29
 
30
+ export type ContentLayout = 'inline' | 'stack';
31
+
30
32
  export interface ContentProps extends BaseComponentProps {
31
33
  list?: ContentItem[];
32
34
  labelAlign?: 'left' | 'right' | 'auto';
35
+ /** inline 布局列数;stack 布局忽略(改用 FlexBox 按条数自适应一行排满) */
33
36
  col?: number;
34
- gutter?: number;
37
+ gutter?: number | [number, number];
35
38
  size?: 'small';
39
+ /**
40
+ * inline(默认):标签与值横排,标签后缀「:」
41
+ * stack:标签在上、值在下;内部 FlexBox,容器够宽时一行排完所有字段
42
+ */
43
+ layout?: ContentLayout;
44
+ /** stack 时覆盖 FlexBox columns;默认按 list.length × minItemWidth 生成 */
45
+ columns?: Array<{ width: number; col: number; size?: number }>;
46
+ /** stack 单项最小宽度(px),默认 140 */
47
+ minItemWidth?: number;
36
48
  itemRender?: (component: ReactNode, item: ContentItem & { index: number }) => ReactNode;
37
49
  }
38
50
 
@@ -1,15 +1,22 @@
1
1
  import { ReactNode } from 'react';
2
- import { ActionPersonOption, CreateActionDimensionOption, CreateActionLoaders, CreateActionScopeLock, LockedContextField } from './types';
2
+ import { ActionPersonOption, CreateActionDimensionOption, CreateActionLoaders, CreateActionScopeLock, CreateActionScopeMode, LockedContextField } from './types';
3
3
  /** 建单品种下拉页大小(服务端分页) */
4
4
  export declare const CREATE_ACTION_VARIETY_PAGE_SIZE = 20;
5
5
  export type CreateActionFormProps = {
6
6
  scopeLock?: CreateActionScopeLock;
7
7
  varietyLabel?: string;
8
8
  lockedContext?: LockedContextField[];
9
+ /**
10
+ * 业务上下文字段模式。有 lockedContext 时强制 locked。
11
+ * 默认 form(S3);EAM 主动新建传 none。
12
+ */
13
+ scopeMode?: CreateActionScopeMode;
9
14
  /** F4:任务标题 placeholder(App 注入;禁写死业务文案) */
10
15
  titlePlaceholder?: string;
11
16
  /** F4:关联指标 placeholder */
12
17
  metricPlaceholder?: string;
18
+ /** scopeMode=none 时展示在截止日期下的短提示(App 注入) */
19
+ noneScopeHint?: string;
13
20
  dimensionOptions: CreateActionDimensionOption[];
14
21
  loaders: CreateActionLoaders;
15
22
  emptyAssigneeHint?: string;