@baishuyun/ui-business 2.0.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 (79) hide show
  1. package/README.md +67 -0
  2. package/dist/ConfigProvider/ConfigProvider-CE-neQMa.js +9 -0
  3. package/dist/ConfigProvider/configContext-lDqg07Z3.js +7 -0
  4. package/dist/ConfigProvider/index.d.ts +4 -0
  5. package/dist/ConfigProvider/index.js +4 -0
  6. package/dist/DeptsMember/DeptsMember-C54jKU8C.js +685 -0
  7. package/dist/DeptsMember/TabGroup-B_2npRbC.js +121 -0
  8. package/dist/DeptsMember/index.d.ts +6 -0
  9. package/dist/DeptsMember/index.js +6 -0
  10. package/dist/DeptsMember/subcomponents/Entity/Department/index.d.ts +2 -0
  11. package/dist/DeptsMember/subcomponents/Entity/Department/index.js +363 -0
  12. package/dist/DeptsMember/subcomponents/Entity/Member/index.d.ts +2 -0
  13. package/dist/DeptsMember/subcomponents/Entity/Member/index.js +671 -0
  14. package/dist/DeptsMember/utils/index.d.ts +2 -0
  15. package/dist/DeptsMember/utils/index.js +77 -0
  16. package/dist/components/ConfigProvider/ConfigProvider.d.ts +4 -0
  17. package/dist/components/ConfigProvider/ConfigProvider.type.d.ts +5 -0
  18. package/dist/components/ConfigProvider/context/configContext.d.ts +3 -0
  19. package/dist/components/ConfigProvider/index.d.ts +2 -0
  20. package/dist/components/DeptsMember/DeptsMember.d.ts +3 -0
  21. package/dist/components/DeptsMember/DeptsMember.type.d.ts +23 -0
  22. package/dist/components/DeptsMember/context/DeptsMemberContext.d.ts +45 -0
  23. package/dist/components/DeptsMember/hooks/useDeptsMemberSelector.d.ts +7 -0
  24. package/dist/components/DeptsMember/index.d.ts +4 -0
  25. package/dist/components/DeptsMember/reducers/deptsMemberReducer.d.ts +3 -0
  26. package/dist/components/DeptsMember/subcomponents/Entity/Department/CurrentDepartmentEntity/CurrentDepartmentEntity.d.ts +2 -0
  27. package/dist/components/DeptsMember/subcomponents/Entity/Department/DepartmentSearch/DepartmentSearch.d.ts +4 -0
  28. package/dist/components/DeptsMember/subcomponents/Entity/Department/ExternalContactEntity/ExternalContactEntity.d.ts +2 -0
  29. package/dist/components/DeptsMember/subcomponents/Entity/Department/GroupList/GroupList.d.ts +9 -0
  30. package/dist/components/DeptsMember/subcomponents/Entity/Department/OrganizationalEntity/ExternalOrganization/ExternalOrganization.d.ts +7 -0
  31. package/dist/components/DeptsMember/subcomponents/Entity/Department/OrganizationalEntity/InternalOrganization/InternalOrganization.d.ts +7 -0
  32. package/dist/components/DeptsMember/subcomponents/Entity/Department/OrganizationalEntity/OrganizationalEntity.d.ts +2 -0
  33. package/dist/components/DeptsMember/subcomponents/Entity/Department/index.d.ts +6 -0
  34. package/dist/components/DeptsMember/subcomponents/Entity/Member/CurrentEntity/CurrentEntity.d.ts +2 -0
  35. package/dist/components/DeptsMember/subcomponents/Entity/Member/ExternalContactEntity/ExternalContactEntity.d.ts +2 -0
  36. package/dist/components/DeptsMember/subcomponents/Entity/Member/MajorEntity/MajorEntity.d.ts +2 -0
  37. package/dist/components/DeptsMember/subcomponents/Entity/Member/MemberEntity/AllMemeberCheck/AllMemeberCheck.d.ts +5 -0
  38. package/dist/components/DeptsMember/subcomponents/Entity/Member/MemberEntity/ExternalMember/ExternalMember.d.ts +8 -0
  39. package/dist/components/DeptsMember/subcomponents/Entity/Member/MemberEntity/InternalMemeber/InternalMemeber.d.ts +8 -0
  40. package/dist/components/DeptsMember/subcomponents/Entity/Member/MemberEntity/MemberEntity.d.ts +2 -0
  41. package/dist/components/DeptsMember/subcomponents/Entity/Member/MemberEntity/MemerList/MemberList.d.ts +7 -0
  42. package/dist/components/DeptsMember/subcomponents/Entity/Member/MemberSearch/MemberSearch.d.ts +4 -0
  43. package/dist/components/DeptsMember/subcomponents/Entity/Member/RoleEntity/RoleEntity.d.ts +2 -0
  44. package/dist/components/DeptsMember/subcomponents/Entity/Member/index.d.ts +6 -0
  45. package/dist/components/DeptsMember/subcomponents/SelectionArea/SelectionArea.d.ts +6 -0
  46. package/dist/components/DeptsMember/subcomponents/SelectionTabs/SelectionTabList/SelectionTabList.d.ts +14 -0
  47. package/dist/components/DeptsMember/subcomponents/SelectionTabs/SelectionTabPanel/SelectionTabPanel.d.ts +3 -0
  48. package/dist/components/DeptsMember/subcomponents/SelectionTabs/SelectionTabs.d.ts +2 -0
  49. package/dist/components/DeptsMember/subcomponents/TabGroup/TabGroup.d.ts +9 -0
  50. package/dist/components/DeptsMember/subcomponents/TagIcon/TagIcon.d.ts +4 -0
  51. package/dist/components/DeptsMember/utils/constants.d.ts +25 -0
  52. package/dist/components/DeptsMember/utils/index.d.ts +43 -0
  53. package/dist/components/index.d.ts +2 -0
  54. package/dist/hooks/useLocale.d.ts +10 -0
  55. package/dist/index.css +1 -0
  56. package/dist/index.d.ts +2 -0
  57. package/dist/index.js +9 -0
  58. package/dist/lang/en-US.json.d.ts +58 -0
  59. package/dist/lang/zh-CN.json.d.ts +58 -0
  60. package/dist/services/apiService.d.ts +12 -0
  61. package/dist/services/corp/outsider.service.d.ts +6 -0
  62. package/dist/services/data/department.service.d.ts +12 -0
  63. package/dist/services/data/member.service.d.ts +19 -0
  64. package/dist/services/data/member_limit.service.d.ts +5 -0
  65. package/dist/services/data/outsider.service.d.ts +11 -0
  66. package/dist/services/team/team.services.d.ts +10 -0
  67. package/dist/vendors/axios.js +1720 -0
  68. package/dist/vendors/clsx.js +16 -0
  69. package/dist/vendors/lodash-es.js +124 -0
  70. package/dist/vendors/services/apiService.js +88 -0
  71. package/dist/vendors/services/corp/outsider.service.js +6 -0
  72. package/dist/vendors/services/data/department.service.js +6 -0
  73. package/dist/vendors/services/data/member.service.js +9 -0
  74. package/dist/vendors/services/data/member_limit.service.js +5 -0
  75. package/dist/vendors/services/data/outsider.service.js +6 -0
  76. package/dist/vendors/services/team/team.services.js +5 -0
  77. package/dist/vendors/simplebar-react.js +408 -0
  78. package/dist/vite-env.d.ts +6 -0
  79. package/package.json +87 -0
@@ -0,0 +1,77 @@
1
+ const i = ["#f5c547", "#528cff", "#50b0f4", "#61db8c", "#ff8383", "#444"], u = (t) => {
2
+ const n = t.charCodeAt(0) % i.length;
3
+ return i[n];
4
+ }, h = (t, n) => {
5
+ const {
6
+ value: o,
7
+ children: e,
8
+ parentId: a
9
+ } = {
10
+ value: "value",
11
+ children: "children",
12
+ parentId: "parentId",
13
+ ...n
14
+ };
15
+ if (!Array.isArray(t))
16
+ return console.error("输入的数据不是一个数组。"), [];
17
+ const c = /* @__PURE__ */ new Map();
18
+ t.forEach((r) => {
19
+ const d = r[o], s = {
20
+ ...r,
21
+ [e]: []
22
+ // 初始化 children 数组
23
+ };
24
+ c.set(d, s);
25
+ });
26
+ const l = [];
27
+ return c.forEach((r) => {
28
+ const d = r[a], s = c.get(d);
29
+ s ? s[e].push(r) : l.push(r);
30
+ }), l;
31
+ }, p = (t, n, o) => {
32
+ const { value: e, children: a } = {
33
+ value: "value",
34
+ children: "children",
35
+ ...o
36
+ };
37
+ if (!Array.isArray(n))
38
+ return null;
39
+ const c = [...n];
40
+ for (; c.length > 0; ) {
41
+ const l = c.pop();
42
+ if (!l)
43
+ continue;
44
+ if (l[e] === t)
45
+ return l;
46
+ const r = l[a];
47
+ if (r && r.length > 0)
48
+ for (let d = r.length - 1; d >= 0; d--)
49
+ c.push(r[d]);
50
+ }
51
+ return null;
52
+ };
53
+ function f(t) {
54
+ const n = {}, o = [];
55
+ return t.forEach((e) => {
56
+ n[e.departmentId] = {
57
+ ...e,
58
+ title: e.name,
59
+ key: e.departmentId,
60
+ children: []
61
+ };
62
+ }), t.forEach((e) => {
63
+ if (e.parentId === 0)
64
+ o.push(n[e.departmentId]);
65
+ else {
66
+ const a = n[e.parentId];
67
+ a && a.children.push(n[e.departmentId]);
68
+ }
69
+ }), o;
70
+ }
71
+ export {
72
+ i as ENTITY_COLORS,
73
+ f as buildDeptTree,
74
+ h as buildTree,
75
+ p as findNodeInTree,
76
+ u as getColorByName
77
+ };
@@ -0,0 +1,4 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { ConfigProps } from './ConfigProvider.type';
3
+ declare const ConfigProvider: React.FC<PropsWithChildren & ConfigProps>;
4
+ export default ConfigProvider;
@@ -0,0 +1,5 @@
1
+ type Locale = 'zh-CN' | 'en-US';
2
+ type ConfigProps = {
3
+ locale: Locale;
4
+ };
5
+ export type { ConfigProps, Locale };
@@ -0,0 +1,3 @@
1
+ import { ConfigProps } from '../ConfigProvider.type';
2
+ declare const ConfigContext: import('react').Context<ConfigProps>;
3
+ export default ConfigContext;
@@ -0,0 +1,2 @@
1
+ import { default as ConfigProvider } from './ConfigProvider';
2
+ export default ConfigProvider;
@@ -0,0 +1,3 @@
1
+ import { EntitySelectorProps } from './DeptsMember.type';
2
+ declare const DeptsMemberSelector: React.FC<EntitySelectorProps>;
3
+ export default DeptsMemberSelector;
@@ -0,0 +1,23 @@
1
+ import { Entity } from './utils/constants';
2
+ export type EntitySelectorProps = {
3
+ /**
4
+ * 业务类型:部门单选 / 部门多选 / 成员 / 成员多选
5
+ */
6
+ type: Entity;
7
+ /**
8
+ * 选择器值
9
+ */
10
+ value?: any[];
11
+ /**
12
+ * 选择器值改变时的回调
13
+ */
14
+ onChange?: (value: any[]) => void;
15
+ /**
16
+ * 取消按钮点击回调
17
+ */
18
+ onCancel?: () => void;
19
+ /**
20
+ * 确认按钮点击回调
21
+ */
22
+ onConfirm?: (value: any[]) => void;
23
+ };
@@ -0,0 +1,45 @@
1
+ type AddAction = {
2
+ type: 'addOne';
3
+ payload: { _id: string | number; [key: string]: any };
4
+ };
5
+
6
+ type AddManyAction = {
7
+ type: 'addMany';
8
+ payload: Array<{ _id: string | number; [key: string]: any }>;
9
+ };
10
+
11
+ type RemoveManyAction = {
12
+ type: 'removeMany';
13
+ payload: Array<string | number>;
14
+ };
15
+
16
+ type RemoveAllAction = {
17
+ type: 'removeAll';
18
+ };
19
+
20
+ type InsertOnlyAction = {
21
+ type: 'insertOnly';
22
+ payload: Record<string, any>;
23
+ };
24
+
25
+ type DeleteOneAction = {
26
+ type: 'deleteOne';
27
+ payload: string | number;
28
+ };
29
+
30
+ type DeleteAndInsertAction = {
31
+ type: 'deleteAndInsert';
32
+ payload: {
33
+ newItems: Array<{ _id: string | number; [key: string]: any }>;
34
+ oldIds: Array<string | number>;
35
+ };
36
+ };
37
+
38
+ export type Action =
39
+ | AddAction
40
+ | AddManyAction
41
+ | RemoveManyAction
42
+ | RemoveAllAction
43
+ | InsertOnlyAction
44
+ | DeleteOneAction
45
+ | DeleteAndInsertAction;
@@ -0,0 +1,7 @@
1
+ export declare const useDeptsMemberSelector: () => {
2
+ type: import('..').Entity;
3
+ value?: any[];
4
+ setValue: (v: import('react').SetStateAction<any[]>, ...args: any[]) => void;
5
+ dispatch: (action: import('../context/DeptsMemberContext').Action) => void;
6
+ containerHeight: number;
7
+ };
@@ -0,0 +1,4 @@
1
+ import { default as DeptsMemberSelector } from './DeptsMember';
2
+ export default DeptsMemberSelector;
3
+ export type { EntitySelectorProps } from './DeptsMember.type';
4
+ export { Entity } from './utils/constants';
@@ -0,0 +1,3 @@
1
+ import { Action } from '../context/DeptsMemberContext.d';
2
+ declare const entityReducer: (value: any[], action: Action) => any[];
3
+ export default entityReducer;
@@ -0,0 +1,2 @@
1
+ declare const CurrentDepartmentEntity: React.FC;
2
+ export default CurrentDepartmentEntity;
@@ -0,0 +1,4 @@
1
+ declare const DepartmentSearch: React.FC<{
2
+ wd?: string;
3
+ }>;
4
+ export default DepartmentSearch;
@@ -0,0 +1,2 @@
1
+ declare const ExternalContactEntity: React.FC;
2
+ export default ExternalContactEntity;
@@ -0,0 +1,9 @@
1
+ type GroupListProps = {
2
+ list: any[];
3
+ /**
4
+ * @description 列表类型
5
+ */
6
+ type?: string;
7
+ };
8
+ declare const GroupList: React.FC<GroupListProps>;
9
+ export default GroupList;
@@ -0,0 +1,7 @@
1
+ declare const ExternalOrganization: React.FC<{
2
+ data: any[];
3
+ loading?: boolean;
4
+ onSelect: (key: number | string, node: any) => void;
5
+ onDeselect: (depId: number | string) => void;
6
+ }>;
7
+ export default ExternalOrganization;
@@ -0,0 +1,7 @@
1
+ declare const InternalOrganization: React.FC<{
2
+ data: any[];
3
+ loading?: boolean;
4
+ onSelect: (key: number | string, node: any) => void;
5
+ onDeselect: (depId: number | string) => void;
6
+ }>;
7
+ export default InternalOrganization;
@@ -0,0 +1,2 @@
1
+ declare const OrganizationalEntity: React.FC;
2
+ export default OrganizationalEntity;
@@ -0,0 +1,6 @@
1
+ declare const useDepartmentTabItems: () => {
2
+ label: string;
3
+ value: string;
4
+ view: import("react/jsx-runtime").JSX.Element;
5
+ }[];
6
+ export { useDepartmentTabItems };
@@ -0,0 +1,2 @@
1
+ declare const CurrentEntity: React.FC;
2
+ export default CurrentEntity;
@@ -0,0 +1,2 @@
1
+ declare const ExternalContactEntity: React.FC;
2
+ export default ExternalContactEntity;
@@ -0,0 +1,2 @@
1
+ declare const MajorEntity: React.FC;
2
+ export default MajorEntity;
@@ -0,0 +1,5 @@
1
+ declare const AllMemeberCheck: React.FC<{
2
+ selected: boolean;
3
+ onSelect: (selected: boolean) => void;
4
+ }>;
5
+ export default AllMemeberCheck;
@@ -0,0 +1,8 @@
1
+ declare const ExternalMember: React.FC<{
2
+ unique_all: symbol;
3
+ selectLevel: string | symbol;
4
+ data: any[];
5
+ loading?: boolean;
6
+ onSelect: (key: string | symbol, node?: any) => void;
7
+ }>;
8
+ export default ExternalMember;
@@ -0,0 +1,8 @@
1
+ declare const InternalMemeber: React.FC<{
2
+ unique_all: symbol;
3
+ selectLevel: string | symbol;
4
+ data: any[];
5
+ loading?: boolean;
6
+ onSelect: (key: string | symbol, node?: any) => void;
7
+ }>;
8
+ export default InternalMemeber;
@@ -0,0 +1,2 @@
1
+ declare const MemberEntity: React.FC;
2
+ export default MemberEntity;
@@ -0,0 +1,7 @@
1
+ type MemerListProps = {
2
+ list: any[];
3
+ showCheckAll?: boolean;
4
+ badge?: (user: any) => React.ReactNode;
5
+ };
6
+ declare const MemerList: React.FC<MemerListProps>;
7
+ export default MemerList;
@@ -0,0 +1,4 @@
1
+ declare const MemberSearch: React.FC<{
2
+ wd?: string;
3
+ }>;
4
+ export default MemberSearch;
@@ -0,0 +1,2 @@
1
+ declare const RoleEntity: React.FC;
2
+ export default RoleEntity;
@@ -0,0 +1,6 @@
1
+ declare const useMemberTabItems: () => {
2
+ label: string;
3
+ value: string;
4
+ view: import("react/jsx-runtime").JSX.Element;
5
+ }[];
6
+ export { useMemberTabItems };
@@ -0,0 +1,6 @@
1
+ export type PreviewTag = {
2
+ _id: string;
3
+ avatarurl?: string;
4
+ };
5
+ declare const SelectionPreview: React.FC;
6
+ export default SelectionPreview;
@@ -0,0 +1,14 @@
1
+ type TabBar = {
2
+ value?: string;
3
+ defaultValue?: string;
4
+ tabs: Array<{
5
+ label: string;
6
+ value: string;
7
+ [index: string]: unknown;
8
+ }>;
9
+ onChange?: (tabKey: string) => void;
10
+ onSearch?: (text: string) => void;
11
+ searchPlaceholder?: string;
12
+ };
13
+ export declare const SelectionTabList: (props: TabBar) => import("react/jsx-runtime").JSX.Element;
14
+ export default SelectionTabList;
@@ -0,0 +1,3 @@
1
+ import { PropsWithChildren } from 'react';
2
+ declare const TabPanel: React.FC<PropsWithChildren>;
3
+ export default TabPanel;
@@ -0,0 +1,2 @@
1
+ declare const SelectionTabs: React.FC;
2
+ export default SelectionTabs;
@@ -0,0 +1,9 @@
1
+ declare const TabGroup: React.FC<{
2
+ tabs: {
3
+ label: string;
4
+ value: string;
5
+ }[];
6
+ value: string;
7
+ onChange: (value: string) => void;
8
+ }>;
9
+ export default TabGroup;
@@ -0,0 +1,4 @@
1
+ declare const EntityIcon: React.FC<{
2
+ type: string;
3
+ }>;
4
+ export default EntityIcon;
@@ -0,0 +1,25 @@
1
+ declare const enum Entity {
2
+ /**
3
+ * @description 表示单个成员
4
+ */
5
+ USER = 0,
6
+ /**
7
+ * @description 表示多个成员组
8
+ */
9
+ USER_GROUP = 1,
10
+ /**
11
+ * @description 表示单个部门
12
+ */
13
+ DEPARMENT = 2,
14
+ /**
15
+ * @description 表示多个部门组
16
+ */
17
+ DEPARMENT_GROUP = 3
18
+ }
19
+ declare const ELLIPSIS_BUTTON_WIDTH = 110;
20
+ declare const TWO_LINE_HEIGHT = 68;
21
+ declare const MIN_LINE_HEIGHT = 30;
22
+ declare const GAP_WIDTH = 8;
23
+ declare const PLACEHOLDER_HEIGHT = 90;
24
+ export { ELLIPSIS_BUTTON_WIDTH, TWO_LINE_HEIGHT, MIN_LINE_HEIGHT, GAP_WIDTH, PLACEHOLDER_HEIGHT };
25
+ export { Entity };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @description 成员预设的头像背景颜色
3
+ */
4
+ declare const ENTITY_COLORS: string[];
5
+ /**
6
+ * @description 根据名称获取颜色
7
+ * @param name 名称
8
+ * @returns 颜色
9
+ */
10
+ declare const getColorByName: (name: string) => string;
11
+ /**
12
+ * 定义节点和字段名的类型接口
13
+ */
14
+ type BaseNode = Record<string, any>;
15
+ interface FieldNames {
16
+ title?: string;
17
+ value: string;
18
+ children: string;
19
+ parentId: string;
20
+ }
21
+ type TreeNode<T> = T & {
22
+ [childrenKey: string]: TreeNode<T>[];
23
+ };
24
+ /**
25
+ * 将扁平结构的数组转换为嵌套的树形结构。
26
+ *
27
+ * @param {T[]} treeData - 扁平结构的节点数组。
28
+ * @param {Partial<FieldNames>} [fieldNames] - 可选的自定义字段名映射。
29
+ * @returns {TreeNode<T>[]} - 转换后的树形结构数组。
30
+ */
31
+ declare const buildTree: <T extends BaseNode>(treeData: T[], fieldNames?: Partial<FieldNames>) => TreeNode<T>[];
32
+ /**
33
+ * 在树形结构数据中根据 ID 查找指定节点。
34
+ * 使用迭代式深度优先搜索(DFS)以避免递归深度限制。
35
+ * @param {string | number} id - 要查找的节点的唯一标识。
36
+ * @param {TreeNode<T>[]} treeData - 树形结构数据。
37
+ * @param {Partial<FieldNames>} [fieldNames] - 可选的自定义字段名映射。
38
+ * @returns {TreeNode<T> | null} - 找到的节点或 null。
39
+ */
40
+ declare const findNodeInTree: <T extends BaseNode>(id: string | number, treeData: TreeNode<T>[], fieldNames?: Partial<FieldNames>) => TreeNode<T> | null;
41
+ /** 部门成员树形结构 */
42
+ export declare function buildDeptTree(data: Array<any>): any[];
43
+ export { getColorByName, ENTITY_COLORS, buildTree, findNodeInTree };
@@ -0,0 +1,2 @@
1
+ export { default as DeptsMemberSelector } from './DeptsMember/DeptsMember';
2
+ export { default as ConfigProvider } from './ConfigProvider/ConfigProvider';
@@ -0,0 +1,10 @@
1
+ import { default as zhCN } from '../lang/zh-CN.json';
2
+ type FlattenObjectKeys<T, K extends keyof T = keyof T> = K extends string ? T[K] extends object ? `${K}.${FlattenObjectKeys<T[K]>}` : `${K}` : never;
3
+ export type LocaleKeys = FlattenObjectKeys<typeof zhCN>;
4
+ /**
5
+ * 获取当前语言
6
+ */
7
+ export declare const useLocale: () => {
8
+ t: (key: LocaleKeys, params?: Record<string, string | number>) => string;
9
+ };
10
+ export {};
package/dist/index.css ADDED
@@ -0,0 +1 @@
1
+ ._tabgroup-container_nkgxh_1{position:relative;display:flex;height:34px;border-bottom:1px solid #e0e0e0}._tabgroup-container__tab-item_nkgxh_7{flex:1;text-align:center;color:#121111;cursor:pointer;font-size:14px;line-height:34px}._tabgroup-container__tab-item_nkgxh_7._active_nkgxh_15{color:#0265ff}._tabgroup-container__indicator_nkgxh_18{position:absolute;bottom:0;height:2px;background-color:#0265ff;transition:all .3s ease-in-out;width:70px}.memeber-list .ant-radio-wrapper{display:flex;justify-content:space-between;align-items:center}.memeber-list .ant-radio{order:101;flex-shrink:0}.memeber-list .ant-radio-label{padding-inline-start:0!important;order:100;flex:1;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._bsy-external-member__all-option_10zdq_1{cursor:pointer;display:flex;gap:6px;border-radius:4px;padding:4px;transition:background-color .2s ease}._bsy-external-member__all-option_10zdq_1:hover{background-color:#f3f3f3}._bsy-external-member__all-option--selected_10zdq_13{background-color:#f0f6ff;color:#0265ff}._bsy-external-member__all-option--selected_10zdq_13:hover{background-color:#f0f6ff}._bsy-external-member__icon_10zdq_20{color:#0265ff;font-size:18px}._bsy-external-member__switcher-icon_10zdq_24{transition:transform .3s ease-in-out;font-size:16px;color:#666}._bsy-external-member__switcher-icon--expanded_10zdq_29{transform:rotate(90deg)}._bsy-all-member__all-option_1rb6y_1{cursor:pointer;display:flex;gap:6px;border-radius:4px;padding:4px;transition:background-color .2s ease}._bsy-all-member__all-option_1rb6y_1:hover{background-color:#f3f3f3}._bsy-all-member__all-option--selected_1rb6y_13{background-color:#f0f6ff;color:#0265ff}._bsy-all-member__all-option--selected_1rb6y_13:hover{background-color:#f0f6ff}.internal-container__icon{font-size:20px;color:#0265ff}.internal-container__arrow-icon{transition:transform .3s ease-in-out;color:#666;font-size:16px}.internal-container__arrow-icon.rotate-90{transform:rotate(90deg)}.internal-container__empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#999}.external-container__tabs{position:relative;display:flex;height:34px;border-bottom:1px solid #e0e0e0}.external-container__tab-item{flex:1;text-align:center;color:#121111;cursor:pointer;font-size:14px;line-height:34px}.external-container__tab-item.active{color:#0265ff}.external-container__indicator{position:absolute;bottom:0;height:2px;background-color:#0265ff;transition:all .3s ease-in-out;width:70px}.entity-group-list .ant-radio-wrapper{display:flex;justify-content:space-between;align-items:center}.entity-group-list .ant-radio{order:101;flex-shrink:0}.entity-group-list .ant-radio-label{padding-inline-start:0!important;order:100;flex:1;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.depts-member-selection-preview{position:relative}.depts-member-selection-preview .depts-member-selection-preview-container{position:relative;background-color:#fff;z-index:11;transition:padding-bottom .35s ease-out;color:#121211}.depts-member-selection-preview .depts-member-selection-preview-container.expand{padding-bottom:50px}.depts-member-selection-preview .depts-member-selection-preview-container.enable-animation{position:absolute;left:0;right:0}.depts-member-selection-preview .depts-member-selection-preview-container .preview-container__body{position:relative;min-height:52px;border-radius:4px;border:1px dashed #e0e0e0;transition:all ease-out .35s}.depts-member-selection-preview .depts-member-selection-preview-container .preview-container__body.expand{border-color:#0265ff;max-height:400px;overflow:hidden}.depts-member-selection-preview .depts-member-selection-preview-container .preview-container__body:not(.expand):hover{border-color:#0265ff}.depts-member-selection-preview .depts-member-selection-preview-container .preview-container__scroll-gutter{padding:10px}.depts-member-selection-preview .depts-member-selection-preview-container .preview-container__scroll{overflow:hidden;transition:all .3s ease}.depts-member-selection-preview .depts-member-selection-preview-container .preview-container__button{position:absolute;left:0;right:0;bottom:0;height:50px;color:#0265ff;display:flex;align-items:center;justify-content:center;background-color:#fff}.depts-member-selection-preview .depts-member-selection-preview-container .measure-list{position:absolute;top:0;left:0;opacity:0;pointer-events:none;z-index:-1;width:904px}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list{font-size:0;display:flex;gap:8px;flex-wrap:wrap;transition:height .35s ease-out}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-item{display:inline-flex;height:30px;padding-left:6px;padding-right:8px;background-color:#e6f8ff;border-radius:100px;gap:6px;align-items:center;line-height:normal}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-item .entity-item__content{height:20px;flex-shrink:0;display:inline-flex;align-items:center}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-item .entity-item__text{font-size:14px;display:inline-flex;align-items:center}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-item .entity-item__text .entity-item__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px;display:inline-block}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-item .entity-item__text .entity-item__badge{font-size:12px;color:#4d609f;display:inline-block}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-item .entity-item__close{cursor:pointer;width:14px;height:14px;display:flex;align-items:center}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-item .entity-item__close .anticon{color:#666;font-size:14px}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-item .entity-item__close .anticon:hover{color:#0265ff}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-item.entity-item--user{background-color:#eceff3}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-item.entity-item--department{background-color:#ebf0ff}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-list__more{color:#0265ff;display:inline-flex;font-size:14px;align-items:center}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-list__more .entity-list__more-button{font-size:14px;display:inline-flex;gap:6px}.depts-member-selection-preview .depts-member-selection-preview-container .entity-list .entity-list__more .entity-list__more-button:hover{opacity:.8}.depts-member-preview-container__mask{position:absolute;inset:0;background-color:#0000004d;z-index:10}._selection-tabs_88491_1{border-radius:6px;border:1px solid #e0e0e0}._depts-member-selector_d4xq4_1{display:flex;flex-direction:column;gap:10px;position:relative}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-\[-1px\]{bottom:-1px}.left-2\.5{left:.625rem}.top-1\/2{top:50%}.ml-3{margin-left:.75rem}.ml-\[-16px\]{margin-left:-16px}.flex{display:flex}.h-5{height:1.25rem}.h-\[2px\]{height:2px}.h-\[30px\]{height:30px}.h-full{height:100%}.w-5{width:1.25rem}.w-\[280px\]{width:280px}.w-full{width:100%}.flex-1{flex:1 1 0%}.flex-\[0\]{flex:0}.flex-auto{flex:1 1 auto}.shrink-0{flex-shrink:0}.basis-\[192px\]{flex-basis:192px}.basis-\[200px\]{flex-basis:200px}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{user-select:none}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-\[6px\]{gap:6px}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[100px\]{border-radius:100px}.rounded-\[4px\]{border-radius:4px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-\[\#E0E0E0\],.border-\[\#e0e0e0\]{--tw-border-opacity: 1;border-color:rgb(224 224 224 / var(--tw-border-opacity, 1))}.bg-\[\#0265ff\]{--tw-bg-opacity: 1;background-color:rgb(2 101 255 / var(--tw-bg-opacity, 1))}.bg-\[\#F0F6FF\]{--tw-bg-opacity: 1;background-color:rgb(240 246 255 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-0{padding:0}.p-1{padding:.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-\[10px\]{padding-left:10px;padding-right:10px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-\[14px\]{padding-top:14px;padding-bottom:14px}.py-\[5px\]{padding-top:5px;padding-bottom:5px}.py-\[6px\]{padding-top:6px;padding-bottom:6px}.py-\[7px\]{padding-top:7px;padding-bottom:7px}.pl-0{padding-left:0}.pl-8{padding-left:2rem}.pr-3{padding-right:.75rem}.pt-5{padding-top:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-\[\#0265ff\]{--tw-text-opacity: 1;color:rgb(2 101 255 / var(--tw-text-opacity, 1))}.text-\[\#121211\]{--tw-text-opacity: 1;color:rgb(18 18 17 / var(--tw-text-opacity, 1))}.text-\[\#4d609f\]{--tw-text-opacity: 1;color:rgb(77 96 159 / var(--tw-text-opacity, 1))}.text-\[\#666\]{--tw-text-opacity: 1;color:rgb(102 102 102 / var(--tw-text-opacity, 1))}.text-\[\#70c911\]{--tw-text-opacity: 1;color:rgb(112 201 17 / var(--tw-text-opacity, 1))}.text-\[\#999\]{--tw-text-opacity: 1;color:rgb(153 153 153 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.placeholder\:text-\[\#999\]::placeholder{--tw-text-opacity: 1;color:rgb(153 153 153 / var(--tw-text-opacity, 1))}.hover\:border-\[\#0265ff\]:hover{--tw-border-opacity: 1;border-color:rgb(2 101 255 / var(--tw-border-opacity, 1))}.hover\:bg-\[\#f3f3f3\]:hover{--tw-bg-opacity: 1;background-color:rgb(243 243 243 / var(--tw-bg-opacity, 1))}.hover\:bg-transparent:hover{background-color:transparent}.hover\:text-\[\#0265ff\]:hover{--tw-text-opacity: 1;color:rgb(2 101 255 / var(--tw-text-opacity, 1))}
@@ -0,0 +1,2 @@
1
+ export * from './components';
2
+ export { configureApi, getApiConfig } from './services/apiService';
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ import { D as r } from "./DeptsMember/DeptsMember-C54jKU8C.js";
2
+ import { C as i } from "./ConfigProvider/ConfigProvider-CE-neQMa.js";
3
+ import { c as t, g } from "./vendors/services/apiService.js";
4
+ export {
5
+ i as ConfigProvider,
6
+ r as DeptsMemberSelector,
7
+ t as configureApi,
8
+ g as getApiConfig
9
+ };
@@ -0,0 +1,58 @@
1
+ declare const _default: {
2
+ "common": {
3
+ "loading": "Loading...",
4
+ "cancel": "Cancel",
5
+ "confirm": "Confirm",
6
+ "clearAll": "Clear All",
7
+ "viewAll": "View All {count}",
8
+ "selected": "Selected {selected}/{total}",
9
+ "collapseAll": "Collapse All",
10
+ "noAvailable": "No available members"
11
+ },
12
+ "department": {
13
+ "title": "Department",
14
+ "search": "Search Department",
15
+ "noAvailable": "No available departments",
16
+ "contact": "Contact Department",
17
+ "organizationalStructure": "Organizational Structure",
18
+ "currentUserDepartment": "Current User Department",
19
+ "internal": "Internal Organization",
20
+ "external": "External Organization",
21
+ "externalContactGroup": "External Contact Group",
22
+ "externalContactDepartment": "External Contact Department"
23
+ },
24
+ "member": {
25
+ "title": "Member",
26
+ "search": "Search Member",
27
+ "contact": "Contact Person",
28
+ "all": "All Members",
29
+ "internal": "Internal Members",
30
+ "external": "External Members",
31
+ "noAvailable": "No available members"
32
+ },
33
+ "role": {
34
+ "title": "Role",
35
+ "internal": "Internal Role",
36
+ "external": "Interconnected Role"
37
+ },
38
+ "position": {
39
+ "title": "Position"
40
+ },
41
+ "currentUser": {
42
+ "title": "Current User"
43
+ },
44
+ "externalContact": {
45
+ "title": "External Contact",
46
+ "defaultGroup": "Default Group",
47
+ "customGroup": "Custom Group",
48
+ "group": "External Contact Group",
49
+ "noAvailableGroup": "No available groups"
50
+ },
51
+ "tabs": {
52
+ "searchMember": "Search Member",
53
+ "searchDepartment": "Search Department"
54
+ }
55
+ }
56
+ ;
57
+
58
+ export default _default;
@@ -0,0 +1,58 @@
1
+ declare const _default: {
2
+ "common": {
3
+ "loading": "加载中...",
4
+ "cancel": "取消",
5
+ "confirm": "确认",
6
+ "clearAll": "清空所选项",
7
+ "viewAll": "查看全部{count}个",
8
+ "selected": "已选 {selected}/{total}",
9
+ "collapseAll": "收起全部",
10
+ "noAvailable": "没有可选成员"
11
+ },
12
+ "department": {
13
+ "title": "部门",
14
+ "search": "搜索部门",
15
+ "noAvailable": "没有可选部门",
16
+ "contact": "对接部门",
17
+ "organizationalStructure": "组织架构",
18
+ "currentUserDepartment": "当前用户所处部门",
19
+ "internal": "内部组织",
20
+ "external": "外部组织",
21
+ "externalContactGroup": "对接人小组",
22
+ "externalContactDepartment": "对接部门"
23
+ },
24
+ "member": {
25
+ "title": "成员",
26
+ "search": "搜索成员",
27
+ "contact": "对接人",
28
+ "all": "全部成员",
29
+ "internal": "内部成员",
30
+ "external": "外部成员",
31
+ "noAvailable": "没有可选成员"
32
+ },
33
+ "role": {
34
+ "title": "角色",
35
+ "internal": "内部角色",
36
+ "external": "互联角色"
37
+ },
38
+ "position": {
39
+ "title": "职位"
40
+ },
41
+ "currentUser": {
42
+ "title": "当前用户"
43
+ },
44
+ "externalContact": {
45
+ "title": "外部联系人",
46
+ "defaultGroup": "默认分组",
47
+ "customGroup": "自定义分组",
48
+ "group": "外部联系人分组",
49
+ "noAvailableGroup": "没有可选分组"
50
+ },
51
+ "tabs": {
52
+ "searchMember": "搜索成员",
53
+ "searchDepartment": "搜索部门"
54
+ }
55
+ }
56
+ ;
57
+
58
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import { AxiosRequestConfig, CreateAxiosDefaults } from 'axios';
2
+ export interface ApiConfig extends CreateAxiosDefaults {
3
+ }
4
+ export declare const getApiConfig: () => CreateAxiosDefaults;
5
+ export declare const configureApi: (config: Partial<ApiConfig>) => void;
6
+ declare const request: {
7
+ get: <T>(url: string, params?: object, config?: AxiosRequestConfig) => Promise<T>;
8
+ post: <T>(url: string, params?: object, config?: AxiosRequestConfig) => Promise<T>;
9
+ put: <T>(url: string, params?: object, config?: AxiosRequestConfig) => Promise<T>;
10
+ delete: <T>(url: string, params?: object, config?: AxiosRequestConfig) => Promise<T>;
11
+ };
12
+ export default request;