@hkyhy/marsun-components-core 0.1.122 → 0.1.123
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/InfoPage/Content/index.d.ts +8 -1
- package/dist/components/InfoPage/Content/index.js +103 -57
- package/dist/components/InfoPage/Content/index.js.map +1 -1
- package/dist/components/InfoPage/Content/style.module.scss.js +10 -8
- package/dist/components/InfoPage/Content/style.module.scss.js.map +1 -1
- package/dist/components/InfoPage/index.d.ts +13 -1
- package/dist/components/Tools/Inbox/InboxBell/InboxBell.d.ts +14 -3
- package/dist/components/Tools/Inbox/InboxBell/InboxBell.js +136 -95
- package/dist/components/Tools/Inbox/InboxBell/InboxBell.js.map +1 -1
- package/dist/components/Tools/Inbox/InboxBell/index.d.ts +1 -1
- package/dist/components/Tools/Inbox/InboxBell/style.module.scss.js +18 -16
- package/dist/components/Tools/Inbox/InboxBell/style.module.scss.js.map +1 -1
- package/dist/components/Tools/Inbox/index.d.ts +2 -1
- package/dist/components/Tools/Inbox/requestInboxBadgeRefresh.d.ts +9 -0
- package/dist/components/Tools/Inbox/requestInboxBadgeRefresh.js +15 -0
- package/dist/components/Tools/Inbox/requestInboxBadgeRefresh.js.map +1 -0
- package/dist/components/Tools/index.d.ts +2 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +400 -396
- package/dist/index.js.map +1 -1
- package/dist/marsun-components-core.css +1 -1
- package/dist/styles/global.css +1 -1
- package/package.json +1 -1
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
+
export function buildStackFlexColumns(itemCount: any, minItemWidth?: number): {
|
|
3
|
+
width: number;
|
|
4
|
+
col: number;
|
|
5
|
+
}[];
|
|
2
6
|
export function Label({ className, children, setWidth }: {
|
|
3
7
|
className: any;
|
|
4
8
|
children: any;
|
|
5
9
|
setWidth: any;
|
|
6
10
|
}): React.JSX.Element;
|
|
7
11
|
export default Content;
|
|
8
|
-
declare function Content({ list, labelAlign, col, gutter, className, size, itemRender, }: {
|
|
12
|
+
declare function Content({ list, labelAlign, col, gutter, className, size, layout, columns: columnsProp, minItemWidth, itemRender, }: {
|
|
9
13
|
list?: never[] | undefined;
|
|
10
14
|
labelAlign?: string | undefined;
|
|
11
15
|
col?: number | undefined;
|
|
12
16
|
gutter?: number | undefined;
|
|
13
17
|
className: any;
|
|
14
18
|
size: any;
|
|
19
|
+
layout?: string | undefined;
|
|
20
|
+
columns: any;
|
|
21
|
+
minItemWidth?: number | undefined;
|
|
15
22
|
itemRender: any;
|
|
16
23
|
}): React.JSX.Element;
|
|
@@ -1,72 +1,118 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import { Row as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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 } =
|
|
13
|
-
|
|
14
|
-
},
|
|
15
|
-
return
|
|
16
|
-
|
|
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
|
-
}, [
|
|
19
|
-
|
|
24
|
+
}, [n]), /* @__PURE__ */ k("div", { ref: c, className: o, children: [
|
|
25
|
+
s,
|
|
20
26
|
":"
|
|
21
27
|
] });
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
37
|
-
|
|
80
|
+
"data-layout": d,
|
|
81
|
+
className: r(e.content, "content", l, {
|
|
82
|
+
[e["size-small"]]: m === "small"
|
|
38
83
|
}),
|
|
39
|
-
gutter:
|
|
40
|
-
children:
|
|
41
|
-
const { label: h, content:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
{
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
] }) }),
|
|
63
|
-
return
|
|
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
|
-
|
|
70
|
-
|
|
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 <
|
|
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 = "
|
|
1
|
+
const t = "_content_15zdc_3", c = "_label_15zdc_14", _ = "_item_15zdc_24", e = {
|
|
2
2
|
content: t,
|
|
3
|
-
"size-small": "_size-
|
|
4
|
-
label:
|
|
5
|
-
"content-content": "_content-
|
|
6
|
-
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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,4 +1,3 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
1
|
export type InboxBellMessageType = 'alert' | 'action' | 'remind' | string;
|
|
3
2
|
export type InboxBellItem = {
|
|
4
3
|
id: string;
|
|
@@ -33,16 +32,28 @@ export type InboxBellProps = {
|
|
|
33
32
|
markRead: (id: string) => Promise<void | InboxBellItem>;
|
|
34
33
|
/** 点击条目:默认用 window.location / 业务 navigate */
|
|
35
34
|
onNavigate?: (href: string, item: InboxBellItem) => void;
|
|
36
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* 轮询未读角标(ms)。默认 `0`(关定时);`>0` 才 setInterval。
|
|
37
|
+
* 角标另由:挂载首刷、`locationKey`、focus/visibility、`requestInboxBadgeRefresh` 触发。
|
|
38
|
+
*/
|
|
37
39
|
pollMs?: number;
|
|
40
|
+
/**
|
|
41
|
+
* 路由/页面身份;变化时刷新角标(如 React Router `location.pathname`)。
|
|
42
|
+
* 整页加载靠挂载首刷,不必另传。
|
|
43
|
+
*/
|
|
44
|
+
locationKey?: string | number;
|
|
38
45
|
pageSize?: number;
|
|
39
46
|
className?: string;
|
|
40
47
|
/** Drawer 标题 */
|
|
41
48
|
title?: string;
|
|
42
49
|
};
|
|
50
|
+
export type InboxBellHandle = {
|
|
51
|
+
refreshBadge: () => Promise<void>;
|
|
52
|
+
};
|
|
43
53
|
/**
|
|
44
54
|
* 通用站内信铃铛:列表 / 已读 / Tab / 角标。
|
|
45
55
|
* 不含认领、行动等业务动作;由注入的 fetchInbox / markRead / onNavigate 对接消息服务。
|
|
56
|
+
* 默认不定时轮询;有消息侧靠业务回调 / 路由 / 焦点再拉角标(真·SSE push 他窗)。
|
|
46
57
|
*/
|
|
47
|
-
declare const InboxBell:
|
|
58
|
+
declare const InboxBell: import('react').ForwardRefExoticComponent<InboxBellProps & import('react').RefAttributes<InboxBellHandle>>;
|
|
48
59
|
export default InboxBell;
|