@baishuyun/ui-business 6.1.0 → 6.2.0

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 (120) hide show
  1. package/dist/BubbleChart/{AutoGridEChart-CJVgpqeo.js → AutoGridEChart-VA8BTIj4.js} +2 -2
  2. package/dist/BubbleChart/{BubbleChart-CavI9Qnb.js → BubbleChart-CGLJJHYy.js} +23 -14
  3. package/dist/BubbleChart/index.js +2 -2
  4. package/dist/ConfigProvider/index.js +1 -1
  5. package/dist/DeptsMemberSelector/CorpDeptMemberList-CStcWBzB.js +102 -0
  6. package/dist/DeptsMemberSelector/CorpDeptTree-B4EEUTqQ.js +51 -0
  7. package/dist/DeptsMemberSelector/CorpFlatList-Cn8-KRFi.js +86 -0
  8. package/dist/DeptsMemberSelector/CorpLabelTree-iQ_7Ux_J.js +212 -0
  9. package/dist/DeptsMemberSelector/{Department-lQJcetBA.js → Department-DXD3xoiS.js} +15 -14
  10. package/dist/DeptsMemberSelector/DeptsMemberSelector-DXpd9aCn.js +1935 -0
  11. package/dist/DeptsMemberSelector/DeptsUser-DO-SQexg.js +1317 -0
  12. package/dist/DeptsMemberSelector/EnterpriseLabelList-BtB8AjXO.js +85 -0
  13. package/dist/DeptsMemberSelector/{Member-K4kgwY7b.js → Member-BrNFIHZy.js} +234 -238
  14. package/dist/DeptsMemberSelector/OrganizationPanel-hray3UWA.js +671 -0
  15. package/dist/DeptsMemberSelector/{RelationShipList-DkF9XivU.js → RelationShipList-DcgaMOyr.js} +1 -1
  16. package/dist/DeptsMemberSelector/TagIcon-CYklI9Ar.js +259 -0
  17. package/dist/DeptsMemberSelector/filterLabelCorpFlatNodes-BrRZqDkm.js +36 -0
  18. package/dist/DeptsMemberSelector/index.js +20 -11
  19. package/dist/DeptsMemberSelector/services/contact/{selector.service-BUQcY5DZ.js → selector.service-CQopqiTw.js} +86 -60
  20. package/dist/DeptsMemberSelector/subcomponents/Entity/Department/index.js +8 -4
  21. package/dist/DeptsMemberSelector/subcomponents/Entity/DeptsUser/index.js +15 -6
  22. package/dist/DeptsMemberSelector/subcomponents/Entity/Member/index.js +7 -4
  23. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptMemberList/index.d.ts +4 -0
  24. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptMemberList/index.js +5 -0
  25. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptTree/index.d.ts +4 -0
  26. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptTree/index.js +6 -0
  27. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpFlatList/index.d.ts +4 -0
  28. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpFlatList/index.js +5 -0
  29. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpLabelTree/index.d.ts +4 -0
  30. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpLabelTree/index.js +9 -0
  31. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/EnterpriseLabelList/index.d.ts +4 -0
  32. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/EnterpriseLabelList/index.js +5 -0
  33. package/dist/DeptsMemberSelector/subcomponents/Panels/MemberRelationShipPanel/RelationShipList/index.js +2 -2
  34. package/dist/DeptsMemberSelector/{useDeptsMemberSelector-CHK0U3R4.js → useDeptsMemberSelector-B6XZHqd5.js} +11 -3
  35. package/dist/DeptsMemberSelector/useFilteredMemberList-BE7jRCME.js +807 -0
  36. package/dist/DeptsMemberSelector/useOutsiderGroupPanelState-BULTXv3n.js +205 -0
  37. package/dist/DeptsMemberSelector/useTreeExpandedKeys-oLUTUYkP.js +45 -0
  38. package/dist/DeptsMemberSelector/utils/index.js +1 -1
  39. package/dist/DeptsMemberSelector/{utils-BVfGpRu5.js → utils-Bb473LZ3.js} +21 -19
  40. package/dist/Scatterplot/{Scatterplot-D4GhWpFa.js → Scatterplot-R66_f3TZ.js} +6 -4
  41. package/dist/Scatterplot/index.js +2 -2
  42. package/dist/components/DeptsMemberSelector/context/DeptsMemberContext.d.ts +5 -2
  43. package/dist/components/DeptsMemberSelector/hooks/useDeptsMemberSelector.d.ts +1 -1
  44. package/dist/components/DeptsMemberSelector/hooks/useFilteredMemberList.d.ts +6 -0
  45. package/dist/components/DeptsMemberSelector/hooks/useTabListScrollOffset.d.ts +18 -0
  46. package/dist/components/DeptsMemberSelector/hooks/useTreeExpandedKeys.d.ts +9 -0
  47. package/dist/components/DeptsMemberSelector/subcomponents/Entity/DeptsUser/DeptUsersSearch/DeptUsersSearch.d.ts +5 -0
  48. package/dist/components/DeptsMemberSelector/subcomponents/Entity/DeptsUser/DeptUsersSearch/useDeptUsersSearchData.d.ts +19 -0
  49. package/dist/components/DeptsMemberSelector/subcomponents/Entity/Member/MemberSearch/TreeNodeTitle.d.ts +7 -0
  50. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptMemberList/index.d.ts +6 -0
  51. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptTree/index.d.ts +6 -0
  52. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/DeptUsersCorpDeptPanel.d.ts +2 -0
  53. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/buildCorpDeptTreeData.d.ts +7 -0
  54. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/types.d.ts +45 -0
  55. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/useCorpDeptPanelData.d.ts +17 -0
  56. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpFlatList/index.d.ts +12 -0
  57. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpLabelTree/index.d.ts +2 -0
  58. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/DeptUsersCorpPanel.d.ts +2 -0
  59. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/alignDockCorpSelectedKeys.d.ts +27 -0
  60. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/buildCorpLabelTreeData.d.ts +18 -0
  61. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/useCorpLabelTreePanelData.d.ts +11 -0
  62. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/useCorpPanelData.d.ts +11 -0
  63. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/DeptUsersEnterpriseLabelPanel.d.ts +2 -0
  64. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/EnterpriseLabelList/index.d.ts +11 -0
  65. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/types.d.ts +5 -0
  66. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/useDeptUsersEnterpriseLabelPanelData.d.ts +10 -0
  67. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersPositionPanel/useDeptUsersPositionPanelData.d.ts +8 -8
  68. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersRolePanel/InternalRolePickTree.d.ts +21 -0
  69. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersRolePanel/useDeptUsersRolePanelData.d.ts +14 -11
  70. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberPanel/useMemberPagedList.d.ts +40 -0
  71. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberPanel/useMemberPanelData.d.ts +88 -3
  72. package/dist/components/DeptsMemberSelector/subcomponents/Panels/OrganizationPanel/DeptScope/DeptScopeOptions.d.ts +13 -0
  73. package/dist/components/DeptsMemberSelector/subcomponents/Panels/OrganizationPanel/DeptScope/DeptScopePanel.d.ts +8 -0
  74. package/dist/components/DeptsMemberSelector/subcomponents/Panels/OrganizationPanel/DeptScope/useDeptScopePanelData.d.ts +41 -0
  75. package/dist/components/DeptsMemberSelector/subcomponents/Panels/PositionPanel/usePositionPanelData.d.ts +1 -1
  76. package/dist/components/DeptsMemberSelector/subcomponents/Panels/RolePanel/useRolePanelData.d.ts +1 -1
  77. package/dist/components/DeptsMemberSelector/subcomponents/SelectionArea/PreviewSelectedItems/PreviewSelectedItems.d.ts +1 -5
  78. package/dist/components/DeptsMemberSelector/testUtils/domMeasureMocks.d.ts +7 -0
  79. package/dist/components/DeptsMemberSelector/types/selector.d.ts +62 -3
  80. package/dist/components/DeptsMemberSelector/utils/constants.d.ts +36 -3
  81. package/dist/components/DeptsMemberSelector/utils/corpList.d.ts +13 -0
  82. package/dist/components/DeptsMemberSelector/utils/departmentIdentity.d.ts +14 -0
  83. package/dist/components/DeptsMemberSelector/utils/deptUsersCorpDeptSearchGroup.d.ts +31 -0
  84. package/dist/components/DeptsMemberSelector/utils/deptUsersCorpSearchGroup.d.ts +23 -0
  85. package/dist/components/DeptsMemberSelector/utils/deptUsersDockCacheKeys.d.ts +16 -0
  86. package/dist/components/DeptsMemberSelector/utils/deptUsersEnterpriseLabelSearchGroup.d.ts +22 -0
  87. package/dist/components/DeptsMemberSelector/utils/deptUsersOrgDepartmentsData.d.ts +30 -0
  88. package/dist/components/DeptsMemberSelector/utils/deptUsersOrganizationSearchGroup.d.ts +25 -0
  89. package/dist/components/DeptsMemberSelector/utils/deptUsersRelationSearchGroup.d.ts +4 -16
  90. package/dist/components/DeptsMemberSelector/utils/deptUsersRoleModel.d.ts +43 -0
  91. package/dist/components/DeptsMemberSelector/utils/deptUsersRoleSearchGroup.d.ts +24 -0
  92. package/dist/components/DeptsMemberSelector/utils/deptUsersSearchDimensions.d.ts +30 -0
  93. package/dist/components/DeptsMemberSelector/utils/domMeasure.d.ts +14 -0
  94. package/dist/components/DeptsMemberSelector/utils/entityItemType.d.ts +5 -2
  95. package/dist/components/DeptsMemberSelector/utils/filterLabelCorpFlatNodes.d.ts +56 -0
  96. package/dist/components/DeptsMemberSelector/utils/flattenDockUserList.d.ts +7 -0
  97. package/dist/components/DeptsMemberSelector/utils/flowCreator.d.ts +17 -2
  98. package/dist/components/DeptsMemberSelector/utils/index.d.ts +5 -1
  99. package/dist/components/DeptsMemberSelector/utils/memberSearchTreeTitle.d.ts +9 -0
  100. package/dist/components/DeptsMemberSelector/utils/resolveDeptUsersExternalMembers.d.ts +7 -0
  101. package/dist/components/DeptsMemberSelector/utils/resolveDeptUsersOrganizationEntryVisibility.d.ts +19 -0
  102. package/dist/components/DeptsMemberSelector/utils/resolveDockCorpId.d.ts +15 -0
  103. package/dist/components/DeptsMemberSelector/{subcomponents/Panels/OrganizationPanel/utils → utils}/treeExpandedKeys.d.ts +8 -3
  104. package/dist/components/DeptsMemberSelector/utils/useDeptUsersOrgDepartmentsPrefetch.d.ts +16 -0
  105. package/dist/index.css +1 -1
  106. package/dist/index.js +22 -13
  107. package/dist/lang/en-US.json.d.ts +13 -1
  108. package/dist/lang/zh-CN.json.d.ts +13 -1
  109. package/dist/lang/zh-TW.json.d.ts +13 -1
  110. package/dist/services/contact/selector.service.d.ts +43 -2
  111. package/dist/vendors/useLocale.js +251 -0
  112. package/package.json +3 -3
  113. package/dist/DeptsMemberSelector/DeptsMemberSelector-DmwD1Ls_.js +0 -1336
  114. package/dist/DeptsMemberSelector/DeptsUser-wWfkuBDp.js +0 -974
  115. package/dist/DeptsMemberSelector/MemberPanel-Cm1Hv-GV.js +0 -698
  116. package/dist/DeptsMemberSelector/OrganizationPanel-2QDNfFtJ.js +0 -401
  117. package/dist/DeptsMemberSelector/useOutsiderGroupPanelState-d2EiLVaV.js +0 -648
  118. package/dist/components/DeptsMemberSelector/subcomponents/Panels/OrganizationPanel/utils/useOrganizationTreeExpandedKeys.d.ts +0 -9
  119. package/dist/components/DeptsMemberSelector/utils/deptUsersSearchVisibility.d.ts +0 -30
  120. /package/dist/ConfigProvider/{ConfigProvider-CU5Z39Ex.js → ConfigProvider-51iupuCp.js} +0 -0
@@ -0,0 +1,205 @@
1
+ import { t as e } from "../vendors/clsx.js";
2
+ import { useCallback as t, useEffect as n, useLayoutEffect as r, useMemo as i, useRef as a, useState as o } from "react";
3
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
4
+ //#region src/components/DeptsMemberSelector/utils/domMeasure.ts
5
+ var l = .5, u = (e, t, n = l) => Math.abs(e - t) < n, d = (e, t, n) => e.querySelector(`[${t}="${CSS.escape(n)}"]`), f = (e, t) => {
6
+ if (!t.offsetParent && t.getBoundingClientRect().width === 0) return null;
7
+ if (t.offsetWidth > 0) {
8
+ let n = 0, r = t;
9
+ for (; r && r !== e;) {
10
+ n += r.offsetLeft;
11
+ let e = r.offsetParent instanceof HTMLElement ? r.offsetParent : null;
12
+ if (!e) break;
13
+ r = e;
14
+ }
15
+ if (r === e) return {
16
+ width: t.offsetWidth,
17
+ left: n
18
+ };
19
+ }
20
+ let n = e.getBoundingClientRect(), r = t.getBoundingClientRect();
21
+ return r.width === 0 ? null : {
22
+ width: r.width,
23
+ left: r.left - n.left
24
+ };
25
+ }, p = (e) => {
26
+ e.current !== null && (cancelAnimationFrame(e.current), e.current = null);
27
+ }, m = (e, t, n) => e.map((e) => `${t(e)}:${n(e)}`).join("|"), h = (e, t) => u(e.width, t.width) && u(e.left, t.left), g = (e, t) => {
28
+ let n = t.parentElement;
29
+ return t.offsetParent !== e || !n || n === e || t.offsetWidth <= 0 || n.offsetWidth <= 0 ? null : {
30
+ width: t.offsetWidth,
31
+ left: n.offsetLeft + (n.offsetWidth - t.offsetWidth) / 2
32
+ };
33
+ }, _ = 2, v = .02, y = (e) => {
34
+ let t = e.getBoundingClientRect();
35
+ return e.offsetWidth > 0 ? t.width / e.offsetWidth : null;
36
+ }, b = (e) => e === null || Math.abs(e - 1) <= v, x = (e) => {
37
+ let { activeKey: i, tabsKey: s, measureAttribute: c = "data-tab-key", observeMeasureTargets: l = !1 } = e, u = a(null), m = a({
38
+ width: 0,
39
+ left: 0
40
+ }), v = a(i), x = a(!1), S = a(null), C = a(null), w = a(!1), T = a(null), E = a(c), D = a(l), O = a(() => {});
41
+ E.current = c, D.current = l;
42
+ let [k, A] = o(!1), [j, M] = o(!1), [N, P] = o({
43
+ width: 0,
44
+ left: 0
45
+ });
46
+ v.current = i;
47
+ let F = t(() => {
48
+ let e = u.current;
49
+ if (!e || !b(y(e))) return null;
50
+ let t = v.current, n = d(e, E.current, t);
51
+ if (!n) return null;
52
+ if (D.current) {
53
+ let t = g(e, n);
54
+ if (t) return t;
55
+ }
56
+ return f(e, n);
57
+ }, []), I = t(() => {
58
+ let e = F();
59
+ !e || h(m.current, e) || (m.current = e, P(e));
60
+ }, [F]), L = t(() => {
61
+ x.current || (x.current = !0, M(!0), A(!1), requestAnimationFrame(() => {
62
+ A(!0);
63
+ }));
64
+ }, []), R = t((e) => {
65
+ C.current = requestAnimationFrame(() => {
66
+ if (C.current = null, I(), e > 1) {
67
+ R(e - 1);
68
+ return;
69
+ }
70
+ let t = u.current;
71
+ if (!b(t ? y(t) : null)) {
72
+ O.current();
73
+ return;
74
+ }
75
+ if (m.current.width <= 0) {
76
+ O.current();
77
+ return;
78
+ }
79
+ L();
80
+ });
81
+ }, [L, I]), z = t(() => {
82
+ if (S.current !== null) {
83
+ w.current = !0;
84
+ return;
85
+ }
86
+ S.current = requestAnimationFrame(() => {
87
+ S.current = null, requestAnimationFrame(() => {
88
+ I(), R(_), w.current && (w.current = !1, z());
89
+ });
90
+ });
91
+ }, [R, I]);
92
+ return O.current = z, r(() => {
93
+ m.current = {
94
+ width: 0,
95
+ left: 0
96
+ }, x.current = !1, M(!1), A(!1);
97
+ }, [s]), r(() => (w.current = !1, I(), z(), () => {
98
+ p(S), p(C), w.current = !1;
99
+ }), [
100
+ z,
101
+ s,
102
+ i,
103
+ I
104
+ ]), r(() => {
105
+ let e = u.current;
106
+ if (!e) return;
107
+ let t = new ResizeObserver(() => z());
108
+ return t.observe(e), D.current && e.querySelectorAll(`[${E.current}]`).forEach((n) => {
109
+ n.parentElement && n.parentElement !== e && t.observe(n.parentElement);
110
+ }), () => t.disconnect();
111
+ }, [s, z]), n(() => {
112
+ let e = document.fonts;
113
+ if (!e?.ready) return;
114
+ let t = !1;
115
+ return e.ready.then(() => {
116
+ !t && T.current !== s && (T.current = s, z());
117
+ }), () => {
118
+ t = !0;
119
+ };
120
+ }, [s, z]), {
121
+ containerRef: u,
122
+ indicatorStyle: N,
123
+ enableTransition: k,
124
+ indicatorVisible: j
125
+ };
126
+ }, S = ({ className: t, animatedClassName: n, enableTransition: r, indicatorVisible: i, indicatorStyle: a }) => /* @__PURE__ */ s("div", {
127
+ className: e(t, { [n]: r }),
128
+ style: {
129
+ width: `${a.width}px`,
130
+ transform: `translateX(${a.left}px)`,
131
+ opacity: i ? 1 : 0,
132
+ visibility: i ? "visible" : "hidden",
133
+ transition: r ? void 0 : "none"
134
+ }
135
+ }), C = "_active_131fx_15", w = {
136
+ "tabgroup-container": "_tabgroup-container_131fx_1",
137
+ "tabgroup-container__tab-item": "_tabgroup-container__tab-item_131fx_7",
138
+ active: C,
139
+ "tabgroup-container__indicator": "_tabgroup-container__indicator_131fx_18",
140
+ "tabgroup-container__indicator--animated": "_tabgroup-container__indicator--animated_131fx_26"
141
+ }, T = (t) => {
142
+ let { tabs: n, value: r, onChange: a } = t, { containerRef: o, indicatorStyle: l, enableTransition: u, indicatorVisible: d } = x({
143
+ activeKey: r,
144
+ tabsKey: i(() => m(n, (e) => e.value, (e) => e.label), [n]),
145
+ observeMeasureTargets: !0
146
+ });
147
+ return /* @__PURE__ */ c("div", {
148
+ className: w["tabgroup-container"],
149
+ ref: o,
150
+ children: [/* @__PURE__ */ s(S, {
151
+ className: w["tabgroup-container__indicator"],
152
+ animatedClassName: w["tabgroup-container__indicator--animated"],
153
+ enableTransition: u,
154
+ indicatorVisible: d,
155
+ indicatorStyle: l
156
+ }), n.map((t) => /* @__PURE__ */ s("div", {
157
+ className: e(w["tabgroup-container__tab-item"], { [w.active]: r === t.value }),
158
+ onClick: () => a(t.value),
159
+ children: /* @__PURE__ */ s("span", {
160
+ "data-tab-key": t.value,
161
+ children: t.label
162
+ })
163
+ }, t.value))]
164
+ });
165
+ }, E = (e) => e?._id ?? "", D = (e) => typeof e?.name == "string" ? e.name : "", O = (e) => e.find((e) => E(e) && D(e)), k = [], A = (e = {}) => String(e.type) === "1", j = (e) => {
166
+ let t = e.order ?? e.sort, n = Number(t);
167
+ return Number.isFinite(n) ? n : 2 ** 53 - 1;
168
+ }, M = (e) => [...e].sort((e, t) => j(e) - j(t)), N = (e = []) => ({
169
+ defaultGroups: e.filter(A),
170
+ customGroups: e.filter((e) => !A(e))
171
+ }), P = (e = []) => N(M(e)), F = ({ defaultGroups: e, customGroups: t, activeKey: n, labels: r }) => {
172
+ let i = [...e.length > 0 ? [{
173
+ key: "default",
174
+ label: r.default
175
+ }] : [], ...t.length > 0 ? [{
176
+ key: "custom",
177
+ label: r.custom
178
+ }] : []], a = i.length === 0, o = i.some((e) => e.key === n) ? n : i[0]?.key ?? "default";
179
+ return {
180
+ tabs: i,
181
+ isPanelEmpty: a,
182
+ activeKey: o,
183
+ currentGroups: o === "default" ? e : t
184
+ };
185
+ }, I = ({ groups: e = k, labels: t, initialActiveKey: n = "default", ordered: r = !1 }) => {
186
+ let [a, s] = o(n), { defaultGroups: c, customGroups: l } = i(() => r ? P(e) : N(e), [e, r]);
187
+ return {
188
+ ...i(() => F({
189
+ defaultGroups: c,
190
+ customGroups: l,
191
+ activeKey: a,
192
+ labels: t
193
+ }), [
194
+ a,
195
+ l,
196
+ c,
197
+ t
198
+ ]),
199
+ setActiveKey: s,
200
+ defaultGroups: c,
201
+ customGroups: l
202
+ };
203
+ };
204
+ //#endregion
205
+ export { T as a, x as c, f as d, u as f, D as i, p as l, O as n, S as o, E as r, m as s, I as t, d as u };
@@ -0,0 +1,45 @@
1
+ import { n as e } from "../vendors/lodash-es.js";
2
+ import { useEffect as t, useRef as n, useState as r } from "react";
3
+ //#region src/components/DeptsMemberSelector/utils/deptUsersDockCacheKeys.ts
4
+ var i = "deptUsersCorps", a = "deptUsersCorpLabelTree", o = "deptUsersCorpDeptTree", s = "deptUsersRelations", c = "deptUsersRoleLeaves", l = "deptUsersOrgInternal", u = "deptUsersOrgExternal", d = (e, t, n = !0) => `${e}:${t?.appId ?? ""}:${t?.entryId ?? ""}:${!!n}`, f = (e, t) => {
5
+ if (t === "none" || e.length === 0) return [];
6
+ if (t === "single-root-only") {
7
+ let t = e[0]._id;
8
+ return e.length === 1 && t != null ? [t] : [];
9
+ }
10
+ return e.map((e) => e._id).filter((e) => e != null);
11
+ }, p = (e, t, n = []) => {
12
+ for (let r of e) {
13
+ if (r._id === void 0 || r._id === null) continue;
14
+ let e = [...n, r._id];
15
+ if (r._id === t) return e;
16
+ if (r.children?.length) {
17
+ let n = p(r.children, t, e);
18
+ if (n) return n;
19
+ }
20
+ }
21
+ return null;
22
+ }, m = (t, n = []) => {
23
+ let r = [];
24
+ return n.forEach((e) => {
25
+ let n = p(t, e);
26
+ n && r.push(...n.slice(0, -1));
27
+ }), e(r);
28
+ }, h = (t, n) => {
29
+ let r = f(t, n.baselineMode), i = n.selectionExpandKeys ?? [];
30
+ return e([...r, ...i]);
31
+ }, g = (e, t) => {
32
+ if (e.length !== t.length) return !1;
33
+ let n = new Set(t.map(String));
34
+ return e.every((e) => n.has(String(e)));
35
+ }, _ = (e) => {
36
+ let [i, a] = r(null), o = n(e);
37
+ return t(() => {
38
+ g(e, o.current) || (o.current = e, a(null));
39
+ }, [e]), {
40
+ expandedKeys: i ?? e,
41
+ onExpand: a
42
+ };
43
+ };
44
+ //#endregion
45
+ export { i as a, u as c, c as d, d as f, h as i, l, p as n, o, m as r, a as s, _ as t, s as u };
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "../utils-BVfGpRu5.js";
1
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "../utils-Bb473LZ3.js";
2
2
  export { c as ENTITY_COLORS, i as buildDeptTree, o as buildTree, n as findNodeInTree, e as getAvatarText, a as getColorByName, t as getMemberBadgeLabels, s as getMemberDisplayName, r as resolveMemberBadgeText };
@@ -6,7 +6,7 @@ var t = (e, t) => `(${t.external}:${e})`, n = (e) => ({
6
6
  }), r = (e, n, r) => {
7
7
  if (e.type === "dockrole") return e.name ? t(e.name, n) : void 0;
8
8
  if (e.type === "role") return e.name ? `(${n.member}:${e.name})` : void 0;
9
- if (e.user_type === "dock_user") return e.dock_corpname ? t(e.dock_corpname, n) : void 0;
9
+ if (e.user_type === "dock_user" && e.dock_corpname) return t(e.dock_corpname, n);
10
10
  if (e.deptnames) return e.deptnames;
11
11
  if (r?.allowDockCorpFallback && e.dock_corpname) return t(e.dock_corpname, n);
12
12
  }, i = [
@@ -65,39 +65,41 @@ var t = (e, t) => `(${t.external}:${e})`, n = (e) => ({
65
65
  }
66
66
  return null;
67
67
  };
68
- function f(e) {
69
- let t = {}, n = [], r = (e) => e == null ? "" : String(e), i = (e) => {
68
+ function f(e, t) {
69
+ let { sortByOrder: n = !0 } = t ?? {}, r = {}, i = [], a = (e) => e == null ? "" : String(e), o = (e) => {
70
70
  if (e === "" || e == null) return Infinity;
71
71
  let t = Number(e);
72
72
  return Number.isFinite(t) ? t : Infinity;
73
- }, a = (e) => e.sort((e, t) => {
74
- let n = i(e.order), r = i(t.order);
73
+ }, s = (e) => e.sort((e, t) => {
74
+ let n = o(e.order), r = o(t.order);
75
75
  return n === r ? 0 : n - r;
76
76
  });
77
77
  return e.forEach((e) => {
78
- let n = r(e.departmentId);
79
- n && (t[n] = {
78
+ let t = a(e.departmentId);
79
+ t && (r[t] = {
80
80
  ...e,
81
81
  title: e.name,
82
82
  key: e.departmentId,
83
83
  children: []
84
84
  });
85
- }), Object.values(t).forEach((e) => {
86
- let i = r(e.departmentId), a = r(e.parentId);
87
- if (!a || a === "0") {
88
- n.push(e);
85
+ }), e.forEach((e) => {
86
+ let t = a(e.departmentId), n = r[t];
87
+ if (!n) return;
88
+ let o = a(n.parentId);
89
+ if (!o || o === "0") {
90
+ i.push(n);
89
91
  return;
90
92
  }
91
- if (a === i) return;
92
- let o = t[a];
93
- if (o) {
94
- o.children.push(e);
93
+ if (o === t) return;
94
+ let s = r[o];
95
+ if (s) {
96
+ s.children.push(n);
95
97
  return;
96
98
  }
97
- n.push(e);
98
- }), Object.values(t).forEach((e) => {
99
- a(e.children);
100
- }), a(n), n;
99
+ i.push(n);
100
+ }), n && (Object.values(r).forEach((e) => {
101
+ s(e.children);
102
+ }), s(i)), i;
101
103
  }
102
104
  //#endregion
103
105
  export { s as a, n as c, d as i, r as l, f as n, c as o, u as r, l as s, i as t };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../BubbleChart/AutoGridEChart-CJVgpqeo.js";
1
+ import { t as e } from "../BubbleChart/AutoGridEChart-VA8BTIj4.js";
2
2
  import { forwardRef as t, useImperativeHandle as n, useRef as r } from "react";
3
3
  import { jsx as i } from "react/jsx-runtime";
4
4
  var a = t((t, a) => {
@@ -25,7 +25,7 @@ var a = t((t, a) => {
25
25
  xAxis: {
26
26
  axisLabel: {
27
27
  color: f,
28
- fontSize: 10,
28
+ fontSize: 12,
29
29
  show: !0,
30
30
  hideOverlap: !t.options.xAxis?.label?.step,
31
31
  rotate: t.options.xAxis?.label?.rotation?.toString() || "45"
@@ -50,7 +50,7 @@ var a = t((t, a) => {
50
50
  yAxis: {
51
51
  axisLabel: {
52
52
  color: f,
53
- fontSize: 10,
53
+ fontSize: 12,
54
54
  show: !0,
55
55
  hideOverlap: !t.options.yAxis?.label?.step,
56
56
  rotate: t.options.yAxis?.label?.rotation?.toString() || "45"
@@ -129,7 +129,7 @@ var a = t((t, a) => {
129
129
  },
130
130
  label: {
131
131
  show: !0,
132
- position: "insideEndTop",
132
+ position: e.field === t.options.xFields[0].tag ? "insideEndTop" : "insideStartTop",
133
133
  formatter: (t) => {
134
134
  if (e.is_label_visible && e.is_value_visible) return e.label + ":" + t.value;
135
135
  if (e.is_label_visible) return e.label;
@@ -154,6 +154,8 @@ var a = t((t, a) => {
154
154
  fontWeight: 500
155
155
  }
156
156
  },
157
+ hoverAnimation: !1,
158
+ emphasis: { disabled: !0 },
157
159
  type: "scatter"
158
160
  }))
159
161
  };
@@ -1,6 +1,6 @@
1
1
  import "../vendors/echarts.js";
2
- import "../BubbleChart/AutoGridEChart-CJVgpqeo.js";
3
- import { t as e } from "./Scatterplot-D4GhWpFa.js";
2
+ import "../BubbleChart/AutoGridEChart-VA8BTIj4.js";
3
+ import { t as e } from "./Scatterplot-R66_f3TZ.js";
4
4
  //#region src/components/Scatterplot/index.ts
5
5
  var t = e;
6
6
  //#endregion
@@ -1,4 +1,3 @@
1
- import { SetStateAction } from 'react';
2
1
  import { Action } from '../types/context';
3
2
  import { CurrentContext, DepartmentSelectableRange, DepartmentPanelRequestGuard, DeptUsersPanelConfig, FlowCreator, MemberPanelRequestGuard, MemberPanelVisibility, RequestContext, SelectorLimits, SelectorType } from '../types/selector';
4
3
  declare const DeptsMemberContext: import('react').Context<{
@@ -8,7 +7,6 @@ declare const DeptsMemberContext: import('react').Context<{
8
7
  * @description 无论单选还是多选,value 都统一按数组存储,避免面板层再分叉处理状态结构
9
8
  */
10
9
  value?: any[];
11
- setValue: (v: SetStateAction<any[]>, ...args: any[]) => void;
12
10
  dispatch: (action: Action) => void;
13
11
  containerHeight: number;
14
12
  currentUsers?: Record<string, unknown>[];
@@ -39,5 +37,10 @@ declare const DeptsMemberContext: import('react').Context<{
39
37
  * 为 true 时整个弹窗统一走单选(radio + insertOnly),由主组件派生注入。
40
38
  */
41
39
  isSingleSelect?: boolean;
40
+ /**
41
+ * 成员黑名单 id Set。仅 type === 'deptusers' 时由主组件从 props.excludedMemberIds 派生;
42
+ * 其它 type 或未传时为空 Set。命中 `_id` / `id` / `dock_userid` 的成员不展示。
43
+ */
44
+ excludedMemberIdSet?: ReadonlySet<string>;
42
45
  }>;
43
46
  export default DeptsMemberContext;
@@ -3,7 +3,6 @@ export declare const useDeptsMemberSelector: () => {
3
3
  departmentPanelRequestGuard: import('../types/selector').DepartmentPanelRequestGuard;
4
4
  type: import('..').SelectorType;
5
5
  value?: any[];
6
- setValue: (v: import('react').SetStateAction<any[]>, ...args: any[]) => void;
7
6
  dispatch: (action: import('../types/context').Action) => void;
8
7
  containerHeight: number;
9
8
  currentUsers?: Record<string, unknown>[];
@@ -21,4 +20,5 @@ export declare const useDeptsMemberSelector: () => {
21
20
  hasDock?: boolean;
22
21
  hasDeptDock?: boolean;
23
22
  isSingleSelect?: boolean;
23
+ excludedMemberIdSet?: ReadonlySet<string>;
24
24
  };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 成员列表出口统一过滤:transfer 剔除当前登录用户;excludedMemberIdSet 非空时剔除黑名单成员。
3
+ * 从 Context 读取 type / currentUsers / excludedMemberIdSet 并 memo 化结果。仅用于渲染期调用点;
4
+ * useRequest 异步回调内请直接使用 filterMemberListCandidates。
5
+ */
6
+ export declare const useFilteredMemberList: <T extends Record<string, unknown>>(list: T[]) => T[];
@@ -0,0 +1,18 @@
1
+ export type UseTabListScrollOffsetOptions = {
2
+ /** 可视窗口 ref(与 useSlidingTabIndicator 的 containerRef 共用同一节点) */
3
+ containerRef: React.RefObject<HTMLDivElement>;
4
+ /** 承担横向偏移的 track ref,用于读取 offsetWidth */
5
+ trackRef: React.RefObject<HTMLDivElement>;
6
+ /** 当前激活的 tab key */
7
+ activeKey: string;
8
+ /** `${key}:${label}|...`,tab 结构或文案变化时触发重算 */
9
+ tabsKey: string;
10
+ /** 测量节点上的 data 属性,默认 `data-tab-key` */
11
+ measureAttribute?: string;
12
+ };
13
+ /** 将激活 tab 居中于可视窗口,结果 clamp 到 [0, maxOffset];未溢出时返回 0。 */
14
+ export declare const computeScrollOffset: (containerWidth: number, trackWidth: number, tabLeft: number, tabWidth: number) => number;
15
+ export declare const useTabListScrollOffset: (options: UseTabListScrollOffsetOptions) => {
16
+ scrollOffset: number;
17
+ };
18
+ export default useTabListScrollOffset;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 树展开态:默认跟随 resolvedExpandedKeys,用户手动折叠/展开后保留 manual 态;
3
+ * resolved 内容变化(数据加载、选中路径变化、Tab 切换)时重置 manual。
4
+ */
5
+ declare const useTreeExpandedKeys: (resolvedExpandedKeys: Array<string | number>) => {
6
+ expandedKeys: (string | number)[];
7
+ onExpand: import('react').Dispatch<import('react').SetStateAction<(string | number)[] | null>>;
8
+ };
9
+ export { useTreeExpandedKeys };
@@ -0,0 +1,5 @@
1
+ /** deptusers 全局搜索唯一宿主:按维度注册表并集展示结果。 */
2
+ declare const DeptUsersSearch: React.FC<{
3
+ wd?: string;
4
+ }>;
5
+ export default DeptUsersSearch;
@@ -0,0 +1,19 @@
1
+ import { TreeNodeDefine } from '@baishuyun/ui-base/components/Tree';
2
+ /** deptusers 全局搜索唯一宿主数据层:按维度注册表并集挂载 remote/local 搜索。 */
3
+ declare const useDeptUsersSearchData: ({ wd }: {
4
+ wd?: string;
5
+ }) => {
6
+ containerHeight: number;
7
+ treeData: {
8
+ title: string;
9
+ value: string;
10
+ children: any[];
11
+ }[];
12
+ defaultExpandedKeys: string[];
13
+ selectedKeys: any[];
14
+ isLoading: boolean;
15
+ checkType: "radio" | "checkbox";
16
+ handleSelect: (_id: any, node?: TreeNodeDefine) => void;
17
+ handleDeSelect: (targetValue: any) => void;
18
+ };
19
+ export { useDeptUsersSearchData };
@@ -0,0 +1,7 @@
1
+ declare const TreeNodeTitle: React.FC<{
2
+ randomColor?: string;
3
+ name: string;
4
+ avatarurl?: string;
5
+ extra?: React.ReactNode;
6
+ }>;
7
+ export default TreeNodeTitle;
@@ -0,0 +1,6 @@
1
+ import { CorpDeptPanelData } from '../useCorpDeptPanelData';
2
+ type CorpDeptMemberListProps = {
3
+ panel: CorpDeptPanelData;
4
+ };
5
+ declare const CorpDeptMemberList: React.FC<CorpDeptMemberListProps>;
6
+ export default CorpDeptMemberList;
@@ -0,0 +1,6 @@
1
+ import { CorpDeptPanelData } from '../useCorpDeptPanelData';
2
+ type CorpDeptTreeProps = {
3
+ panel: CorpDeptPanelData;
4
+ };
5
+ declare const CorpDeptTree: React.FC<CorpDeptTreeProps>;
6
+ export default CorpDeptTree;
@@ -0,0 +1,2 @@
1
+ declare const DeptUsersCorpDeptPanel: React.FC;
2
+ export default DeptUsersCorpDeptPanel;
@@ -0,0 +1,7 @@
1
+ import { CorpDeptSourceItem, CorpDeptTreeNode } from './types';
2
+ /**
3
+ * 将 department/list(hasDeptDock)返回的扁平 label_corp_list 构建为嵌套树。
4
+ * 节点主键统一为 id(取 departmentId,回退 _id),供右栏成员请求 deptId 使用。
5
+ */
6
+ declare const buildCorpDeptTreeData: (labelCorpList?: CorpDeptSourceItem[]) => CorpDeptTreeNode[];
7
+ export { buildCorpDeptTreeData };
@@ -0,0 +1,45 @@
1
+ /** department/list(hasDeptDock)返回的 label_corp_list 原始节点。 */
2
+ type CorpDeptSourceItem = {
3
+ _id?: string | number;
4
+ name?: string;
5
+ type?: string;
6
+ departmentId?: string | number;
7
+ parentId?: string | number;
8
+ /** 对接企业 id;dockcorp 节点自身即企业,该字段可能缺失。 */
9
+ owner_corpid?: string;
10
+ order?: string | number;
11
+ status?: string;
12
+ children?: CorpDeptSourceItem[];
13
+ };
14
+ /** buildCorpDeptTreeData 产出的树节点,统一暴露 id(= departmentId)作为节点主键。 */
15
+ type CorpDeptTreeNode = CorpDeptSourceItem & {
16
+ id: string | number;
17
+ children?: CorpDeptTreeNode[];
18
+ };
19
+ /** department/member/list 返回的 dock_user_list 分组。 */
20
+ type DockUserGroup = {
21
+ dockCorpid?: string | number;
22
+ dock_corpname?: string;
23
+ userList?: CorpDeptMemberItem[];
24
+ };
25
+ /** 对接人 Tab 右栏对接人 DTO。 */
26
+ type CorpDeptMemberItem = {
27
+ _id: string | number;
28
+ name?: string;
29
+ avatarurl?: string;
30
+ nickname?: string;
31
+ deptnames?: string;
32
+ dock_corpname?: string;
33
+ user_type?: string;
34
+ /** 所属对接企业 id;member/list 接口已返回。 */
35
+ owner_corpid?: string;
36
+ dock_corpid?: string;
37
+ user_id?: string | number;
38
+ type?: string;
39
+ };
40
+ /** 树节点点击是否加载右侧成员:label / dockcorpdept 仅作结构节点。 */
41
+ declare const isMemberLoadingNode: (node?: {
42
+ type?: string;
43
+ } | null) => boolean;
44
+ export type { CorpDeptSourceItem, CorpDeptTreeNode, DockUserGroup, CorpDeptMemberItem };
45
+ export { isMemberLoadingNode };
@@ -0,0 +1,17 @@
1
+ import { CorpDeptMemberItem, CorpDeptTreeNode } from './types';
2
+ export declare const useCorpDeptPanelData: () => {
3
+ treeData: CorpDeptTreeNode[];
4
+ treeLoading: boolean;
5
+ activeNode: CorpDeptTreeNode | null;
6
+ members: CorpDeptMemberItem[];
7
+ memberLoading: boolean;
8
+ containerHeight: number;
9
+ selectedMemberIds: any[];
10
+ selectedMemberId: any;
11
+ isSingleSelect: boolean | undefined;
12
+ handleSelectNode: (node: CorpDeptTreeNode | null) => void;
13
+ handleSelectMember: (member: CorpDeptMemberItem) => void;
14
+ handleMemberToggle: (member: CorpDeptMemberItem) => void;
15
+ handleDeselectMember: (memberId: string | number) => void;
16
+ };
17
+ export type CorpDeptPanelData = ReturnType<typeof useCorpDeptPanelData>;
@@ -0,0 +1,12 @@
1
+ import { CorpListItem } from '../../../../types/selector';
2
+ declare const CorpFlatList: React.FC<{
3
+ corpList?: CorpListItem[];
4
+ selectedIds?: Array<string | number>;
5
+ selectedId?: string | number;
6
+ loading?: boolean;
7
+ isSingleSelect?: boolean;
8
+ respectNoEdit?: boolean;
9
+ onChange?: (values: (string | number)[]) => void;
10
+ onToggle?: (item: CorpListItem) => void;
11
+ }>;
12
+ export default CorpFlatList;
@@ -0,0 +1,2 @@
1
+ declare const CorpLabelTree: React.FC;
2
+ export default CorpLabelTree;
@@ -0,0 +1,2 @@
1
+ declare const DeptUsersCorpPanel: React.FC;
2
+ export default DeptUsersCorpPanel;
@@ -0,0 +1,27 @@
1
+ import { CorpLabelTreeNode } from './buildCorpLabelTreeData';
2
+ export declare const resolveDockCorpBareId: (corpId: string | number | null | undefined) => string;
3
+ /** 裸 id → label_corp 树中的 dockcorp 节点(用于勾选对齐与预览补名)。 */
4
+ export declare const indexDockCorpTreeNodesByBare: (treeData?: CorpLabelTreeNode[]) => Map<string, CorpLabelTreeNode>;
5
+ /**
6
+ * 按裸 id 把已选 dockcorp _id 对齐到 label_corp 树节点真实 _id。
7
+ * 解决 corp_id_list 与树节点 _host/_guest 形态不一致导致的不勾选。
8
+ */
9
+ export declare const alignDockCorpSelectedKeys: (selectedIds: Array<string | number>, treeData?: CorpLabelTreeNode[]) => Array<string | number>;
10
+ type SelectorLikeItem = {
11
+ _id?: string | number;
12
+ id?: string | number;
13
+ type?: string;
14
+ name?: string;
15
+ nickname?: string;
16
+ dock_corpname?: string;
17
+ [key: string]: unknown;
18
+ };
19
+ /**
20
+ * 用 label_corp 树回填已选 dockcorp:补 name、对齐 _id;不在树中的项视为已删除/不可用并剔除。
21
+ * 对齐旧版 memberSelect:预览名来自树/corpMap,失效企业不展示(或标 deleted)。
22
+ */
23
+ export declare const reconcileDockCorpSelectionWithTree: <T extends SelectorLikeItem>(items?: T[], treeData?: CorpLabelTreeNode[]) => {
24
+ nextItems: T[];
25
+ changed: boolean;
26
+ };
27
+ export {};
@@ -0,0 +1,18 @@
1
+ type CorpLabelSourceItem = {
2
+ _id?: string | number;
3
+ name?: string;
4
+ /** label_corp 接口 dockcorp 节点可能带企业展示名 */
5
+ dock_corpname?: string;
6
+ type?: string;
7
+ departmentId?: string | number;
8
+ parentId?: string | number;
9
+ checkable?: boolean;
10
+ children?: CorpLabelSourceItem[];
11
+ };
12
+ type CorpLabelTreeNode = CorpLabelSourceItem & {
13
+ checkable?: boolean;
14
+ children?: CorpLabelTreeNode[];
15
+ };
16
+ declare const buildCorpLabelTreeData: (labelCorpList?: CorpLabelSourceItem[]) => CorpLabelTreeNode[];
17
+ export { buildCorpLabelTreeData };
18
+ export type { CorpLabelSourceItem, CorpLabelTreeNode };