@f5xc-salesdemos/docs-theme 2.0.1 → 2.0.2

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 (2) hide show
  1. package/package.json +1 -1
  2. package/styles/custom.css +124 -77
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@f5xc-salesdemos/docs-theme",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "F5 Distributed Cloud branded Starlight documentation theme",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/styles/custom.css CHANGED
@@ -55,13 +55,13 @@
55
55
  --color-N200: #e6e9f3;
56
56
  }
57
57
 
58
- :root:not([data-theme='light']) {
58
+ :root:not([data-theme="light"]) {
59
59
  --color-N600: #e5eaff;
60
60
  --color-blue-light: #0e41aa;
61
61
  --color-N200: #1a2a6c;
62
62
  }
63
63
 
64
- :root[data-theme='light'] {
64
+ :root[data-theme="light"] {
65
65
  --color-N600: #0f1e57;
66
66
  --color-blue-light: #e5eaff;
67
67
  --color-N200: #e6e9f3;
@@ -99,18 +99,10 @@
99
99
 
100
100
  /* Shadows — dark mode (neutral-tinted #cccccc base) */
101
101
  --f5-shadow-inset: inset 0px 1px 2px 1px #cccccc0d;
102
- --f5-shadow-low:
103
- 0px 1px 1px 0px #cccccc0a,
104
- 0px 2px 2px 0px #cccccc0a;
105
- --f5-shadow-mid:
106
- 0px 2px 3px 0px #cccccc0d,
107
- 0px 8px 16px -10px #cccccc1a;
108
- --f5-shadow-high:
109
- 0px 2px 3px 0px #cccccc1a,
110
- 0px 16px 16px -10px #cccccc1a;
111
- --f5-shadow-higher:
112
- 0px 2px 3px 0px #cccccc0d,
113
- 0px 12px 28px 0px #cccccc26;
102
+ --f5-shadow-low: 0px 1px 1px 0px #cccccc0a, 0px 2px 2px 0px #cccccc0a;
103
+ --f5-shadow-mid: 0px 2px 3px 0px #cccccc0d, 0px 8px 16px -10px #cccccc1a;
104
+ --f5-shadow-high: 0px 2px 3px 0px #cccccc1a, 0px 16px 16px -10px #cccccc1a;
105
+ --f5-shadow-higher: 0px 2px 3px 0px #cccccc0d, 0px 12px 28px 0px #cccccc26;
114
106
 
115
107
  /* Borders — dark mode (alpha-transparent) */
116
108
  --f5-border-faint: #f5f5f51a;
@@ -129,12 +121,14 @@
129
121
  --f5-transition-spring: 0.2s cubic-bezier(0.54, 1.5, 0.38, 1.11);
130
122
 
131
123
  /* Focus rings */
132
- --f5-focus-action: inset 0 0 0 1px var(--f5-river), 0 0 0 3px var(--f5-river-2);
133
- --f5-focus-critical: inset 0 0 0 1px var(--f5-red-3), 0 0 0 3px var(--f5-red-2);
124
+ --f5-focus-action:
125
+ inset 0 0 0 1px var(--f5-river), 0 0 0 3px var(--f5-river-2);
126
+ --f5-focus-critical:
127
+ inset 0 0 0 1px var(--f5-red-3), 0 0 0 3px var(--f5-red-2);
134
128
  }
135
129
 
136
130
  /* ===== Light Mode ===== */
137
- :root[data-theme='light'] {
131
+ :root[data-theme="light"] {
138
132
  --sl-color-white: var(--f5-black-4);
139
133
  --sl-color-gray-1: var(--f5-black-4);
140
134
  --sl-color-gray-2: var(--f5-black-3);
@@ -157,18 +151,10 @@
157
151
 
158
152
  /* Shadows — light mode (#343434 base) */
159
153
  --f5-shadow-inset: inset 0px 1px 2px 1px #3434341a;
160
- --f5-shadow-low:
161
- 0px 1px 1px 0px #3434340d,
162
- 0px 2px 2px 0px #3434340d;
163
- --f5-shadow-mid:
164
- 0px 2px 3px 0px #3434341a,
165
- 0px 8px 16px -10px #34343433;
166
- --f5-shadow-high:
167
- 0px 2px 3px 0px #34343426,
168
- 0px 16px 16px -10px #34343433;
169
- --f5-shadow-higher:
170
- 0px 2px 3px 0px #3434341a,
171
- 0px 12px 28px 0px #34343440;
154
+ --f5-shadow-low: 0px 1px 1px 0px #3434340d, 0px 2px 2px 0px #3434340d;
155
+ --f5-shadow-mid: 0px 2px 3px 0px #3434341a, 0px 8px 16px -10px #34343433;
156
+ --f5-shadow-high: 0px 2px 3px 0px #34343426, 0px 16px 16px -10px #34343433;
157
+ --f5-shadow-higher: 0px 2px 3px 0px #3434341a, 0px 12px 28px 0px #34343440;
172
158
 
173
159
  /* Borders — light mode */
174
160
  --f5-border-faint: #3434341a;
@@ -182,8 +168,9 @@
182
168
 
183
169
  /* ===== Fonts & Layout ===== */
184
170
  :root {
185
- --sl-font: "proximaNova", system-ui, "Segoe UI", Helvetica, Arial, sans-serif;
186
- --sl-font-heading: "neusaNextProWide", system-ui, "Segoe UI", Helvetica, Arial, sans-serif;
171
+ --sl-font: "proximaNova", system-ui, "Segoe UI", helvetica, arial, sans-serif;
172
+ --sl-font-heading:
173
+ "neusaNextProWide", system-ui, "Segoe UI", helvetica, arial, sans-serif;
187
174
  --sl-content-width: 60rem;
188
175
  --sl-sidebar-width: 15rem;
189
176
 
@@ -195,12 +182,18 @@
195
182
  --sl-text-h4: var(--sl-text-lg);
196
183
  }
197
184
 
198
- h1, h2, h3, h4, h5, h6 {
185
+ h1,
186
+ h2,
187
+ h3,
188
+ h4,
189
+ h5,
190
+ h6 {
199
191
  font-family: var(--sl-font-heading);
200
192
  }
201
193
 
202
194
  /* F5 type hierarchy weights */
203
- h1, h2 {
195
+ h1,
196
+ h2 {
204
197
  font-weight: 700;
205
198
  }
206
199
 
@@ -208,14 +201,16 @@ h3 {
208
201
  font-weight: 500;
209
202
  }
210
203
 
211
- h4, h5, h6 {
204
+ h4,
205
+ h5,
206
+ h6 {
212
207
  font-family: var(--sl-font);
213
208
  font-weight: 700;
214
209
  text-transform: uppercase;
215
210
  letter-spacing: 0.05em;
216
211
  }
217
212
 
218
- @media (min-width: 72rem) {
213
+ @media (width >= 72rem) {
219
214
  .right-sidebar-container {
220
215
  max-width: 11rem;
221
216
  }
@@ -252,9 +247,11 @@ h4, h5, h6 {
252
247
  /* Starlight Card — consistent shadow */
253
248
  .card {
254
249
  box-shadow: var(--f5-shadow-low);
255
- transition: box-shadow var(--f5-transition-base),
256
- transform var(--f5-transition-base);
250
+ transition:
251
+ box-shadow var(--f5-transition-base),
252
+ transform var(--f5-transition-base);
257
253
  }
254
+
258
255
  .card:hover {
259
256
  box-shadow: var(--f5-shadow-mid);
260
257
  transform: translateY(-1px);
@@ -274,11 +271,11 @@ h4, h5, h6 {
274
271
 
275
272
  /* macOS iTerm-style window frame for terminal code blocks */
276
273
  .expressive-code .frame.is-terminal {
277
- border: 2px solid rgba(255, 255, 255, 0.15);
274
+ border: 2px solid rgb(255 255 255 / 15%);
278
275
  }
279
276
 
280
277
  :root[data-theme="light"] .expressive-code .frame.is-terminal {
281
- border-color: rgba(0, 0, 0, 0.2);
278
+ border-color: rgb(0 0 0 / 20%);
282
279
  }
283
280
 
284
281
  .expressive-code .frame.is-terminal .header {
@@ -296,7 +293,8 @@ h4, h5, h6 {
296
293
  .expressive-code .frame.is-terminal .header::before {
297
294
  -webkit-mask-image: none !important;
298
295
  mask-image: none !important;
299
- background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 12'%3E%3Ccircle cx='6' cy='6' r='6' fill='%23ff5f56'/%3E%3Cpath d='M3.8 3.8L8.2 8.2M8.2 3.8L3.8 8.2' stroke='%234d0000' stroke-width='1.1' stroke-linecap='round'/%3E%3Ccircle cx='26' cy='6' r='6' fill='%23ffbd2e'/%3E%3Cpath d='M23.5 6H28.5' stroke='%23995700' stroke-width='1.1' stroke-linecap='round'/%3E%3Ccircle cx='46' cy='6' r='6' fill='%2327c93f'/%3E%3Cpolygon points='43.5,3.5 43.5,6 46,3.5' fill='%23006500'/%3E%3Cpolygon points='48.5,8.5 48.5,6 46,8.5' fill='%23006500'/%3E%3C/svg%3E") no-repeat center / contain !important;
296
+ background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 12'%3E%3Ccircle cx='6' cy='6' r='6' fill='%23ff5f56'/%3E%3Cpath d='M3.8 3.8L8.2 8.2M8.2 3.8L3.8 8.2' stroke='%234d0000' stroke-width='1.1' stroke-linecap='round'/%3E%3Ccircle cx='26' cy='6' r='6' fill='%23ffbd2e'/%3E%3Cpath d='M23.5 6H28.5' stroke='%23995700' stroke-width='1.1' stroke-linecap='round'/%3E%3Ccircle cx='46' cy='6' r='6' fill='%2327c93f'/%3E%3Cpolygon points='43.5,3.5 43.5,6 46,3.5' fill='%23006500'/%3E%3Cpolygon points='48.5,8.5 48.5,6 46,8.5' fill='%23006500'/%3E%3C/svg%3E")
297
+ no-repeat center / contain !important;
300
298
  opacity: 1 !important;
301
299
  width: 52px;
302
300
  height: 12px;
@@ -338,7 +336,7 @@ h4, h5, h6 {
338
336
  }
339
337
 
340
338
  .breadcrumbs li + li::before {
341
- content: '/';
339
+ content: "/";
342
340
  padding-inline: 0.375rem;
343
341
  color: var(--sl-color-gray-5);
344
342
  }
@@ -371,9 +369,10 @@ h4, h5, h6 {
371
369
  text-decoration: none;
372
370
  white-space: nowrap;
373
371
  flex-shrink: 0;
374
- transition: color var(--f5-transition-fast),
375
- background var(--f5-transition-fast),
376
- border-color var(--f5-transition-fast);
372
+ transition:
373
+ color var(--f5-transition-fast),
374
+ background var(--f5-transition-fast),
375
+ border-color var(--f5-transition-fast);
377
376
  }
378
377
 
379
378
  .edit-link:hover {
@@ -412,8 +411,13 @@ h4, h5, h6 {
412
411
  font-family: var(--sl-font);
413
412
  }
414
413
 
415
- .swatch-color.text-light { color: #fff; }
416
- .swatch-color.text-dark { color: #000; }
414
+ .swatch-color.text-light {
415
+ color: #fff;
416
+ }
417
+
418
+ .swatch-color.text-dark {
419
+ color: #000;
420
+ }
417
421
 
418
422
  .swatch-label {
419
423
  padding: 0.5rem;
@@ -452,7 +456,7 @@ h4, h5, h6 {
452
456
  background: var(--sl-color-gray-7, #faf9f7);
453
457
  }
454
458
 
455
- :root:not([data-theme='light']) .icon-card-image {
459
+ :root:not([data-theme="light"]) .icon-card-image {
456
460
  background: var(--sl-color-gray-6);
457
461
  }
458
462
 
@@ -463,12 +467,12 @@ h4, h5, h6 {
463
467
  }
464
468
 
465
469
  /* Invert near-black SVGs for dark mode visibility */
466
- :root:not([data-theme='light']) .icon-card-image img {
470
+ :root:not([data-theme="light"]) .icon-card-image img {
467
471
  filter: invert(1);
468
472
  }
469
473
 
470
474
  /* Preserve original colors for branded/color-variant icons in dark mode */
471
- :root:not([data-theme='light']) .icon-card-image.no-invert img {
475
+ :root:not([data-theme="light"]) .icon-card-image.no-invert img {
472
476
  filter: none;
473
477
  }
474
478
 
@@ -480,7 +484,7 @@ h4, h5, h6 {
480
484
  font-family: var(--sl-font);
481
485
  background: var(--sl-color-gray-6);
482
486
  color: var(--sl-color-gray-1);
483
- word-break: break-word;
487
+ overflow-wrap: break-word;
484
488
  }
485
489
 
486
490
  /* ===== Scroll-to-Top Button Size Override ===== */
@@ -488,14 +492,17 @@ h4, h5, h6 {
488
492
  width: 36px !important;
489
493
  height: 36px !important;
490
494
  }
495
+
491
496
  .scroll-to-top-button svg {
492
497
  width: 20px !important;
493
498
  height: 20px !important;
494
499
  }
500
+
495
501
  .scroll-to-top-button .scroll-progress-ring {
496
502
  width: 36px !important;
497
503
  height: 36px !important;
498
504
  }
505
+
499
506
  .scroll-to-top-button .scroll-progress-ring circle {
500
507
  cx: 18;
501
508
  cy: 18;
@@ -508,6 +515,7 @@ body.light-mode {
508
515
  background-color: var(--sl-color-bg) !important;
509
516
  color: var(--sl-color-text) !important;
510
517
  }
518
+
511
519
  body {
512
520
  --scalar-background-1: unset;
513
521
  --scalar-background-2: unset;
@@ -517,8 +525,9 @@ body {
517
525
  /* ===== Phase 2: Sidebar Navigation Enhancement ===== */
518
526
  .sidebar-content a {
519
527
  border-radius: var(--f5-radius-sm);
520
- transition: background-color var(--f5-transition-fast),
521
- color var(--f5-transition-fast);
528
+ transition:
529
+ background-color var(--f5-transition-fast),
530
+ color var(--f5-transition-fast);
522
531
  }
523
532
 
524
533
  .sidebar-content a:hover {
@@ -534,12 +543,15 @@ body {
534
543
  }
535
544
 
536
545
  /* ===== Phase 3: Card Hover Effects + Link Transitions ===== */
537
- .swatch, .icon-card {
538
- transition: box-shadow var(--f5-transition-base),
539
- transform var(--f5-transition-base);
546
+ .swatch,
547
+ .icon-card {
548
+ transition:
549
+ box-shadow var(--f5-transition-base),
550
+ transform var(--f5-transition-base);
540
551
  }
541
552
 
542
- .swatch:hover, .icon-card:hover {
553
+ .swatch:hover,
554
+ .icon-card:hover {
543
555
  box-shadow: var(--f5-shadow-mid);
544
556
  transform: translateY(-1px);
545
557
  }
@@ -570,9 +582,11 @@ body {
570
582
  background: var(--f5-red);
571
583
  color: var(--f5-white);
572
584
  border: none;
573
- transition: background-color var(--f5-transition-fast),
574
- box-shadow var(--f5-transition-fast);
585
+ transition:
586
+ background-color var(--f5-transition-fast),
587
+ box-shadow var(--f5-transition-fast);
575
588
  }
589
+
576
590
  .btn-primary:hover {
577
591
  background: var(--f5-red-3);
578
592
  box-shadow: var(--f5-shadow-low);
@@ -584,9 +598,11 @@ body {
584
598
  background: transparent;
585
599
  color: var(--sl-color-gray-2);
586
600
  border: 1px solid var(--f5-border-default);
587
- transition: background-color var(--f5-transition-fast),
588
- border-color var(--f5-transition-fast);
601
+ transition:
602
+ background-color var(--f5-transition-fast),
603
+ border-color var(--f5-transition-fast);
589
604
  }
605
+
590
606
  .btn-secondary:hover {
591
607
  background: var(--f5-surface-hover);
592
608
  border-color: var(--f5-border-strong);
@@ -599,56 +615,79 @@ body {
599
615
  border: none;
600
616
  transition: background-color var(--f5-transition-fast);
601
617
  }
618
+
602
619
  .btn-tertiary:hover {
603
620
  background: var(--f5-surface-hover);
604
621
  text-decoration: none;
605
622
  }
606
623
 
607
- .btn-sm { padding: 0.375rem 0.75rem; font-size: 0.8125rem; min-height: 2rem; }
608
- .btn-lg { padding: 0.75rem 1.5rem; font-size: 1rem; min-height: 3rem; }
624
+ .btn-sm {
625
+ padding: 0.375rem 0.75rem;
626
+ font-size: 0.8125rem;
627
+ min-height: 2rem;
628
+ }
629
+
630
+ .btn-lg {
631
+ padding: 0.75rem 1.5rem;
632
+ font-size: 1rem;
633
+ min-height: 3rem;
634
+ }
609
635
 
610
636
  .btn-critical {
611
637
  background: var(--f5-red-3);
612
638
  color: var(--f5-white);
613
639
  border: none;
614
- transition: background-color var(--f5-transition-fast),
615
- box-shadow var(--f5-transition-fast);
640
+ transition:
641
+ background-color var(--f5-transition-fast),
642
+ box-shadow var(--f5-transition-fast);
616
643
  }
644
+
617
645
  .btn-critical:hover {
618
646
  background: var(--f5-red-4);
619
647
  box-shadow: var(--f5-shadow-low);
620
648
  text-decoration: none;
621
649
  color: var(--f5-white);
622
650
  }
651
+
623
652
  .btn-critical:focus-visible {
624
653
  box-shadow: var(--f5-focus-critical);
625
654
  }
626
655
 
627
656
  /* ===== Phase 5: Hero Gradients ===== */
628
657
  .hero-gradient-primary {
629
- background: linear-gradient(135deg, var(--f5-river-2) 0%, var(--f5-river) 100%);
658
+ background: linear-gradient(
659
+ 135deg,
660
+ var(--f5-river-2) 0%,
661
+ var(--f5-river) 100%
662
+ );
630
663
  }
631
664
 
632
665
  .hero-gradient-eggplant {
633
- background: linear-gradient(135deg, var(--f5-eggplant-2) 0%, var(--f5-eggplant) 100%);
666
+ background: linear-gradient(
667
+ 135deg,
668
+ var(--f5-eggplant-2) 0%,
669
+ var(--f5-eggplant) 100%
670
+ );
634
671
  }
635
672
 
636
673
  .hero-gradient-red {
637
674
  background: linear-gradient(135deg, var(--f5-red-2) 0%, var(--f5-red) 100%);
638
675
  }
639
676
 
640
- :root[data-theme='light'] .hero-gradient-faint {
677
+ :root[data-theme="light"] .hero-gradient-faint {
641
678
  background: linear-gradient(180deg, #faf9f7 0%, #f5f5f5 100%);
642
679
  }
643
- :root:not([data-theme='light']) .hero-gradient-faint {
680
+
681
+ :root:not([data-theme="light"]) .hero-gradient-faint {
644
682
  background: linear-gradient(180deg, #222 0%, #000 100%);
645
683
  }
646
684
 
647
685
  .hero-fade {
648
686
  position: relative;
649
687
  }
688
+
650
689
  .hero-fade::after {
651
- content: '';
690
+ content: "";
652
691
  position: absolute;
653
692
  bottom: 0;
654
693
  left: 0;
@@ -658,12 +697,19 @@ body {
658
697
  pointer-events: none;
659
698
  }
660
699
 
661
- .hero-vignette { position: relative; }
700
+ .hero-vignette {
701
+ position: relative;
702
+ }
703
+
662
704
  .hero-vignette::after {
663
- content: '';
705
+ content: "";
664
706
  position: absolute;
665
707
  inset: 0;
666
- background: radial-gradient(ellipse at center, transparent 40%, rgba(0, 0, 0, 0.15) 100%);
708
+ background: radial-gradient(
709
+ ellipse at center,
710
+ transparent 40%,
711
+ rgb(0 0 0 / 15%) 100%
712
+ );
667
713
  pointer-events: none;
668
714
  }
669
715
 
@@ -683,14 +729,15 @@ summary:focus-visible {
683
729
  }
684
730
 
685
731
  .social-links a {
686
- transition: opacity var(--f5-transition-base),
687
- color var(--f5-transition-base);
732
+ transition:
733
+ opacity var(--f5-transition-base),
734
+ color var(--f5-transition-base);
688
735
  }
689
736
 
690
737
  /* Widen mega-menu flyout to prevent title word-wrap in two-column layouts.
691
- Radix JS sets --radix-navigation-menu-viewport-width based on intrinsic
692
- content measurement (~320px), so max-width alone cannot force expansion.
693
- We override min-width to ensure two-column grids have adequate room. */
738
+ Radix JS sets --radix-navigation-menu-viewport-width based on intrinsic
739
+ content measurement (~320px), so max-width alone cannot force expansion.
740
+ We override min-width to ensure two-column grids have adequate room. */
694
741
  .smm-viewport {
695
742
  min-width: min(90vw, 650px);
696
743
  max-width: min(90vw, 800px);