@bigbinary/neeto-team-members-frontend 2.6.9 → 2.6.11

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-team-members-frontend",
3
- "version": "2.6.9",
3
+ "version": "2.6.11",
4
4
  "description": "To manage team members across neeto products.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-team-members-frontend#readme",
@@ -37,11 +37,11 @@
37
37
  "@babel/preset-react": "7.18.6",
38
38
  "@babel/preset-typescript": "7.21.4",
39
39
  "@babel/runtime": "7.21.0",
40
- "@bigbinary/eslint-plugin-neeto": "1.0.35",
41
- "@bigbinary/neeto-commons-frontend": "2.0.66",
40
+ "@bigbinary/eslint-plugin-neeto": "1.0.37",
41
+ "@bigbinary/neeto-commons-frontend": "2.0.67",
42
42
  "@bigbinary/neeto-filters-frontend": "2.9.4",
43
- "@bigbinary/neeto-icons": "1.10.0",
44
- "@bigbinary/neeto-molecules": "1.0.16",
43
+ "@bigbinary/neeto-icons": "1.11.0",
44
+ "@bigbinary/neeto-molecules": "1.0.18",
45
45
  "@bigbinary/neetoui": "4.4.12",
46
46
  "@faker-js/faker": "7.6.0",
47
47
  "@honeybadger-io/react": "2.0.1",
@@ -110,8 +110,8 @@
110
110
  "tailwindcss": "npm:@tailwindcss/postcss7-compat",
111
111
  "util": "0.12.5",
112
112
  "vite": "4.2.1",
113
- "vite-plugin-inspect": "0.7.20",
114
- "yup": "1.0.2"
113
+ "vite-plugin-inspect": "0.7.21",
114
+ "yup": "1.1.0"
115
115
  },
116
116
  "peerDependencies": {
117
117
  "@bigbinary/neeto-commons-frontend": "^2.0.54",
@@ -134,6 +134,9 @@
134
134
  "react-toastify": "8.2.0",
135
135
  "yup": "^0.32.11"
136
136
  },
137
+ "resolutions": {
138
+ "postcss": "^8"
139
+ },
137
140
  "engines": {
138
141
  "node": ">=18.12",
139
142
  "npm": ">=9",
package/types.d.ts CHANGED
@@ -2,19 +2,6 @@ import React from "react";
2
2
 
3
3
  import type { ButtonProps } from "@bigbinary/neetoui";
4
4
 
5
- type IsEqual<T, U> =
6
- (<G>() => G extends T ? 1 : 2) extends
7
- (<G>() => G extends U ? 1 : 2) ? true : false;
8
-
9
- type Filter<KeyType, ExcludeType> = IsEqual<KeyType, ExcludeType> extends true ?
10
- never : (KeyType extends ExcludeType ? never : KeyType);
11
-
12
- type Except<ObjectType, KeysType extends keyof ObjectType> = {
13
- [KeyType in keyof ObjectType as Filter<KeyType, KeysType>]: ObjectType[KeyType];
14
- };
15
-
16
- type Only<ObjectType> = Except<ObjectType, never>
17
-
18
5
  type Member = {
19
6
  active: boolean;
20
7
  id: string;
@@ -28,9 +15,18 @@ type Permission = {
28
15
  view: boolean;
29
16
  };
30
17
 
18
+ type Relation = {
19
+ children: string[];
20
+ uncheckOnSelect?: string[];
21
+ }
22
+
23
+ type PermissionRelation = {
24
+ [key: string]: Relation[];
25
+ };
26
+
31
27
  interface Alert {
32
- message?: (member: Only<Member>) => string;
33
- title?: (member: Only<Member>) => string;
28
+ message?: (member: Member) => string;
29
+ title?: (member: Member) => string;
34
30
  }
35
31
 
36
32
  type Breadcrumb = {
@@ -40,11 +36,11 @@ type Breadcrumb = {
40
36
 
41
37
  type onSuccess = { callback: () => void; }
42
38
 
43
- type CreateMember = { onSuccess: Only<onSuccess>; }
39
+ type CreateMember = { onSuccess: onSuccess; }
44
40
 
45
- type UpdateMember = { onSuccess: Only<onSuccess>; }
41
+ type UpdateMember = { onSuccess: onSuccess; }
46
42
 
47
- type BulkUpdateMembers = { onSuccess: Only<onSuccess>; }
43
+ type BulkUpdateMembers = { onSuccess: onSuccess; }
48
44
 
49
45
  type Header = { breadcrumbs: Breadcrumb[]; }
50
46
 
@@ -104,28 +100,29 @@ type FilterColumns = {
104
100
  };
105
101
 
106
102
  type TeamMembersConfig = {
107
- alert?: Only<Alert>;
108
- bulkUpdateMembers?: Only<BulkUpdateMembers>;
109
- createMember?: Only<CreateMember>;
110
- defaultFilterValues?: Only<DefaultFilterValues>;
103
+ alert?: Alert;
104
+ bulkUpdateMembers?: BulkUpdateMembers;
105
+ createMember?: CreateMember;
106
+ defaultFilterValues?: DefaultFilterValues;
111
107
  excludedRoles?: string[];
112
108
  fetchApiResponse?: (response: object) => void;
113
109
  filterColumns?: FilterColumns[];
114
- header?: Only<MembersHeader>;
110
+ header?: MembersHeader;
115
111
  hiddenBulkActions?: DefaultBulkActions[];
116
112
  otherBulkActions?: React.FC;
117
113
  otherColumns?: object[];
118
- permissions: Except<Permission, "delete">;
114
+ permissions: Omit<Permission, "delete">;
119
115
  rolesButtonProps?: ButtonProps | boolean;
120
- rolesPageUrl: string;
116
+ pathToRolesPage: string;
121
117
  table?: TableProps;
122
- updateMember?: Only<UpdateMember>;
118
+ updateMember?: UpdateMember;
123
119
  };
124
120
 
125
121
  type RolesConfig = {
126
- header: Only<Header>;
122
+ header: Header;
127
123
  helpUrl?: string;
128
- permissions: Only<Permission>;
124
+ permissions: Permission;
125
+ permissionRelation?: PermissionRelation;
129
126
  };
130
127
 
131
128
  type PopupComponentProps = {
@@ -155,16 +152,16 @@ type ManageMemberOverlayProps = {
155
152
 
156
153
  type ManageMemberFormProps = Omit<ManageMemberOverlayProps, "isOpen">;
157
154
 
158
- export function TeamMembers(props: { config?: Only<TeamMembersConfig>; }): JSX.Element;
155
+ export function TeamMembers(props: { config?: TeamMembersConfig; }): JSX.Element;
159
156
 
160
- export function Roles(props: { config?: Only<RolesConfig>; }): JSX.Element;
157
+ export function Roles(props: { config?: RolesConfig; }): JSX.Element;
161
158
 
162
159
  export function hasPermission(permissions: string | string[]): boolean;
163
160
 
164
161
  export function refetchMembers(): void;
165
162
 
166
163
  export function ManageMember(props: {
167
- config?: Only<TeamMembersConfig>;
164
+ config?: TeamMembersConfig;
168
165
  onComplete: () => void;
169
166
  roles: Role[];
170
167
  selectedMember?: SelectedMember;