@solid-design-system/styles 1.3.1 → 1.3.3

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 (52) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/cdn/modules/list.css +1 -1
  3. package/cdn/modules/pagination.css +1 -1
  4. package/cdn/modules/prose.css +1 -1
  5. package/cdn/solid-styles.css +1 -1
  6. package/cdn-versioned/modules/chip.css +1 -1
  7. package/cdn-versioned/modules/container.css +1 -1
  8. package/cdn-versioned/modules/copyright.css +1 -1
  9. package/cdn-versioned/modules/display.css +1 -1
  10. package/cdn-versioned/modules/flag.css +1 -1
  11. package/cdn-versioned/modules/footnotes.css +1 -1
  12. package/cdn-versioned/modules/headline.css +1 -1
  13. package/cdn-versioned/modules/hidden-links.css +1 -1
  14. package/cdn-versioned/modules/interactive.css +1 -1
  15. package/cdn-versioned/modules/leadtext.css +1 -1
  16. package/cdn-versioned/modules/list.css +1 -1
  17. package/cdn-versioned/modules/mark.css +1 -1
  18. package/cdn-versioned/modules/media.css +1 -1
  19. package/cdn-versioned/modules/meta.css +1 -1
  20. package/cdn-versioned/modules/pagination.css +1 -1
  21. package/cdn-versioned/modules/paragraph.css +1 -1
  22. package/cdn-versioned/modules/prose.css +1 -1
  23. package/cdn-versioned/modules/status-badge.css +1 -1
  24. package/cdn-versioned/modules/table-cell.css +1 -1
  25. package/cdn-versioned/modules/table.css +1 -1
  26. package/cdn-versioned/solid-styles.css +1 -1
  27. package/dist/modules/list.css +97 -51
  28. package/dist/modules/pagination.css +46 -45
  29. package/dist/modules/prose.css +97 -51
  30. package/dist/solid-styles.css +140 -93
  31. package/dist-versioned/modules/chip.css +6 -6
  32. package/dist-versioned/modules/container.css +45 -45
  33. package/dist-versioned/modules/copyright.css +11 -11
  34. package/dist-versioned/modules/display.css +9 -9
  35. package/dist-versioned/modules/flag.css +6 -6
  36. package/dist-versioned/modules/footnotes.css +26 -26
  37. package/dist-versioned/modules/headline.css +67 -67
  38. package/dist-versioned/modules/hidden-links.css +7 -7
  39. package/dist-versioned/modules/interactive.css +38 -38
  40. package/dist-versioned/modules/leadtext.css +8 -8
  41. package/dist-versioned/modules/list.css +119 -73
  42. package/dist-versioned/modules/mark.css +2 -2
  43. package/dist-versioned/modules/media.css +7 -7
  44. package/dist-versioned/modules/meta.css +12 -12
  45. package/dist-versioned/modules/pagination.css +77 -76
  46. package/dist-versioned/modules/paragraph.css +8 -8
  47. package/dist-versioned/modules/prose.css +303 -257
  48. package/dist-versioned/modules/status-badge.css +8 -8
  49. package/dist-versioned/modules/table-cell.css +23 -23
  50. package/dist-versioned/modules/table.css +4 -4
  51. package/dist-versioned/solid-styles.css +500 -453
  52. package/package.json +1 -1
@@ -401,82 +401,124 @@ Used for inverted pressed interaction text link */;
401
401
 
402
402
  .sd-list:not(.sd-list--icon),
403
403
  .sd-prose > :is(ol, ul) {
404
+ list-style-position: revert;
405
+ list-style-type: revert;
406
+ padding: revert;
404
407
  padding-top: var(--sd-spacing-4, 1rem) /* 16px */;
405
408
  padding-bottom: var(--sd-spacing-4, 1rem) /* 16px */;
409
+ padding-left: var(--sd-spacing-4, 1rem) /* 16px */;
406
410
  text-align: left;
411
+
412
+ /*
413
+ * Unordered lists
414
+ */
407
415
  }
408
416
 
409
417
  .sd-list:not(.sd-list--icon) li:not(:first-child), .sd-prose > :is(ol, ul) li:not(:first-child) {
410
418
  margin-top: var(--sd-spacing-3, 0.75rem) /* 12px */;
411
419
  }
412
420
 
413
- .sd-list:not(.sd-list--icon) ol,
414
- .sd-list:not(.sd-list--icon) ul,
415
- .sd-prose > :is(ol, ul) ol,
416
- .sd-prose > :is(ol, ul) ul {
417
- padding-top: var(--sd-spacing-3, 0.75rem) /* 12px */;
418
- }
419
-
420
- /* Counter handling for ordered lists. */
421
+ .sd-list:not(.sd-list--icon) ul,
422
+ .sd-list:not(.sd-list--icon) ol,
423
+ .sd-prose > :is(ol, ul) ul,
424
+ .sd-prose > :is(ol, ul) ol {
425
+ all: revert;
426
+ padding-left: 1.4em;
427
+ padding-top: 0.75em;
428
+ }
421
429
 
422
- .sd-list:not(.sd-list--icon):is(ol) > li, .sd-list:not(.sd-list--icon) ol > li, .sd-prose > :is(ol, ul):is(ol) > li, .sd-prose > :is(ol, ul) ol > li {
423
- counter-increment: item;
424
- }
430
+ @supports not (-webkit-hyphens: none) {
425
431
 
426
- .sd-list:not(.sd-list--icon):is(ol) > li:before, .sd-list:not(.sd-list--icon) ol > li:before, .sd-prose > :is(ol, ul):is(ol) > li:before, .sd-prose > :is(ol, ul) ol > li:before {
427
- content: counters(item, '.') '. ';
428
- }
432
+ .sd-list:not(.sd-list--icon),
433
+ .sd-prose > :is(ol, ul) {
434
+ /* Safari automatically adds some spacing. This adds it for other browsers. */
429
435
 
430
- /* Add second level */
436
+ /*
437
+ * Ordered lists
438
+ */
431
439
 
432
- .sd-list:not(.sd-list--icon):is(ol),
433
- .sd-list:not(.sd-list--icon):is(ol) > li > ol,
434
- .sd-list:not(.sd-list--icon) ol > li > ol,
435
- .sd-prose > :is(ol, ul):is(ol),
436
- .sd-prose > :is(ol, ul):is(ol) > li > ol,
437
- .sd-prose > :is(ol, ul) ol > li > ol {
438
- counter-reset: item;
440
+ /*
441
+ * Safari currently only partially supports the ::marker pseudo class.
442
+ * Support is limited to color and font-size. Therefore we optimize the numbering only for non-Safari browsers.
443
+ * https://developer.mozilla.org/en-US/docs/Web/CSS/::marker#browser_compatibility
444
+ */
445
+ /* Level 1 */
446
+ }
447
+ .sd-list:not(.sd-list--icon) li, .sd-prose > :is(ol, ul) li {
448
+ padding-left: 0.3em;
439
449
  }
440
-
441
- /* Ordered lists inside unordered lists. */
442
-
443
- .sd-list:not(.sd-list--icon):is(ul) > li > ol,
444
- .sd-list:not(.sd-list--icon) ul > li > ol,
445
- .sd-prose > :is(ol, ul):is(ul) > li > ol,
446
- .sd-prose > :is(ol, ul) ul > li > ol {
447
- counter-set: item 0;
450
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon), .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) {
451
+ counter-reset: item;
452
+ }
453
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li {
454
+ counter-increment: item;
455
+ }
456
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li::marker, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li::marker {
457
+ content: counters(item, '.', decimal) '. ';
458
+ }
459
+ /* Level 2 */
460
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li > ol, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li > ol {
461
+ padding-left: 1.9em;
462
+ counter-reset: subitem;
463
+ }
464
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li > ol > li, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li > ol > li {
465
+ counter-increment: subitem;
466
+ }
467
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li > ol > li::marker, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li > ol > li::marker {
468
+ content: counters(item, '.', decimal) '.' counters(subitem, '.', decimal) '. ';
469
+ }
470
+ /* Level 3 */
471
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li > ol > li > ol, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li > ol > li > ol {
472
+ padding-left: 2.7em;
473
+ counter-reset: subsubitem;
474
+ }
475
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li > ol > li > ol > li, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li > ol > li > ol > li {
476
+ counter-increment: subsubitem;
477
+ }
478
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li > ol > li > ol > li::marker, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li > ol > li > ol > li::marker {
479
+ content: counters(item, '.', decimal) '.' counters(subitem, '.', decimal) '.'
480
+ counters(subsubitem, '.', decimal) '. ';
481
+ }
448
482
  }
449
483
 
450
- /* Styling */
484
+ /* Level 1 */
451
485
 
452
- .sd-list:not(.sd-list--icon) li, .sd-prose > :is(ol, ul) li {
453
- display: table;
486
+ .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon),
487
+ .sd-list:not(.sd-list--icon) ul,
488
+ .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon),
489
+ .sd-prose > :is(ol, ul) ul {
490
+ padding-left: 0.5em;
454
491
  }
455
492
 
456
- .sd-list:not(.sd-list--icon) li:before, .sd-prose > :is(ol, ul) li:before {
457
- display: table-cell;
458
- padding-right: var(--sd-spacing-2, 0.5rem) /* 8px */;
493
+ .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li, .sd-list:not(.sd-list--icon) ul > li, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li, .sd-prose > :is(ol, ul) ul > li {
494
+ padding-left: 0.75em;
495
+ list-style-type: '\2022'; /* */
459
496
  }
460
497
 
461
- .sd-list:not(.sd-list--icon):is(ul),
462
- .sd-list:not(.sd-list--icon) ul,
463
- .sd-prose > :is(ol, ul):is(ul),
464
- .sd-prose > :is(ol, ul) ul {
465
- list-style-type: '';
466
- }
467
-
468
- .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li:before, .sd-list:not(.sd-list--icon) ul > li:before, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li:before, .sd-prose > :is(ol, ul) ul > li:before {
469
- content: '\2022';
470
- }
498
+ /* Level 2 */
471
499
 
472
- .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li > ul > li:before, .sd-list:not(.sd-list--icon) ul > li > ul > li:before, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li > ul > li:before, .sd-prose > :is(ol, ul) ul > li > ul > li:before {
473
- content: '\002B1D';
474
- }
500
+ .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li > ul, .sd-list:not(.sd-list--icon) ul > li > ul, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li > ul, .sd-prose > :is(ol, ul) ul > li > ul {
501
+ padding-left: 0.3em;
502
+ }
475
503
 
476
- .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li > ul > li > ul > li:before, .sd-list:not(.sd-list--icon) ul > li > ul > li > ul > li:before, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li > ul > li > ul > li:before, .sd-prose > :is(ol, ul) ul > li > ul > li > ul > li:before {
477
- content: '\2010';
504
+ .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li > ul > li, .sd-list:not(.sd-list--icon) ul > li > ul > li, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li > ul > li, .sd-prose > :is(ol, ul) ul > li > ul > li {
505
+ list-style-type: '\002B1D'; /* · */
478
506
  }
479
507
 
508
+ /* Level 3 */
509
+
510
+ .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li > ul > li > ul, .sd-list:not(.sd-list--icon) ul > li > ul > li > ul, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li > ul > li > ul, .sd-prose > :is(ol, ul) ul > li > ul > li > ul {
511
+ padding-left: 0.4em;
512
+ }
513
+
514
+ .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li > ul > li > ul > li, .sd-list:not(.sd-list--icon) ul > li > ul > li > ul > li, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li > ul > li > ul > li, .sd-prose > :is(ol, ul) ul > li > ul > li > ul > li {
515
+ list-style-type: '\2010'; /* - */
516
+ }
517
+
518
+ /*
519
+ * Icon lists
520
+ */
521
+
480
522
  .sd-list--icon {
481
523
  padding-top: var(--sd-spacing-4, 1rem) /* 16px */;
482
524
  padding-bottom: var(--sd-spacing-4, 1rem) /* 16px */;
@@ -530,6 +572,10 @@ Used for inverted pressed interaction text link */;
530
572
  margin-right: var(--sd-spacing-8, 2rem) /* 32px */;
531
573
  }
532
574
 
575
+ /*
576
+ * Inverted
577
+ */
578
+
533
579
  .sd-list--inverted,
534
580
  .sd-prose--inverted > :is(ol, ul) {
535
581
 
@@ -636,6 +636,7 @@ Used for inverted pressed interaction text link */;
636
636
  justify-content: center;
637
637
 
638
638
  color: rgb(var(--sd-color-primary, 0 53 142) / var(--tw-text-opacity, 1)) /* Primary brand color for text */;
639
+ text-decoration-line: none;
639
640
  transition-property: color;
640
641
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
641
642
  transition-duration: 150ms;
@@ -664,6 +665,7 @@ Used for inverted pressed interaction text link */;
664
665
  .sd-pagination ul li:last-child {
665
666
  height: var(--sd-spacing-12, 3rem) /* 48px */;
666
667
  width: var(--sd-spacing-12, 3rem) /* 48px */;
668
+ font-size: var(--sd-font-size-xl, 1.5rem) /* 24px */;
667
669
  }
668
670
 
669
671
  .sd-pagination ul li:first-child a, .sd-pagination ul li:last-child a {
@@ -671,11 +673,6 @@ Used for inverted pressed interaction text link */;
671
673
  width: 100%;
672
674
  }
673
675
 
674
- .sd-pagination ul li:first-child sd-icon, .sd-pagination ul li:last-child sd-icon {
675
- height: var(--sd-spacing-6, 1.5rem) /* 24px */;
676
- width: var(--sd-spacing-6, 1.5rem) /* 24px */;
677
- }
678
-
679
676
  /* Numbers */
680
677
 
681
678
  .sd-pagination ul li {
@@ -687,14 +684,14 @@ Used for inverted pressed interaction text link */;
687
684
  text-align: center;
688
685
  }
689
686
 
690
- .sd-pagination ul li:not(:has(a sd-icon)) a {
687
+ .sd-pagination ul li:not(:first-child):not(:last-child) a {
691
688
  height: 100%;
692
689
  width: 100%;
693
690
  border-bottom-width: 2px;
694
691
  border-bottom-color: transparent;
695
692
  }
696
693
 
697
- .sd-pagination ul li:not(:has(a sd-icon)) a[aria-current] {
694
+ .sd-pagination ul li:not(:first-child):not(:last-child) a[aria-current] {
698
695
  --tw-border-opacity: 1;
699
696
  border-bottom-color: rgb(var(--sd-color-accent, 45 157 0) / var(--tw-border-opacity, 1)) /* Used to highlight active/selected elements
700
697
  */;
@@ -712,13 +709,15 @@ Used for inverted pressed interaction text link */;
712
709
 
713
710
  /* Previous and next arrow when it has no href */
714
711
 
715
- .sd-pagination ul li:has(a:not([href]) sd-icon) a {
712
+ .sd-pagination ul li:first-child:has(a:not([href])) a,
713
+ .sd-pagination ul li:last-child:has(a:not([href])) a {
716
714
  cursor: not-allowed;
717
715
 
718
716
  color: rgb(var(--sd-color-neutral-500, 174 174 174) / var(--tw-text-opacity, 1)) /* Used for disabled state */;
719
717
  }
720
718
 
721
- .sd-pagination ul li:has(a:not([href]) sd-icon) a:hover:not([disabled]) {
719
+ .sd-pagination ul li:first-child:has(a:not([href])) a:hover:not([disabled]),
720
+ .sd-pagination ul li:last-child:has(a:not([href])) a:hover:not([disabled]) {
722
721
 
723
722
  color: rgb(var(--sd-color-neutral-500, 174 174 174) / var(--tw-text-opacity, 1)) /* Used for disabled state */;
724
723
  }
@@ -727,46 +726,46 @@ Used for inverted pressed interaction text link */;
727
726
 
728
727
  /* Number which is not current */
729
728
 
730
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):not(:has(a[aria-current])) {
729
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):not(:has(a[aria-current])) {
731
730
  pointer-events: none;
732
731
  position: absolute;
733
732
  }
734
733
 
735
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):not(:has(a[aria-current])) a {
734
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):not(:has(a[aria-current])) a {
736
735
  display: none;
737
736
  }
738
737
 
739
738
  /* Apply ellipsis to (n + 2 && n - 1) */
740
739
 
741
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):has(+ li + li a[aria-current]),
742
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):has(a[aria-current]) + li + li:not(:last-child) {
740
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):has(+ li + li a[aria-current]),
741
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):has(a[aria-current]) + li + li:not(:last-child) {
743
742
  pointer-events: auto !important;
744
743
  position: relative !important;
745
744
  }
746
745
 
747
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):has(+ li + li a[aria-current])::after,
748
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):has(a[aria-current]) + li + li:not(:last-child)::after {
746
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):has(+ li + li a[aria-current])::after,
747
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):has(a[aria-current]) + li + li:not(:last-child)::after {
749
748
  --tw-content: '...';
750
749
  content: var(--tw-content);
751
750
  }
752
751
 
753
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-child(2),
754
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-last-child(2),
755
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):has(+ li a[aria-current]),
756
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):has(a[aria-current]) + li {
752
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-child(2),
753
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-last-child(2),
754
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):has(+ li a[aria-current]),
755
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):has(a[aria-current]) + li {
757
756
  pointer-events: auto !important;
758
757
  position: relative !important;
759
758
  }
760
759
 
761
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-child(2)::after,
762
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-last-child(2)::after,
763
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):has(+ li a[aria-current])::after,
764
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):has(a[aria-current]) + li::after {
760
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-child(2)::after,
761
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-last-child(2)::after,
762
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):has(+ li a[aria-current])::after,
763
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):has(a[aria-current]) + li::after {
765
764
  content: var(--tw-content) !important;
766
765
  display: none !important;
767
766
  }
768
767
 
769
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-child(2) a, .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-last-child(2) a, .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):has(+ li a[aria-current]) a, .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):has(a[aria-current]) + li a {
768
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-child(2) a, .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-last-child(2) a, .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):has(+ li a[aria-current]) a, .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):has(a[aria-current]) + li a {
770
769
  display: flex !important;
771
770
  }
772
771
 
@@ -774,88 +773,88 @@ Used for inverted pressed interaction text link */;
774
773
 
775
774
  /* Show until the 5th page (forward) */
776
775
 
777
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-child(-n + 6):has(a[aria-current]) ~ :nth-child(-n + 6) {
776
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-child(-n + 6):has(a[aria-current]) ~ :nth-child(-n + 6) {
778
777
  pointer-events: auto;
779
778
  position: relative;
780
779
  }
781
780
 
782
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-child(-n + 6):has(a[aria-current]) ~ :nth-child(-n + 6)::after {
781
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-child(-n + 6):has(a[aria-current]) ~ :nth-child(-n + 6)::after {
783
782
  content: var(--tw-content);
784
783
  display: none;
785
784
  }
786
785
 
787
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-child(-n + 6):has(a[aria-current]) ~ :nth-child(-n + 6) a {
786
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-child(-n + 6):has(a[aria-current]) ~ :nth-child(-n + 6) a {
788
787
  display: flex;
789
788
  }
790
789
 
791
790
  /* Show ellipsis on the 6th */
792
791
 
793
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-child(-n + 6):has(a[aria-current]) ~ :nth-child(6):not(:last-child) + li {
792
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-child(-n + 6):has(a[aria-current]) ~ :nth-child(6):not(:last-child) + li {
794
793
  pointer-events: none;
795
794
  position: relative;
796
795
  }
797
796
 
798
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-child(-n + 6):has(a[aria-current]) ~ :nth-child(6):not(:last-child) + li::after {
797
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-child(-n + 6):has(a[aria-current]) ~ :nth-child(6):not(:last-child) + li::after {
799
798
  --tw-content: '...';
800
799
  content: var(--tw-content);
801
800
  }
802
801
 
803
802
  /* When one of the first 4 pages is selected, show until the 5th page (backward) */
804
803
 
805
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-child(-n + 6):has(~ :nth-child(-n + 5) a[aria-current]) {
804
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-child(-n + 6):has(~ :nth-child(-n + 5) a[aria-current]) {
806
805
  pointer-events: auto;
807
806
  position: relative;
808
807
  }
809
808
 
810
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-child(-n + 6):has(~ :nth-child(-n + 5) a[aria-current])::after {
809
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-child(-n + 6):has(~ :nth-child(-n + 5) a[aria-current])::after {
811
810
  content: var(--tw-content);
812
811
  display: none;
813
812
  }
814
813
 
815
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-child(-n + 6):has(~ :nth-child(-n + 5) a[aria-current]) a {
814
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-child(-n + 6):has(~ :nth-child(-n + 5) a[aria-current]) a {
816
815
  display: flex;
817
816
  }
818
817
 
819
818
  /* When one of the last 4 pages is selected, show the last 4 pages (forward) */
820
819
 
821
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-last-child(-n + 5):has(a[aria-current]) ~ :nth-last-child(-n + 5):not(:has(a sd-icon)) {
820
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-last-child(-n + 5):has(a[aria-current]) ~ :nth-last-child(-n + 5):not(:first-child):not(:last-child) {
822
821
  pointer-events: auto;
823
822
  position: relative;
824
823
  }
825
824
 
826
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-last-child(-n + 5):has(a[aria-current]) ~ :nth-last-child(-n + 5):not(:has(a sd-icon))::after {
825
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-last-child(-n + 5):has(a[aria-current]) ~ :nth-last-child(-n + 5):not(:first-child):not(:last-child)::after {
827
826
  content: var(--tw-content);
828
827
  display: none;
829
828
  }
830
829
 
831
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-last-child(-n + 5):has(a[aria-current]) ~ :nth-last-child(-n + 5):not(:has(a sd-icon)) a {
830
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-last-child(-n + 5):has(a[aria-current]) ~ :nth-last-child(-n + 5):not(:first-child):not(:last-child) a {
832
831
  display: flex;
833
832
  }
834
833
 
835
834
  /* When one of the last 4 pages is selected, show the last 4 pages (backward) */
836
835
 
837
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-last-child(-n + 6):has(~ :nth-last-child(-n + 5) a[aria-current]) {
836
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-last-child(-n + 6):has(~ :nth-last-child(-n + 5) a[aria-current]) {
838
837
  pointer-events: auto;
839
838
  position: relative;
840
839
  }
841
840
 
842
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-last-child(-n + 6):has(~ :nth-last-child(-n + 5) a[aria-current])::after {
841
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-last-child(-n + 6):has(~ :nth-last-child(-n + 5) a[aria-current])::after {
843
842
  content: var(--tw-content);
844
843
  display: none;
845
844
  }
846
845
 
847
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-last-child(-n + 6):has(~ :nth-last-child(-n + 5) a[aria-current]) a {
846
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-last-child(-n + 6):has(~ :nth-last-child(-n + 5) a[aria-current]) a {
848
847
  display: flex;
849
848
  }
850
849
 
851
850
  /* Show ellipsis on the 6th to last */
852
851
 
853
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-last-child(7):has(~ :nth-last-child(-n + 5) a[aria-current]) {
852
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-last-child(7):has(~ :nth-last-child(-n + 5) a[aria-current]) {
854
853
  pointer-events: none;
855
854
  position: relative;
856
855
  }
857
856
 
858
- .sd-pagination:not(.sd-pagination--simple) ul li:not(:has(a sd-icon)):nth-last-child(7):has(~ :nth-last-child(-n + 5) a[aria-current])::after {
857
+ .sd-pagination:not(.sd-pagination--simple) ul li:not(:first-child):not(:last-child):nth-last-child(7):has(~ :nth-last-child(-n + 5) a[aria-current])::after {
859
858
  --tw-content: '...';
860
859
  content: var(--tw-content);
861
860
  }
@@ -906,12 +905,14 @@ Used for inverted pressed interaction text link */;
906
905
  color: rgb(var(--sd-color-white, 255 255 255) / var(--tw-text-opacity, 1)) /* Inverted text color */;
907
906
  }
908
907
 
909
- .sd-pagination--inverted ul li:has(a:not([href]) sd-icon) a {
908
+ .sd-pagination--inverted ul li:first-child:has(a:not([href])) a,
909
+ .sd-pagination--inverted ul li:last-child:has(a:not([href])) a {
910
910
 
911
911
  color: rgb(var(--sd-color-neutral-600, 136 136 136) / var(--tw-text-opacity, 1)) /* Used for inverted disabled state */;
912
912
  }
913
913
 
914
- .sd-pagination--inverted ul li:has(a:not([href]) sd-icon) a:hover:not([disabled]) {
914
+ .sd-pagination--inverted ul li:first-child:has(a:not([href])) a:hover:not([disabled]),
915
+ .sd-pagination--inverted ul li:last-child:has(a:not([href])) a:hover:not([disabled]) {
915
916
 
916
917
  color: rgb(var(--sd-color-neutral-600, 136 136 136) / var(--tw-text-opacity, 1)) /* Used for inverted disabled state */;
917
918
  }
@@ -1399,82 +1400,124 @@ Used for inverted pressed interaction text link */;
1399
1400
 
1400
1401
  .sd-list:not(.sd-list--icon),
1401
1402
  .sd-prose > :is(ol, ul) {
1403
+ list-style-position: revert;
1404
+ list-style-type: revert;
1405
+ padding: revert;
1402
1406
  padding-top: var(--sd-spacing-4, 1rem) /* 16px */;
1403
1407
  padding-bottom: var(--sd-spacing-4, 1rem) /* 16px */;
1408
+ padding-left: var(--sd-spacing-4, 1rem) /* 16px */;
1404
1409
  text-align: left;
1410
+
1411
+ /*
1412
+ * Unordered lists
1413
+ */
1405
1414
  }
1406
1415
 
1407
1416
  .sd-list:not(.sd-list--icon) li:not(:first-child), .sd-prose > :is(ol, ul) li:not(:first-child) {
1408
1417
  margin-top: var(--sd-spacing-3, 0.75rem) /* 12px */;
1409
1418
  }
1410
1419
 
1411
- .sd-list:not(.sd-list--icon) ol,
1412
- .sd-list:not(.sd-list--icon) ul,
1413
- .sd-prose > :is(ol, ul) ol,
1414
- .sd-prose > :is(ol, ul) ul {
1415
- padding-top: var(--sd-spacing-3, 0.75rem) /* 12px */;
1416
- }
1417
-
1418
- /* Counter handling for ordered lists. */
1420
+ .sd-list:not(.sd-list--icon) ul,
1421
+ .sd-list:not(.sd-list--icon) ol,
1422
+ .sd-prose > :is(ol, ul) ul,
1423
+ .sd-prose > :is(ol, ul) ol {
1424
+ all: revert;
1425
+ padding-left: 1.4em;
1426
+ padding-top: 0.75em;
1427
+ }
1419
1428
 
1420
- .sd-list:not(.sd-list--icon):is(ol) > li, .sd-list:not(.sd-list--icon) ol > li, .sd-prose > :is(ol, ul):is(ol) > li, .sd-prose > :is(ol, ul) ol > li {
1421
- counter-increment: item;
1422
- }
1429
+ @supports not (-webkit-hyphens: none) {
1423
1430
 
1424
- .sd-list:not(.sd-list--icon):is(ol) > li:before, .sd-list:not(.sd-list--icon) ol > li:before, .sd-prose > :is(ol, ul):is(ol) > li:before, .sd-prose > :is(ol, ul) ol > li:before {
1425
- content: counters(item, '.') '. ';
1426
- }
1431
+ .sd-list:not(.sd-list--icon),
1432
+ .sd-prose > :is(ol, ul) {
1433
+ /* Safari automatically adds some spacing. This adds it for other browsers. */
1427
1434
 
1428
- /* Add second level */
1435
+ /*
1436
+ * Ordered lists
1437
+ */
1429
1438
 
1430
- .sd-list:not(.sd-list--icon):is(ol),
1431
- .sd-list:not(.sd-list--icon):is(ol) > li > ol,
1432
- .sd-list:not(.sd-list--icon) ol > li > ol,
1433
- .sd-prose > :is(ol, ul):is(ol),
1434
- .sd-prose > :is(ol, ul):is(ol) > li > ol,
1435
- .sd-prose > :is(ol, ul) ol > li > ol {
1436
- counter-reset: item;
1439
+ /*
1440
+ * Safari currently only partially supports the ::marker pseudo class.
1441
+ * Support is limited to color and font-size. Therefore we optimize the numbering only for non-Safari browsers.
1442
+ * https://developer.mozilla.org/en-US/docs/Web/CSS/::marker#browser_compatibility
1443
+ */
1444
+ /* Level 1 */
1445
+ }
1446
+ .sd-list:not(.sd-list--icon) li, .sd-prose > :is(ol, ul) li {
1447
+ padding-left: 0.3em;
1437
1448
  }
1438
-
1439
- /* Ordered lists inside unordered lists. */
1440
-
1441
- .sd-list:not(.sd-list--icon):is(ul) > li > ol,
1442
- .sd-list:not(.sd-list--icon) ul > li > ol,
1443
- .sd-prose > :is(ol, ul):is(ul) > li > ol,
1444
- .sd-prose > :is(ol, ul) ul > li > ol {
1445
- counter-set: item 0;
1449
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon), .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) {
1450
+ counter-reset: item;
1451
+ }
1452
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li {
1453
+ counter-increment: item;
1454
+ }
1455
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li::marker, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li::marker {
1456
+ content: counters(item, '.', decimal) '. ';
1457
+ }
1458
+ /* Level 2 */
1459
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li > ol, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li > ol {
1460
+ padding-left: 1.9em;
1461
+ counter-reset: subitem;
1462
+ }
1463
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li > ol > li, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li > ol > li {
1464
+ counter-increment: subitem;
1465
+ }
1466
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li > ol > li::marker, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li > ol > li::marker {
1467
+ content: counters(item, '.', decimal) '.' counters(subitem, '.', decimal) '. ';
1468
+ }
1469
+ /* Level 3 */
1470
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li > ol > li > ol, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li > ol > li > ol {
1471
+ padding-left: 2.7em;
1472
+ counter-reset: subsubitem;
1473
+ }
1474
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li > ol > li > ol > li, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li > ol > li > ol > li {
1475
+ counter-increment: subsubitem;
1476
+ }
1477
+ .sd-list:not(.sd-list--icon):is(ol):not(.sd-list--icon) > li > ol > li > ol > li::marker, .sd-prose > :is(ol, ul):is(ol):not(.sd-list--icon) > li > ol > li > ol > li::marker {
1478
+ content: counters(item, '.', decimal) '.' counters(subitem, '.', decimal) '.'
1479
+ counters(subsubitem, '.', decimal) '. ';
1480
+ }
1446
1481
  }
1447
1482
 
1448
- /* Styling */
1483
+ /* Level 1 */
1449
1484
 
1450
- .sd-list:not(.sd-list--icon) li, .sd-prose > :is(ol, ul) li {
1451
- display: table;
1485
+ .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon),
1486
+ .sd-list:not(.sd-list--icon) ul,
1487
+ .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon),
1488
+ .sd-prose > :is(ol, ul) ul {
1489
+ padding-left: 0.5em;
1452
1490
  }
1453
1491
 
1454
- .sd-list:not(.sd-list--icon) li:before, .sd-prose > :is(ol, ul) li:before {
1455
- display: table-cell;
1456
- padding-right: var(--sd-spacing-2, 0.5rem) /* 8px */;
1492
+ .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li, .sd-list:not(.sd-list--icon) ul > li, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li, .sd-prose > :is(ol, ul) ul > li {
1493
+ padding-left: 0.75em;
1494
+ list-style-type: '\2022'; /* */
1457
1495
  }
1458
1496
 
1459
- .sd-list:not(.sd-list--icon):is(ul),
1460
- .sd-list:not(.sd-list--icon) ul,
1461
- .sd-prose > :is(ol, ul):is(ul),
1462
- .sd-prose > :is(ol, ul) ul {
1463
- list-style-type: '';
1464
- }
1465
-
1466
- .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li:before, .sd-list:not(.sd-list--icon) ul > li:before, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li:before, .sd-prose > :is(ol, ul) ul > li:before {
1467
- content: '\2022';
1468
- }
1497
+ /* Level 2 */
1469
1498
 
1470
- .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li > ul > li:before, .sd-list:not(.sd-list--icon) ul > li > ul > li:before, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li > ul > li:before, .sd-prose > :is(ol, ul) ul > li > ul > li:before {
1471
- content: '\002B1D';
1472
- }
1499
+ .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li > ul, .sd-list:not(.sd-list--icon) ul > li > ul, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li > ul, .sd-prose > :is(ol, ul) ul > li > ul {
1500
+ padding-left: 0.3em;
1501
+ }
1473
1502
 
1474
- .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li > ul > li > ul > li:before, .sd-list:not(.sd-list--icon) ul > li > ul > li > ul > li:before, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li > ul > li > ul > li:before, .sd-prose > :is(ol, ul) ul > li > ul > li > ul > li:before {
1475
- content: '\2010';
1503
+ .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li > ul > li, .sd-list:not(.sd-list--icon) ul > li > ul > li, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li > ul > li, .sd-prose > :is(ol, ul) ul > li > ul > li {
1504
+ list-style-type: '\002B1D'; /* · */
1476
1505
  }
1477
1506
 
1507
+ /* Level 3 */
1508
+
1509
+ .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li > ul > li > ul, .sd-list:not(.sd-list--icon) ul > li > ul > li > ul, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li > ul > li > ul, .sd-prose > :is(ol, ul) ul > li > ul > li > ul {
1510
+ padding-left: 0.4em;
1511
+ }
1512
+
1513
+ .sd-list:not(.sd-list--icon):is(ul):not(.sd-list--icon) > li > ul > li > ul > li, .sd-list:not(.sd-list--icon) ul > li > ul > li > ul > li, .sd-prose > :is(ol, ul):is(ul):not(.sd-list--icon) > li > ul > li > ul > li, .sd-prose > :is(ol, ul) ul > li > ul > li > ul > li {
1514
+ list-style-type: '\2010'; /* - */
1515
+ }
1516
+
1517
+ /*
1518
+ * Icon lists
1519
+ */
1520
+
1478
1521
  .sd-list--icon {
1479
1522
  padding-top: var(--sd-spacing-4, 1rem) /* 16px */;
1480
1523
  padding-bottom: var(--sd-spacing-4, 1rem) /* 16px */;
@@ -1528,6 +1571,10 @@ Used for inverted pressed interaction text link */;
1528
1571
  margin-right: var(--sd-spacing-8, 2rem) /* 32px */;
1529
1572
  }
1530
1573
 
1574
+ /*
1575
+ * Inverted
1576
+ */
1577
+
1531
1578
  .sd-list--inverted,
1532
1579
  .sd-prose--inverted > :is(ol, ul) {
1533
1580