@truedat/auth 8.14.3 → 8.14.4

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