@oxide/design-system 6.4.1-canary.fec0981 → 6.5.0

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.
package/dist/asciidoc.css CHANGED
@@ -14,20 +14,20 @@
14
14
  color: var(--content-default);
15
15
  line-height: 1.5 !important;
16
16
  margin-bottom: 1.25rem;
17
- }
18
17
 
19
- @media (min-width: 800px) {
20
- p {
18
+ @media (min-width: 800px) {
21
19
  margin-bottom: 0.75rem;
22
20
  }
23
21
  }
24
22
 
25
- .lead p {
26
- color: var(--content-raise);
27
- }
23
+ .lead {
24
+ p {
25
+ color: var(--content-raise);
26
+ }
28
27
 
29
- .paragraph.lead p {
30
- @apply text-sans-xl;
28
+ &.paragraph p {
29
+ @apply text-sans-xl;
30
+ }
31
31
  }
32
32
 
33
33
  /* --- Strong / emphasis --- */
@@ -92,13 +92,28 @@
92
92
  }
93
93
 
94
94
  /* Section numbers rendered before each heading */
95
- :is(h1, h2, h3, h4, h5)[data-sectnum]::before {
96
- content: attr(data-sectnum);
97
- color: var(--content-tertiary);
98
- display: inline-block;
99
- pointer-events: none;
100
- margin-right: 0.5rem;
101
- top: 6px;
95
+ :is(h1, h2, h3, h4, h5)[data-sectnum] {
96
+ &::before {
97
+ content: attr(data-sectnum);
98
+ color: var(--content-tertiary);
99
+ display: inline-block;
100
+ pointer-events: none;
101
+ margin-right: 0.5rem;
102
+ top: 6px;
103
+
104
+ @media (min-width: 800px) {
105
+ @apply text-sans-lg;
106
+ position: absolute;
107
+ left: -72px;
108
+ width: 60px;
109
+ margin-right: 0;
110
+ text-align: right;
111
+ }
112
+ }
113
+
114
+ a::after {
115
+ display: none;
116
+ }
102
117
  }
103
118
 
104
119
  h3[data-sectnum]::before {
@@ -110,21 +125,6 @@
110
125
  top: 0;
111
126
  }
112
127
 
113
- @media (min-width: 800px) {
114
- :is(h1, h2, h3, h4, h5)[data-sectnum]::before {
115
- @apply text-sans-lg;
116
- position: absolute;
117
- left: -72px;
118
- width: 60px;
119
- margin-right: 0;
120
- text-align: right;
121
- }
122
- }
123
-
124
- :is(h1, h2, h3, h4, h5)[data-sectnum] a::after {
125
- display: none;
126
- }
127
-
128
128
  /* Heading anchors */
129
129
  .anchor,
130
130
  .sectionanchor {
@@ -139,10 +139,10 @@
139
139
  color: var(--content-accent-secondary);
140
140
  text-decoration: underline;
141
141
  text-decoration-color: color-mix(in srgb, currentColor 50%, transparent);
142
- }
143
142
 
144
- a:not(:is(h1, h2, h3, h4, h5, h6, .title) a):hover {
145
- color: var(--content-accent);
143
+ &:hover {
144
+ color: var(--content-accent);
145
+ }
146
146
  }
147
147
 
148
148
  a:hover,
@@ -161,26 +161,30 @@
161
161
  @apply text-mono-sm;
162
162
  margin-bottom: 0.75rem;
163
163
  list-style-position: inside;
164
+
165
+ @media (min-width: 800px) {
166
+ list-style-position: outside;
167
+ }
164
168
  }
165
169
 
166
170
  ul {
167
171
  list-style-type: disc;
168
- }
169
172
 
170
- ol {
171
- list-style-type: decimal;
172
- }
173
+ ul li {
174
+ list-style-type: circle;
175
+ }
173
176
 
174
- ul ul li {
175
- list-style-type: circle;
176
- }
177
+ ul ul li {
178
+ list-style-type: square;
179
+ }
177
180
 
178
- ul ul ul li {
179
- list-style-type: square;
181
+ ul ul ul li {
182
+ list-style-type: disc;
183
+ }
180
184
  }
181
185
 
182
- ul ul ul ul li {
183
- list-style-type: disc;
186
+ ol {
187
+ list-style-type: decimal;
184
188
  }
185
189
 
186
190
  .arabic {
@@ -223,6 +227,19 @@
223
227
  margin-bottom: 0;
224
228
  }
225
229
 
230
+ /* --- Description lists --- */
231
+ dl {
232
+ dt {
233
+ margin-bottom: 0.3125em;
234
+ font-weight: bold;
235
+ }
236
+
237
+ dd {
238
+ margin-bottom: 1.25em;
239
+ margin-left: 1.125em;
240
+ }
241
+ }
242
+
226
243
  /* Lists inside blocks where outside marker position would be clipped */
227
244
  .tableblock ul,
228
245
  .tableblock ol,
@@ -238,14 +255,13 @@
238
255
  .olist .ulist,
239
256
  .olist .olist {
240
257
  margin-left: 2rem;
241
- }
242
258
 
243
- @media (min-width: 800px) {
244
- ul,
245
- ol {
246
- list-style-position: outside;
259
+ @media (min-width: 800px) {
260
+ margin-left: 0.5rem;
247
261
  }
262
+ }
248
263
 
264
+ @media (min-width: 800px) {
249
265
  ul:first-of-type,
250
266
  .github-markdown > ul {
251
267
  margin-left: 1rem;
@@ -255,25 +271,18 @@
255
271
  .github-markdown > ol {
256
272
  margin-left: 1.5rem;
257
273
  }
258
-
259
- .ulist .ulist,
260
- .ulist .olist,
261
- .olist .ulist,
262
- .olist .olist {
263
- margin-left: 0.5rem;
264
- }
265
274
  }
266
275
 
267
276
  /* --- Description lists --- */
268
277
  .dlist dt {
269
278
  @apply text-sans-lg;
270
279
  color: var(--content-raise);
271
- }
272
280
 
273
- .dlist dt::after {
274
- @apply text-sans-lg;
275
- content: ':';
276
- color: var(--content-tertiary);
281
+ &::after {
282
+ @apply text-sans-lg;
283
+ content: ':';
284
+ color: var(--content-tertiary);
285
+ }
277
286
  }
278
287
 
279
288
  /* --- Quote blocks --- */
@@ -282,15 +291,15 @@
282
291
  border-left: 1px solid var(--stroke-default);
283
292
  margin: 2rem 0;
284
293
  padding-left: 1.6rem;
285
- }
286
294
 
287
- .quoteblock p {
288
- color: var(--content-secondary);
289
- }
295
+ p {
296
+ color: var(--content-secondary);
297
+ }
290
298
 
291
- .quoteblock .attribution {
292
- color: var(--content-raise);
293
- margin-top: 2rem;
299
+ .attribution {
300
+ color: var(--content-raise);
301
+ margin-top: 2rem;
302
+ }
294
303
  }
295
304
 
296
305
  .attribution cite {
@@ -306,15 +315,23 @@
306
315
  border-radius: var(--radius-md);
307
316
  margin: 1.5rem 0;
308
317
  padding: 0.75rem;
309
- }
310
318
 
311
- .admonitionblock strong {
312
- color: var(--content-accent);
313
- }
319
+ strong {
320
+ color: var(--content-accent);
321
+ }
314
322
 
315
- .admonitionblock a {
316
- color: var(--content-accent);
317
- text-decoration-line: underline;
323
+ a {
324
+ color: var(--content-accent);
325
+ text-decoration-line: underline;
326
+ }
327
+
328
+ .quoteblock {
329
+ background-color: var(--surface-default);
330
+ border: 0;
331
+ border-radius: var(--radius-md);
332
+ margin: 0.5rem 0;
333
+ padding: 0.75rem;
334
+ }
318
335
  }
319
336
 
320
337
  .admonition-icon svg {
@@ -326,48 +343,48 @@
326
343
 
327
344
  .admonition-content {
328
345
  @apply text-sans-md;
329
- }
330
346
 
331
- .admonition-content p {
332
- @apply text-sans-md;
333
- color: currentColor;
334
- margin-bottom: 0;
335
- }
347
+ @media (min-width: 800px) {
348
+ margin-right: 1.25rem;
349
+ }
336
350
 
337
- .admonition-content > div:first-of-type {
338
- color: var(--content-accent);
339
- }
351
+ p {
352
+ @apply text-sans-md;
353
+ color: currentColor;
354
+ margin-bottom: 0;
355
+ }
340
356
 
341
- .admonition-content .admonition-title {
342
- margin-bottom: 0.5rem;
343
- font-style: italic;
344
- }
357
+ > div:first-of-type {
358
+ color: var(--content-accent);
359
+ }
345
360
 
346
- .admonition-content .paragraph {
347
- margin-bottom: 0.25rem;
348
- }
361
+ .admonition-title {
362
+ margin-bottom: 0.5rem;
363
+ font-style: italic;
364
+ }
349
365
 
350
- .admonition-content .paragraph:last-child {
351
- margin-bottom: 0;
352
- }
366
+ .paragraph {
367
+ margin-bottom: 0.25rem;
353
368
 
354
- @media (min-width: 800px) {
355
- .admonition-content {
356
- margin-right: 1.25rem;
369
+ &:last-child {
370
+ margin-bottom: 0;
371
+ }
357
372
  }
358
373
  }
359
374
 
360
- .admonitionblock .quoteblock {
361
- background-color: var(--surface-default);
362
- border: 0;
363
- border-radius: var(--radius-md);
364
- margin: 0.5rem 0;
365
- padding: 0.75rem;
366
- }
367
-
368
375
  /* --- Inline code --- */
369
376
  code {
370
377
  font-feature-settings: 'calt' 0;
378
+
379
+ /* Prevent asciidoc styles from leaking into mermaid SVG output */
380
+ svg {
381
+ line-height: 1 !important;
382
+ }
383
+
384
+ svg,
385
+ svg * {
386
+ all: revert-layer;
387
+ }
371
388
  }
372
389
 
373
390
  :not(pre) > code {
@@ -386,15 +403,6 @@
386
403
  overflow-wrap: normal;
387
404
  }
388
405
 
389
- /* Prevent asciidoc styles from leaking into mermaid SVG output */
390
- code svg {
391
- line-height: 1 !important;
392
- }
393
- code svg,
394
- code svg * {
395
- all: revert-layer;
396
- }
397
-
398
406
  /* --- Code blocks --- */
399
407
  pre {
400
408
  overflow-x: auto;
@@ -407,30 +415,30 @@
407
415
  border: 1px solid var(--stroke-secondary);
408
416
  border-radius: var(--radius-md);
409
417
  padding: 1rem 1.25rem;
410
- }
411
418
 
412
- @media (min-width: 800px) {
413
- pre {
419
+ @media (min-width: 800px) {
414
420
  padding: 1.5rem 1.75rem;
415
421
  }
416
422
  }
417
423
 
418
- .listingblock .content {
419
- position: relative;
420
- }
424
+ .listingblock {
425
+ .content {
426
+ position: relative;
427
+ }
421
428
 
422
- .listingblock pre:not(.highlight) {
423
- color: var(--content-default);
424
- }
429
+ pre:not(.highlight) {
430
+ color: var(--content-default);
431
+ }
425
432
 
426
- .listingblock code[data-lang]::before {
427
- @apply text-mono-xs;
428
- content: attr(data-lang);
429
- position: absolute;
430
- top: 0.5rem;
431
- right: 0.5rem;
432
- display: block;
433
- color: var(--content-secondary);
433
+ code[data-lang]::before {
434
+ @apply text-mono-xs;
435
+ content: attr(data-lang);
436
+ position: absolute;
437
+ top: 0.5rem;
438
+ right: 0.5rem;
439
+ display: block;
440
+ color: var(--content-secondary);
441
+ }
434
442
  }
435
443
 
436
444
  /* --- Callout numbers (conum) --- */
@@ -450,15 +458,15 @@
450
458
  border-radius: var(--radius-full);
451
459
  text-align: center;
452
460
  font-style: normal;
453
- }
454
461
 
455
- pre .conum[data-value]::after {
456
- content: attr(data-value);
457
- padding-left: 1px;
458
- }
462
+ &::after {
463
+ content: attr(data-value);
464
+ padding-left: 1px;
465
+ }
459
466
 
460
- pre .conum[data-value] + b {
461
- display: none;
467
+ & + b {
468
+ display: none;
469
+ }
462
470
  }
463
471
 
464
472
  /* --- Example blocks --- */
@@ -467,25 +475,31 @@
467
475
  background-color: var(--surface-raise);
468
476
  border-radius: var(--radius-md);
469
477
  padding: 1.25rem 1.5rem;
470
- }
471
478
 
472
- .exampleblock p {
473
- @apply text-sans-md;
474
- margin-bottom: 0.5rem;
475
- }
479
+ p {
480
+ @apply text-sans-md;
481
+ margin-bottom: 0.5rem;
482
+ }
476
483
 
477
- .exampleblock .content,
478
- .exampleblock .paragraph:last-of-type p {
479
- margin: 0;
480
- }
484
+ .content,
485
+ .paragraph:last-of-type p {
486
+ margin: 0;
487
+ }
481
488
 
482
- .exampleblock > .content {
483
- margin: 1rem 0;
489
+ > .content {
490
+ margin: 1rem 0;
491
+ }
484
492
  }
485
493
 
486
494
  /* --- Images --- */
487
495
  img {
488
496
  background-color: var(--surface-raise);
497
+
498
+ &.wide {
499
+ max-width: none;
500
+ width: calc(100% / 8 * 10);
501
+ margin-left: calc(100% / 8 * -1);
502
+ }
489
503
  }
490
504
 
491
505
  span img {
@@ -493,29 +507,29 @@
493
507
  background-color: transparent;
494
508
  }
495
509
 
496
- .imageblock img {
497
- margin: 0 auto;
498
- width: 100%;
499
- height: auto;
500
- max-height: max(500px, 75vh);
501
- object-fit: contain;
502
- border: 1px solid var(--stroke-tertiary);
503
- border-radius: var(--radius-md);
504
- }
510
+ .imageblock {
511
+ .content {
512
+ display: inline-block;
513
+ }
505
514
 
506
- .imageblock .title {
507
- @apply text-mono-xs;
508
- margin-top: 0.75rem;
509
- max-width: 100%;
510
- text-align: center;
511
- color: var(--content-secondary);
512
- font-style: normal;
513
- }
515
+ img {
516
+ margin: 0 auto;
517
+ height: auto;
518
+ max-width: 100%;
519
+ max-height: max(500px, 75vh);
520
+ object-fit: contain;
521
+ border: 1px solid var(--stroke-tertiary);
522
+ border-radius: var(--radius-md);
523
+ }
514
524
 
515
- img.wide {
516
- max-width: none;
517
- width: calc(100% / 8 * 10);
518
- margin-left: calc(100% / 8 * -1);
525
+ .title {
526
+ @apply text-mono-xs;
527
+ margin-top: 0.75rem;
528
+ max-width: 100%;
529
+ text-align: left;
530
+ color: var(--content-secondary);
531
+ font-style: normal;
532
+ }
519
533
  }
520
534
 
521
535
  /* --- Block-level vertical rhythm --- */
@@ -537,20 +551,20 @@
537
551
  .table-wrapper {
538
552
  position: relative;
539
553
  overflow-x: auto;
540
- }
541
554
 
542
- .table-wrapper caption {
543
- position: sticky;
544
- left: 0;
545
- text-align: left;
546
- }
555
+ caption {
556
+ position: sticky;
557
+ left: 0;
558
+ text-align: left;
547
559
 
548
- .table-wrapper caption > a {
549
- text-decoration: none;
550
- }
560
+ > a {
561
+ text-decoration: none;
562
+ }
551
563
 
552
- .table-wrapper caption a:hover::after {
553
- vertical-align: -2px;
564
+ a:hover::after {
565
+ vertical-align: -2px;
566
+ }
567
+ }
554
568
  }
555
569
 
556
570
  table {
@@ -561,20 +575,36 @@
561
575
  border: 1px solid var(--stroke-secondary);
562
576
  border-radius: var(--radius-md);
563
577
  padding: 0;
564
- }
565
578
 
566
- table p {
567
- @apply text-sans-md;
568
- margin: 0;
569
- padding: 0;
570
- }
579
+ p {
580
+ @apply text-sans-md;
581
+ margin: 0;
582
+ padding: 0;
583
+ }
571
584
 
572
- table td,
573
- table th {
574
- padding: 0.5rem;
575
- vertical-align: top;
576
- border-right: 1px solid var(--stroke-secondary);
577
- border-bottom: 1px solid var(--stroke-secondary);
585
+ td,
586
+ th {
587
+ padding: 0.5rem;
588
+ vertical-align: top;
589
+ border-right: 1px solid var(--stroke-secondary);
590
+ border-bottom: 1px solid var(--stroke-secondary);
591
+ }
592
+
593
+ th {
594
+ @apply text-mono-xs;
595
+ text-align: left;
596
+ color: var(--content-secondary);
597
+ background-color: var(--surface-raise);
598
+
599
+ p {
600
+ @apply text-mono-xs;
601
+ }
602
+ }
603
+
604
+ pre {
605
+ border: 0;
606
+ padding: 0;
607
+ }
578
608
  }
579
609
 
580
610
  table tr th:last-child,
@@ -588,63 +618,57 @@
588
618
  border-bottom: 0;
589
619
  }
590
620
 
591
- table th {
592
- @apply text-mono-xs;
593
- text-align: left;
594
- color: var(--content-secondary);
595
- background-color: var(--surface-raise);
596
- }
597
-
598
- table th p {
599
- @apply text-mono-xs;
600
- }
601
-
602
- table pre {
603
- border: 0;
604
- padding: 0;
605
- }
606
-
607
- table.tableblock table.tableblock {
608
- margin: 0.5rem 0;
609
- }
621
+ table.tableblock {
622
+ table.tableblock {
623
+ margin: 0.5rem 0;
624
+ }
610
625
 
611
- table.tableblock .imageblock {
612
- margin: 0;
626
+ .imageblock {
627
+ margin: 0;
628
+ }
613
629
  }
614
630
 
615
631
  /* --- Callout list --- */
616
632
  .colist table {
617
633
  margin: 1.5rem 0;
618
- }
619
634
 
620
- .colist table td {
621
- @apply text-sans-md;
622
- }
635
+ td {
636
+ @apply text-sans-md;
637
+ }
623
638
 
624
- .colist table tr td:first-of-type {
625
- width: 1%;
626
- white-space: nowrap;
627
- color: var(--content-tertiary);
628
- }
639
+ tr td:first-of-type {
640
+ width: 1%;
641
+ white-space: nowrap;
642
+ color: var(--content-tertiary);
643
+ }
629
644
 
630
- .colist table b {
631
- @apply text-mono-sm;
645
+ tr td:last-of-type {
646
+ border-right: none;
647
+ }
648
+
649
+ tr:last-of-type td {
650
+ border-bottom: none;
651
+ }
652
+
653
+ b {
654
+ @apply text-mono-sm;
655
+ }
632
656
  }
633
657
 
634
658
  /* --- Bibliography --- */
635
659
  div.bibliography ~ h2 {
636
660
  margin-top: 3rem;
637
- }
638
661
 
639
- @media (min-width: 800px) {
640
- div.bibliography ~ h2 {
662
+ @media (min-width: 800px) {
641
663
  margin-top: 4rem;
642
664
  }
643
665
  }
644
666
 
645
- .bibliography ul > li + li,
646
- .bibliography ol > li + li {
647
- margin-top: 0.5rem;
667
+ .bibliography {
668
+ ul > li + li,
669
+ ol > li + li {
670
+ margin-top: 0.5rem;
671
+ }
648
672
  }
649
673
 
650
674
  /* --- Misc --- */
@@ -675,20 +699,22 @@
675
699
  sup.footnote {
676
700
  @apply text-mono-xs;
677
701
  color: var(--content-secondary);
678
- }
679
702
 
680
- sup.footnote a {
681
- padding-top: calc(var(--header-height) + 20px);
682
- margin-top: calc(var(--header-height) * -1 - 20px);
703
+ a {
704
+ padding-top: calc(var(--header-height) + 20px);
705
+ margin-top: calc(var(--header-height) * -1 - 20px);
706
+ }
683
707
  }
684
708
 
685
709
  /* --- Titles --- */
686
710
  .title {
687
- @apply text-sans-lg;
711
+ font-family: var(--font-sans);
712
+ line-height: 1.375em;
713
+ font-size: 1em;
714
+ letter-spacing: 0.021em;
688
715
  margin-bottom: 0.25rem;
689
716
  max-width: 40rem;
690
717
  text-align: left;
691
- font-size: 1em !important;
692
718
  font-style: italic;
693
719
  color: currentColor;
694
720
  }
@@ -717,20 +743,57 @@
717
743
  .valign-bottom {
718
744
  vertical-align: bottom;
719
745
  }
746
+
747
+ /* --- Collapsible blocks --- */
748
+ details {
749
+ border: 1px solid var(--stroke-default);
750
+ border-radius: var(--radius-md);
751
+
752
+ summary:first-of-type {
753
+ padding: 0.75rem 1rem;
754
+ margin-bottom: 0;
755
+ max-width: initial;
756
+ display: block;
757
+ user-select: none;
758
+ cursor: pointer;
759
+
760
+ &:hover {
761
+ background-color: var(--surface-hover);
762
+ }
763
+
764
+ &::before {
765
+ content: '▸';
766
+ color: var(--content-tertiary);
767
+ font-size: 1.25rem;
768
+ margin-right: 0.5rem;
769
+ }
770
+ }
771
+
772
+ &[open] summary:first-of-type::before {
773
+ content: '▾';
774
+ }
775
+
776
+ .content {
777
+ padding: 0.75rem 1rem 0 1rem;
778
+ border-top: 1px solid var(--stroke-default);
779
+ }
780
+ }
720
781
  }
721
782
 
722
- /* Footnotes and TOC share the inline-code / accent-link treatments */
723
- #footnotes p a {
783
+ /* Footnotes and TOC share the inline-code / accent-link treatments. The
784
+ `.footnotes` class lets the same treatment be reused outside the footnotes
785
+ section (e.g. a footnote hover card) without relying on the `#footnotes` id. */
786
+ :is(#footnotes, .footnotes) p a {
724
787
  color: var(--content-accent-secondary);
725
788
  text-decoration: underline;
726
789
  text-decoration-color: color-mix(in srgb, currentColor 50%, transparent);
727
- }
728
790
 
729
- #footnotes p a:hover {
730
- color: var(--content-accent);
791
+ &:hover {
792
+ color: var(--content-accent);
793
+ }
731
794
  }
732
795
 
733
- #footnotes p code,
796
+ :is(#footnotes, .footnotes) p code,
734
797
  .toc code {
735
798
  font-size: 0.825em;
736
799
  letter-spacing: 0;
@@ -746,14 +809,14 @@
746
809
  @media screen and (min-width: 720px) {
747
810
  .animated-accordion {
748
811
  overflow: hidden;
749
- }
750
812
 
751
- .animated-accordion[data-state='open'].hydrated {
752
- animation: accordionSlideDown 300ms cubic-bezier(0.87, 0, 0.13, 1);
753
- }
813
+ &[data-state='open'].hydrated {
814
+ animation: accordionSlideDown 300ms cubic-bezier(0.87, 0, 0.13, 1);
815
+ }
754
816
 
755
- .animated-accordion[data-state='closed'].hydrated {
756
- animation: accordionSlideUp 300ms cubic-bezier(0.87, 0, 0.13, 1);
817
+ &[data-state='closed'].hydrated {
818
+ animation: accordionSlideUp 300ms cubic-bezier(0.87, 0, 0.13, 1);
819
+ }
757
820
  }
758
821
  }
759
822
 
@@ -791,12 +854,12 @@
791
854
  a {
792
855
  color: inherit !important;
793
856
  text-decoration: underline;
794
- }
795
857
 
796
- a.bare,
797
- a[href^='#'],
798
- a[href^='mailto:'] {
799
- text-decoration: none;
858
+ &.bare,
859
+ &[href^='#'],
860
+ &[href^='mailto:'] {
861
+ text-decoration: none;
862
+ }
800
863
  }
801
864
 
802
865
  tr,
@@ -851,10 +914,10 @@
851
914
 
852
915
  p {
853
916
  color: black !important;
854
- }
855
917
 
856
- p a {
857
- text-decoration-color: black !important;
918
+ a {
919
+ text-decoration-color: black !important;
920
+ }
858
921
  }
859
922
 
860
923
  .imageblock img {