@bigbinary/neeto-team-members-frontend 4.5.3 → 4.5.6
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 -1
- package/app/javascript/src/translations/en.json +115 -113
- package/dist/MembersDropdown.js +2 -1
- package/dist/MembersDropdown.js.map +1 -1
- package/dist/Profile.js +41 -49
- package/dist/Profile.js.map +1 -1
- package/dist/TeamsDropdown.js +2 -1
- package/dist/TeamsDropdown.js.map +1 -1
- package/dist/cjs/MembersDropdown.js +2 -1
- package/dist/cjs/MembersDropdown.js.map +1 -1
- package/dist/cjs/Profile.js +39 -47
- package/dist/cjs/Profile.js.map +1 -1
- package/dist/cjs/TeamsDropdown.js +2 -1
- package/dist/cjs/TeamsDropdown.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/{index-DX_qEZeG.js → index-B4YBmZV4.js} +3 -1
- package/dist/index-B4YBmZV4.js.map +1 -0
- package/dist/{index-Cpad1EmZ.js → index-DlpnpPeg.js} +3 -1
- package/dist/index-DlpnpPeg.js.map +1 -0
- package/dist/index.js +1 -1
- package/package.json +19 -18
- package/dist/index-Cpad1EmZ.js.map +0 -1
- package/dist/index-DX_qEZeG.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# neeto-team-members-nano
|
|
2
2
|
|
|
3
|
-
The `neeto-team-members-nano` facilitates the administration of team members within neeto applications. The nano exports the `@bigbinary/neeto-team-members-frontend` NPM package and `neeto-team-members-engine` Rails engine for development.
|
|
3
|
+
The `neeto-team-members-nano` facilitates the administration of team members within neeto applications. The nano exports the `@bigbinary/neeto-team-members-frontend` NPM package and `neeto-team-members-engine` Rails engine for development.
|
|
4
4
|
|
|
5
5
|
## Contents
|
|
6
6
|
|
|
@@ -1,18 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"taxonomyDefaultLabels": {
|
|
3
|
-
"member": {
|
|
4
|
-
"singular": "Team member",
|
|
5
|
-
"plural": "Team members"
|
|
6
|
-
},
|
|
7
|
-
"group": {
|
|
8
|
-
"singular": "Group",
|
|
9
|
-
"plural": "Groups"
|
|
10
|
-
},
|
|
11
|
-
"groupMember": {
|
|
12
|
-
"singular": "Member",
|
|
13
|
-
"plural": "Members"
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
2
|
"neetoTeamMembers": {
|
|
17
3
|
"alerts": {
|
|
18
4
|
"messages": {
|
|
@@ -20,31 +6,31 @@
|
|
|
20
6
|
"activateMember_other": "You are activating <strong>{{count}}</strong> {{taxonomies.member.plural}}.",
|
|
21
7
|
"changeRole_one": "You are changing the role of <strong>{{person, anyCase}}</strong> to <strong>{{role, anyCase}}</strong>.",
|
|
22
8
|
"changeRole_other": "You are changing the role of <strong>{{count}}</strong> {{metaName}} to <strong>{{role, anyCase}}</strong>.",
|
|
23
|
-
"removeMember_one": "You are removing the {{taxonomies.member.singular}} <strong>{{person, anyCase}}</strong>.",
|
|
24
|
-
"removeMember_other": "You are removing <strong>{{count}}</strong> {{taxonomies.member.plural}}.",
|
|
25
|
-
"deletingRole": "You are permanently deleting the role <strong>{{name, anyCase}}</strong>. This can't be undone.",
|
|
26
9
|
"delete": "You are permanently deleting the {{resource}} <strong>{{name, anyCase}}</strong>. This can't be undone.",
|
|
27
|
-
"
|
|
10
|
+
"deletingRole": "You are permanently deleting the role <strong>{{name, anyCase}}</strong>. This can't be undone.",
|
|
11
|
+
"removeMember": "You are removing <strong>{{member, anyCase}}</strong> from this group.",
|
|
12
|
+
"removeMember_one": "You are removing the {{taxonomies.member.singular}} <strong>{{person, anyCase}}</strong>.",
|
|
13
|
+
"removeMember_other": "You are removing <strong>{{count}}</strong> {{taxonomies.member.plural}}."
|
|
28
14
|
}
|
|
29
15
|
},
|
|
30
16
|
"buttons": {
|
|
17
|
+
"activate": "Activate",
|
|
31
18
|
"back": "Back",
|
|
32
19
|
"cancel": "Cancel",
|
|
20
|
+
"changeRole": "Change role",
|
|
33
21
|
"continue": "Continue",
|
|
22
|
+
"delete": "Delete",
|
|
34
23
|
"download": "Download",
|
|
35
24
|
"editBasicInfo": "Edit basic info",
|
|
36
25
|
"manageBillingAndSubscriptions": "Manage billing and subscriptions",
|
|
26
|
+
"remove": "Remove",
|
|
37
27
|
"reset": "Reset",
|
|
38
28
|
"saveChanges": "Save changes",
|
|
39
|
-
"delete": "Delete",
|
|
40
|
-
"activate": "Activate",
|
|
41
|
-
"remove": "Remove",
|
|
42
|
-
"changeRole": "Change role",
|
|
43
29
|
"updateEmail": "Update email"
|
|
44
30
|
},
|
|
45
31
|
"columns": {
|
|
46
|
-
"
|
|
47
|
-
"
|
|
32
|
+
"noColumnsFound": "No columns found.",
|
|
33
|
+
"search": "Search columns"
|
|
48
34
|
},
|
|
49
35
|
"common": {
|
|
50
36
|
"activate": "Activate",
|
|
@@ -55,9 +41,7 @@
|
|
|
55
41
|
"all": "All",
|
|
56
42
|
"all_": "All {{what}}",
|
|
57
43
|
"changeRole": "Change role?",
|
|
58
|
-
"remove_": "Remove {{what}}?",
|
|
59
44
|
"deactivated": "Remove",
|
|
60
|
-
"removed_": "Removed {{what}}",
|
|
61
45
|
"delete": "Delete",
|
|
62
46
|
"description": "Description",
|
|
63
47
|
"edit": "Edit",
|
|
@@ -65,48 +49,68 @@
|
|
|
65
49
|
"email_one": "Email",
|
|
66
50
|
"email_other": "Emails",
|
|
67
51
|
"format": "Format",
|
|
52
|
+
"free": "Free",
|
|
53
|
+
"loading": "Loading...",
|
|
68
54
|
"name": "Name",
|
|
69
55
|
"notFound_": "There are no {{what}} to show",
|
|
70
56
|
"notFoundWithKind_": "There are no {{kind}} {{what}} to show",
|
|
71
57
|
"permission_one": "Permission",
|
|
72
58
|
"permission_other": "Permissions",
|
|
73
59
|
"productName": "Product name",
|
|
60
|
+
"remove": "Remove",
|
|
61
|
+
"remove_": "Remove {{what}}?",
|
|
62
|
+
"removed_": "Removed {{what}}",
|
|
74
63
|
"role_one": "Role",
|
|
75
64
|
"role_other": "Roles",
|
|
76
65
|
"search_": "Search {{what}}",
|
|
66
|
+
"subscriptionType": "{{subscription}} plan",
|
|
77
67
|
"takeAction": "Take action",
|
|
78
|
-
"
|
|
79
|
-
|
|
80
|
-
|
|
68
|
+
"timeZone": "Etc/UTC"
|
|
69
|
+
},
|
|
70
|
+
"downloadPane": {
|
|
71
|
+
"description": {
|
|
72
|
+
"allMembers": "Download all {{taxonomies.member.plural}}",
|
|
73
|
+
"selectedMembers_one": "Download selected {{taxonomies.member.singular}}",
|
|
74
|
+
"selectedMembers_other": "Download {{count}} selected {{taxonomies.member.plural}}"
|
|
75
|
+
},
|
|
76
|
+
"title": "Download {{taxonomies.member.plural}}"
|
|
81
77
|
},
|
|
82
78
|
"helpers": {
|
|
83
79
|
"addMembersToNeetoProducts": "Add {{- emails, boldList}} to the following neeto products.",
|
|
84
|
-
"manageProducts": "Too many products? <button>Disable some</button> of these products.",
|
|
85
80
|
"configPermissions": "Configure permissions for the modules.",
|
|
81
|
+
"emptyTable": "There are no {{entity}} to show",
|
|
86
82
|
"enterMultipleEmails": "Press space, comma, tab or enter key to add multiple email addresses.",
|
|
83
|
+
"manageProducts": "Too many products? <button>Disable some</button> of these products.",
|
|
84
|
+
"memberCreationStatus_one": "Inviting {{taxonomies.member.singular}}",
|
|
85
|
+
"memberCreationStatus_other": "Inviting {{taxonomies.member.plural}}",
|
|
87
86
|
"metaNameWithCount_one": "{{totalCount}} {{taxonomies.member.singular}}",
|
|
88
87
|
"metaNameWithCount_other": "{{totalCount}} {{taxonomies.member.plural}}",
|
|
89
88
|
"multipleProductInvitation": "{{- emails, boldList}} will be invited to the following neeto products with the role given next to it.",
|
|
89
|
+
"noRecords": "No records found",
|
|
90
90
|
"noRolesFound": "No roles found.",
|
|
91
|
+
"selectAll": "Select all {{count}} team members",
|
|
92
|
+
"selectedMembers": "All {{count}} team members on this page are selected",
|
|
91
93
|
"selectedMembersCount_one": "{{count}} {{taxonomies.member.singular}} selected of <span>{{totalCount}}</span>",
|
|
92
94
|
"selectedMembersCount_other": "{{count}} {{taxonomies.member.plural}} selected of <span>{{totalCount}}</span>",
|
|
93
95
|
"singleProductInvitation": "{{- emails, boldList}} will be invited to <strong>{{product, anyCase}}</strong> with a role of <strong>{{role, anyCase}}</strong>.",
|
|
94
|
-
"memberCreationStatus_one": "Inviting {{taxonomies.member.singular}}",
|
|
95
|
-
"memberCreationStatus_other": "Inviting {{taxonomies.member.plural}}",
|
|
96
96
|
"themeSelector": "Theme selector",
|
|
97
|
-
"whyIsItDisabled": "Why is it disabled?"
|
|
98
|
-
"emptyTable": "There are no {{entity}} to show",
|
|
99
|
-
"noRecords": "No records found",
|
|
100
|
-
"selectAll": "Select all {{count}} team members",
|
|
101
|
-
"selectedMembers": "All {{count}} team members on this page are selected"
|
|
97
|
+
"whyIsItDisabled": "Why is it disabled?"
|
|
102
98
|
},
|
|
103
99
|
"labels": {
|
|
104
100
|
"addNewRole": "Add new role",
|
|
105
101
|
"billingAndSubscriptions": "Billing and subscriptions",
|
|
106
102
|
"country": "Country",
|
|
107
103
|
"deleteRole": "Delete role?",
|
|
104
|
+
"deleteTitle": "Delete {{resource}}?",
|
|
105
|
+
"downloadAs": "Download as {{format, anyCase}}",
|
|
106
|
+
"downloads": {
|
|
107
|
+
"csv": "CSV",
|
|
108
|
+
"pdf": "PDF",
|
|
109
|
+
"xlsx": "Excel"
|
|
110
|
+
},
|
|
108
111
|
"editRole": "Edit role",
|
|
109
112
|
"firstName": "First name",
|
|
113
|
+
"groupName": "{{taxonomies.group.singular, anyCase}} name",
|
|
110
114
|
"lastName": "Last name",
|
|
111
115
|
"manageMember_one": "Manage member",
|
|
112
116
|
"manageMember_other": "Manage members",
|
|
@@ -115,114 +119,112 @@
|
|
|
115
119
|
"neeto_": "Neeto{{product, anyCase}}",
|
|
116
120
|
"preferredDateFormat": "Preferred date format",
|
|
117
121
|
"preferredTimeFormat": "Preferred time format",
|
|
122
|
+
"removeMember": "Remove {{member}}?",
|
|
118
123
|
"roleNotFound_one": "There are no role to show",
|
|
119
124
|
"roleNotFound_other": "There are no roles to show",
|
|
120
|
-
"upgradeToProPlan": "Upgrade the above added members to the PRO",
|
|
121
|
-
"deleteTitle": "Delete {{resource}}?",
|
|
122
|
-
"removeMember": "Remove {{member}}?",
|
|
123
125
|
"timeZone": "Time zone",
|
|
124
126
|
"totalMembers": "Total {{taxonomies.member.plural}}",
|
|
125
|
-
"
|
|
126
|
-
"downloadAs": "Download as {{format, anyCase}}",
|
|
127
|
-
"downloads": {
|
|
128
|
-
"pdf": "PDF",
|
|
129
|
-
"csv": "CSV",
|
|
130
|
-
"xlsx": "Excel"
|
|
131
|
-
}
|
|
127
|
+
"upgradeToProPlan": "Upgrade the above added members to the PRO"
|
|
132
128
|
},
|
|
133
129
|
"placeholders": {
|
|
134
130
|
"email": "Please enter the email addresses",
|
|
135
|
-
"enterName": "Please enter the name",
|
|
136
131
|
"enterDescription": "Please enter a description",
|
|
132
|
+
"enterName": "Please enter the name",
|
|
133
|
+
"search": "Search",
|
|
134
|
+
"searchEntity": "Search {{entity}}",
|
|
137
135
|
"searchPermission_one": "Search permission",
|
|
138
136
|
"searchPermission_other": "Search permissions",
|
|
139
137
|
"searchRole_one": "Search role",
|
|
140
|
-
"searchRole_other": "Search roles"
|
|
141
|
-
|
|
142
|
-
|
|
138
|
+
"searchRole_other": "Search roles"
|
|
139
|
+
},
|
|
140
|
+
"profile": {
|
|
141
|
+
"avatar": {
|
|
142
|
+
"changeProfilePicture": "Change profile picture",
|
|
143
|
+
"profilePicture": "Profile picture",
|
|
144
|
+
"profilePictureUploadMessage": "Only JPEG, PNG files are supported. Maximum allowed file size is <strong>{{limit}}MB</strong>.",
|
|
145
|
+
"uploadProfilePicture": "Upload profile picture"
|
|
146
|
+
},
|
|
147
|
+
"common": {
|
|
148
|
+
"ddmmyy": "DD/MM/YYYY",
|
|
149
|
+
"mmddyy": "MM/DD/YYYY",
|
|
150
|
+
"myProfile": "My Profile",
|
|
151
|
+
"neetoAuth": "NeetoAuth",
|
|
152
|
+
"timeZoneOption": "{{timeZone, anyCase}} - {{currentTime}}",
|
|
153
|
+
"toUpdateProfile": "To change your email, billing and subscription <button>visit NeetoAuth.</button>",
|
|
154
|
+
"yymmdd": "YYYY/MM/DD"
|
|
155
|
+
},
|
|
156
|
+
"file": {
|
|
157
|
+
"corrupted": "The submitted file was empty or corrupt. Please select a valid file.",
|
|
158
|
+
"invalidType": {
|
|
159
|
+
"image": "Invalid file type. Please select a JPG, JPEG, or PNG file instead and try again."
|
|
160
|
+
},
|
|
161
|
+
"limitExceeded": "File limit exceeded, maximum allowed size is {{maxSize}} MB. Please select a smaller file and try again."
|
|
162
|
+
},
|
|
163
|
+
"form": {
|
|
164
|
+
"dotsNotAllowed": "Dots are not allowed",
|
|
165
|
+
"invalidName": "Use only letters, numbers, spaces, commas, periods, apostrophes, and hyphens.",
|
|
166
|
+
"isRequired": {
|
|
167
|
+
"dateFormat": "Date format is required",
|
|
168
|
+
"firstName": "First name is required",
|
|
169
|
+
"lastName": "Last name is required"
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"inputs": {
|
|
173
|
+
"label": {
|
|
174
|
+
"dateFormat": "Select preferred date format",
|
|
175
|
+
"firstName": "First name",
|
|
176
|
+
"lastName": "Last name",
|
|
177
|
+
"selectCountry": "Select country",
|
|
178
|
+
"selectTimeFormat": "Select preferred time format",
|
|
179
|
+
"selectTimeZone": "Select time zone"
|
|
180
|
+
},
|
|
181
|
+
"placeholder": {
|
|
182
|
+
"firstName": "First name",
|
|
183
|
+
"lastName": "Last name"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
143
186
|
},
|
|
144
187
|
"tooltips": {
|
|
145
188
|
"activateUserToEdit_one": "Please activate the user to edit their role.",
|
|
146
189
|
"activateUserToEdit_other": "Please activate the selected users to edit their role.",
|
|
147
190
|
"adminMustHaveAccess": "{{roleName}} permissions cannot be changed by anyone.",
|
|
148
191
|
"clickToViewPermissions": "Click to view the roles and their permissions.",
|
|
192
|
+
"goBackToChangeRole": "Please go back to change the role.",
|
|
193
|
+
"hostAppIsRequired": "This neeto product is required to continue.",
|
|
149
194
|
"noPermissionToAddMember": "Please ask the admin to permit you to add members.",
|
|
150
195
|
"noPermissionToAddRole": "Please ask the admin to permit you to add roles.",
|
|
151
196
|
"noPermissionToEditMembers": "Please ask the admin to permit you to edit members.",
|
|
152
197
|
"noPermissionToEditRoles": "Please ask the admin to permit you to edit roles.",
|
|
153
198
|
"noPermissionToRemoveRoles": "Please ask the admin to permit you to remove roles.",
|
|
154
|
-
"goBackToChangeRole": "Please go back to change the role.",
|
|
155
|
-
"hostAppIsRequired": "This neeto product is required to continue.",
|
|
156
199
|
"uncheckOnSelectPermissions": "If you select this permission, the following permissions will be unchecked: {{permissions}}"
|
|
157
200
|
},
|
|
158
201
|
"validations": {
|
|
202
|
+
"descriptionLimitExceeded": "You have exceeded the limit of {{limit}} characters for the description.",
|
|
159
203
|
"enterRoleName": "Please enter a valid role name.",
|
|
160
204
|
"filterInvalidEmails": "Click here to remove invalid emails.",
|
|
161
|
-
"
|
|
162
|
-
"
|
|
205
|
+
"max": "Field must be less than {{size}} characters",
|
|
206
|
+
"memberLimitExceeded": "Max {{limit}} team members are allowed. <emailTo>Contact us</emailTo> to increase the limit.",
|
|
163
207
|
"minOneEmail": "Please enter at least one email address.",
|
|
164
|
-
"
|
|
208
|
+
"nameLimitExceeded": "You have exceeded the limit of {{limit}} characters for the name.",
|
|
209
|
+
"noWhiteSpaces": "{{what, anyCase}} should not lead or end with white spaces",
|
|
165
210
|
"removeSpaces": "Please remove the spaces.",
|
|
166
|
-
"validEmail": "Please ensure that all email addresses are valid.",
|
|
167
|
-
"memberLimitExceeded": "Max {{limit}} team members are allowed. <emailTo>Contact us</emailTo> to increase the limit.",
|
|
168
211
|
"required": "{{what, anyCase}} is a required field",
|
|
169
|
-
"
|
|
170
|
-
"
|
|
212
|
+
"roleRequired": "Please select a role.",
|
|
213
|
+
"validEmail": "Please ensure that all email addresses are valid."
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
"taxonomyDefaultLabels": {
|
|
217
|
+
"group": {
|
|
218
|
+
"plural": "Groups",
|
|
219
|
+
"singular": "Group"
|
|
171
220
|
},
|
|
172
|
-
"
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
"selectedMembers_one": "Download selected {{taxonomies.member.singular}}",
|
|
176
|
-
"selectedMembers_other": "Download {{count}} selected {{taxonomies.member.plural}}",
|
|
177
|
-
"allMembers": "Download all {{taxonomies.member.plural}}"
|
|
178
|
-
}
|
|
221
|
+
"groupMember": {
|
|
222
|
+
"plural": "Members",
|
|
223
|
+
"singular": "Member"
|
|
179
224
|
},
|
|
180
|
-
"
|
|
181
|
-
"
|
|
182
|
-
|
|
183
|
-
"mmddyy": "MM/DD/YYYY",
|
|
184
|
-
"ddmmyy": "DD/MM/YYYY",
|
|
185
|
-
"yymmdd": "YYYY/MM/DD",
|
|
186
|
-
"timeZoneOption": "{{timeZone, anyCase}} - {{currentTime}}",
|
|
187
|
-
"toUpdateProfile": "To change your email, billing and subscription <button>visit NeetoAuth.</button>",
|
|
188
|
-
"neetoAuth": "NeetoAuth"
|
|
189
|
-
},
|
|
190
|
-
"inputs": {
|
|
191
|
-
"label": {
|
|
192
|
-
"firstName": "First name",
|
|
193
|
-
"lastName": "Last name",
|
|
194
|
-
"selectCountry": "Select country",
|
|
195
|
-
"selectTimeZone": "Select time zone",
|
|
196
|
-
"dateFormat": "Select preferred date format",
|
|
197
|
-
"selectTimeFormat": "Select preferred time format"
|
|
198
|
-
},
|
|
199
|
-
"placeholder": {
|
|
200
|
-
"firstName": "First name",
|
|
201
|
-
"lastName": "Last name"
|
|
202
|
-
}
|
|
203
|
-
},
|
|
204
|
-
"avatar": {
|
|
205
|
-
"profilePicture": "Profile picture",
|
|
206
|
-
"profilePictureUploadMessage": "Only JPEG, PNG files are supported. Maximum allowed file size is <strong>{{limit}}MB</strong>.",
|
|
207
|
-
"changeProfilePicture": "Change profile picture",
|
|
208
|
-
"uploadProfilePicture": "Upload profile picture"
|
|
209
|
-
},
|
|
210
|
-
"file": {
|
|
211
|
-
"invalidType": {
|
|
212
|
-
"image": "Invalid file type. Please select a JPG, JPEG, or PNG file instead and try again."
|
|
213
|
-
},
|
|
214
|
-
"corrupted": "The submitted file was empty or corrupt. Please select a valid file.",
|
|
215
|
-
"limitExceeded": "File limit exceeded, maximum allowed size is {{maxSize}} MB. Please select a smaller file and try again."
|
|
216
|
-
},
|
|
217
|
-
"form": {
|
|
218
|
-
"isRequired": {
|
|
219
|
-
"firstName": "First name is required",
|
|
220
|
-
"lastName": "Last name is required",
|
|
221
|
-
"dateFormat": "Date format is required"
|
|
222
|
-
},
|
|
223
|
-
"invalidName": "Use only letters, numbers, spaces, commas, periods, apostrophes, and hyphens.",
|
|
224
|
-
"dotsNotAllowed": "Dots are not allowed"
|
|
225
|
-
}
|
|
225
|
+
"member": {
|
|
226
|
+
"plural": "Team members",
|
|
227
|
+
"singular": "Team member"
|
|
226
228
|
}
|
|
227
229
|
},
|
|
228
230
|
"toastr": {
|
package/dist/MembersDropdown.js
CHANGED
|
@@ -6,7 +6,7 @@ import Dropdown from '@bigbinary/neetoui/Dropdown';
|
|
|
6
6
|
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
7
7
|
import { includes, toLower, map, append, pluck, any, not, isEmpty } from 'ramda';
|
|
8
8
|
import { useTranslation } from 'react-i18next';
|
|
9
|
-
import { A as AssignList } from './index-
|
|
9
|
+
import { A as AssignList } from './index-DlpnpPeg.js';
|
|
10
10
|
import Down from '@bigbinary/neeto-icons/Down';
|
|
11
11
|
import Avatar from '@bigbinary/neetoui/Avatar';
|
|
12
12
|
import Tooltip from '@bigbinary/neetoui/Tooltip';
|
|
@@ -30,6 +30,7 @@ var AssignDropdownTarget = function AssignDropdownTarget(_ref) {
|
|
|
30
30
|
profileImagePath = _selectedMember$profi === void 0 ? "" : _selectedMember$profi;
|
|
31
31
|
return /*#__PURE__*/jsxs("div", {
|
|
32
32
|
className: "flex h-10 w-60 cursor-pointer select-none items-center gap-2",
|
|
33
|
+
"data-cy": "assignee-dropdown",
|
|
33
34
|
children: [label !== "--" && /*#__PURE__*/jsx(Avatar, {
|
|
34
35
|
className: "flex-shrink-0",
|
|
35
36
|
user: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MembersDropdown.js","sources":["../app/javascript/src/components/MembersDropdown/AssignDropdownTarget.jsx","../app/javascript/src/components/MembersDropdown/constants.js","../app/javascript/src/components/MembersDropdown/utils.js","../app/javascript/src/components/MembersDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Down } from \"neetoicons\";\nimport { Avatar, Tooltip, Typography } from \"neetoui\";\n\nconst AssignDropdownTarget = ({ selectedMember = {} }) => {\n const { label = \"--\", profileImagePath = \"\" } = selectedMember;\n\n return (\n <div className=\"flex h-10 w-60 cursor-pointer select-none items-center gap-2\">\n {label !== \"--\" && (\n <Avatar\n className=\"flex-shrink-0\"\n user={{ name: label, imageUrl: profileImagePath }}\n />\n )}\n <Tooltip content={label} position=\"top\">\n <Typography className=\"truncate xl:block\" style=\"h5\" weight=\"normal\">\n {label}\n </Typography>\n </Tooltip>\n <Down className=\"flex-shrink-0\" size={16} />\n </div>\n );\n};\n\nexport default memo(AssignDropdownTarget);\n","export const SEARCH_TYPES = {\n MEMBER: \"agent\",\n TEAM: \"group\",\n MEMBER_OR_TEAM: \"agent_or_group\",\n};\n\nexport const TEAM_UNGROUPED = { value: \"ungrouped\", label: \"--\" };\n","import { findBy, isNotEmpty, removeBy } from \"neetocist\";\nimport { includes, toLower, append, pluck, map, any } from \"ramda\";\n\nimport { TEAM_UNGROUPED, SEARCH_TYPES } from \"./constants\";\n\nconst createMembersDropdownOptions = ({\n selectedTeam,\n searchTerm,\n availableTeams,\n onlyMembers = false,\n}) => {\n const tempOptions = [];\n const hasSelectedTeam =\n selectedTeam?.value && selectedTeam.value !== TEAM_UNGROUPED.value;\n\n const filteredTeams = availableTeams.filter(team =>\n isNotEmpty(team.filteredMembers)\n );\n\n const addMembersInTeam = ({ filteredMembers }) =>\n filteredMembers.forEach(member => {\n tempOptions.push({ ...member, type: SEARCH_TYPES.MEMBER });\n });\n\n const containsSearchTerm = includes(toLower(searchTerm));\n\n if (hasSelectedTeam) {\n const selectedTeamData = findBy(\n { value: selectedTeam.value },\n availableTeams\n );\n if (selectedTeamData) addMembersInTeam(selectedTeamData);\n }\n\n if (!hasSelectedTeam) {\n filteredTeams.forEach(team => {\n tempOptions.push({ ...team, type: SEARCH_TYPES.TEAM });\n addMembersInTeam(team);\n });\n }\n\n if (onlyMembers) {\n return removeBy({ type: \"group\" }, tempOptions);\n }\n\n return searchTerm\n ? tempOptions.filter(({ label, filteredMembers = [] }) => {\n const teamAndMembersLabels = map(\n toLower,\n append(label, pluck(\"label\", filteredMembers))\n );\n\n return any(containsSearchTerm, teamAndMembersLabels);\n })\n : tempOptions;\n};\n\nexport { createMembersDropdownOptions };\n","import { Fragment, useMemo, useRef, useState } from \"react\";\n\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Typography, Dropdown, Spinner } from \"neetoui\";\nimport { isEmpty, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/dropdown.scss\";\n\nimport AssignDropdownTarget from \"./AssignDropdownTarget\";\nimport { SEARCH_TYPES } from \"./constants\";\nimport { createMembersDropdownOptions } from \"./utils\";\n\nimport AssignList from \"../Common/AssignList\";\n\nconst MembersDropdown = ({ config }) => {\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const dropdownRef = useRef(null);\n\n const { t } = useTranslation();\n\n useOnClickOutside(dropdownRef, () => setIsDropdownOpen(false));\n\n const options = useMemo(\n () =>\n createMembersDropdownOptions({\n searchTerm,\n selectedTeam: config?.selectedTeam,\n availableTeams: config?.availableTeams || [],\n }),\n [config?.selectedTeam, searchTerm, config?.availableTeams]\n );\n\n const handleClick = value => {\n setIsDropdownOpen(false);\n config?.handleUpdate({\n id: config?.selectedMember.value === value ? null : value,\n });\n };\n\n return (\n <div ref={dropdownRef}>\n <Dropdown\n className=\"w-full\"\n closeOnSelect={config?.closeOnSelect ?? true}\n isOpen={isDropdownOpen}\n position=\"bottom-end\"\n ref={dropdownRef}\n targetClassName=\"w-full\"\n customTarget={() => (\n <AssignDropdownTarget selectedMember={config?.selectedMember} />\n )}\n onClick={() => setIsDropdownOpen(not)}\n onClose={() => setSearchTerm(\"\")}\n >\n <AssignList>\n <AssignList.Search\n {...{ searchTerm }}\n handleClearSearchTerm={() => setSearchTerm(\"\")}\n placeholder={config?.searchPlaceholder}\n onChange={({ target: { value } }) => setSearchTerm(value)}\n />\n {config?.isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <div\n className=\"ntm-assign-droplist__list-wrapper flex flex-col px-3\"\n key={searchTerm}\n >\n {options.map(\n ({ label, value, type, profileImagePath }, index) => (\n <Fragment key={index}>\n {type === SEARCH_TYPES.TEAM && (\n <AssignList.TeamsListItem\n active={config?.selectedTeam.id === value}\n teamName={label}\n onClick={() =>\n config?.handleUpdate({\n id:\n config?.selectedTeam.value === value\n ? null\n : value,\n isTeam: true,\n })\n }\n />\n )}\n {type === SEARCH_TYPES.MEMBER && (\n <AssignList.MembersListItem\n active={config?.selectedMember.value === value}\n imageUrl={profileImagePath}\n memberName={label}\n onClick={() => handleClick(value)}\n />\n )}\n </Fragment>\n )\n )}\n {isEmpty(options) && (\n <div className=\"flex w-full items-center justify-center p-2\">\n <Typography\n data-cy=\"ticket-details-member-no-records-message\"\n style=\"body2\"\n >\n {t(\"neetoTeamMembers.helpers.noRecords\")}\n </Typography>\n </div>\n )}\n </div>\n )}\n </AssignList>\n </Dropdown>\n </div>\n );\n};\n\nexport default MembersDropdown;\n"],"names":["AssignDropdownTarget","_ref","_ref$selectedMember","selectedMember","_selectedMember$label","label","_selectedMember$profi","profileImagePath","_jsxs","className","children","_jsx","Avatar","user","name","imageUrl","Tooltip","content","position","Typography","style","weight","Down","size","memo","SEARCH_TYPES","MEMBER","TEAM","MEMBER_OR_TEAM","TEAM_UNGROUPED","value","createMembersDropdownOptions","selectedTeam","searchTerm","availableTeams","_ref$onlyMembers","onlyMembers","tempOptions","hasSelectedTeam","filteredTeams","filter","team","isNotEmpty","filteredMembers","addMembersInTeam","_ref2","forEach","member","push","_objectSpread","type","containsSearchTerm","includes","toLower","selectedTeamData","findBy","removeBy","_ref3","_ref3$filteredMembers","teamAndMembersLabels","map","append","pluck","any","MembersDropdown","_config$closeOnSelect","config","_useState","useState","_useState2","_slicedToArray","isDropdownOpen","setIsDropdownOpen","_useState3","_useState4","setSearchTerm","dropdownRef","useRef","_useTranslation","useTranslation","t","useOnClickOutside","options","useMemo","handleClick","handleUpdate","id","ref","Dropdown","closeOnSelect","isOpen","targetClassName","customTarget","onClick","not","onClose","AssignList","Search","handleClearSearchTerm","placeholder","searchPlaceholder","onChange","target","isLoading","Spinner","index","Fragment","TeamsListItem","active","teamName","isTeam","MembersListItem","memberName","isEmpty"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MembersDropdown.js","sources":["../app/javascript/src/components/MembersDropdown/AssignDropdownTarget.jsx","../app/javascript/src/components/MembersDropdown/constants.js","../app/javascript/src/components/MembersDropdown/utils.js","../app/javascript/src/components/MembersDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Down } from \"neetoicons\";\nimport { Avatar, Tooltip, Typography } from \"neetoui\";\n\nconst AssignDropdownTarget = ({ selectedMember = {} }) => {\n const { label = \"--\", profileImagePath = \"\" } = selectedMember;\n\n return (\n <div\n className=\"flex h-10 w-60 cursor-pointer select-none items-center gap-2\"\n data-cy=\"assignee-dropdown\"\n >\n {label !== \"--\" && (\n <Avatar\n className=\"flex-shrink-0\"\n user={{ name: label, imageUrl: profileImagePath }}\n />\n )}\n <Tooltip content={label} position=\"top\">\n <Typography className=\"truncate xl:block\" style=\"h5\" weight=\"normal\">\n {label}\n </Typography>\n </Tooltip>\n <Down className=\"flex-shrink-0\" size={16} />\n </div>\n );\n};\n\nexport default memo(AssignDropdownTarget);\n","export const SEARCH_TYPES = {\n MEMBER: \"agent\",\n TEAM: \"group\",\n MEMBER_OR_TEAM: \"agent_or_group\",\n};\n\nexport const TEAM_UNGROUPED = { value: \"ungrouped\", label: \"--\" };\n","import { findBy, isNotEmpty, removeBy } from \"neetocist\";\nimport { includes, toLower, append, pluck, map, any } from \"ramda\";\n\nimport { TEAM_UNGROUPED, SEARCH_TYPES } from \"./constants\";\n\nconst createMembersDropdownOptions = ({\n selectedTeam,\n searchTerm,\n availableTeams,\n onlyMembers = false,\n}) => {\n const tempOptions = [];\n const hasSelectedTeam =\n selectedTeam?.value && selectedTeam.value !== TEAM_UNGROUPED.value;\n\n const filteredTeams = availableTeams.filter(team =>\n isNotEmpty(team.filteredMembers)\n );\n\n const addMembersInTeam = ({ filteredMembers }) =>\n filteredMembers.forEach(member => {\n tempOptions.push({ ...member, type: SEARCH_TYPES.MEMBER });\n });\n\n const containsSearchTerm = includes(toLower(searchTerm));\n\n if (hasSelectedTeam) {\n const selectedTeamData = findBy(\n { value: selectedTeam.value },\n availableTeams\n );\n if (selectedTeamData) addMembersInTeam(selectedTeamData);\n }\n\n if (!hasSelectedTeam) {\n filteredTeams.forEach(team => {\n tempOptions.push({ ...team, type: SEARCH_TYPES.TEAM });\n addMembersInTeam(team);\n });\n }\n\n if (onlyMembers) {\n return removeBy({ type: \"group\" }, tempOptions);\n }\n\n return searchTerm\n ? tempOptions.filter(({ label, filteredMembers = [] }) => {\n const teamAndMembersLabels = map(\n toLower,\n append(label, pluck(\"label\", filteredMembers))\n );\n\n return any(containsSearchTerm, teamAndMembersLabels);\n })\n : tempOptions;\n};\n\nexport { createMembersDropdownOptions };\n","import { Fragment, useMemo, useRef, useState } from \"react\";\n\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Typography, Dropdown, Spinner } from \"neetoui\";\nimport { isEmpty, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/dropdown.scss\";\n\nimport AssignDropdownTarget from \"./AssignDropdownTarget\";\nimport { SEARCH_TYPES } from \"./constants\";\nimport { createMembersDropdownOptions } from \"./utils\";\n\nimport AssignList from \"../Common/AssignList\";\n\nconst MembersDropdown = ({ config }) => {\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const dropdownRef = useRef(null);\n\n const { t } = useTranslation();\n\n useOnClickOutside(dropdownRef, () => setIsDropdownOpen(false));\n\n const options = useMemo(\n () =>\n createMembersDropdownOptions({\n searchTerm,\n selectedTeam: config?.selectedTeam,\n availableTeams: config?.availableTeams || [],\n }),\n [config?.selectedTeam, searchTerm, config?.availableTeams]\n );\n\n const handleClick = value => {\n setIsDropdownOpen(false);\n config?.handleUpdate({\n id: config?.selectedMember.value === value ? null : value,\n });\n };\n\n return (\n <div ref={dropdownRef}>\n <Dropdown\n className=\"w-full\"\n closeOnSelect={config?.closeOnSelect ?? true}\n isOpen={isDropdownOpen}\n position=\"bottom-end\"\n ref={dropdownRef}\n targetClassName=\"w-full\"\n customTarget={() => (\n <AssignDropdownTarget selectedMember={config?.selectedMember} />\n )}\n onClick={() => setIsDropdownOpen(not)}\n onClose={() => setSearchTerm(\"\")}\n >\n <AssignList>\n <AssignList.Search\n {...{ searchTerm }}\n handleClearSearchTerm={() => setSearchTerm(\"\")}\n placeholder={config?.searchPlaceholder}\n onChange={({ target: { value } }) => setSearchTerm(value)}\n />\n {config?.isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <div\n className=\"ntm-assign-droplist__list-wrapper flex flex-col px-3\"\n key={searchTerm}\n >\n {options.map(\n ({ label, value, type, profileImagePath }, index) => (\n <Fragment key={index}>\n {type === SEARCH_TYPES.TEAM && (\n <AssignList.TeamsListItem\n active={config?.selectedTeam.id === value}\n teamName={label}\n onClick={() =>\n config?.handleUpdate({\n id:\n config?.selectedTeam.value === value\n ? null\n : value,\n isTeam: true,\n })\n }\n />\n )}\n {type === SEARCH_TYPES.MEMBER && (\n <AssignList.MembersListItem\n active={config?.selectedMember.value === value}\n imageUrl={profileImagePath}\n memberName={label}\n onClick={() => handleClick(value)}\n />\n )}\n </Fragment>\n )\n )}\n {isEmpty(options) && (\n <div className=\"flex w-full items-center justify-center p-2\">\n <Typography\n data-cy=\"ticket-details-member-no-records-message\"\n style=\"body2\"\n >\n {t(\"neetoTeamMembers.helpers.noRecords\")}\n </Typography>\n </div>\n )}\n </div>\n )}\n </AssignList>\n </Dropdown>\n </div>\n );\n};\n\nexport default MembersDropdown;\n"],"names":["AssignDropdownTarget","_ref","_ref$selectedMember","selectedMember","_selectedMember$label","label","_selectedMember$profi","profileImagePath","_jsxs","className","children","_jsx","Avatar","user","name","imageUrl","Tooltip","content","position","Typography","style","weight","Down","size","memo","SEARCH_TYPES","MEMBER","TEAM","MEMBER_OR_TEAM","TEAM_UNGROUPED","value","createMembersDropdownOptions","selectedTeam","searchTerm","availableTeams","_ref$onlyMembers","onlyMembers","tempOptions","hasSelectedTeam","filteredTeams","filter","team","isNotEmpty","filteredMembers","addMembersInTeam","_ref2","forEach","member","push","_objectSpread","type","containsSearchTerm","includes","toLower","selectedTeamData","findBy","removeBy","_ref3","_ref3$filteredMembers","teamAndMembersLabels","map","append","pluck","any","MembersDropdown","_config$closeOnSelect","config","_useState","useState","_useState2","_slicedToArray","isDropdownOpen","setIsDropdownOpen","_useState3","_useState4","setSearchTerm","dropdownRef","useRef","_useTranslation","useTranslation","t","useOnClickOutside","options","useMemo","handleClick","handleUpdate","id","ref","Dropdown","closeOnSelect","isOpen","targetClassName","customTarget","onClick","not","onClose","AssignList","Search","handleClearSearchTerm","placeholder","searchPlaceholder","onChange","target","isLoading","Spinner","index","Fragment","TeamsListItem","active","teamName","isTeam","MembersListItem","memberName","isEmpty"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAAgC;AAAA,EAAA,IAAAC,mBAAA,GAAAD,IAAA,CAA1BE,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,mBAAA;AACjD,EAAA,IAAAE,qBAAA,GAAgDD,cAAc,CAAtDE,KAAK;AAALA,IAAAA,KAAK,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAE,qBAAA,GAA4BH,cAAc,CAAxCI,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;AAE3C,EAAA,oBACEE,IAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,8DAA8D;AACxE,IAAA,SAAA,EAAQ,mBAAmB;AAAAC,IAAAA,QAAA,GAE1BL,KAAK,KAAK,IAAI,iBACbM,GAAA,CAACC,MAAM,EAAA;AACLH,MAAAA,SAAS,EAAC,eAAe;AACzBI,MAAAA,IAAI,EAAE;AAAEC,QAAAA,IAAI,EAAET,KAAK;AAAEU,QAAAA,QAAQ,EAAER;AAAiB;AAAE,KACnD,CACF,eACDI,GAAA,CAACK,OAAO,EAAA;AAACC,MAAAA,OAAO,EAAEZ,KAAM;AAACa,MAAAA,QAAQ,EAAC,KAAK;MAAAR,QAAA,eACrCC,GAAA,CAACQ,UAAU,EAAA;AAACV,QAAAA,SAAS,EAAC,mBAAmB;AAACW,QAAAA,KAAK,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,QAAQ;AAAAX,QAAAA,QAAA,EACjEL;OACS;AAAC,KACN,CAAC,eACVM,GAAA,CAACW,IAAI,EAAA;AAACb,MAAAA,SAAS,EAAC,eAAe;AAACc,MAAAA,IAAI,EAAE;AAAG,KAAE,CAAC;AAAA,GACzC,CAAC;AAEV,CAAC;AAED,6BAAeC,aAAAA,IAAI,CAACxB,oBAAoB,CAAC;;AC7BlC,IAAMyB,YAAY,GAAG;AAC1BC,EAAAA,MAAM,EAAE,OAAO;AACfC,EAAAA,IAAI,EAAE,OAAO;AACbC,EAAAA,cAAc,EAAE;AAClB,CAAC;AAEM,IAAMC,cAAc,GAAG;AAAEC,EAAAA,KAAK,EAAE,WAAW;AAAEzB,EAAAA,KAAK,EAAE;AAAK,CAAC;;;;ACDjE,IAAM0B,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAA9B,IAAA,EAK5B;AAAA,EAAA,IAJJ+B,YAAY,GAAA/B,IAAA,CAAZ+B,YAAY;IACZC,UAAU,GAAAhC,IAAA,CAAVgC,UAAU;IACVC,cAAc,GAAAjC,IAAA,CAAdiC,cAAc;IAAAC,gBAAA,GAAAlC,IAAA,CACdmC,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,gBAAA;EAEnB,IAAME,WAAW,GAAG,EAAE;AACtB,EAAA,IAAMC,eAAe,GACnB,CAAAN,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEF,KAAK,KAAIE,YAAY,CAACF,KAAK,KAAKD,cAAc,CAACC,KAAK;AAEpE,EAAA,IAAMS,aAAa,GAAGL,cAAc,CAACM,MAAM,CAAC,UAAAC,IAAI,EAAA;AAAA,IAAA,OAC9CC,UAAU,CAACD,IAAI,CAACE,eAAe,CAAC;AAAA,GAClC,CAAC;AAED,EAAA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAMF,eAAe,GAAAE,KAAA,CAAfF,eAAe;AAAA,IAAA,OACzCA,eAAe,CAACG,OAAO,CAAC,UAAAC,MAAM,EAAI;AAChCV,MAAAA,WAAW,CAACW,IAAI,CAAAC,aAAA,CAAAA,aAAA,KAAMF,MAAM,CAAA,EAAA,EAAA,EAAA;QAAEG,IAAI,EAAEzB,YAAY,CAACC;AAAM,OAAA,CAAE,CAAC;AAC5D,KAAC,CAAC;AAAA,GAAA;EAEJ,IAAMyB,kBAAkB,GAAGC,QAAQ,CAACC,OAAO,CAACpB,UAAU,CAAC,CAAC;AAExD,EAAA,IAAIK,eAAe,EAAE;IACnB,IAAMgB,gBAAgB,GAAGC,MAAM,CAC7B;MAAEzB,KAAK,EAAEE,YAAY,CAACF;KAAO,EAC7BI,cACF,CAAC;AACD,IAAA,IAAIoB,gBAAgB,EAAEV,gBAAgB,CAACU,gBAAgB,CAAC;AAC1D;EAEA,IAAI,CAAChB,eAAe,EAAE;AACpBC,IAAAA,aAAa,CAACO,OAAO,CAAC,UAAAL,IAAI,EAAI;AAC5BJ,MAAAA,WAAW,CAACW,IAAI,CAAAC,aAAA,CAAAA,aAAA,KAAMR,IAAI,CAAA,EAAA,EAAA,EAAA;QAAES,IAAI,EAAEzB,YAAY,CAACE;AAAI,OAAA,CAAE,CAAC;MACtDiB,gBAAgB,CAACH,IAAI,CAAC;AACxB,KAAC,CAAC;AACJ;AAEA,EAAA,IAAIL,WAAW,EAAE;AACf,IAAA,OAAOoB,QAAQ,CAAC;AAAEN,MAAAA,IAAI,EAAE;KAAS,EAAEb,WAAW,CAAC;AACjD;EAEA,OAAOJ,UAAU,GACbI,WAAW,CAACG,MAAM,CAAC,UAAAiB,KAAA,EAAqC;AAAA,IAAA,IAAlCpD,KAAK,GAAAoD,KAAA,CAALpD,KAAK;MAAAqD,qBAAA,GAAAD,KAAA,CAAEd,eAAe;AAAfA,MAAAA,eAAe,GAAAe,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;AAC/C,IAAA,IAAMC,oBAAoB,GAAGC,GAAG,CAC9BP,OAAO,EACPQ,MAAM,CAACxD,KAAK,EAAEyD,KAAK,CAAC,OAAO,EAAEnB,eAAe,CAAC,CAC/C,CAAC;AAED,IAAA,OAAOoB,GAAG,CAACZ,kBAAkB,EAAEQ,oBAAoB,CAAC;GACrD,CAAC,GACFtB,WAAW;AACjB,CAAC;;ACvCD,IAAM2B,eAAe,GAAG,SAAlBA,eAAeA,CAAA/D,IAAA,EAAmB;AAAA,EAAA,IAAAgE,qBAAA;AAAA,EAAA,IAAbC,MAAM,GAAAjE,IAAA,CAANiE,MAAM;AAC/B,EAAA,IAAAC,SAAA,GAA4CC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApDI,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,iBAAiB,GAAAH,UAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAI,UAAA,GAAoCL,QAAQ,CAAC,EAAE,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAzCxC,IAAAA,UAAU,GAAAyC,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAME,WAAW,GAAGC,MAAM,CAAC,IAAI,CAAC;AAEhC,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAETC,iBAAiB,CAACL,WAAW,EAAE,YAAA;IAAA,OAAMJ,iBAAiB,CAAC,KAAK,CAAC;GAAC,CAAA;EAE9D,IAAMU,OAAO,GAAGC,OAAO,CACrB,YAAA;AAAA,IAAA,OACEpD,4BAA4B,CAAC;AAC3BE,MAAAA,UAAU,EAAVA,UAAU;AACVD,MAAAA,YAAY,EAAEkC,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAElC,YAAY;MAClCE,cAAc,EAAE,CAAAgC,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEhC,cAAc,KAAI;AAC5C,KAAC,CAAC;AAAA,GAAA,EACJ,CAACgC,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAElC,YAAY,EAAEC,UAAU,EAAEiC,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEhC,cAAc,CAC3D,CAAC;AAED,EAAA,IAAMkD,WAAW,GAAG,SAAdA,WAAWA,CAAGtD,KAAK,EAAI;IAC3B0C,iBAAiB,CAAC,KAAK,CAAC;AACxBN,IAAAA,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,IAANA,MAAM,CAAEmB,YAAY,CAAC;AACnBC,MAAAA,EAAE,EAAE,CAAApB,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAE/D,cAAc,CAAC2B,KAAK,MAAKA,KAAK,GAAG,IAAI,GAAGA;AACtD,KAAC,CAAC;GACH;AAED,EAAA,oBACEnB,GAAA,CAAA,KAAA,EAAA;AAAK4E,IAAAA,GAAG,EAAEX,WAAY;IAAAlE,QAAA,eACpBC,GAAA,CAAC6E,QAAQ,EAAA;AACP/E,MAAAA,SAAS,EAAC,QAAQ;AAClBgF,MAAAA,aAAa,EAAAxB,CAAAA,qBAAA,GAAEC,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEuB,aAAa,MAAAxB,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAI,IAAK;AAC7CyB,MAAAA,MAAM,EAAEnB,cAAe;AACvBrD,MAAAA,QAAQ,EAAC,YAAY;AACrBqE,MAAAA,GAAG,EAAEX,WAAY;AACjBe,MAAAA,eAAe,EAAC,QAAQ;MACxBC,YAAY,EAAE,SAAdA,YAAYA,GAAA;QAAA,oBACVjF,GAAA,CAACX,sBAAoB,EAAA;AAACG,UAAAA,cAAc,EAAE+D,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAE/D;AAAe,SAAE,CAAC;OAChE;MACF0F,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQrB,iBAAiB,CAACsB,GAAG,CAAC;OAAC;MACtCC,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQpB,aAAa,CAAC,EAAE,CAAC;OAAC;MAAAjE,QAAA,eAEjCF,IAAA,CAACwF,UAAU,EAAA;AAAAtF,QAAAA,QAAA,EACTC,cAAAA,GAAA,CAACqF,UAAU,CAACC,MAAM,EAAA;AACVhE,UAAAA,UAAU,EAAVA,UAAU;UAChBiE,qBAAqB,EAAE,SAAvBA,qBAAqBA,GAAA;YAAA,OAAQvB,aAAa,CAAC,EAAE,CAAC;WAAC;AAC/CwB,UAAAA,WAAW,EAAEjC,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEkC,iBAAkB;AACvCC,UAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAAxD,KAAA,EAAA;AAAA,YAAA,IAAef,KAAK,GAAAe,KAAA,CAAfyD,MAAM,CAAIxE,KAAK;YAAA,OAAS6C,aAAa,CAAC7C,KAAK,CAAC;AAAA;SAC1D,CAAC,EACDoC,MAAM,KAANA,IAAAA,IAAAA,MAAM,eAANA,MAAM,CAAEqC,SAAS,gBAChB5F,GAAA,CAAA,KAAA,EAAA;AAAKF,UAAAA,SAAS,EAAC,8CAA8C;AAAAC,UAAAA,QAAA,eAC3DC,GAAA,CAAC6F,OAAO,EAAE,EAAA;SACP,CAAC,gBAENhG,IAAA,CAAA,KAAA,EAAA;AACEC,UAAAA,SAAS,EAAC,sDAAsD;UAAAC,QAAA,EAAA,CAG/DwE,OAAO,CAACtB,GAAG,CACV,UAAAH,KAAA,EAA2CgD,KAAK,EAAA;AAAA,YAAA,IAA7CpG,KAAK,GAAAoD,KAAA,CAALpD,KAAK;cAAEyB,KAAK,GAAA2B,KAAA,CAAL3B,KAAK;cAAEoB,IAAI,GAAAO,KAAA,CAAJP,IAAI;cAAE3C,gBAAgB,GAAAkD,KAAA,CAAhBlD,gBAAgB;YAAA,oBACrCC,IAAA,CAACkG,QAAQ,EAAA;cAAAhG,QAAA,EAAA,CACNwC,IAAI,KAAKzB,YAAY,CAACE,IAAI,iBACzBhB,GAAA,CAACqF,UAAU,CAACW,aAAa,EAAA;AACvBC,gBAAAA,MAAM,EAAE,CAAA1C,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAElC,YAAY,CAACsD,EAAE,MAAKxD,KAAM;AAC1C+E,gBAAAA,QAAQ,EAAExG,KAAM;gBAChBwF,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,kBAAA,OACL3B,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAEmB,YAAY,CAAC;AACnBC,oBAAAA,EAAE,EACA,CAAApB,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAElC,YAAY,CAACF,KAAK,MAAKA,KAAK,GAChC,IAAI,GACJA,KAAK;AACXgF,oBAAAA,MAAM,EAAE;AACV,mBAAC,CAAC;AAAA;AACH,eACF,CACF,EACA5D,IAAI,KAAKzB,YAAY,CAACC,MAAM,iBAC3Bf,GAAA,CAACqF,UAAU,CAACe,eAAe,EAAA;AACzBH,gBAAAA,MAAM,EAAE,CAAA1C,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAE/D,cAAc,CAAC2B,KAAK,MAAKA,KAAM;AAC/Cf,gBAAAA,QAAQ,EAAER,gBAAiB;AAC3ByG,gBAAAA,UAAU,EAAE3G,KAAM;gBAClBwF,OAAO,EAAE,SAATA,OAAOA,GAAA;kBAAA,OAAQT,WAAW,CAACtD,KAAK,CAAC;AAAA;AAAC,eACnC,CACF;AAAA,aAAA,EAvBY2E,KAwBL,CAAC;AAAA,WAEf,CAAC,EACAQ,OAAO,CAAC/B,OAAO,CAAC,iBACfvE,GAAA,CAAA,KAAA,EAAA;AAAKF,YAAAA,SAAS,EAAC,6CAA6C;YAAAC,QAAA,eAC1DC,GAAA,CAACQ,UAAU,EAAA;AACT,cAAA,SAAA,EAAQ,0CAA0C;AAClDC,cAAAA,KAAK,EAAC,OAAO;cAAAV,QAAA,EAEZsE,CAAC,CAAC,oCAAoC;aAC7B;AAAC,WACV,CACN;AAAA,SAAA,EAxCI/C,UAyCF,CACN;OACS;KACJ;AAAC,GACR,CAAC;AAEV;;;;"}
|