@hkyhy/marsun-components-core 0.1.132 → 0.1.133
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/README.md +1 -0
- package/dist/_virtual/index3.js +2 -2
- package/dist/_virtual/index4.js +5 -2
- package/dist/_virtual/index4.js.map +1 -1
- package/dist/_virtual/index5.js +2 -5
- package/dist/_virtual/index5.js.map +1 -1
- package/dist/_virtual/index6.js +2 -2
- package/dist/_virtual/index7.js +2 -2
- package/dist/components/Disposition/DispositionBar/formatDispositionStatusBadge.d.ts +22 -0
- package/dist/components/Disposition/DispositionBar/formatDispositionStatusBadge.js +14 -0
- package/dist/components/Disposition/DispositionBar/formatDispositionStatusBadge.js.map +1 -0
- package/dist/components/Disposition/DispositionBar/index.js +6 -6
- package/dist/components/Disposition/DispositionBar/index.js.map +1 -1
- package/dist/components/Disposition/DispositionBar/style.module.scss.js +6 -6
- package/dist/components/Disposition/index.d.ts +2 -0
- package/dist/components/Tools/ActionTracking/List/ActionListTable.module.scss.js +4 -4
- package/dist/components/Tools/ActionTracking/List/listTypes.d.ts +5 -0
- package/dist/components/Tools/ActionTracking/index.d.ts +2 -1
- package/dist/components/Tools/ActionTracking/utils/actionExecuteGate.d.ts +18 -0
- package/dist/components/Tools/ActionTracking/utils/actionExecuteGate.js +11 -0
- package/dist/components/Tools/ActionTracking/utils/actionExecuteGate.js.map +1 -0
- package/dist/components/Tools/ActionTracking/utils/index.d.ts +2 -0
- package/dist/components/Tools/Inbox/InboxBell/style.module.scss.js +56 -56
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.d.ts +5 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.js +25 -12
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.js.map +1 -1
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/Modal/TemplateFormModal.js +82 -78
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/Modal/TemplateFormModal.js.map +1 -1
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.d.ts +5 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.js.map +1 -1
- package/dist/components/Tools/index.d.ts +2 -2
- package/dist/components/index.d.ts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +210 -206
- package/dist/index.js.map +1 -1
- package/dist/marsun-components-core.css +1 -1
- package/dist/node_modules/@ant-design/charts-util/es/react/render.js +27 -27
- package/dist/node_modules/@ant-design/charts-util/es/react/render.js.map +1 -1
- package/dist/node_modules/@antv/component/node_modules/@antv/scale/esm/utils/color.js +1 -1
- package/dist/node_modules/@antv/coord/node_modules/@antv/scale/esm/utils/color.js +1 -1
- package/dist/node_modules/@antv/g6-extension-react/esm/react-node/render18.js +19 -19
- package/dist/node_modules/@antv/g6-extension-react/esm/react-node/render18.js.map +1 -1
- package/dist/node_modules/@antv/scale/esm/utils/color.js +1 -1
- package/dist/node_modules/color-string/index.js +1 -1
- package/dist/node_modules/eventemitter3/index2.js +1 -1
- package/dist/node_modules/pdfast/src/index.js +1 -1
- package/dist/node_modules/simple-swizzle/index.js +1 -1
- package/dist/styles/global.css +1 -1
- package/dist/utils/ensureDayjsZhCn.js +1 -1
- package/package.json +1 -1
- package/dist/_virtual/client.js +0 -28
- package/dist/_virtual/client.js.map +0 -1
- package/dist/_virtual/client2.js +0 -5
- package/dist/_virtual/client2.js.map +0 -1
- package/dist/_virtual/index8.js +0 -5
- package/dist/_virtual/index8.js.map +0 -1
- package/dist/_virtual/react-dom-client.development.js +0 -5
- package/dist/_virtual/react-dom-client.development.js.map +0 -1
- package/dist/_virtual/react-dom-client.production.js +0 -5
- package/dist/_virtual/react-dom-client.production.js.map +0 -1
- package/dist/_virtual/scheduler.development.js +0 -5
- package/dist/_virtual/scheduler.development.js.map +0 -1
- package/dist/_virtual/scheduler.production.js +0 -5
- package/dist/_virtual/scheduler.production.js.map +0 -1
- package/dist/_virtual/zh-cn.js +0 -3
- package/dist/_virtual/zh-cn.js.map +0 -1
- package/dist/_virtual/zh-cn2.js +0 -5
- package/dist/_virtual/zh-cn2.js.map +0 -1
- package/dist/node_modules/dayjs/locale/zh-cn.js +0 -25
- package/dist/node_modules/dayjs/locale/zh-cn.js.map +0 -1
- package/dist/node_modules/react-dom/cjs/react-dom-client.development.js +0 -17062
- package/dist/node_modules/react-dom/cjs/react-dom-client.development.js.map +0 -1
- package/dist/node_modules/react-dom/cjs/react-dom-client.production.js +0 -9790
- package/dist/node_modules/react-dom/cjs/react-dom-client.production.js.map +0 -1
- package/dist/node_modules/react-dom/client.js +0 -24
- package/dist/node_modules/react-dom/client.js.map +0 -1
- package/dist/node_modules/scheduler/cjs/scheduler.development.js +0 -237
- package/dist/node_modules/scheduler/cjs/scheduler.development.js.map +0 -1
- package/dist/node_modules/scheduler/cjs/scheduler.production.js +0 -234
- package/dist/node_modules/scheduler/cjs/scheduler.production.js.map +0 -1
- package/dist/node_modules/scheduler/index.js +0 -11
- package/dist/node_modules/scheduler/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -136,6 +136,7 @@ node scripts/version-check.mjs --apply # → 0.1.99
|
|
|
136
136
|
|
|
137
137
|
也可在 Actions 中手动运行 **Publish npm**,填写已有 tag 重新发布。
|
|
138
138
|
|
|
139
|
+
- 2026-10-12:`v0.1.133` — DispositionBar 短徽章;模板来源 Tag;ActionList 去壳/铃铛摘要色;执行门禁 SSOT;vite external 子路径防双 React(feat 分支曾误标 0.1.135 未进 main,顺号回正)
|
|
139
140
|
- 2026-10-11:`v0.1.132` — 重试发布消息模板富文本(0.1.131 CI 绿但 npm 未见)
|
|
140
141
|
- 2026-10-11:`v0.1.131` — 消息模板富文本色/加粗回显(配置页;seed 另仓)
|
|
141
142
|
- 2026-10-11:`v0.1.130` — InboxBell 级别 Tag `selected` 反白(消息类型 Tag 仍默认浅底)
|
package/dist/_virtual/index3.js
CHANGED
package/dist/_virtual/index4.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
|
|
2
|
+
import { __require as o } from "../node_modules/color-string/index.js";
|
|
3
|
+
var t = o();
|
|
4
|
+
const a = /* @__PURE__ */ r(t);
|
|
2
5
|
export {
|
|
3
|
-
|
|
6
|
+
a as default
|
|
4
7
|
};
|
|
5
8
|
//# sourceMappingURL=index4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/dist/_virtual/index5.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import { __require as o } from "../node_modules/color-string/index.js";
|
|
3
|
-
var t = o();
|
|
4
|
-
const a = /* @__PURE__ */ r(t);
|
|
1
|
+
var e = { exports: {} };
|
|
5
2
|
export {
|
|
6
|
-
|
|
3
|
+
e as __module
|
|
7
4
|
};
|
|
8
5
|
//# sourceMappingURL=index5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/_virtual/index6.js
CHANGED
package/dist/_virtual/index7.js
CHANGED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 处置条状态徽章:条上只留短文案;时间/备注进 detail(Tooltip)。
|
|
3
|
+
* 对齐 S4「已关闭」短徽章,避免数百字备注撑破条。
|
|
4
|
+
*/
|
|
5
|
+
export type DispositionStatusBadgeParts = {
|
|
6
|
+
statusLabel?: string;
|
|
7
|
+
/** 误报 / 暂缓 / 系统外原因等 */
|
|
8
|
+
typeLabel?: string;
|
|
9
|
+
updatedAt?: string;
|
|
10
|
+
note?: string;
|
|
11
|
+
/**
|
|
12
|
+
* 是否把 typeLabel 拼进短徽章(默认 true;与 statusLabel 相同时自动省略)。
|
|
13
|
+
*/
|
|
14
|
+
includeType?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export type DispositionStatusBadgeFormatted = {
|
|
17
|
+
/** 条上展示 */
|
|
18
|
+
short: string;
|
|
19
|
+
/** 完整细节(时间 · 备注);无则 undefined */
|
|
20
|
+
detail?: string;
|
|
21
|
+
};
|
|
22
|
+
export declare function formatDispositionStatusBadge(parts: DispositionStatusBadgeParts): DispositionStatusBadgeFormatted;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
function r(t) {
|
|
2
|
+
const e = String(t.statusLabel || "").trim() || "已处置", i = String(t.typeLabel || "").trim(), o = t.includeType !== !1 && i && i !== e ? `${e} · ${i}` : e, n = [
|
|
3
|
+
String(t.updatedAt || "").trim(),
|
|
4
|
+
String(t.note || "").trim()
|
|
5
|
+
].filter(Boolean);
|
|
6
|
+
return {
|
|
7
|
+
short: o,
|
|
8
|
+
detail: n.length ? n.join(" · ") : void 0
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
r as formatDispositionStatusBadge
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=formatDispositionStatusBadge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatDispositionStatusBadge.js","sources":["../../../../src/components/Disposition/DispositionBar/formatDispositionStatusBadge.ts"],"sourcesContent":["/**\n * 处置条状态徽章:条上只留短文案;时间/备注进 detail(Tooltip)。\n * 对齐 S4「已关闭」短徽章,避免数百字备注撑破条。\n */\nexport type DispositionStatusBadgeParts = {\n statusLabel?: string;\n /** 误报 / 暂缓 / 系统外原因等 */\n typeLabel?: string;\n updatedAt?: string;\n note?: string;\n /**\n * 是否把 typeLabel 拼进短徽章(默认 true;与 statusLabel 相同时自动省略)。\n */\n includeType?: boolean;\n};\n\nexport type DispositionStatusBadgeFormatted = {\n /** 条上展示 */\n short: string;\n /** 完整细节(时间 · 备注);无则 undefined */\n detail?: string;\n};\n\nexport function formatDispositionStatusBadge(\n parts: DispositionStatusBadgeParts,\n): DispositionStatusBadgeFormatted {\n const base = String(parts.statusLabel || '').trim() || '已处置';\n const type = String(parts.typeLabel || '').trim();\n const includeType = parts.includeType !== false;\n const short = includeType && type && type !== base ? `${base} · ${type}` : base;\n const detailParts = [\n String(parts.updatedAt || '').trim(),\n String(parts.note || '').trim(),\n ].filter(Boolean);\n return {\n short,\n detail: detailParts.length ? detailParts.join(' · ') : undefined,\n };\n}\n"],"names":["formatDispositionStatusBadge","parts","base","type","short","detailParts"],"mappings":"AAuBO,SAASA,EACdC,GACiC;AACjC,QAAMC,IAAO,OAAOD,EAAM,eAAe,EAAE,EAAE,UAAU,OACjDE,IAAO,OAAOF,EAAM,aAAa,EAAE,EAAE,KAAA,GAErCG,IADcH,EAAM,gBAAgB,MACbE,KAAQA,MAASD,IAAO,GAAGA,CAAI,MAAMC,CAAI,KAAKD,GACrEG,IAAc;AAAA,IAClB,OAAOJ,EAAM,aAAa,EAAE,EAAE,KAAA;AAAA,IAC9B,OAAOA,EAAM,QAAQ,EAAE,EAAE,KAAA;AAAA,EAAK,EAC9B,OAAO,OAAO;AAChB,SAAO;AAAA,IACL,OAAAG;AAAA,IACA,QAAQC,EAAY,SAASA,EAAY,KAAK,KAAK,IAAI;AAAA,EAAA;AAE3D;"}
|
|
@@ -6,22 +6,22 @@ const b = ({
|
|
|
6
6
|
lead: n,
|
|
7
7
|
statusBadge: s,
|
|
8
8
|
actions: l,
|
|
9
|
-
statusLoading:
|
|
10
|
-
className:
|
|
9
|
+
statusLoading: p,
|
|
10
|
+
className: t
|
|
11
11
|
}) => {
|
|
12
|
-
const e = n != null && n !== !1 && n !== "", c = s != null && s !== !1 && s !== "" ? typeof s == "string" || typeof s == "number" ? /* @__PURE__ */ o("span", { className: i["marsun-disposition-badge"], children: s }) : s : null,
|
|
12
|
+
const e = n != null && n !== !1 && n !== "", c = s != null && s !== !1 && s !== "" ? typeof s == "string" || typeof s == "number" ? /* @__PURE__ */ o("span", { className: i["marsun-disposition-badge"], title: String(s), children: s }) : s : null, d = e ? "预警摘要" : r;
|
|
13
13
|
return /* @__PURE__ */ m(
|
|
14
14
|
"div",
|
|
15
15
|
{
|
|
16
|
-
className: a("marsun-disposition-bar", i["marsun-disposition-bar"],
|
|
16
|
+
className: a("marsun-disposition-bar", i["marsun-disposition-bar"], t),
|
|
17
17
|
role: "group",
|
|
18
|
-
"aria-label":
|
|
18
|
+
"aria-label": d,
|
|
19
19
|
children: [
|
|
20
20
|
/* @__PURE__ */ m("div", { className: a("marsun-disposition-status", i["marsun-disposition-status"]), children: [
|
|
21
21
|
e ? /* @__PURE__ */ o("div", { className: a("marsun-disposition-lead", i["marsun-disposition-lead"]), children: n }) : /* @__PURE__ */ o("span", { className: i["marsun-disposition-label"], children: r }),
|
|
22
22
|
c
|
|
23
23
|
] }),
|
|
24
|
-
!
|
|
24
|
+
!p && l ? /* @__PURE__ */ o(
|
|
25
25
|
"div",
|
|
26
26
|
{
|
|
27
27
|
className: a("marsun-disposition-actions", i["marsun-disposition-actions"]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/Disposition/DispositionBar/index.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React from 'react';\nimport styles from './style.module.scss';\n\nexport type DispositionBarProps = {\n /** 左侧文案,默认「处置状态」;有 lead 时不渲染 */\n label?: string;\n /**\n * 左侧预警摘要(S3 点操作条 lead)。\n * 有 lead 时不渲染「处置状态」label,左侧只展示摘要(+ 可选 statusBadge)。\n */\n lead?: React.ReactNode;\n /** 状态徽章内容(string 或自定义节点);可与 lead 并存 */\n statusBadge?: React.ReactNode;\n /** 右侧操作区;由调用方注入业务钮 */\n actions?: React.ReactNode;\n /** true → 仅显示状态区,不渲染 actions */\n statusLoading?: boolean;\n className?: string;\n};\n\n/**\n * 处置条布局壳:左状态/摘要 + 右操作。不绑业务 API / EP。\n */\nconst DispositionBar: React.FC<DispositionBarProps> = ({\n label = '处置状态',\n lead,\n statusBadge,\n actions,\n statusLoading,\n className,\n}) => {\n const hasLead = lead != null && lead !== false && lead !== '';\n const hasBadge = statusBadge != null && statusBadge !== false && statusBadge !== '';\n const badgeNode = hasBadge ? (\n typeof statusBadge === 'string' || typeof statusBadge === 'number' ? (\n <span className={styles['marsun-disposition-badge']}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Disposition/DispositionBar/index.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React from 'react';\nimport styles from './style.module.scss';\n\nexport type DispositionBarProps = {\n /** 左侧文案,默认「处置状态」;有 lead 时不渲染 */\n label?: string;\n /**\n * 左侧预警摘要(S3 点操作条 lead)。\n * 有 lead 时不渲染「处置状态」label,左侧只展示摘要(+ 可选 statusBadge)。\n */\n lead?: React.ReactNode;\n /** 状态徽章内容(string 或自定义节点);可与 lead 并存 */\n statusBadge?: React.ReactNode;\n /** 右侧操作区;由调用方注入业务钮 */\n actions?: React.ReactNode;\n /** true → 仅显示状态区,不渲染 actions */\n statusLoading?: boolean;\n className?: string;\n};\n\n/**\n * 处置条布局壳:左状态/摘要 + 右操作。不绑业务 API / EP。\n */\nconst DispositionBar: React.FC<DispositionBarProps> = ({\n label = '处置状态',\n lead,\n statusBadge,\n actions,\n statusLoading,\n className,\n}) => {\n const hasLead = lead != null && lead !== false && lead !== '';\n const hasBadge = statusBadge != null && statusBadge !== false && statusBadge !== '';\n const badgeNode = hasBadge ? (\n typeof statusBadge === 'string' || typeof statusBadge === 'number' ? (\n <span className={styles['marsun-disposition-badge']} title={String(statusBadge)}>\n {statusBadge}\n </span>\n ) : (\n statusBadge\n )\n ) : null;\n\n const ariaLabel = hasLead ? '预警摘要' : label;\n\n return (\n <div\n className={classNames('marsun-disposition-bar', styles['marsun-disposition-bar'], className)}\n role=\"group\"\n aria-label={ariaLabel}\n >\n <div className={classNames('marsun-disposition-status', styles['marsun-disposition-status'])}>\n {hasLead ? (\n <div className={classNames('marsun-disposition-lead', styles['marsun-disposition-lead'])}>\n {lead}\n </div>\n ) : (\n <span className={styles['marsun-disposition-label']}>{label}</span>\n )}\n {badgeNode}\n </div>\n {!statusLoading && actions ? (\n <div\n className={classNames('marsun-disposition-actions', styles['marsun-disposition-actions'])}\n >\n {actions}\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default DispositionBar;\n"],"names":["DispositionBar","label","lead","statusBadge","actions","statusLoading","className","hasLead","badgeNode","jsx","styles","ariaLabel","jsxs","classNames"],"mappings":";;;AAwBA,MAAMA,IAAgD,CAAC;AAAA,EACrD,OAAAC,IAAQ;AAAA,EACR,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAMC,IAAUL,KAAQ,QAAQA,MAAS,MAASA,MAAS,IAErDM,IADWL,KAAe,QAAQA,MAAgB,MAASA,MAAgB,KAE/E,OAAOA,KAAgB,YAAY,OAAOA,KAAgB,WACxD,gBAAAM,EAAC,QAAA,EAAK,WAAWC,EAAO,0BAA0B,GAAG,OAAO,OAAOP,CAAW,GAC3E,UAAAA,EAAA,CACH,IAEAA,IAEA,MAEEQ,IAAYJ,IAAU,SAASN;AAErC,SACE,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAW,0BAA0BH,EAAO,wBAAwB,GAAGJ,CAAS;AAAA,MAC3F,MAAK;AAAA,MACL,cAAYK;AAAA,MAEZ,UAAA;AAAA,QAAA,gBAAAC,EAAC,SAAI,WAAWC,EAAW,6BAA6BH,EAAO,2BAA2B,CAAC,GACxF,UAAA;AAAA,UAAAH,sBACE,OAAA,EAAI,WAAWM,EAAW,2BAA2BH,EAAO,yBAAyB,CAAC,GACpF,UAAAR,GACH,IAEA,gBAAAO,EAAC,QAAA,EAAK,WAAWC,EAAO,0BAA0B,GAAI,UAAAT,GAAM;AAAA,UAE7DO;AAAA,QAAA,GACH;AAAA,QACC,CAACH,KAAiBD,IACjB,gBAAAK;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWI,EAAW,8BAA8BH,EAAO,4BAA4B,CAAC;AAAA,YAEvF,UAAAN;AAAA,UAAA;AAAA,QAAA,IAED;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
const s = {
|
|
2
|
-
"marsun-disposition-bar": "_marsun-disposition-
|
|
3
|
-
"marsun-disposition-status": "_marsun-disposition-
|
|
4
|
-
"marsun-disposition-label": "_marsun-disposition-
|
|
5
|
-
"marsun-disposition-lead": "_marsun-disposition-
|
|
6
|
-
"marsun-disposition-badge": "_marsun-disposition-
|
|
7
|
-
"marsun-disposition-actions": "_marsun-disposition-
|
|
2
|
+
"marsun-disposition-bar": "_marsun-disposition-bar_2phgc_2",
|
|
3
|
+
"marsun-disposition-status": "_marsun-disposition-status_2phgc_17",
|
|
4
|
+
"marsun-disposition-label": "_marsun-disposition-label_2phgc_27",
|
|
5
|
+
"marsun-disposition-lead": "_marsun-disposition-lead_2phgc_34",
|
|
6
|
+
"marsun-disposition-badge": "_marsun-disposition-badge_2phgc_46",
|
|
7
|
+
"marsun-disposition-actions": "_marsun-disposition-actions_2phgc_65"
|
|
8
8
|
};
|
|
9
9
|
export {
|
|
10
10
|
s as default
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { default as DispositionBar } from './DispositionBar';
|
|
2
2
|
export type { DispositionBarProps } from './DispositionBar';
|
|
3
|
+
export { formatDispositionStatusBadge } from './DispositionBar/formatDispositionStatusBadge';
|
|
4
|
+
export type { DispositionStatusBadgeParts, DispositionStatusBadgeFormatted, } from './DispositionBar/formatDispositionStatusBadge';
|
|
3
5
|
export { default as AlertDispositionPanel, DispositionAlertLevelLegend, formatDispositionTriggerText, getDispositionAlertLevel, buildDispositionAlertContext, } from './AlertDispositionPanel';
|
|
4
6
|
export type { AlertDispositionPanelProps, DispositionAlertContext, DispositionAlertKind, DispositionAlertLevelSpec, DispositionAlertLevelCatalog, DispositionAlertLevelLegendProps, } from './AlertDispositionPanel';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const
|
|
2
|
-
"action-list-table-card": "_action-list-table-
|
|
3
|
-
"action-list-table-scroll": "_action-list-table-
|
|
1
|
+
const t = {
|
|
2
|
+
"action-list-table-card": "_action-list-table-card_5c201_1",
|
|
3
|
+
"action-list-table-scroll": "_action-list-table-scroll_5c201_6"
|
|
4
4
|
};
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
t as default
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=ActionListTable.module.scss.js.map
|
|
@@ -4,7 +4,10 @@ import { ColumnsType } from 'antd/es/table';
|
|
|
4
4
|
export type ActionListFilters = {
|
|
5
5
|
dimension?: string;
|
|
6
6
|
status?: string;
|
|
7
|
+
/** 执行人展示名(兼容旧筛);主路径用 assigneeUserId */
|
|
7
8
|
assignee?: string;
|
|
9
|
+
/** 执行人 SSO userId(SuperSelect 取值) */
|
|
10
|
+
assigneeUserId?: string;
|
|
8
11
|
factory?: string;
|
|
9
12
|
q?: string;
|
|
10
13
|
from?: string;
|
|
@@ -22,6 +25,8 @@ export type ActionListRowBase = {
|
|
|
22
25
|
dimension?: string;
|
|
23
26
|
assignee?: string;
|
|
24
27
|
owner?: string;
|
|
28
|
+
/** 业务时间(源事件账期/日);≠ createdAt 任务创建 */
|
|
29
|
+
bizDate?: string;
|
|
25
30
|
createdAt?: string;
|
|
26
31
|
startedAt?: string;
|
|
27
32
|
completedAt?: string;
|
|
@@ -8,4 +8,5 @@ export { default as ActionFollowModal } from './Follow';
|
|
|
8
8
|
export type { ActionFollowModalProps, ActionFollowView } from './Follow';
|
|
9
9
|
export { default as CancelExecutionModal, CancelExecutionForm } from './Cancel';
|
|
10
10
|
export type { CancelExecutionModalProps } from './Cancel';
|
|
11
|
-
export { sanitizeActionHtml } from './utils';
|
|
11
|
+
export { sanitizeActionHtml, isActionExecuteHidden } from './utils';
|
|
12
|
+
export type { ActionExecuteGateRow, ActionExecuteGateOptions } from './utils';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** 行上判定「执行」所需的最小字段 */
|
|
2
|
+
export type ActionExecuteGateRow = {
|
|
3
|
+
status?: string | null;
|
|
4
|
+
assigneeUserId?: string | null;
|
|
5
|
+
};
|
|
6
|
+
export type ActionExecuteGateOptions = {
|
|
7
|
+
/** 是否持有行动执行权限 */
|
|
8
|
+
canExecute: boolean;
|
|
9
|
+
/** 当前登录用户 SSO userId;可空(未登录则凡有执行人的行均 hidden) */
|
|
10
|
+
currentUserId?: string | null;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* 行动跟踪操作列「执行」是否 hidden(EAM/S3 通用)。
|
|
14
|
+
* - 仅 approved + 有执行权
|
|
15
|
+
* - assigneeUserId 空:可显示(开始时认领)
|
|
16
|
+
* - 已有执行人:仅本人可见
|
|
17
|
+
*/
|
|
18
|
+
export declare function isActionExecuteHidden(row: ActionExecuteGateRow, options: ActionExecuteGateOptions): boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
function i(r, e) {
|
|
2
|
+
if (!e.canExecute || String(r.status || "").trim() !== "approved") return !0;
|
|
3
|
+
const t = String(r.assigneeUserId || "").trim();
|
|
4
|
+
if (!t) return !1;
|
|
5
|
+
const n = String(e.currentUserId || "").trim();
|
|
6
|
+
return n ? t !== n : !0;
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
i as isActionExecuteHidden
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=actionExecuteGate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actionExecuteGate.js","sources":["../../../../../src/components/Tools/ActionTracking/utils/actionExecuteGate.ts"],"sourcesContent":["/** 行上判定「执行」所需的最小字段 */\nexport type ActionExecuteGateRow = {\n status?: string | null;\n assigneeUserId?: string | null;\n};\n\nexport type ActionExecuteGateOptions = {\n /** 是否持有行动执行权限 */\n canExecute: boolean;\n /** 当前登录用户 SSO userId;可空(未登录则凡有执行人的行均 hidden) */\n currentUserId?: string | null;\n};\n\n/**\n * 行动跟踪操作列「执行」是否 hidden(EAM/S3 通用)。\n * - 仅 approved + 有执行权\n * - assigneeUserId 空:可显示(开始时认领)\n * - 已有执行人:仅本人可见\n */\nexport function isActionExecuteHidden(\n row: ActionExecuteGateRow,\n options: ActionExecuteGateOptions,\n): boolean {\n if (!options.canExecute) return true;\n if (String(row.status || '').trim() !== 'approved') return true;\n const assigneeUserId = String(row.assigneeUserId || '').trim();\n if (!assigneeUserId) return false;\n const uid = String(options.currentUserId || '').trim();\n if (!uid) return true;\n return assigneeUserId !== uid;\n}\n"],"names":["isActionExecuteHidden","row","options","assigneeUserId","uid"],"mappings":"AAmBO,SAASA,EACdC,GACAC,GACS;AAET,MADI,CAACA,EAAQ,cACT,OAAOD,EAAI,UAAU,EAAE,EAAE,KAAA,MAAW,WAAY,QAAO;AAC3D,QAAME,IAAiB,OAAOF,EAAI,kBAAkB,EAAE,EAAE,KAAA;AACxD,MAAI,CAACE,EAAgB,QAAO;AAC5B,QAAMC,IAAM,OAAOF,EAAQ,iBAAiB,EAAE,EAAE,KAAA;AAChD,SAAKE,IACED,MAAmBC,IADT;AAEnB;"}
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
const t = "
|
|
1
|
+
const t = "_bellWrap_1a47g_2", e = "_drawer_1a47g_10", o = "_listPane_1a47g_23", s = "_listScroll_1a47g_30", a = "_listViewport_1a47g_36", _ = "_listFooter_1a47g_40", i = "_bellBtn_1a47g_49", c = "_typeTabs_1a47g_68", n = "_filterRow_1a47g_75", r = "_toastPrefs_1a47g_83", l = "_toastPrefsTitle_1a47g_91", m = "_toastPrefsHint_1a47g_98", g = "_error_1a47g_106", d = "_list_1a47g_23", T = "_item_1a47g_121", y = "_itemStatic_1a47g_136", H = "_itemUnread_1a47g_142", f = "_itemHeader_1a47g_151", p = "_itemHeaderLeft_1a47g_160", B = "_itemTitle_1a47g_168", P = "_itemTime_1a47g_179", b = "_itemBody_1a47g_188", w = "_itemSummary_1a47g_192", S = "_itemBodyHtml_1a47g_204", A = "_typeTag_1a47g_224", F = "_itemMeta_1a47g_229", u = "_itemFooterTags_1a47g_237", C = "_itemActions_1a47g_245", D = "_toastHost_1a47g_252", L = "_toastNotice_1a47g_260", M = "_toastClose_1a47g_274", N = "_toastHead_1a47g_294", R = "_toastTitle_1a47g_302", U = "_toastBody_1a47g_309", V = "_toastDesc_1a47g_313", W = "_toastActions_1a47g_324", x = {
|
|
2
2
|
bellWrap: t,
|
|
3
3
|
drawer: e,
|
|
4
4
|
listPane: o,
|
|
5
5
|
listScroll: s,
|
|
6
|
-
listViewport:
|
|
7
|
-
listFooter:
|
|
8
|
-
bellBtn:
|
|
6
|
+
listViewport: a,
|
|
7
|
+
listFooter: _,
|
|
8
|
+
bellBtn: i,
|
|
9
9
|
typeTabs: c,
|
|
10
10
|
filterRow: n,
|
|
11
11
|
toastPrefs: r,
|
|
12
12
|
toastPrefsTitle: l,
|
|
13
13
|
toastPrefsHint: m,
|
|
14
|
-
error:
|
|
15
|
-
list:
|
|
16
|
-
item:
|
|
17
|
-
itemStatic:
|
|
18
|
-
itemUnread:
|
|
19
|
-
itemHeader:
|
|
20
|
-
itemHeaderLeft:
|
|
21
|
-
itemTitle:
|
|
22
|
-
itemTime:
|
|
23
|
-
itemBody:
|
|
24
|
-
itemSummary:
|
|
25
|
-
itemBodyHtml:
|
|
26
|
-
typeTag:
|
|
27
|
-
itemMeta:
|
|
28
|
-
itemFooterTags:
|
|
29
|
-
itemActions:
|
|
30
|
-
toastHost:
|
|
31
|
-
toastNotice:
|
|
32
|
-
toastClose:
|
|
33
|
-
toastHead:
|
|
34
|
-
toastTitle:
|
|
35
|
-
toastBody:
|
|
36
|
-
toastDesc:
|
|
37
|
-
toastActions:
|
|
14
|
+
error: g,
|
|
15
|
+
list: d,
|
|
16
|
+
item: T,
|
|
17
|
+
itemStatic: y,
|
|
18
|
+
itemUnread: H,
|
|
19
|
+
itemHeader: f,
|
|
20
|
+
itemHeaderLeft: p,
|
|
21
|
+
itemTitle: B,
|
|
22
|
+
itemTime: P,
|
|
23
|
+
itemBody: b,
|
|
24
|
+
itemSummary: w,
|
|
25
|
+
itemBodyHtml: S,
|
|
26
|
+
typeTag: A,
|
|
27
|
+
itemMeta: F,
|
|
28
|
+
itemFooterTags: u,
|
|
29
|
+
itemActions: C,
|
|
30
|
+
toastHost: D,
|
|
31
|
+
toastNotice: L,
|
|
32
|
+
toastClose: M,
|
|
33
|
+
toastHead: N,
|
|
34
|
+
toastTitle: R,
|
|
35
|
+
toastBody: U,
|
|
36
|
+
toastDesc: V,
|
|
37
|
+
toastActions: W
|
|
38
38
|
};
|
|
39
39
|
export {
|
|
40
|
-
|
|
40
|
+
i as bellBtn,
|
|
41
41
|
t as bellWrap,
|
|
42
|
-
|
|
42
|
+
x as default,
|
|
43
43
|
e as drawer,
|
|
44
|
-
|
|
44
|
+
g as error,
|
|
45
45
|
n as filterRow,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
46
|
+
T as item,
|
|
47
|
+
C as itemActions,
|
|
48
|
+
b as itemBody,
|
|
49
|
+
S as itemBodyHtml,
|
|
50
|
+
u as itemFooterTags,
|
|
51
|
+
f as itemHeader,
|
|
52
|
+
p as itemHeaderLeft,
|
|
53
|
+
F as itemMeta,
|
|
54
|
+
y as itemStatic,
|
|
55
|
+
w as itemSummary,
|
|
56
|
+
P as itemTime,
|
|
57
|
+
B as itemTitle,
|
|
58
|
+
H as itemUnread,
|
|
59
|
+
d as list,
|
|
60
|
+
_ as listFooter,
|
|
61
61
|
o as listPane,
|
|
62
62
|
s as listScroll,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
63
|
+
a as listViewport,
|
|
64
|
+
W as toastActions,
|
|
65
|
+
U as toastBody,
|
|
66
|
+
M as toastClose,
|
|
67
|
+
V as toastDesc,
|
|
68
|
+
N as toastHead,
|
|
69
|
+
D as toastHost,
|
|
70
|
+
L as toastNotice,
|
|
71
71
|
r as toastPrefs,
|
|
72
72
|
m as toastPrefsHint,
|
|
73
73
|
l as toastPrefsTitle,
|
|
74
|
-
|
|
74
|
+
R as toastTitle,
|
|
75
75
|
c as typeTabs,
|
|
76
|
-
|
|
76
|
+
A as typeTag
|
|
77
77
|
};
|
|
78
78
|
//# sourceMappingURL=style.module.scss.js.map
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { ColumnsType } from 'antd/es/table';
|
|
2
2
|
import { MessageTemplateAdminItem } from '../types';
|
|
3
|
+
/** catalog=Agent 内置;tenant / 缺省且非 builtin-id=自定义 */
|
|
4
|
+
export declare function templateSourceTag(row: MessageTemplateAdminItem): {
|
|
5
|
+
label: string;
|
|
6
|
+
color: string;
|
|
7
|
+
};
|
|
3
8
|
export declare function buildTemplateColumns(opts: {
|
|
4
9
|
canUpdate: boolean;
|
|
5
10
|
eventLabel: (eventKey?: string) => string;
|
|
@@ -1,56 +1,69 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { Switch as s, Button as
|
|
3
|
-
const
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { Tag as c, Switch as s, Button as u } from "antd";
|
|
3
|
+
const h = {
|
|
4
4
|
alert: "预警消息",
|
|
5
5
|
action: "行动跟踪",
|
|
6
6
|
remind: "任务提醒"
|
|
7
7
|
};
|
|
8
|
-
function b(
|
|
9
|
-
|
|
8
|
+
function b(l) {
|
|
9
|
+
return l.source === "catalog" || String(l.id || "").startsWith("builtin-") ? { label: "内置", color: "blue" } : { label: "自定义", color: "default" };
|
|
10
|
+
}
|
|
11
|
+
function p(l) {
|
|
12
|
+
const { canUpdate: i, eventLabel: o, onEdit: d, onToggleEnabled: a } = l;
|
|
10
13
|
return [
|
|
11
14
|
{
|
|
12
15
|
title: "编号",
|
|
13
16
|
dataIndex: "code",
|
|
14
17
|
width: 150,
|
|
15
|
-
render: (t) => /* @__PURE__ */
|
|
18
|
+
render: (t) => /* @__PURE__ */ r("code", { children: t || "—" })
|
|
16
19
|
},
|
|
17
20
|
{
|
|
18
21
|
title: "场景",
|
|
19
22
|
key: "scenario",
|
|
20
23
|
render: (t, e) => e.scenario || e.label || "—"
|
|
21
24
|
},
|
|
25
|
+
{
|
|
26
|
+
title: "来源",
|
|
27
|
+
key: "source",
|
|
28
|
+
width: 88,
|
|
29
|
+
render: (t, e) => {
|
|
30
|
+
const n = b(e);
|
|
31
|
+
return /* @__PURE__ */ r(c, { color: n.color, children: n.label });
|
|
32
|
+
}
|
|
33
|
+
},
|
|
22
34
|
{
|
|
23
35
|
title: "事件",
|
|
24
36
|
key: "event",
|
|
25
37
|
width: 160,
|
|
26
|
-
render: (t, e) =>
|
|
38
|
+
render: (t, e) => o(e.eventKey)
|
|
27
39
|
},
|
|
28
40
|
{
|
|
29
41
|
title: "类型",
|
|
30
42
|
width: 100,
|
|
31
|
-
render: (t, e) =>
|
|
43
|
+
render: (t, e) => h[e.messageType || ""] || e.messageType || "—"
|
|
32
44
|
},
|
|
33
45
|
{
|
|
34
46
|
title: "启用",
|
|
35
47
|
width: 90,
|
|
36
|
-
render: (t, e) => /* @__PURE__ */
|
|
48
|
+
render: (t, e) => /* @__PURE__ */ r(
|
|
37
49
|
s,
|
|
38
50
|
{
|
|
39
51
|
size: "small",
|
|
40
52
|
checked: e.enabled !== !1,
|
|
41
53
|
disabled: !i,
|
|
42
|
-
onChange: (
|
|
54
|
+
onChange: (n) => a(e, n)
|
|
43
55
|
}
|
|
44
56
|
)
|
|
45
57
|
},
|
|
46
58
|
{
|
|
47
59
|
title: "操作",
|
|
48
60
|
width: 100,
|
|
49
|
-
render: (t, e) => /* @__PURE__ */
|
|
61
|
+
render: (t, e) => /* @__PURE__ */ r(u, { type: "link", size: "small", disabled: !i, onClick: () => d(e), children: "编辑" })
|
|
50
62
|
}
|
|
51
63
|
];
|
|
52
64
|
}
|
|
53
65
|
export {
|
|
54
|
-
|
|
66
|
+
p as buildTemplateColumns,
|
|
67
|
+
b as templateSourceTag
|
|
55
68
|
};
|
|
56
69
|
//# sourceMappingURL=columns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.js","sources":["../../../../../../src/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.tsx"],"sourcesContent":["import type { ColumnsType } from 'antd/es/table';\nimport { Button, Switch } from 'antd';\nimport type { MessageTemplateAdminItem } from '../types';\n\nconst TYPE_LABELS: Record<string, string> = {\n alert: '预警消息',\n action: '行动跟踪',\n remind: '任务提醒',\n};\n\nexport function buildTemplateColumns(opts: {\n canUpdate: boolean;\n eventLabel: (eventKey?: string) => string;\n onEdit: (row: MessageTemplateAdminItem) => void;\n onToggleEnabled: (row: MessageTemplateAdminItem, enabled: boolean) => void;\n}): ColumnsType<MessageTemplateAdminItem> {\n const { canUpdate, eventLabel, onEdit, onToggleEnabled } = opts;\n return [\n {\n title: '编号',\n dataIndex: 'code',\n width: 150,\n render: (v: string) => <code>{v || '—'}</code>,\n },\n {\n title: '场景',\n key: 'scenario',\n render: (_, r) => r.scenario || r.label || '—',\n },\n {\n title: '事件',\n key: 'event',\n width: 160,\n render: (_, r) => eventLabel(r.eventKey),\n },\n {\n title: '类型',\n width: 100,\n render: (_, r) => TYPE_LABELS[r.messageType || ''] || r.messageType || '—',\n },\n {\n title: '启用',\n width: 90,\n render: (_, r) => (\n <Switch\n size=\"small\"\n checked={r.enabled !== false}\n disabled={!canUpdate}\n onChange={(checked) => onToggleEnabled(r, checked)}\n />\n ),\n },\n {\n title: '操作',\n width: 100,\n render: (_, r) => (\n <Button type=\"link\" size=\"small\" disabled={!canUpdate} onClick={() => onEdit(r)}>\n 编辑\n </Button>\n ),\n },\n ];\n}\n"],"names":["TYPE_LABELS","buildTemplateColumns","opts","canUpdate","eventLabel","onEdit","onToggleEnabled","v","jsx","_","r","Switch","checked","Button"],"mappings":";;AAIA,MAAMA,IAAsC;AAAA,EAC1C,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AACV;AAEO,SAASC,EAAqBC,GAKK;AACxC,QAAM,EAAE,WAAAC,GAAW,YAAAC,GAAY,QAAAC,GAAQ,iBAAAC,MAAoBJ;AAC3D,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ,CAACK,MAAc,gBAAAC,EAAC,QAAA,EAAM,eAAK,IAAA,CAAI;AAAA,IAAA;AAAA,IAEzC;AAAA,MACE,OAAO;AAAA,MACP,KAAK;AAAA,MACL,QAAQ,CAACC,GAAGC,MAAMA,EAAE,YAAYA,EAAE,SAAS;AAAA,IAAA;AAAA,IAE7C;AAAA,MACE,OAAO;AAAA,MACP,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ,CAACD,GAAGC,MAAMN,EAAWM,EAAE,QAAQ;AAAA,IAAA;AAAA,IAEzC;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ,CAACD,GAAGC,
|
|
1
|
+
{"version":3,"file":"columns.js","sources":["../../../../../../src/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.tsx"],"sourcesContent":["import type { ColumnsType } from 'antd/es/table';\nimport { Button, Switch, Tag } from 'antd';\nimport type { MessageTemplateAdminItem } from '../types';\n\nconst TYPE_LABELS: Record<string, string> = {\n alert: '预警消息',\n action: '行动跟踪',\n remind: '任务提醒',\n};\n\n/** catalog=Agent 内置;tenant / 缺省且非 builtin-id=自定义 */\nexport function templateSourceTag(row: MessageTemplateAdminItem): {\n label: string;\n color: string;\n} {\n const src = row.source;\n if (src === 'catalog' || String(row.id || '').startsWith('builtin-')) {\n return { label: '内置', color: 'blue' };\n }\n return { label: '自定义', color: 'default' };\n}\n\nexport function buildTemplateColumns(opts: {\n canUpdate: boolean;\n eventLabel: (eventKey?: string) => string;\n onEdit: (row: MessageTemplateAdminItem) => void;\n onToggleEnabled: (row: MessageTemplateAdminItem, enabled: boolean) => void;\n}): ColumnsType<MessageTemplateAdminItem> {\n const { canUpdate, eventLabel, onEdit, onToggleEnabled } = opts;\n return [\n {\n title: '编号',\n dataIndex: 'code',\n width: 150,\n render: (v: string) => <code>{v || '—'}</code>,\n },\n {\n title: '场景',\n key: 'scenario',\n render: (_, r) => r.scenario || r.label || '—',\n },\n {\n title: '来源',\n key: 'source',\n width: 88,\n render: (_, r) => {\n const tag = templateSourceTag(r);\n return <Tag color={tag.color}>{tag.label}</Tag>;\n },\n },\n {\n title: '事件',\n key: 'event',\n width: 160,\n render: (_, r) => eventLabel(r.eventKey),\n },\n {\n title: '类型',\n width: 100,\n render: (_, r) => TYPE_LABELS[r.messageType || ''] || r.messageType || '—',\n },\n {\n title: '启用',\n width: 90,\n render: (_, r) => (\n <Switch\n size=\"small\"\n checked={r.enabled !== false}\n disabled={!canUpdate}\n onChange={(checked) => onToggleEnabled(r, checked)}\n />\n ),\n },\n {\n title: '操作',\n width: 100,\n render: (_, r) => (\n <Button type=\"link\" size=\"small\" disabled={!canUpdate} onClick={() => onEdit(r)}>\n 编辑\n </Button>\n ),\n },\n ];\n}\n"],"names":["TYPE_LABELS","templateSourceTag","row","buildTemplateColumns","opts","canUpdate","eventLabel","onEdit","onToggleEnabled","v","jsx","_","r","tag","Tag","Switch","checked","Button"],"mappings":";;AAIA,MAAMA,IAAsC;AAAA,EAC1C,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AACV;AAGO,SAASC,EAAkBC,GAGhC;AAEA,SADYA,EAAI,WACJ,aAAa,OAAOA,EAAI,MAAM,EAAE,EAAE,WAAW,UAAU,IAC1D,EAAE,OAAO,MAAM,OAAO,OAAA,IAExB,EAAE,OAAO,OAAO,OAAO,UAAA;AAChC;AAEO,SAASC,EAAqBC,GAKK;AACxC,QAAM,EAAE,WAAAC,GAAW,YAAAC,GAAY,QAAAC,GAAQ,iBAAAC,MAAoBJ;AAC3D,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ,CAACK,MAAc,gBAAAC,EAAC,QAAA,EAAM,eAAK,IAAA,CAAI;AAAA,IAAA;AAAA,IAEzC;AAAA,MACE,OAAO;AAAA,MACP,KAAK;AAAA,MACL,QAAQ,CAACC,GAAGC,MAAMA,EAAE,YAAYA,EAAE,SAAS;AAAA,IAAA;AAAA,IAE7C;AAAA,MACE,OAAO;AAAA,MACP,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ,CAACD,GAAGC,MAAM;AAChB,cAAMC,IAAMZ,EAAkBW,CAAC;AAC/B,iCAAQE,GAAA,EAAI,OAAOD,EAAI,OAAQ,YAAI,OAAM;AAAA,MAC3C;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,OAAO;AAAA,MACP,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ,CAACF,GAAGC,MAAMN,EAAWM,EAAE,QAAQ;AAAA,IAAA;AAAA,IAEzC;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ,CAACD,GAAGC,MAAMZ,EAAYY,EAAE,eAAe,EAAE,KAAKA,EAAE,eAAe;AAAA,IAAA;AAAA,IAEzE;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ,CAACD,GAAGC,MACV,gBAAAF;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAASH,EAAE,YAAY;AAAA,UACvB,UAAU,CAACP;AAAA,UACX,UAAU,CAACW,MAAYR,EAAgBI,GAAGI,CAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IACnD;AAAA,IAGJ;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ,CAACL,GAAGC,MACV,gBAAAF,EAACO,GAAA,EAAO,MAAK,QAAO,MAAK,SAAQ,UAAU,CAACZ,GAAW,SAAS,MAAME,EAAOK,CAAC,GAAG,UAAA,KAAA,CAEjF;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}
|