@orion-studios/payload-studio 0.6.0-beta.1 → 0.6.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,6 +35,11 @@
35
35
  --orion-cms-logo-radius,
36
36
  var(--orion-cms-logo-radius-resolved, var(--orion-admin-radius-md))
37
37
  );
38
+ --orion-admin-logo-bg: var(--orion-cms-logo-bg, transparent);
39
+ --orion-admin-logo-border: var(--orion-cms-logo-border, transparent);
40
+ --orion-admin-logo-shadow: var(--orion-cms-logo-shadow, none);
41
+ --orion-admin-logo-padding: var(--orion-cms-logo-padding, 0px);
42
+ --orion-admin-logo-fit: var(--orion-cms-logo-fit, contain);
38
43
  --orion-admin-control-bg: var(--orion-cms-surface, var(--orion-cms-surface-resolved, #ffffff));
39
44
  --orion-admin-control-hover-bg: color-mix(in srgb, var(--orion-admin-control-bg) 78%, white);
40
45
  --orion-admin-input-bg: var(
@@ -164,19 +169,47 @@
164
169
  }
165
170
 
166
171
  .orion-admin-brand-logo {
172
+ align-items: center;
173
+ background: var(--orion-admin-logo-bg);
174
+ border: 1px solid var(--orion-admin-logo-border);
167
175
  border-radius: var(--orion-admin-logo-radius);
176
+ box-shadow: var(--orion-admin-logo-shadow);
177
+ box-sizing: border-box;
178
+ display: flex;
168
179
  flex: 0 0 auto;
169
180
  height: 48px;
181
+ justify-content: center;
170
182
  overflow: hidden;
183
+ padding: var(--orion-admin-logo-padding);
171
184
  width: 48px;
172
185
  }
173
186
 
174
187
  .orion-admin-brand-logo img {
175
188
  height: 100%;
176
- object-fit: cover;
189
+ object-fit: var(--orion-admin-logo-fit);
177
190
  width: 100%;
178
191
  }
179
192
 
193
+ .orion-admin-logo-mark {
194
+ background: var(--orion-admin-logo-bg);
195
+ border: 1px solid var(--orion-admin-logo-border);
196
+ border-radius: var(--orion-admin-logo-radius);
197
+ box-shadow: var(--orion-admin-logo-shadow);
198
+ box-sizing: border-box;
199
+ padding: var(--orion-admin-logo-padding);
200
+ }
201
+
202
+ .orion-admin-logo-image {
203
+ display: block;
204
+ height: 100%;
205
+ object-fit: var(--orion-admin-logo-fit);
206
+ width: 100%;
207
+ }
208
+
209
+ .orion-admin-logo-image--dark {
210
+ display: none;
211
+ }
212
+
180
213
  .orion-admin-brand-text {
181
214
  min-width: 0;
182
215
  }
@@ -360,6 +393,368 @@
360
393
  margin-top: 0.25rem;
361
394
  }
362
395
 
396
+ .orion-dashboard-layout {
397
+ align-items: start;
398
+ display: grid;
399
+ gap: 1rem;
400
+ grid-template-columns: minmax(0, 1.5fr) minmax(320px, 0.95fr);
401
+ width: 100%;
402
+ }
403
+
404
+ .orion-dashboard-panel {
405
+ background:
406
+ radial-gradient(circle at top right, color-mix(in srgb, var(--orion-admin-accent) 8%, transparent), transparent 38%),
407
+ linear-gradient(
408
+ 180deg,
409
+ color-mix(in srgb, var(--orion-admin-card-bg) 96%, white),
410
+ color-mix(in srgb, var(--orion-admin-main-bg) 98%, var(--orion-admin-card-bg))
411
+ );
412
+ border: 1px solid var(--orion-admin-card-border);
413
+ border-radius: calc(var(--orion-admin-radius-lg) - 4px);
414
+ box-shadow: var(--orion-admin-shadow-card);
415
+ display: grid;
416
+ gap: 1rem;
417
+ min-width: 0;
418
+ overflow: hidden;
419
+ padding: 1.15rem;
420
+ position: relative;
421
+ }
422
+
423
+ .orion-dashboard-panel::before {
424
+ background: linear-gradient(90deg, color-mix(in srgb, var(--orion-admin-accent) 26%, transparent), transparent 72%);
425
+ content: '';
426
+ height: 1px;
427
+ inset: 0 auto auto 0;
428
+ position: absolute;
429
+ width: 100%;
430
+ }
431
+
432
+ .orion-dashboard-panel--activity,
433
+ .orion-dashboard-panel--snapshot {
434
+ min-height: 100%;
435
+ }
436
+
437
+ .orion-dashboard-panel-header {
438
+ align-items: start;
439
+ display: flex;
440
+ gap: 0.8rem;
441
+ justify-content: space-between;
442
+ }
443
+
444
+ .orion-dashboard-panel-header h2 {
445
+ color: var(--orion-admin-text);
446
+ font-family: var(--orion-cms-font-heading, var(--orion-cms-font-heading-resolved, Georgia, 'Times New Roman', serif));
447
+ font-size: 1.12rem;
448
+ line-height: 1.2;
449
+ margin: 0.25rem 0 0;
450
+ }
451
+
452
+ .orion-dashboard-panel-kicker,
453
+ .orion-dashboard-snapshot-kicker {
454
+ color: color-mix(in srgb, var(--orion-admin-muted) 92%, var(--orion-admin-accent));
455
+ display: inline-flex;
456
+ font-size: 0.72rem;
457
+ font-weight: 800;
458
+ letter-spacing: 0.16em;
459
+ text-transform: uppercase;
460
+ }
461
+
462
+ .orion-dashboard-panel-meta {
463
+ background: color-mix(in srgb, var(--orion-admin-accent) 10%, transparent);
464
+ border: 1px solid color-mix(in srgb, var(--orion-admin-accent) 18%, transparent);
465
+ border-radius: var(--orion-admin-radius-pill);
466
+ color: var(--orion-admin-accent);
467
+ font-size: 0.78rem;
468
+ font-weight: 700;
469
+ padding: 0.35rem 0.7rem;
470
+ white-space: nowrap;
471
+ }
472
+
473
+ .orion-dashboard-attention-list,
474
+ .orion-dashboard-action-list,
475
+ .orion-dashboard-activity-list {
476
+ display: grid;
477
+ gap: 0.7rem;
478
+ }
479
+
480
+ .orion-dashboard-attention-item,
481
+ .orion-dashboard-action,
482
+ .orion-dashboard-activity-item {
483
+ background: color-mix(in srgb, var(--orion-admin-card-bg) 82%, white);
484
+ border: 1px solid color-mix(in srgb, var(--orion-admin-card-border) 84%, transparent);
485
+ border-radius: var(--orion-admin-radius-md);
486
+ color: inherit;
487
+ min-width: 0;
488
+ text-decoration: none;
489
+ }
490
+
491
+ .orion-dashboard-attention-item {
492
+ align-items: center;
493
+ display: flex;
494
+ gap: 1rem;
495
+ justify-content: space-between;
496
+ padding: 0.9rem 1rem;
497
+ }
498
+
499
+ .orion-dashboard-attention-item strong {
500
+ font-size: 0.94rem;
501
+ line-height: 1.4;
502
+ }
503
+
504
+ .orion-dashboard-attention-item span {
505
+ color: var(--orion-admin-accent);
506
+ font-size: 0.84rem;
507
+ font-weight: 800;
508
+ white-space: nowrap;
509
+ }
510
+
511
+ .orion-dashboard-attention-item.is-accent {
512
+ background: color-mix(in srgb, var(--orion-admin-accent-subtle) 56%, var(--orion-admin-card-bg));
513
+ border-color: color-mix(in srgb, var(--orion-admin-accent) 22%, transparent);
514
+ }
515
+
516
+ .orion-dashboard-attention-item.is-muted {
517
+ background: color-mix(in srgb, var(--orion-admin-card-bg) 92%, var(--orion-admin-main-bg));
518
+ }
519
+
520
+ .orion-dashboard-action-list {
521
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
522
+ }
523
+
524
+ .orion-dashboard-action {
525
+ display: grid;
526
+ gap: 0.35rem;
527
+ padding: 0.95rem 1rem;
528
+ transition:
529
+ border-color 0.18s ease,
530
+ box-shadow 0.18s ease,
531
+ transform 0.18s ease;
532
+ }
533
+
534
+ .orion-dashboard-action strong {
535
+ color: var(--orion-admin-text);
536
+ font-size: 0.96rem;
537
+ }
538
+
539
+ .orion-dashboard-action span {
540
+ color: var(--orion-admin-muted);
541
+ font-size: 0.88rem;
542
+ line-height: 1.45;
543
+ }
544
+
545
+ .orion-dashboard-action:hover,
546
+ .orion-dashboard-activity-item:hover,
547
+ .orion-dashboard-workspace-pill:hover,
548
+ .orion-dashboard-attention-item:hover {
549
+ border-color: color-mix(in srgb, var(--orion-admin-accent) 22%, transparent);
550
+ box-shadow: 0 14px 28px color-mix(in srgb, var(--orion-admin-accent) 10%, transparent);
551
+ transform: translateY(-1px);
552
+ }
553
+
554
+ .orion-dashboard-action.is-soft {
555
+ background: color-mix(in srgb, var(--orion-admin-accent-subtle) 54%, var(--orion-admin-card-bg));
556
+ }
557
+
558
+ .orion-dashboard-action.is-ghost {
559
+ background: color-mix(in srgb, var(--orion-admin-card-bg) 78%, white);
560
+ }
561
+
562
+ .orion-dashboard-workspace-strip {
563
+ border-top: 1px solid color-mix(in srgb, var(--orion-admin-card-border) 72%, transparent);
564
+ display: grid;
565
+ gap: 0.75rem;
566
+ padding-top: 0.95rem;
567
+ }
568
+
569
+ .orion-dashboard-workspace-label {
570
+ color: var(--orion-admin-muted);
571
+ font-size: 0.8rem;
572
+ font-weight: 700;
573
+ text-transform: uppercase;
574
+ }
575
+
576
+ .orion-dashboard-workspace-pills {
577
+ display: flex;
578
+ flex-wrap: wrap;
579
+ gap: 0.55rem;
580
+ }
581
+
582
+ .orion-dashboard-workspace-pill {
583
+ background: color-mix(in srgb, var(--orion-admin-main-bg) 82%, white);
584
+ border: 1px solid color-mix(in srgb, var(--orion-admin-card-border) 74%, transparent);
585
+ border-radius: var(--orion-admin-radius-pill);
586
+ color: var(--orion-admin-text);
587
+ font-size: 0.84rem;
588
+ font-weight: 700;
589
+ padding: 0.45rem 0.8rem;
590
+ text-decoration: none;
591
+ transition:
592
+ border-color 0.18s ease,
593
+ box-shadow 0.18s ease,
594
+ transform 0.18s ease;
595
+ }
596
+
597
+ .orion-dashboard-activity-list {
598
+ align-content: start;
599
+ }
600
+
601
+ .orion-dashboard-activity-item {
602
+ align-items: center;
603
+ display: grid;
604
+ gap: 0.9rem;
605
+ grid-template-columns: minmax(0, 1fr) auto;
606
+ padding: 0.95rem 1rem;
607
+ }
608
+
609
+ .orion-dashboard-activity-item.is-page {
610
+ border-left: 3px solid color-mix(in srgb, var(--orion-admin-accent) 72%, transparent);
611
+ }
612
+
613
+ .orion-dashboard-activity-item.is-submission {
614
+ border-left: 3px solid color-mix(in srgb, var(--brand-secondary, var(--orion-admin-accent)) 68%, transparent);
615
+ }
616
+
617
+ .orion-dashboard-activity-item.is-media {
618
+ border-left: 3px solid color-mix(in srgb, var(--orion-admin-muted) 46%, transparent);
619
+ }
620
+
621
+ .orion-dashboard-activity-copy {
622
+ min-width: 0;
623
+ }
624
+
625
+ .orion-dashboard-activity-topline {
626
+ align-items: center;
627
+ display: flex;
628
+ gap: 0.75rem;
629
+ justify-content: space-between;
630
+ }
631
+
632
+ .orion-dashboard-activity-topline strong {
633
+ font-size: 0.95rem;
634
+ }
635
+
636
+ .orion-dashboard-activity-topline span,
637
+ .orion-dashboard-activity-copy p {
638
+ color: var(--orion-admin-muted);
639
+ font-size: 0.84rem;
640
+ }
641
+
642
+ .orion-dashboard-activity-copy p {
643
+ margin: 0.25rem 0 0;
644
+ }
645
+
646
+ .orion-dashboard-activity-pill {
647
+ align-self: start;
648
+ background: color-mix(in srgb, var(--orion-admin-accent) 10%, transparent);
649
+ border: 1px solid color-mix(in srgb, var(--orion-admin-accent) 18%, transparent);
650
+ border-radius: var(--orion-admin-radius-pill);
651
+ color: var(--orion-admin-accent);
652
+ font-size: 0.78rem;
653
+ font-weight: 800;
654
+ padding: 0.35rem 0.65rem;
655
+ text-transform: capitalize;
656
+ }
657
+
658
+ .orion-dashboard-snapshot-grid {
659
+ display: grid;
660
+ gap: 0.8rem;
661
+ grid-template-columns: repeat(2, minmax(0, 1fr));
662
+ }
663
+
664
+ .orion-dashboard-snapshot-card,
665
+ .orion-dashboard-extension-panel,
666
+ .orion-dashboard-extension-fallback {
667
+ background:
668
+ linear-gradient(
669
+ 180deg,
670
+ color-mix(in srgb, var(--orion-admin-card-bg) 96%, white),
671
+ color-mix(in srgb, var(--orion-admin-main-bg) 98%, var(--orion-admin-card-bg))
672
+ );
673
+ border: 1px solid color-mix(in srgb, var(--orion-admin-card-border) 84%, transparent);
674
+ border-radius: var(--orion-admin-radius-md);
675
+ min-width: 0;
676
+ padding: 0.95rem 1rem;
677
+ }
678
+
679
+ .orion-dashboard-snapshot-card strong {
680
+ color: var(--orion-admin-text);
681
+ display: block;
682
+ font-family: var(--orion-cms-font-heading, var(--orion-cms-font-heading-resolved, Georgia, 'Times New Roman', serif));
683
+ font-size: clamp(1.45rem, 2vw, 2rem);
684
+ line-height: 1;
685
+ margin-top: 0.45rem;
686
+ }
687
+
688
+ .orion-dashboard-snapshot-card p,
689
+ .orion-dashboard-extension-fallback p {
690
+ color: var(--orion-admin-muted);
691
+ font-size: 0.86rem;
692
+ line-height: 1.45;
693
+ margin: 0.45rem 0 0;
694
+ }
695
+
696
+ .orion-dashboard-extension-panel.is-full {
697
+ grid-column: 1 / -1;
698
+ }
699
+
700
+ .orion-dashboard-extension-fallback strong {
701
+ display: block;
702
+ font-size: 1rem;
703
+ margin-top: 0.35rem;
704
+ }
705
+
706
+ .orion-dashboard-empty-state,
707
+ .orion-dashboard-inline-note {
708
+ background: color-mix(in srgb, var(--orion-admin-main-bg) 66%, white);
709
+ border: 1px dashed color-mix(in srgb, var(--orion-admin-card-border) 72%, transparent);
710
+ border-radius: var(--orion-admin-radius-md);
711
+ color: var(--orion-admin-muted);
712
+ font-size: 0.9rem;
713
+ padding: 1rem;
714
+ }
715
+
716
+ .orion-dashboard-empty-state strong {
717
+ color: var(--orion-admin-text);
718
+ display: block;
719
+ font-size: 0.98rem;
720
+ margin-bottom: 0.35rem;
721
+ }
722
+
723
+ @media (max-width: 1320px) {
724
+ .orion-dashboard-layout {
725
+ grid-template-columns: minmax(0, 1fr);
726
+ }
727
+
728
+ .orion-dashboard-panel {
729
+ min-height: 0;
730
+ }
731
+ }
732
+
733
+ @media (max-width: 820px) {
734
+ .orion-dashboard-snapshot-grid,
735
+ .orion-dashboard-action-list {
736
+ grid-template-columns: minmax(0, 1fr);
737
+ }
738
+
739
+ .orion-dashboard-panel-header,
740
+ .orion-dashboard-activity-item,
741
+ .orion-dashboard-attention-item,
742
+ .orion-dashboard-activity-topline {
743
+ grid-template-columns: none;
744
+ }
745
+
746
+ .orion-dashboard-panel-header,
747
+ .orion-dashboard-activity-topline {
748
+ flex-direction: column;
749
+ align-items: flex-start;
750
+ }
751
+
752
+ .orion-dashboard-attention-item,
753
+ .orion-dashboard-activity-item {
754
+ align-items: flex-start;
755
+ }
756
+ }
757
+
363
758
  .orion-admin-list {
364
759
  display: grid;
365
760
  gap: 0.65rem;
@@ -583,12 +978,34 @@
583
978
  }
584
979
 
585
980
  .template-minimal.login .login__brand .orion-admin-logo-mark {
981
+ --orion-admin-logo-bg: var(
982
+ --orion-cms-logo-dark-bg,
983
+ color-mix(in srgb, var(--orion-admin-login-panel-bg) 88%, white)
984
+ );
985
+ --orion-admin-logo-border: var(
986
+ --orion-cms-logo-dark-border,
987
+ color-mix(in srgb, var(--brand-secondary) 26%, rgba(255, 255, 255, 0.28))
988
+ );
989
+ --orion-admin-logo-fit: var(--orion-cms-logo-dark-fit, contain);
990
+ --orion-admin-logo-padding: var(--orion-cms-logo-dark-padding, clamp(0.32rem, 0.8vw, 0.48rem));
991
+ --orion-admin-logo-shadow: var(
992
+ --orion-cms-logo-dark-shadow,
993
+ 0 18px 36px rgba(7, 13, 24, 0.18),
994
+ inset 0 1px 0 rgba(255, 255, 255, 0.72)
995
+ );
586
996
  border-radius: var(--orion-admin-logo-radius) !important;
587
- box-shadow: var(--orion-admin-shadow-card);
588
997
  height: 58px !important;
589
998
  width: 58px !important;
590
999
  }
591
1000
 
1001
+ .template-minimal.login .login__brand .orion-admin-logo-mark .orion-admin-logo-image--dark {
1002
+ display: block;
1003
+ }
1004
+
1005
+ .template-minimal.login .login__brand .orion-admin-logo-mark .orion-admin-logo-image--default:not(.is-only-logo) {
1006
+ display: none;
1007
+ }
1008
+
592
1009
  .template-minimal.login .login__brand .orion-admin-logo-wordmark {
593
1010
  color: var(--orion-admin-login-hero-text) !important;
594
1011
  font-family: var(--orion-cms-font-heading, var(--orion-cms-font-heading-resolved, Georgia, 'Times New Roman', serif));
@@ -600,7 +1017,8 @@
600
1017
  .orion-admin-login-intro {
601
1018
  color: var(--orion-admin-login-hero-text);
602
1019
  display: grid;
603
- gap: 1.15rem;
1020
+ align-content: end;
1021
+ gap: 0.95rem;
604
1022
  padding: clamp(1.6rem, 4vw, 2.75rem) clamp(2rem, 4vw, 3rem) clamp(2.2rem, 5vw, 3.25rem);
605
1023
  }
606
1024
 
@@ -622,45 +1040,29 @@
622
1040
  .orion-admin-login-intro h1 {
623
1041
  color: var(--orion-admin-login-hero-text);
624
1042
  font-family: var(--orion-cms-font-heading, var(--orion-cms-font-heading-resolved, Georgia, 'Times New Roman', serif));
625
- font-size: clamp(2.4rem, 3.8vw, 3.6rem);
626
- letter-spacing: -0.05em;
627
- line-height: 0.98;
1043
+ font-size: clamp(2.35rem, 3.4vw, 3.25rem);
1044
+ letter-spacing: -0.045em;
1045
+ line-height: 1;
628
1046
  margin: 0;
629
- max-width: 10ch;
1047
+ max-width: 11ch;
630
1048
  }
631
1049
 
632
1050
  .orion-admin-login-intro > p {
633
1051
  color: var(--orion-admin-login-hero-muted);
634
- font-size: 1.02rem;
635
- line-height: 1.75;
1052
+ font-size: 0.98rem;
1053
+ line-height: 1.7;
636
1054
  margin: 0;
637
- max-width: 34rem;
638
- }
639
-
640
- .orion-admin-login-note-grid {
641
- display: grid;
642
- gap: 0.85rem;
643
- margin-top: 0.35rem;
1055
+ max-width: 28rem;
644
1056
  }
645
1057
 
646
- .orion-admin-login-note {
647
- background: color-mix(in srgb, var(--orion-admin-login-hero-text) 8%, transparent);
648
- border: 1px solid color-mix(in srgb, var(--orion-admin-login-hero-text) 12%, transparent);
649
- border-radius: var(--orion-admin-radius-md);
650
- display: grid;
651
- gap: 0.3rem;
652
- padding: 1rem 1.05rem;
653
- }
654
-
655
- .orion-admin-login-note strong {
656
- color: var(--orion-admin-login-hero-text);
657
- font-size: 0.96rem;
658
- }
659
-
660
- .orion-admin-login-note span {
1058
+ .orion-admin-login-caption {
1059
+ border-top: 1px solid color-mix(in srgb, var(--orion-admin-login-hero-text) 14%, transparent);
661
1060
  color: var(--orion-admin-login-hero-muted);
662
1061
  font-size: 0.9rem;
1062
+ font-weight: 600;
663
1063
  line-height: 1.55;
1064
+ margin-top: 0.2rem !important;
1065
+ padding-top: 1rem;
664
1066
  }
665
1067
 
666
1068
  .template-minimal.login .login__form {
@@ -680,8 +1082,8 @@
680
1082
 
681
1083
  .template-minimal.login .login__form::before {
682
1084
  color: var(--brand-secondary);
683
- content: 'Welcome back';
684
- font-size: 0.76rem;
1085
+ content: 'Sign in';
1086
+ font-size: 0.78rem;
685
1087
  font-weight: 800;
686
1088
  letter-spacing: 0.18em;
687
1089
  margin-bottom: -0.1rem;
@@ -689,20 +1091,24 @@
689
1091
  }
690
1092
 
691
1093
  .template-minimal.login .login__form::after {
692
- color: var(--orion-admin-login-panel-text);
693
- content: 'Sign in to continue into your studio workspace.';
694
- font-family: var(--orion-cms-font-heading, var(--orion-cms-font-heading-resolved, Georgia, 'Times New Roman', serif));
695
- font-size: clamp(1.6rem, 2.3vw, 2.15rem);
696
- letter-spacing: -0.035em;
697
- line-height: 1.1;
698
- margin-bottom: 0.35rem;
1094
+ content: none;
699
1095
  }
700
1096
 
701
1097
  .template-minimal.login .login__form__inputWrap {
1098
+ display: grid;
702
1099
  gap: 1rem;
703
1100
  margin-bottom: 0;
704
1101
  }
705
1102
 
1103
+ .template-minimal.login .login__form__inputWrap::before {
1104
+ color: var(--orion-admin-login-panel-muted);
1105
+ content: 'Use the email and password for your admin account.';
1106
+ display: block;
1107
+ font-size: 0.96rem;
1108
+ line-height: 1.55;
1109
+ margin-bottom: 0.15rem;
1110
+ }
1111
+
706
1112
  .template-minimal.login .login__form .field-type {
707
1113
  display: grid;
708
1114
  gap: 0.42rem;
@@ -725,6 +1131,10 @@
725
1131
  display: grid;
726
1132
  }
727
1133
 
1134
+ .template-minimal.login .login__form .field-type.password .field-type__wrap > div {
1135
+ position: relative;
1136
+ }
1137
+
728
1138
  .template-minimal.login .login__form input {
729
1139
  background: var(--orion-admin-input-bg);
730
1140
  border: 1px solid var(--orion-admin-input-border);
@@ -742,6 +1152,61 @@
742
1152
  transform 0.18s ease;
743
1153
  }
744
1154
 
1155
+ .template-minimal.login .login__form .field-type.password input {
1156
+ padding-right: 4rem;
1157
+ }
1158
+
1159
+ .orion-admin-password-toggle-slot {
1160
+ align-items: center;
1161
+ display: flex;
1162
+ inset: 0.5rem 0.7rem 0.5rem auto;
1163
+ position: absolute;
1164
+ z-index: 2;
1165
+ }
1166
+
1167
+ .orion-admin-password-toggle {
1168
+ align-items: center;
1169
+ appearance: none;
1170
+ background: color-mix(in srgb, var(--orion-admin-input-bg) 92%, white);
1171
+ border: 1px solid color-mix(in srgb, var(--orion-admin-input-border) 82%, var(--brand-secondary) 18%);
1172
+ border-radius: var(--orion-admin-radius-pill);
1173
+ box-shadow:
1174
+ inset 0 1px 0 rgba(255, 255, 255, 0.7),
1175
+ 0 8px 18px rgba(62, 42, 24, 0.08);
1176
+ color: color-mix(in srgb, var(--orion-admin-login-panel-text) 86%, var(--brand-secondary) 14%);
1177
+ cursor: pointer;
1178
+ display: inline-flex;
1179
+ height: 40px;
1180
+ justify-content: center;
1181
+ padding: 0;
1182
+ transition:
1183
+ background 0.18s ease,
1184
+ border-color 0.18s ease,
1185
+ box-shadow 0.18s ease,
1186
+ color 0.18s ease,
1187
+ transform 0.18s ease;
1188
+ width: 40px;
1189
+ }
1190
+
1191
+ .orion-admin-password-toggle:hover {
1192
+ border-color: color-mix(in srgb, var(--brand-secondary) 34%, transparent);
1193
+ color: var(--orion-admin-accent);
1194
+ transform: translateY(-1px);
1195
+ }
1196
+
1197
+ .orion-admin-password-toggle[data-visible='true'] {
1198
+ background: color-mix(in srgb, var(--orion-admin-accent-soft) 72%, white);
1199
+ border-color: color-mix(in srgb, var(--orion-admin-accent) 28%, transparent);
1200
+ color: var(--orion-admin-accent);
1201
+ }
1202
+
1203
+ .orion-admin-password-toggle:focus-visible {
1204
+ box-shadow:
1205
+ 0 0 0 4px color-mix(in srgb, var(--orion-admin-accent) 12%, white),
1206
+ 0 14px 30px color-mix(in srgb, var(--orion-admin-accent) 18%, transparent);
1207
+ outline: none;
1208
+ }
1209
+
745
1210
  .template-minimal.login .login__form input::placeholder {
746
1211
  color: var(--orion-admin-input-placeholder);
747
1212
  }
@@ -186,8 +186,10 @@ function configureAdmin(config) {
186
186
  brandPrimary = "#3b82f6",
187
187
  brandSecondary = "#8b5cf6",
188
188
  defaultTheme = "brand-light",
189
+ logoOnDarkUrl,
189
190
  logoUrl,
190
- allowThemePreference = false
191
+ allowThemePreference = false,
192
+ userSessionDurationSeconds = 60 * 60 * 24
191
193
  } = config;
192
194
  const studioEnabled = config.studio?.enabled ?? true;
193
195
  const formsEnabled = config.studio?.forms?.enabled ?? false;
@@ -309,6 +311,7 @@ function configureAdmin(config) {
309
311
  path: clientPath,
310
312
  clientProps: {
311
313
  brandName,
314
+ logoOnDarkUrl,
312
315
  logoUrl
313
316
  }
314
317
  },
@@ -317,6 +320,7 @@ function configureAdmin(config) {
317
320
  path: clientPath,
318
321
  clientProps: {
319
322
  brandName,
323
+ logoOnDarkUrl,
320
324
  logoUrl
321
325
  }
322
326
  }
@@ -469,10 +473,17 @@ function configureAdmin(config) {
469
473
  path: clientPath,
470
474
  clientProps: {
471
475
  brandName,
476
+ logoOnDarkUrl,
472
477
  logoUrl
473
478
  }
474
479
  }
475
480
  ],
481
+ afterLogin: [
482
+ {
483
+ exportName: "AdminLoginPasswordToggle",
484
+ path: clientPath
485
+ }
486
+ ],
476
487
  ...allowThemePreference ? {
477
488
  afterNavLinks: [
478
489
  {
@@ -499,8 +510,17 @@ function configureAdmin(config) {
499
510
  const hasThemePreference = existingFields.some(
500
511
  (field) => typeof field === "object" && field !== null && "name" in field && field.name === "themePreference"
501
512
  );
513
+ const normalizedAuth = usersCollection.auth === true ? {
514
+ tokenExpiration: userSessionDurationSeconds,
515
+ useSessions: true
516
+ } : usersCollection.auth && typeof usersCollection.auth === "object" ? {
517
+ ...usersCollection.auth,
518
+ tokenExpiration: usersCollection.auth.tokenExpiration ?? userSessionDurationSeconds,
519
+ useSessions: usersCollection.auth.useSessions ?? true
520
+ } : usersCollection.auth;
502
521
  const nextCollection = {
503
522
  ...usersCollection,
523
+ auth: normalizedAuth,
504
524
  fields: !allowThemePreference || hasThemePreference ? existingFields : [...existingFields, createThemePreferenceField(defaultTheme)]
505
525
  };
506
526
  return attachStudioBackBreadcrumbToCollection(nextCollection);