@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,831 @@
1
+ .ui.modal.true-modal.user-modal--edit > .actions .ui.button.um-delete-user {
2
+ margin-right: auto;
3
+ }
4
+
5
+ .ui.modal.true-modal.user-modal {
6
+ > .content i.icon,
7
+ > .actions .button > i.icon {
8
+ font-size: 1.125em;
9
+ }
10
+
11
+ .um-user-type-selector {
12
+ display: grid;
13
+ grid-template-columns: repeat(2, minmax(0, 1fr));
14
+ gap: 8px;
15
+ }
16
+
17
+ .um-user-type-box,
18
+ .um-user-type-button {
19
+ display: inline-flex;
20
+ flex-direction: row;
21
+ align-items: center;
22
+ justify-content: center;
23
+ gap: 0.375rem;
24
+ min-height: max(44px, 3.25rem);
25
+ padding: 0.625rem 0.375rem;
26
+ border-radius: 0.375rem;
27
+ border: 1px solid #dfe7f0;
28
+ background: #f8fafc;
29
+ color: #475569;
30
+ font-size: 0.875rem;
31
+ font-weight: 600;
32
+ line-height: 1.1;
33
+ text-align: center;
34
+ cursor: pointer;
35
+ transition:
36
+ border-color 0.15s ease,
37
+ box-shadow 0.15s ease,
38
+ background-color 0.15s ease,
39
+ color 0.15s ease;
40
+
41
+ i.icon {
42
+ margin: 0;
43
+ font-size: 1rem;
44
+ flex-shrink: 0;
45
+ line-height: 1;
46
+ }
47
+
48
+ span {
49
+ min-width: 0;
50
+ overflow-wrap: anywhere;
51
+ }
52
+
53
+ &:is(button):hover,
54
+ &:is(button):focus-visible {
55
+ border-color: #93a8c5;
56
+ background: #ffffff;
57
+ color: #1e293b;
58
+ box-shadow: 0 0 0 3px rgba(0, 32, 87, 0.08);
59
+ outline: 0;
60
+ }
61
+ }
62
+
63
+ .um-user-type-box {
64
+ cursor: default;
65
+ background: #f1f3f5;
66
+ color: #6b7280;
67
+ }
68
+ .um-user-type-box--active {
69
+ background: #002057;
70
+ border-color: #002057;
71
+ color: #fff;
72
+ }
73
+
74
+ .um-user-type-button--active {
75
+ background: #edf3fc;
76
+ border-color: #002057;
77
+ color: #002057;
78
+ box-shadow: 0 0 0 3px rgba(0, 32, 87, 0.08);
79
+ }
80
+
81
+ width: min(48rem, calc(100vw - 2rem));
82
+ color: #27364c;
83
+ font-size: 1rem;
84
+ font-weight: 400;
85
+
86
+ &.user-modal--password {
87
+ width: min(36rem, calc(100vw - 2rem));
88
+ }
89
+ &.user-modal--delete {
90
+ width: min(28rem, calc(100vw - 2rem));
91
+ }
92
+
93
+ > .header:not(.ui) {
94
+ font-size: 1.75rem;
95
+ line-height: 1.25;
96
+ font-weight: 700;
97
+ text-transform: none;
98
+ letter-spacing: normal;
99
+ }
100
+ .true-modal-subtitle {
101
+ font-size: 1rem;
102
+ line-height: 1.4;
103
+ }
104
+ &:is(.user-modal--password, .user-modal--delete) > .actions .ui.button {
105
+ min-height: 2.75rem;
106
+ height: auto;
107
+ font-size: 1rem;
108
+ font-weight: 600;
109
+ text-transform: none;
110
+ letter-spacing: normal;
111
+ }
112
+ .um-danger-text {
113
+ color: var(--td-danger, #b91c1c);
114
+ font-weight: 600;
115
+ }
116
+ p {
117
+ overflow-wrap: anywhere;
118
+ }
119
+ .um-section {
120
+ margin-bottom: 1.5rem;
121
+ }
122
+ .um-section:last-child {
123
+ margin-bottom: 0;
124
+ }
125
+ .um-section-header {
126
+ margin-bottom: 1rem;
127
+ }
128
+ .um-section-bar {
129
+ display: none;
130
+ }
131
+ .um-section-label,
132
+ .um-acl-title {
133
+ font-size: 1.125rem;
134
+ font-weight: 600;
135
+ line-height: 1.4;
136
+ text-transform: none;
137
+ letter-spacing: normal;
138
+ }
139
+ .um-form-grid,
140
+ .um-form-top,
141
+ .um-profile-fields {
142
+ display: grid;
143
+ grid-template-columns: repeat(2, minmax(0, 1fr));
144
+ gap: 1rem;
145
+ }
146
+ .um-form-top {
147
+ align-items: start;
148
+ }
149
+ .um-form-top > .um-section {
150
+ min-width: 0;
151
+ margin-bottom: 0;
152
+ }
153
+ .um-form-grid:not(:last-child) {
154
+ margin-bottom: 1rem;
155
+ }
156
+ .ui.form .field {
157
+ margin: 0 0 0.875rem;
158
+ min-width: 0;
159
+ }
160
+ .ui.form .field > label {
161
+ margin-bottom: 0.5rem;
162
+ color: #475569;
163
+ font-size: 0.875rem;
164
+ font-weight: 600;
165
+ line-height: 1.4;
166
+ text-transform: none;
167
+ letter-spacing: normal;
168
+ }
169
+ .ui.form .ui.input input,
170
+ .ui.form .ui.dropdown.selection {
171
+ min-height: 2.75rem;
172
+ height: auto;
173
+ background: #f8fafc;
174
+ border: 1px solid #dfe7f0;
175
+ border-radius: 0.375rem;
176
+ color: #27364c;
177
+ font-size: 1rem;
178
+ font-weight: 400;
179
+ transition:
180
+ border-color 150ms ease,
181
+ background-color 150ms ease;
182
+ }
183
+ .ui.form .ui.input input::placeholder,
184
+ .ui.form .ui.dropdown .default.text {
185
+ color: #6b7280;
186
+ font-weight: 400;
187
+ opacity: 1;
188
+ }
189
+ .ui.form .ui.input input:focus,
190
+ .ui.form .ui.dropdown.selection:focus {
191
+ background: #fff;
192
+ border-color: #002057;
193
+ outline: 2px solid #002057;
194
+ outline-offset: 2px;
195
+ }
196
+ .ui.form .field.error input {
197
+ border-color: var(--td-danger, #b91c1c);
198
+ background: #fff;
199
+ }
200
+ .ui.form .ui.icon.input > i.icon {
201
+ color: #6b7280;
202
+ }
203
+ .ui.form .ui.dropdown.selection.multiple {
204
+ display: flex;
205
+ flex-wrap: wrap;
206
+ align-items: center;
207
+ gap: 0.25rem;
208
+ padding: 0.5rem 2.25rem 0.5rem 0.75rem;
209
+ }
210
+ .ui.form .ui.dropdown.selection.multiple > .label {
211
+ max-width: 100%;
212
+ white-space: normal;
213
+ overflow-wrap: anywhere;
214
+ margin: 0;
215
+ font-size: 0.875rem;
216
+ font-weight: 400;
217
+ background: #eef3f8;
218
+ color: #40516a;
219
+ }
220
+ .ui.form .ui.dropdown.selection.multiple > input.search {
221
+ position: static;
222
+ flex: 1 1 6rem;
223
+ width: 6rem;
224
+ min-width: 0;
225
+ height: 1.75rem;
226
+ margin: 0;
227
+ padding: 0;
228
+ }
229
+ .ui.form .ui.dropdown.selection > .menu {
230
+ position: static;
231
+ flex-basis: 100%;
232
+ width: 100%;
233
+ margin-top: 0.5rem;
234
+ max-height: min(16rem, 42vh);
235
+ overflow-y: auto;
236
+ border-radius: 0.375rem;
237
+ box-shadow: none;
238
+ }
239
+ .um-user-type-button:disabled {
240
+ cursor: not-allowed;
241
+ opacity: 0.55;
242
+ }
243
+ .um-user-type-button:disabled:hover {
244
+ background: #f8fafc;
245
+ box-shadow: none;
246
+ }
247
+ .um-user-type-button:focus-visible,
248
+ .um-acl-header:focus-visible {
249
+ outline: 2px solid #002057;
250
+ outline-offset: 2px;
251
+ }
252
+ .um-field-feedback {
253
+ min-block-size: 2.5em;
254
+ margin-top: 0.25rem;
255
+ color: var(--td-danger, #b91c1c);
256
+ font-size: 0.875rem;
257
+ line-height: 1.25;
258
+ }
259
+ .um-field-feedback > span {
260
+ opacity: 0;
261
+ transition: opacity 150ms ease;
262
+ }
263
+ .um-field-feedback > .is-visible {
264
+ opacity: 1;
265
+ }
266
+ .um-accessible-field {
267
+ position: absolute;
268
+ width: 1px;
269
+ height: 1px;
270
+ padding: 0;
271
+ overflow: hidden;
272
+ clip-path: inset(50%);
273
+ }
274
+ &.user-modal--password .ui.form {
275
+ display: grid;
276
+ gap: 0;
277
+ }
278
+ &.user-modal--password .ui.form .field {
279
+ margin: 0;
280
+ }
281
+ &.user-modal--password .ui.form .field:has(> label[for="password"]),
282
+ &.user-modal--password
283
+ .ui.form
284
+ .field:has(> label[for="passwordConfirmation"]) {
285
+ padding-top: 1rem;
286
+ }
287
+ &.user-modal--password > .content {
288
+ padding-bottom: 0.75rem;
289
+ }
290
+ &.user-modal--password .um-field-feedback {
291
+ min-block-size: 1.25em;
292
+ margin-top: 0.125rem;
293
+ }
294
+ &.user-modal--password .ui.form .field > label {
295
+ margin-bottom: 0.25rem;
296
+ }
297
+ &.user-modal--password .um-password-user {
298
+ margin-bottom: 0.75rem;
299
+ }
300
+ .um-profile,
301
+ .um-password-user {
302
+ display: flex;
303
+ align-items: center;
304
+ gap: 1rem;
305
+ margin-bottom: 1.5rem;
306
+ }
307
+ .um-avatar {
308
+ display: flex;
309
+ align-items: center;
310
+ justify-content: center;
311
+ flex: 0 0 4rem;
312
+ height: 4rem;
313
+ border-radius: 50%;
314
+ background: #002057;
315
+ color: #fff;
316
+ font-size: 1.5rem;
317
+ font-weight: 700;
318
+ }
319
+ .um-avatar--sm {
320
+ flex-basis: 2.75rem;
321
+ height: 2.75rem;
322
+ font-size: 1rem;
323
+ }
324
+ .um-profile-name {
325
+ margin: 0;
326
+ min-width: 0;
327
+ font-size: 1.5rem;
328
+ font-weight: 700;
329
+ overflow-wrap: anywhere;
330
+ }
331
+ .um-password-user > div:last-child {
332
+ min-width: 0;
333
+ }
334
+ .um-password-email {
335
+ margin-top: 0.25rem;
336
+ color: #6b7280;
337
+ font-size: 0.875rem;
338
+ overflow-wrap: anywhere;
339
+ }
340
+ .um-profile-fields {
341
+ margin: 0 0 1.5rem;
342
+ }
343
+ .um-profile-field {
344
+ min-width: 0;
345
+ }
346
+ .um-profile-field dt {
347
+ margin-bottom: 0.375rem;
348
+ color: #6b7280;
349
+ font-size: 0.875rem;
350
+ }
351
+ .um-profile-field dd {
352
+ margin: 0;
353
+ overflow-wrap: anywhere;
354
+ user-select: text;
355
+ }
356
+ .um-profile-groups {
357
+ margin-bottom: 1.5rem;
358
+ }
359
+ .um-profile-groups h3 {
360
+ display: flex;
361
+ align-items: center;
362
+ gap: 0.625rem;
363
+ margin-bottom: 0.75rem;
364
+ }
365
+ .um-groups {
366
+ display: flex;
367
+ flex-wrap: wrap;
368
+ gap: 0.5rem;
369
+ padding: 0;
370
+ margin: 0;
371
+ list-style: none;
372
+ }
373
+ .um-group-chip {
374
+ display: inline-block;
375
+ padding: 0.375rem 0.75rem;
376
+ border-radius: 0.375rem;
377
+ background: #eef3f8;
378
+ color: #40516a;
379
+ overflow-wrap: anywhere;
380
+
381
+ a {
382
+ display: inline-flex;
383
+ align-items: center;
384
+ gap: 0;
385
+ color: inherit;
386
+ text-decoration: none;
387
+ cursor: pointer;
388
+
389
+ > i.icon {
390
+ display: inline-flex;
391
+ align-items: center;
392
+ justify-content: center;
393
+ flex-shrink: 0;
394
+ width: 0;
395
+ height: 1em;
396
+ margin: 0;
397
+ font-size: 0.875em;
398
+ line-height: 1;
399
+ opacity: 0;
400
+ transition:
401
+ width 180ms ease,
402
+ margin-right 180ms ease,
403
+ opacity 140ms ease;
404
+
405
+ &::before {
406
+ display: block;
407
+ }
408
+ }
409
+
410
+ &:hover > i.icon {
411
+ width: 1.25em;
412
+ margin-right: 0.375rem;
413
+ opacity: 1;
414
+ }
415
+
416
+ &:hover,
417
+ &:focus-visible {
418
+ color: #002057;
419
+ font-weight: 700;
420
+ }
421
+
422
+ &:focus-visible {
423
+ outline: 2px solid #002057;
424
+ outline-offset: 2px;
425
+ border-radius: 2px;
426
+ }
427
+ }
428
+ }
429
+ .um-empty {
430
+ color: #6b7280;
431
+ font-size: 0.875rem;
432
+ }
433
+ .um-acl-section {
434
+ margin-top: 1.5rem;
435
+ }
436
+ .um-acl-section .ui.header {
437
+ display: none;
438
+ }
439
+ .um-acl-header {
440
+ display: flex;
441
+ align-items: center;
442
+ gap: 0.625rem;
443
+ width: 100%;
444
+ padding: 0 0 0.75rem;
445
+ border: 0;
446
+ border-bottom: 1px solid #e2e8f0;
447
+ background: transparent;
448
+ color: inherit;
449
+ font-family: inherit;
450
+ text-align: left;
451
+ cursor: pointer;
452
+ }
453
+ .um-acl-header > i.icon {
454
+ margin-left: auto;
455
+ }
456
+ .um-acl-count {
457
+ margin-left: 0.375rem;
458
+ color: #6b7280;
459
+ font-size: 0.875rem;
460
+ }
461
+ .um-acl-panel {
462
+ overflow-x: auto;
463
+ }
464
+ .um-acl-section .ui.table {
465
+ font-size: 0.875rem;
466
+ }
467
+ .um-acl-section .ui.table th {
468
+ font-weight: 600;
469
+ text-transform: none;
470
+ }
471
+ }
472
+
473
+ @media (max-width: 700px) {
474
+ .ui.modal.true-modal.user-modal {
475
+ > .header:not(.ui) {
476
+ font-size: 1.5rem;
477
+ }
478
+ .um-form-grid,
479
+ .um-form-top,
480
+ .um-profile-fields {
481
+ grid-template-columns: minmax(0, 1fr);
482
+ }
483
+ }
484
+ }
485
+
486
+ @media (prefers-reduced-motion: reduce) {
487
+ .ui.modal.true-modal.user-modal .um-field-feedback > span,
488
+ .ui.modal.true-modal.user-modal .um-group-chip a > i.icon,
489
+ .ui.modal.true-modal.user-modal .um-user-type-button {
490
+ transition: none;
491
+ }
492
+ }
493
+
494
+ .ui.modal.true-modal.user-modal--delete {
495
+ > .actions .ui.negative.button {
496
+ background: var(--td-danger, #b91c1c) !important;
497
+ border-color: var(--td-danger, #b91c1c) !important;
498
+ color: #fff !important;
499
+
500
+ &:hover,
501
+ &:focus-visible,
502
+ &:active {
503
+ background: var(--td-danger, #b91c1c) !important;
504
+ box-shadow: inset 0 0 0 100px rgba(0, 0, 0, 0.12);
505
+ }
506
+
507
+ &:focus-visible {
508
+ outline: 2px solid var(--td-danger, #b91c1c);
509
+ outline-offset: 2px;
510
+ }
511
+ &:disabled {
512
+ cursor: not-allowed;
513
+ }
514
+ }
515
+ }
516
+
517
+ .ui.modal.true-modal.user-modal--info,
518
+ .ui.modal.true-modal.user-modal--edit,
519
+ .ui.modal.true-modal.user-modal--create {
520
+ .um-profile-field dt,
521
+ .ui.form .field > label {
522
+ font-size: 1rem;
523
+ font-weight: 600;
524
+ color: #1f2937;
525
+ }
526
+
527
+ width: min(56rem, calc(100vw - 2rem));
528
+ max-height: calc(100dvh - 2rem);
529
+ color: #1e293b;
530
+
531
+ > .header:not(.ui) {
532
+ align-items: center;
533
+ padding: 1.5rem 4rem 1.5rem 1.75rem;
534
+ background: #0b2149;
535
+ color: #fff;
536
+ font-size: 1.5rem;
537
+ line-height: 1.4;
538
+ }
539
+ > .true-modal-close {
540
+ top: 1.5rem;
541
+ right: 1.5rem;
542
+ color: #fff;
543
+ }
544
+ > .content {
545
+ display: block;
546
+ overflow-y: auto;
547
+ padding: 1.75rem;
548
+ scrollbar-color: #cbd5e1 #f8fafc;
549
+ scrollbar-width: thin;
550
+ }
551
+ > .actions {
552
+ padding: 1rem 1.75rem;
553
+ background: #f8fafc;
554
+ border-top-color: #e2e8f0;
555
+ }
556
+ .um-section-label,
557
+ .um-acl-title {
558
+ color: #1e293b;
559
+ font-size: 1.125rem;
560
+ font-weight: 700;
561
+ }
562
+ .um-unavailable {
563
+ color: #64748b;
564
+ font-style: italic;
565
+ }
566
+ }
567
+
568
+ .ui.modal.true-modal.user-modal--edit,
569
+ .ui.modal.true-modal.user-modal--create {
570
+ .um-section-header {
571
+ padding-bottom: 0.625rem;
572
+ border-bottom: 1px solid #e2e8f0;
573
+ }
574
+ .um-form-top,
575
+ .um-section > .um-form-grid {
576
+ padding: 1.25rem;
577
+ border: 1px solid #edf2f7;
578
+ border-radius: 0.875rem;
579
+ background: #f8fafc;
580
+ }
581
+ .ui.form .field > label {
582
+ color: #1e293b;
583
+ }
584
+ .ui.form .ui.input input,
585
+ .ui.form .ui.dropdown.selection {
586
+ background: #fff;
587
+ border-color: #e2e8f0;
588
+ border-radius: 0.5rem;
589
+ color: #334155;
590
+
591
+ &:focus {
592
+ border-color: #0b2149;
593
+ outline-color: #0b2149;
594
+ }
595
+ }
596
+ .um-user-type-button--active {
597
+ border-color: #0b2149;
598
+ background: #eaf0f9;
599
+ color: #0b2149;
600
+ }
601
+ }
602
+
603
+ .ui.modal.true-modal.user-modal--create {
604
+ > .header:not(.ui) {
605
+ background: var(--td-modal-create-header-background, @primaryColor);
606
+ }
607
+ .um-section--password > .um-form-grid {
608
+ padding-bottom: 0;
609
+ }
610
+ }
611
+
612
+ .ui.modal.true-modal.user-modal--info {
613
+ .um-profile {
614
+ gap: 1rem;
615
+ margin-bottom: 1.5rem;
616
+ padding-bottom: 0;
617
+ border: 0;
618
+ flex-wrap: wrap;
619
+ }
620
+ .um-avatar {
621
+ flex-basis: 4.5rem;
622
+ height: 4.5rem;
623
+ background: #0b2149;
624
+ font-size: 1.75rem;
625
+ box-shadow: 0 2px 5px rgba(15, 23, 42, 0.14);
626
+ }
627
+ .um-profile-identity {
628
+ flex: 1 1 12rem;
629
+ min-width: 0;
630
+
631
+ p {
632
+ margin: 0.375rem 0 0;
633
+ color: #64748b;
634
+ font-size: 1.125rem;
635
+ }
636
+ }
637
+ .um-profile-name {
638
+ color: #0f172a;
639
+ font-size: 1.625rem;
640
+ line-height: 1.25;
641
+ }
642
+ .um-user-type-box {
643
+ align-self: flex-start;
644
+ min-height: 2.5rem;
645
+ padding: 0.625rem 1rem;
646
+ border-color: #0b2149;
647
+ border-radius: 0.625rem;
648
+ background: #0b2149;
649
+ font-size: 1rem;
650
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.1);
651
+
652
+ i.icon {
653
+ font-size: 1.125rem;
654
+ }
655
+ }
656
+ .um-profile-fields {
657
+ margin: 0 0 1.5rem;
658
+ padding: 1.25rem;
659
+ border: 1px solid #edf2f7;
660
+ border-radius: 0.875rem;
661
+ background: #f8fafc;
662
+ }
663
+ .um-profile-field dt {
664
+ display: flex;
665
+ align-items: center;
666
+ gap: 0.625rem;
667
+ margin-bottom: 0.375rem;
668
+ color: #1e293b;
669
+
670
+ > i.icon {
671
+ width: 1.25rem;
672
+ margin: 0;
673
+ color: #64748b;
674
+ }
675
+ }
676
+ .um-profile-field dd {
677
+ padding-left: 1.875rem;
678
+ color: #475569;
679
+ }
680
+ .um-profile-groups {
681
+ margin-bottom: 1.5rem;
682
+
683
+ h3 {
684
+ margin-bottom: 0.875rem;
685
+ padding-bottom: 0.625rem;
686
+ border-bottom: 1px solid #edf2f7;
687
+ }
688
+ }
689
+ .um-group-chip {
690
+ max-width: 100%;
691
+ border: 1px solid #e2e8f0;
692
+ border-radius: 0.5rem;
693
+ background: #f1f5f9;
694
+ color: #334155;
695
+ font-size: 0.9375rem;
696
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
697
+ }
698
+ .um-acl-section {
699
+ margin-top: 1.5rem;
700
+ }
701
+ .um-acl-header {
702
+ padding-bottom: 0;
703
+ border: 0;
704
+
705
+ > span:first-child {
706
+ color: #64748b;
707
+ }
708
+ > i.icon:last-child {
709
+ color: #94a3b8;
710
+ }
711
+ }
712
+ .um-acl-section--groups > .um-acl-header {
713
+ margin-bottom: 0.875rem;
714
+ }
715
+ .um-acl-toolbar {
716
+ position: relative;
717
+ display: flex;
718
+ align-items: center;
719
+ gap: 0.75rem;
720
+ flex-wrap: wrap;
721
+ padding-right: 2rem;
722
+ margin-bottom: 0.875rem;
723
+
724
+ .um-acl-header {
725
+ flex: 1 1 10rem;
726
+ width: auto;
727
+
728
+ > i.icon:last-child {
729
+ position: absolute;
730
+ right: 0;
731
+ }
732
+ }
733
+ }
734
+ .um-acl-count {
735
+ color: #94a3b8;
736
+ font-weight: 400;
737
+ }
738
+ .um-acl-grouping .ui.toggle.checkbox {
739
+ min-height: 1.25rem;
740
+
741
+ label {
742
+ padding-left: 3rem;
743
+ color: #475569;
744
+ font-size: 0.875rem;
745
+ line-height: 1.5rem;
746
+
747
+ &::before {
748
+ width: 2.5rem;
749
+ height: 1.25rem;
750
+ top: 0.125rem;
751
+ }
752
+ &::after {
753
+ width: 1rem;
754
+ height: 1rem;
755
+ top: 0.25rem;
756
+ left: 0.125rem;
757
+ }
758
+ }
759
+ input:checked ~ label::after {
760
+ left: 1.375rem;
761
+ }
762
+ }
763
+ .um-acl-panel {
764
+ max-height: none;
765
+ overflow-x: auto;
766
+ border: 1px solid #e2e8f0;
767
+ border-radius: 0.75rem;
768
+ box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
769
+ }
770
+ .um-acl-panel > .ui.table {
771
+ width: 100%;
772
+ margin: 0;
773
+ border: 0;
774
+ border-radius: 0;
775
+ color: #475569;
776
+ font-size: 0.9375rem;
777
+
778
+ th,
779
+ td {
780
+ padding: 0.75rem 0.875rem;
781
+ overflow-wrap: anywhere;
782
+ }
783
+ th {
784
+ background: #f8fafc;
785
+ color: #334155;
786
+ border-bottom-color: #e2e8f0;
787
+ }
788
+ td {
789
+ border-top-color: #edf2f7;
790
+ }
791
+ tbody tr:nth-child(even) {
792
+ background: #fbfdff;
793
+ }
794
+ tbody tr:hover {
795
+ background: #f8fafc;
796
+ }
797
+ }
798
+ .um-acl-section--groups .ui.table {
799
+ table-layout: fixed;
800
+ }
801
+ .um-acl-values {
802
+ margin: 0;
803
+ padding-left: 1.25rem;
804
+
805
+ &:has(> li:only-child) {
806
+ padding-left: 0;
807
+ list-style: none;
808
+ }
809
+ }
810
+ }
811
+
812
+ @media (max-width: 700px) {
813
+ .ui.modal.true-modal.user-modal--info,
814
+ .ui.modal.true-modal.user-modal--edit,
815
+ .ui.modal.true-modal.user-modal--create {
816
+ > .content {
817
+ padding: 1.25rem;
818
+ }
819
+ > .header:not(.ui) {
820
+ padding-left: 1.25rem;
821
+ font-size: 1.25rem;
822
+ }
823
+ > .actions {
824
+ padding-right: 1.25rem;
825
+ padding-left: 1.25rem;
826
+ }
827
+ }
828
+ .ui.modal.true-modal.user-modal--info .um-user-type-box {
829
+ margin-left: auto;
830
+ }
831
+ }