@truedat/auth 8.14.3 → 8.14.5

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 (78) hide show
  1. package/package.json +4 -4
  2. package/src/groups/components/GroupCard.js +2 -2
  3. package/src/groups/components/GroupCards.js +129 -37
  4. package/src/groups/components/GroupForm.js +13 -7
  5. package/src/groups/components/GroupFormModal.js +8 -7
  6. package/src/groups/components/GroupInfoModal.js +6 -6
  7. package/src/groups/components/GroupMemberPicker.js +2 -4
  8. package/src/groups/components/GroupRouteModal.js +15 -10
  9. package/src/groups/components/__tests__/GroupCards.spec.js +94 -0
  10. package/src/groups/components/__tests__/GroupForm.spec.js +2 -2
  11. package/src/groups/components/__tests__/GroupModals.spec.js +42 -16
  12. package/src/groups/components/__tests__/__snapshots__/GroupCards.spec.js.snap +14 -0
  13. package/src/messages/en.js +6 -5
  14. package/src/messages/es.js +8 -7
  15. package/src/styles/Groups.less +96 -131
  16. package/src/styles/UserCard.less +416 -0
  17. package/src/styles/UserModals.less +831 -0
  18. package/src/styles/Users.less +313 -0
  19. package/src/users/components/AdminUserRoutes.js +7 -20
  20. package/src/users/components/EditUser.js +7 -34
  21. package/src/users/components/EditUserModal.js +150 -0
  22. package/src/users/components/NewUser.js +128 -17
  23. package/src/users/components/Password.js +11 -189
  24. package/src/users/components/UserAcls.js +117 -6
  25. package/src/users/components/UserActions.js +99 -34
  26. package/src/users/components/UserCard.js +171 -22
  27. package/src/users/components/UserCards.js +188 -35
  28. package/src/users/components/UserFormFields.js +206 -0
  29. package/src/users/components/UserGroupAclRow.js +8 -2
  30. package/src/users/components/UserGroupAcls.js +2 -2
  31. package/src/users/components/UserGroupLink.js +21 -0
  32. package/src/users/components/UserInfoModal.js +228 -0
  33. package/src/users/components/UserPasswordField.js +66 -0
  34. package/src/users/components/UserPasswordModal.js +210 -0
  35. package/src/users/components/UserRoutes.js +4 -13
  36. package/src/users/components/UserTabs.js +5 -2
  37. package/src/users/components/UserTypeSelector.js +109 -0
  38. package/src/users/components/UsersAndGroups.js +39 -5
  39. package/src/users/components/UsersTable.js +234 -0
  40. package/src/users/components/__tests__/EditUser.spec.js +84 -10
  41. package/src/users/components/__tests__/NewUser.spec.js +34 -4
  42. package/src/users/components/__tests__/Password.spec.js +53 -146
  43. package/src/users/components/__tests__/UserAcls.spec.js +62 -2
  44. package/src/users/components/__tests__/UserCard.spec.js +111 -5
  45. package/src/users/components/__tests__/UserCards.spec.js +149 -0
  46. package/src/users/components/__tests__/UserGroupAclRow.spec.js +19 -1
  47. package/src/users/components/__tests__/UserModals.spec.js +554 -0
  48. package/src/users/components/__tests__/UserRoutes.spec.js +8 -3
  49. package/src/users/components/__tests__/UserTypeSelector.spec.js +32 -0
  50. package/src/users/components/__tests__/UsersAndGroups.spec.js +17 -0
  51. package/src/users/components/__tests__/__snapshots__/UserCard.spec.js.snap +66 -37
  52. package/src/users/components/__tests__/__snapshots__/UserCards.spec.js.snap +375 -75
  53. package/src/users/components/__tests__/__snapshots__/UserGroupAclRow.spec.js.snap +7 -3
  54. package/src/users/components/__tests__/__snapshots__/UserRoutes.spec.js.snap +4 -13
  55. package/src/users/hooks/useSortedGroups.js +13 -0
  56. package/src/users/hooks/useUserModalOperation.js +55 -0
  57. package/src/users/reducers/__tests__/userRedirect.spec.js +14 -3
  58. package/src/users/reducers/index.js +1 -0
  59. package/src/users/reducers/userModalOperation.js +29 -0
  60. package/src/users/reducers/userRedirect.js +5 -4
  61. package/src/users/sagas/__tests__/updateUser.spec.js +19 -1
  62. package/src/users/sagas/createUser.js +12 -5
  63. package/src/users/sagas/deleteUser.js +12 -5
  64. package/src/users/sagas/updateUser.js +19 -8
  65. package/src/users/selectors/__tests__/filterUsers.spec.js +11 -0
  66. package/src/users/selectors/__tests__/getUserAcls.spec.js +1 -0
  67. package/src/users/selectors/__tests__/getUserGroupAcls.spec.js +2 -0
  68. package/src/users/selectors/filterUsers.js +9 -1
  69. package/src/users/selectors/getUserGroupAcls.js +1 -0
  70. package/src/users/components/User.js +0 -68
  71. package/src/users/components/UserPassword.js +0 -24
  72. package/src/users/components/__tests__/User.spec.js +0 -20
  73. package/src/users/components/__tests__/UserPassword.spec.js +0 -24
  74. package/src/users/components/__tests__/__snapshots__/EditUser.spec.js.snap +0 -281
  75. package/src/users/components/__tests__/__snapshots__/NewUser.spec.js.snap +0 -321
  76. package/src/users/components/__tests__/__snapshots__/Password.spec.js.snap +0 -128
  77. package/src/users/components/__tests__/__snapshots__/User.spec.js.snap +0 -129
  78. package/src/users/components/__tests__/__snapshots__/UserPassword.spec.js.snap +0 -124
@@ -0,0 +1,416 @@
1
+ .td-card--user {
2
+ --uc-bottom-right-radius: 1.5rem;
3
+ --uc-bottom-left-radius: 0.25rem;
4
+ --uc-top-left-radius: 0;
5
+ --uc-top-right-radius: 0.5rem;
6
+ width: 330px;
7
+
8
+ @media (max-width: 767px) {
9
+ width: 100%;
10
+ max-width: 330px;
11
+ }
12
+ }
13
+
14
+ .ui.card.td-card-base.td-card--user {
15
+ min-height: 152px;
16
+ }
17
+
18
+ .td-card--user:hover .uc-avatar,
19
+ .td-card--user:focus-within .uc-avatar {
20
+ background: @primaryColor;
21
+ color: #fff;
22
+ }
23
+
24
+ .td-card--user .uc-card-link::after {
25
+ content: "";
26
+ position: absolute;
27
+ inset: 0;
28
+ border-radius: inherit;
29
+ cursor: pointer;
30
+ z-index: 1;
31
+ }
32
+ .td-card--user .uc-card-link:focus-visible::after {
33
+ outline: 2px solid var(--card-accent-color);
34
+ outline-offset: 3px;
35
+ }
36
+
37
+ .td-card--user .uc-actions {
38
+ position: absolute;
39
+ top: 0.45rem;
40
+ right: -1px;
41
+ display: flex;
42
+ flex-direction: column;
43
+ align-items: flex-end;
44
+ gap: 0.25rem;
45
+ visibility: hidden;
46
+ z-index: 12;
47
+ }
48
+
49
+ .td-card--user:hover .uc-actions,
50
+ .td-card--user:focus-within .uc-actions {
51
+ visibility: visible;
52
+ }
53
+
54
+ .td-card--user .uc-action-btn {
55
+ display: flex;
56
+ align-items: center;
57
+ justify-content: flex-start;
58
+ width: auto;
59
+ max-width: 1.75rem;
60
+ height: 1.75rem;
61
+ padding: 0;
62
+ background: #fff;
63
+ border: 1px solid #64748b;
64
+ border-right: 0;
65
+ border-radius: 0.5rem 0 0 0.5rem;
66
+ color: #64748b;
67
+ cursor: pointer;
68
+ overflow: hidden;
69
+ white-space: nowrap;
70
+ transition:
71
+ max-width 420ms cubic-bezier(0.22, 1, 0.36, 1),
72
+ padding 420ms cubic-bezier(0.22, 1, 0.36, 1);
73
+
74
+ &:hover,
75
+ &:focus-visible {
76
+ max-width: 14rem;
77
+ padding: 0 1rem 0 0.08rem;
78
+ .uc-action-label {
79
+ max-width: 11rem;
80
+ opacity: 1;
81
+ }
82
+ background: var(--card-accent-color);
83
+ border-color: var(--card-accent-color);
84
+ color: #fff;
85
+ }
86
+
87
+ &:focus-visible {
88
+ outline: 2px solid currentColor;
89
+ outline-offset: -3px;
90
+ }
91
+
92
+ i.icon {
93
+ flex: 0 0 1.75rem;
94
+ width: 1.75rem;
95
+ margin: 0;
96
+ font-size: 1rem;
97
+ line-height: 1;
98
+ }
99
+ }
100
+
101
+ .td-card--user .uc-action-label {
102
+ max-width: 0;
103
+ opacity: 0;
104
+ overflow: hidden;
105
+ font-size: 0.8rem;
106
+ font-weight: 800;
107
+ line-height: 1;
108
+ transition:
109
+ max-width 420ms cubic-bezier(0.22, 1, 0.36, 1),
110
+ opacity 420ms ease;
111
+ }
112
+
113
+ .td-card--user > .content {
114
+ padding-top: 1.25em !important;
115
+ padding-bottom: 1em !important;
116
+ }
117
+
118
+ .td-card--user .uc-summary {
119
+ position: relative;
120
+ display: flex;
121
+ align-items: center;
122
+ gap: 0.625rem;
123
+ padding-left: 0.35rem;
124
+ padding-right: 3rem;
125
+ min-height: 3rem;
126
+ margin-top: -0.28rem;
127
+ margin-bottom: 0.3rem;
128
+ }
129
+
130
+ .td-card--user .uc-avatar {
131
+ position: relative;
132
+ width: 2.75rem;
133
+ height: 2.75rem;
134
+ min-width: 2.75rem;
135
+ border-radius: 50%;
136
+ background: rgba(0, 0, 0, 0.08);
137
+ color: var(--card-accent-color);
138
+ display: flex;
139
+ align-items: center;
140
+ justify-content: center;
141
+ font-weight: 700;
142
+ font-size: 0.95rem;
143
+ text-transform: uppercase;
144
+ transition:
145
+ background-color 200ms ease,
146
+ color 200ms ease;
147
+ }
148
+
149
+ .td-card--user .uc-name {
150
+ min-width: 0;
151
+ font-weight: 800;
152
+ font-size: 18px;
153
+ color: #1e293b;
154
+ line-height: 1.25;
155
+ white-space: normal;
156
+ overflow-wrap: anywhere;
157
+ word-break: normal;
158
+ margin: 0;
159
+ }
160
+
161
+ .td-card--user .uc-meta-grid {
162
+ position: relative;
163
+ display: grid;
164
+ grid-template-columns: 1rem minmax(0, 1fr);
165
+ grid-auto-rows: minmax(1rem, auto);
166
+ align-items: center;
167
+ column-gap: 0.4rem;
168
+ row-gap: 0.25rem;
169
+ padding-left: 0.85rem;
170
+ padding-right: 2.75rem;
171
+ margin-top: 1.25rem;
172
+ min-height: 2.2rem;
173
+ }
174
+
175
+ .td-card--user .uc-meta-grid:not(:empty)::before {
176
+ content: "";
177
+ position: absolute;
178
+ top: -0.6rem;
179
+ left: 0.35rem;
180
+ right: 2.75rem;
181
+ border-top: 1px solid #e2e8f0;
182
+ pointer-events: none;
183
+ }
184
+
185
+ .td-card--user .uc-meta-grid > i.icon {
186
+ margin: 0;
187
+ width: 1rem;
188
+ color: #64748b;
189
+ font-size: 0.875rem;
190
+ line-height: 1;
191
+ }
192
+
193
+ .td-card--user .uc-username {
194
+ display: block;
195
+ min-width: 0;
196
+ font-size: 12px;
197
+ color: #475569;
198
+ font-weight: 600;
199
+ line-height: 1.2;
200
+ white-space: nowrap;
201
+ overflow: hidden;
202
+ text-overflow: ellipsis;
203
+ margin: 0;
204
+ overflow-wrap: anywhere;
205
+ }
206
+
207
+ .td-card--user .uc-email,
208
+ .td-card--user .uc-external-id {
209
+ display: block;
210
+ min-width: 0;
211
+ font-size: 12px;
212
+ color: #64748b;
213
+ font-weight: 500;
214
+ line-height: 1.2;
215
+ margin: 0;
216
+ white-space: nowrap;
217
+ overflow: hidden;
218
+ text-overflow: ellipsis;
219
+ overflow-wrap: anywhere;
220
+ }
221
+
222
+ .td-card--user .uc-external-id {
223
+ margin-right: 3rem;
224
+ }
225
+
226
+ .td-card--user :is(.uc-username, .uc-email, .uc-external-id) {
227
+ position: relative;
228
+ z-index: 2;
229
+ }
230
+
231
+ @media (hover: hover) and (pointer: fine) {
232
+ .td-card--user
233
+ .uc-card-link:has(
234
+ :is(.uc-username, .uc-email, .uc-external-id):not(:empty):hover
235
+ )
236
+ :is(.uc-username, .uc-email, .uc-external-id) {
237
+ color: #6b7280;
238
+
239
+ &:hover {
240
+ color: #0f172a;
241
+ }
242
+ }
243
+ }
244
+
245
+ .td-card--user .uc-username:hover,
246
+ .td-card--user .uc-username:focus,
247
+ .td-card--user .uc-email:hover,
248
+ .td-card--user .uc-email:focus,
249
+ .td-card--user > .content:focus .uc-username,
250
+ .td-card--user > .content:focus .uc-email {
251
+ white-space: normal;
252
+ overflow: visible;
253
+ text-overflow: clip;
254
+ }
255
+
256
+ .td-card--user > .ui.label.overlapping.groups-badge {
257
+ position: absolute !important;
258
+ bottom: -1px !important;
259
+ right: -1px !important;
260
+ left: auto !important;
261
+ top: auto !important;
262
+ float: none;
263
+ margin: 0 !important;
264
+ border: 0 !important;
265
+ border-radius: 18px 0 var(--uc-bottom-right-radius) 0 !important;
266
+ background: #eeeeee !important;
267
+ color: #888888 !important;
268
+ font-size: 12px;
269
+ font-weight: 700;
270
+ line-height: 1;
271
+ min-width: 3.8rem;
272
+ min-height: 2rem;
273
+ justify-content: center;
274
+ padding: 0.55em 1.75em;
275
+ display: inline-flex;
276
+ align-items: center;
277
+ gap: 0.4em;
278
+ white-space: nowrap;
279
+ pointer-events: auto;
280
+ cursor: pointer;
281
+ z-index: 18;
282
+ }
283
+
284
+ .td-card--user > .ui.label.overlapping.groups-badge > i.icon {
285
+ margin: 0;
286
+ font-size: 1rem;
287
+ line-height: 1;
288
+ }
289
+
290
+ .td-card--user > .ui.label.overlapping.groups-badge::before,
291
+ .td-card--user > .ui.label.overlapping.groups-badge::after {
292
+ display: none;
293
+ }
294
+
295
+ .ui.popup.uc-groups-popover {
296
+ padding: 0;
297
+ overflow: visible;
298
+ border: 1px solid var(--card-groups-popup-border-color);
299
+ border-radius: 1rem;
300
+ box-shadow: none;
301
+ animation: none;
302
+ transition: none;
303
+ background: var(--card-groups-popup-background);
304
+ color: var(--card-groups-popup-text-color);
305
+ }
306
+
307
+ .ui.popup.uc-groups-popover::before {
308
+ background: var(--card-groups-popup-background);
309
+ box-shadow: none;
310
+ border-left: 1px solid var(--card-groups-popup-border-color);
311
+ border-top: 1px solid var(--card-groups-popup-border-color);
312
+ }
313
+
314
+ .uc-groups-popup {
315
+ min-width: 13rem;
316
+ max-width: 18rem;
317
+ overflow: hidden;
318
+ border-radius: 1rem;
319
+ background: var(--card-groups-popup-background);
320
+ color: var(--card-groups-popup-text-color);
321
+ }
322
+
323
+ .uc-groups-popup__header {
324
+ display: flex;
325
+ align-items: center;
326
+ justify-content: center;
327
+ gap: 0.5rem;
328
+ padding: 0.55rem 0;
329
+ background: var(--card-groups-popup-header-background);
330
+ border-bottom: 1px solid var(--card-groups-popup-border-color);
331
+ color: var(--card-groups-popup-text-color);
332
+ font-size: 0.95rem;
333
+ font-weight: 900;
334
+ line-height: 1;
335
+ }
336
+
337
+ .uc-groups-popup__header > i.icon {
338
+ margin: 0;
339
+ font-size: 1.0625rem;
340
+ line-height: 1;
341
+ }
342
+
343
+ .uc-groups-popup__list {
344
+ display: grid;
345
+ gap: 0.2rem;
346
+ max-height: 14rem;
347
+ overflow-y: auto;
348
+ margin: 0;
349
+ padding: 0.25rem;
350
+ list-style: none;
351
+ }
352
+
353
+ .uc-groups-popup__item {
354
+ display: flex;
355
+ align-items: center;
356
+ gap: 0.5rem;
357
+ min-width: 0;
358
+ padding: 0.25rem 0.35rem;
359
+ border-radius: 0.7rem;
360
+ background: var(--card-groups-popup-item-background);
361
+ border: 1px solid var(--card-groups-popup-item-border-color);
362
+ }
363
+
364
+ .uc-groups-popup__marker {
365
+ display: inline-flex;
366
+ align-items: center;
367
+ justify-content: center;
368
+ flex: 0 0 1.55rem;
369
+ width: 1.55rem;
370
+ height: 1.55rem;
371
+ border-radius: 999px;
372
+ background: var(--card-groups-popup-marker-background);
373
+ color: var(--card-groups-popup-marker-color);
374
+ font-size: 0.78rem;
375
+ font-weight: 900;
376
+ }
377
+
378
+ .uc-groups-popup__name {
379
+ min-width: 0;
380
+ overflow: hidden;
381
+ color: var(--card-groups-popup-muted-text-color);
382
+ font-size: 0.9rem;
383
+ font-weight: 700;
384
+ line-height: 1.2;
385
+ text-overflow: ellipsis;
386
+ white-space: nowrap;
387
+ }
388
+
389
+ @media (hover: none), (pointer: coarse) {
390
+ .td-card--user .uc-actions {
391
+ visibility: visible;
392
+ }
393
+ .td-card--user .uc-action-btn {
394
+ min-width: 2.75rem;
395
+ max-width: 2.75rem;
396
+ height: 2.75rem;
397
+ justify-content: center;
398
+ }
399
+ .ui.card.td-card-base.td-card--user {
400
+ min-height: 12rem;
401
+ }
402
+ }
403
+ @media (prefers-reduced-motion: reduce) {
404
+ .td-card--user .uc-avatar,
405
+ .td-card--user .uc-action-btn,
406
+ .td-card--user .uc-action-label {
407
+ transition: none;
408
+ }
409
+ .ui.card.td-card-base.td-card--user,
410
+ .ui.card.td-card-base.td-card--user:hover,
411
+ .ui.card.td-card-base.td-card--user:focus-within,
412
+ .ui.card.td-card-base.td-card--user:active {
413
+ transition: none;
414
+ transform: none;
415
+ }
416
+ }