@semanticus/semanticus-css 0.7.0 → 0.9.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.
Files changed (138) hide show
  1. package/README.md +8 -10
  2. package/dist/semanticus-semantics.css +11 -1
  3. package/dist/semanticus.css +13 -1
  4. package/dist/semanticus.palette.amber.css +1 -1
  5. package/dist/semanticus.palette.blue.css +1 -1
  6. package/dist/semanticus.palette.cyan.css +1 -1
  7. package/dist/semanticus.palette.fuchsia.css +1 -1
  8. package/dist/semanticus.palette.green.css +1 -1
  9. package/dist/semanticus.palette.grey.css +1 -1
  10. package/dist/semanticus.palette.indigo.css +1 -1
  11. package/dist/semanticus.palette.jade.css +1 -1
  12. package/dist/semanticus.palette.lime.css +1 -1
  13. package/dist/semanticus.palette.orange.css +1 -1
  14. package/dist/semanticus.palette.pink.css +1 -1
  15. package/dist/semanticus.palette.pumpkin.css +1 -1
  16. package/dist/semanticus.palette.purple.css +1 -1
  17. package/dist/semanticus.palette.red.css +1 -1
  18. package/dist/semanticus.palette.sand.css +1 -1
  19. package/dist/semanticus.palette.slate.css +1 -1
  20. package/dist/semanticus.palette.violet.css +1 -1
  21. package/dist/semanticus.palette.yellow.css +1 -1
  22. package/dist/semanticus.palette.zinc.css +1 -1
  23. package/dist/semanticus.size.pico.css +1 -0
  24. package/package.json +13 -14
  25. package/src/index.css +11 -4
  26. package/src/palettes/amber.css +3 -3
  27. package/src/palettes/blue.css +3 -3
  28. package/src/palettes/cyan.css +3 -3
  29. package/src/palettes/fuchsia.css +3 -3
  30. package/src/palettes/green.css +3 -3
  31. package/src/palettes/grey.css +3 -3
  32. package/src/palettes/indigo.css +3 -3
  33. package/src/palettes/jade.css +3 -3
  34. package/src/palettes/lime.css +3 -3
  35. package/src/palettes/orange.css +3 -3
  36. package/src/palettes/pink.css +3 -3
  37. package/src/palettes/pumpkin.css +3 -3
  38. package/src/palettes/purple.css +3 -3
  39. package/src/palettes/red.css +3 -3
  40. package/src/palettes/sand.css +3 -3
  41. package/src/palettes/slate.css +3 -3
  42. package/src/palettes/violet.css +3 -3
  43. package/src/palettes/yellow.css +3 -3
  44. package/src/palettes/zinc.css +3 -3
  45. package/src/semantics/_misc.css +3 -0
  46. package/src/semantics/attributes/_popover.css +13 -0
  47. package/src/semantics/attributes/_role-group-search.css +140 -0
  48. package/src/semantics/elements/_abbr.css +5 -0
  49. package/src/semantics/elements/_address.css +7 -0
  50. package/src/semantics/elements/_article.css +6 -0
  51. package/src/semantics/{_aside.css → elements/_aside.css} +3 -3
  52. package/src/semantics/elements/_blockquote.css +18 -0
  53. package/src/semantics/{_button.css → elements/_button.css} +2 -2
  54. package/src/semantics/{_code.css → elements/_code.css} +10 -7
  55. package/src/semantics/elements/_del.css +3 -0
  56. package/src/semantics/{_details.css → elements/_details.css} +10 -10
  57. package/src/semantics/elements/_dialog.css +117 -0
  58. package/src/semantics/elements/_footer.css +13 -0
  59. package/src/semantics/elements/_header.css +13 -0
  60. package/src/semantics/elements/_headings.css +34 -0
  61. package/src/semantics/elements/_hgroup.css +14 -0
  62. package/src/semantics/{_hr.css → elements/_hr.css} +1 -1
  63. package/src/semantics/{_input.css → elements/_input.css} +3 -4
  64. package/src/semantics/elements/_ins.css +4 -0
  65. package/src/semantics/{_links.css → elements/_links.css} +11 -4
  66. package/src/semantics/elements/_lists.css +22 -0
  67. package/src/semantics/elements/_main.css +7 -0
  68. package/src/semantics/elements/_mark.css +6 -0
  69. package/src/semantics/{_nav.css → elements/_nav.css} +4 -4
  70. package/src/semantics/elements/_p.css +11 -0
  71. package/src/semantics/{_progress.css → elements/_progress.css} +1 -1
  72. package/src/semantics/elements/_section.css +7 -0
  73. package/src/semantics/elements/_strong.css +4 -0
  74. package/src/semantics/elements/_sub.css +7 -0
  75. package/src/semantics/elements/_sup.css +7 -0
  76. package/src/semantics/{_table.css → elements/_table.css} +7 -2
  77. package/src/semantics/index.css +9 -4
  78. package/src/semantics/modules.css +47 -32
  79. package/src/sizes/pico.css +100 -0
  80. package/src/utilities/_variables.css +19 -214
  81. package/src/utilities/borders/_border-radius.css +24 -0
  82. package/src/utilities/borders/_border-width.css +8 -0
  83. package/src/utilities/colors/_background-colors.css +51 -44
  84. package/src/utilities/colors/_border-colors.css +14 -14
  85. package/src/utilities/colors/_text-colors.css +80 -80
  86. package/src/utilities/effects/_shadows.css +10 -10
  87. package/src/utilities/layout/_flexbox.css +16 -1
  88. package/src/utilities/layout/_misc.css +2 -2
  89. package/src/utilities/modules.css +6 -0
  90. package/src/utilities/spacing/_gap.css +63 -0
  91. package/src/utilities/spacing/_margin.css +145 -0
  92. package/src/utilities/spacing/_padding.css +145 -0
  93. package/src/utilities/typography/_font-sizes.css +0 -15
  94. package/src/variables/_all.css +15 -739
  95. package/src/variables/_breakpoints.css +10 -0
  96. package/src/variables/_colors.css +355 -0
  97. package/src/variables/_components.css +330 -0
  98. package/src/variables/_elements.css +194 -0
  99. package/src/variables/_icons.css +55 -0
  100. package/src/variables/_layout.css +123 -0
  101. package/src/variants/_contrast.css +28 -14
  102. package/src/variants/_ghost.css +36 -29
  103. package/src/variants/_pane-panel-card.css +54 -0
  104. package/src/variants/_secondary.css +25 -12
  105. package/src/variants/_sidebar.css +49 -9
  106. package/src/variants/modules.css +4 -6
  107. package/dist/semanticus-utilities.css +0 -7
  108. package/dist/semanticus-variants.css +0 -1
  109. package/dist/semanticus.size.slim.css +0 -1
  110. package/src/semantics/_article.css +0 -12
  111. package/src/semantics/_dialog.css +0 -157
  112. package/src/semantics/_footer.css +0 -12
  113. package/src/semantics/_header.css +0 -12
  114. package/src/semantics/_main.css +0 -10
  115. package/src/semantics/_role-group-search.css +0 -129
  116. package/src/semantics/_section.css +0 -9
  117. package/src/semantics/_typography.css +0 -146
  118. package/src/sizes/slim.css +0 -41
  119. package/src/utilities/index.css +0 -14
  120. package/src/variables/_shared.css +0 -121
  121. package/src/variants/_card.css +0 -45
  122. package/src/variants/_flow.css +0 -15
  123. package/src/variants/_panel.css +0 -18
  124. package/src/variants/index.css +0 -9
  125. /package/src/semantics/{_aria-busy.css → attributes/_aria-busy.css} +0 -0
  126. /package/src/semantics/{_hidden.css → attributes/_hidden.css} +0 -0
  127. /package/src/semantics/{_role-toolbar.css → attributes/_role-toolbar.css} +0 -0
  128. /package/src/semantics/{_role-tooltip.css → attributes/_role-tooltip.css} +0 -0
  129. /package/src/semantics/{_body.css → elements/_body.css} +0 -0
  130. /package/src/semantics/{_document.css → elements/_document.css} +0 -0
  131. /package/src/semantics/{_embedded.css → elements/_embedded.css} +0 -0
  132. /package/src/semantics/{_figure.css → elements/_figure.css} +0 -0
  133. /package/src/semantics/{_type-checkbox-radio.css → elements/_type-checkbox-radio.css} +0 -0
  134. /package/src/semantics/{_type-color.css → elements/_type-color.css} +0 -0
  135. /package/src/semantics/{_type-date.css → elements/_type-date.css} +0 -0
  136. /package/src/semantics/{_type-file.css → elements/_type-file.css} +0 -0
  137. /package/src/semantics/{_type-range.css → elements/_type-range.css} +0 -0
  138. /package/src/semantics/{_type-search.css → elements/_type-search.css} +0 -0
@@ -8,7 +8,7 @@
8
8
  :root:not([data-theme="dark"]),
9
9
  :host(:not([data-theme="dark"])) {
10
10
  --color-text-selection: rgba(232, 120, 62, 0.25);
11
- --color-primary: #9e3806;
11
+ --color-primary-rgb: 158, 56, 6;
12
12
  --color-primary-bg: #f4a37d;
13
13
  --color-primary-border: var(--color-primary-bg);
14
14
  --color-primary-underline: rgba(158, 56, 6, 0.5);
@@ -26,7 +26,7 @@
26
26
  :root:not([data-theme]),
27
27
  :host(:not([data-theme])) {
28
28
  --color-text-selection: rgba(243, 153, 111, 0.1875);
29
- --color-primary: #f3996f;
29
+ --color-primary-rgb: 243, 153, 111;
30
30
  --color-primary-bg: #f4a37d;
31
31
  --color-primary-border: var(--color-primary-bg);
32
32
  --color-primary-underline: rgba(243, 153, 111, 0.5);
@@ -42,7 +42,7 @@
42
42
 
43
43
  [data-theme="dark"] {
44
44
  --color-text-selection: rgba(243, 153, 111, 0.1875);
45
- --color-primary: #f3996f;
45
+ --color-primary-rgb: 243, 153, 111;
46
46
  --color-primary-bg: #f4a37d;
47
47
  --color-primary-border: var(--color-primary-bg);
48
48
  --color-primary-underline: rgba(243, 153, 111, 0.5);
@@ -8,7 +8,7 @@
8
8
  :root:not([data-theme="dark"]),
9
9
  :host(:not([data-theme="dark"])) {
10
10
  --color-text-selection: rgba(205, 104, 224, 0.25);
11
- --color-primary: #9236a4;
11
+ --color-primary-rgb: 146, 54, 164;
12
12
  --color-primary-bg: #9236a4;
13
13
  --color-primary-border: var(--color-primary-bg);
14
14
  --color-primary-underline: rgba(146, 54, 164, 0.5);
@@ -26,7 +26,7 @@
26
26
  :root:not([data-theme]),
27
27
  :host(:not([data-theme])) {
28
28
  --color-text-selection: rgba(219, 144, 232, 0.1875);
29
- --color-primary: #db90e8;
29
+ --color-primary-rgb: 219, 144, 232;
30
30
  --color-primary-bg: #9236a4;
31
31
  --color-primary-border: var(--color-primary-bg);
32
32
  --color-primary-underline: rgba(219, 144, 232, 0.5);
@@ -42,7 +42,7 @@
42
42
 
43
43
  [data-theme="dark"] {
44
44
  --color-text-selection: rgba(219, 144, 232, 0.1875);
45
- --color-primary: #db90e8;
45
+ --color-primary-rgb: 219, 144, 232;
46
46
  --color-primary-bg: #9236a4;
47
47
  --color-primary-border: var(--color-primary-bg);
48
48
  --color-primary-underline: rgba(219, 144, 232, 0.5);
@@ -8,7 +8,7 @@
8
8
  :root:not([data-theme="dark"]),
9
9
  :host(:not([data-theme="dark"])) {
10
10
  --color-text-selection: rgba(240, 96, 72, 0.25);
11
- --color-primary: #c52f21;
11
+ --color-primary-rgb: 197, 47, 33;
12
12
  --color-primary-bg: #c52f21;
13
13
  --color-primary-border: var(--color-primary-bg);
14
14
  --color-primary-underline: rgba(197, 47, 33, 0.5);
@@ -26,7 +26,7 @@
26
26
  :root:not([data-theme]),
27
27
  :host(:not([data-theme])) {
28
28
  --color-text-selection: rgba(243, 143, 121, 0.1875);
29
- --color-primary: #f38f79;
29
+ --color-primary-rgb: 243, 143, 121;
30
30
  --color-primary-bg: #c52f21;
31
31
  --color-primary-border: var(--color-primary-bg);
32
32
  --color-primary-underline: rgba(243, 143, 121, 0.5);
@@ -42,7 +42,7 @@
42
42
 
43
43
  [data-theme="dark"] {
44
44
  --color-text-selection: rgba(243, 143, 121, 0.1875);
45
- --color-primary: #f38f79;
45
+ --color-primary-rgb: 243, 143, 121;
46
46
  --color-primary-bg: #c52f21;
47
47
  --color-primary-border: var(--color-primary-bg);
48
48
  --color-primary-underline: rgba(243, 143, 121, 0.5);
@@ -8,7 +8,7 @@
8
8
  :root:not([data-theme="dark"]),
9
9
  :host(:not([data-theme="dark"])) {
10
10
  --color-text-selection: rgba(181, 157, 119, 0.25);
11
- --color-primary: #6b5733;
11
+ --color-primary-rgb: 107, 87, 51;
12
12
  --color-primary-bg: #e6d5b8;
13
13
  --color-primary-border: var(--color-primary-bg);
14
14
  --color-primary-underline: rgba(107, 87, 51, 0.5);
@@ -26,7 +26,7 @@
26
26
  :root:not([data-theme]),
27
27
  :host(:not([data-theme])) {
28
28
  --color-text-selection: rgba(201, 178, 140, 0.1875);
29
- --color-primary: #c9b28c;
29
+ --color-primary-rgb: 201, 178, 140;
30
30
  --color-primary-bg: #e6d5b8;
31
31
  --color-primary-border: var(--color-primary-bg);
32
32
  --color-primary-underline: rgba(201, 178, 140, 0.5);
@@ -42,7 +42,7 @@
42
42
 
43
43
  [data-theme="dark"] {
44
44
  --color-text-selection: rgba(201, 178, 140, 0.1875);
45
- --color-primary: #c9b28c;
45
+ --color-primary-rgb: 201, 178, 140;
46
46
  --color-primary-bg: #e6d5b8;
47
47
  --color-primary-border: var(--color-primary-bg);
48
48
  --color-primary-underline: rgba(201, 178, 140, 0.5);
@@ -8,7 +8,7 @@
8
8
  :root:not([data-theme="dark"]),
9
9
  :host(:not([data-theme="dark"])) {
10
10
  --color-text-selection: rgba(130, 146, 170, 0.25);
11
- --color-primary: #48536b;
11
+ --color-primary-rgb: 72, 83, 107;
12
12
  --color-primary-bg: #48536b;
13
13
  --color-primary-border: var(--color-primary-bg);
14
14
  --color-primary-underline: rgba(72, 83, 107, 0.5);
@@ -26,7 +26,7 @@
26
26
  :root:not([data-theme]),
27
27
  :host(:not([data-theme])) {
28
28
  --color-text-selection: rgba(159, 176, 200, 0.1875);
29
- --color-primary: #9fb0c8;
29
+ --color-primary-rgb: 159, 176, 200;
30
30
  --color-primary-bg: #48536b;
31
31
  --color-primary-border: var(--color-primary-bg);
32
32
  --color-primary-underline: rgba(159, 176, 200, 0.5);
@@ -42,7 +42,7 @@
42
42
 
43
43
  [data-theme="dark"] {
44
44
  --color-text-selection: rgba(159, 176, 200, 0.1875);
45
- --color-primary: #9fb0c8;
45
+ --color-primary-rgb: 159, 176, 200;
46
46
  --color-primary-bg: #48536b;
47
47
  --color-primary-border: var(--color-primary-bg);
48
48
  --color-primary-underline: rgba(159, 176, 200, 0.5);
@@ -8,7 +8,7 @@
8
8
  :root:not([data-theme="dark"]),
9
9
  :host(:not([data-theme="dark"])) {
10
10
  --color-text-selection: rgba(167, 128, 212, 0.25);
11
- --color-primary: #7540bf;
11
+ --color-primary-rgb: 117, 64, 191;
12
12
  --color-primary-bg: #7540bf;
13
13
  --color-primary-border: var(--color-primary-bg);
14
14
  --color-primary-underline: rgba(117, 64, 191, 0.5);
@@ -26,7 +26,7 @@
26
26
  :root:not([data-theme]),
27
27
  :host(:not([data-theme])) {
28
28
  --color-text-selection: rgba(189, 159, 223, 0.1875);
29
- --color-primary: #bd9fdf;
29
+ --color-primary-rgb: 189, 159, 223;
30
30
  --color-primary-bg: #7540bf;
31
31
  --color-primary-border: var(--color-primary-bg);
32
32
  --color-primary-underline: rgba(189, 159, 223, 0.5);
@@ -42,7 +42,7 @@
42
42
 
43
43
  [data-theme="dark"] {
44
44
  --color-text-selection: rgba(189, 159, 223, 0.1875);
45
- --color-primary: #bd9fdf;
45
+ --color-primary-rgb: 189, 159, 223;
46
46
  --color-primary-bg: #7540bf;
47
47
  --color-primary-border: var(--color-primary-bg);
48
48
  --color-primary-underline: rgba(189, 159, 223, 0.5);
@@ -8,7 +8,7 @@
8
8
  :root:not([data-theme="dark"]),
9
9
  :host(:not([data-theme="dark"])) {
10
10
  --color-text-selection: rgba(209, 188, 0, 0.25);
11
- --color-primary: #8a7a00;
11
+ --color-primary-rgb: 138, 122, 0;
12
12
  --color-primary-bg: #fcf19c;
13
13
  --color-primary-border: var(--color-primary-bg);
14
14
  --color-primary-underline: rgba(138, 122, 0, 0.5);
@@ -26,7 +26,7 @@
26
26
  :root:not([data-theme]),
27
27
  :host(:not([data-theme])) {
28
28
  --color-text-selection: rgba(233, 212, 0, 0.1875);
29
- --color-primary: #e9d400;
29
+ --color-primary-rgb: 233, 212, 0;
30
30
  --color-primary-bg: #fcf19c;
31
31
  --color-primary-border: var(--color-primary-bg);
32
32
  --color-primary-underline: rgba(233, 212, 0, 0.5);
@@ -42,7 +42,7 @@
42
42
 
43
43
  [data-theme="dark"] {
44
44
  --color-text-selection: rgba(233, 212, 0, 0.1875);
45
- --color-primary: #e9d400;
45
+ --color-primary-rgb: 233, 212, 0;
46
46
  --color-primary-bg: #fcf19c;
47
47
  --color-primary-border: var(--color-primary-bg);
48
48
  --color-primary-underline: rgba(233, 212, 0, 0.5);
@@ -8,7 +8,7 @@
8
8
  :root:not([data-theme="dark"]),
9
9
  :host(:not([data-theme="dark"])) {
10
10
  --color-text-selection: rgba(127, 139, 158, 0.25);
11
- --color-primary: #525f7a;
11
+ --color-primary-rgb: 82, 95, 122;
12
12
  --color-primary-bg: #525f7a;
13
13
  --color-primary-border: var(--color-primary-bg);
14
14
  --color-primary-underline: rgba(82, 95, 122, 0.5);
@@ -26,7 +26,7 @@
26
26
  :root:not([data-theme]),
27
27
  :host(:not([data-theme])) {
28
28
  --color-text-selection: rgba(155, 168, 189, 0.1875);
29
- --color-primary: #9ba8bd;
29
+ --color-primary-rgb: 155, 168, 189;
30
30
  --color-primary-bg: #525f7a;
31
31
  --color-primary-border: var(--color-primary-bg);
32
32
  --color-primary-underline: rgba(155, 168, 189, 0.5);
@@ -42,7 +42,7 @@
42
42
 
43
43
  [data-theme="dark"] {
44
44
  --color-text-selection: rgba(155, 168, 189, 0.1875);
45
- --color-primary: #9ba8bd;
45
+ --color-primary-rgb: 155, 168, 189;
46
46
  --color-primary-bg: #525f7a;
47
47
  --color-primary-border: var(--color-primary-bg);
48
48
  --color-primary-underline: rgba(155, 168, 189, 0.5);
@@ -0,0 +1,3 @@
1
+ ::selection {
2
+ background-color: var(--color-text-selection);
3
+ }
@@ -0,0 +1,13 @@
1
+ [popover] {
2
+ overflow: auto;
3
+ border: 0;
4
+ padding: 0;
5
+ color: var(--color-text);
6
+ background-color: var(--color-background);
7
+ height: unset;
8
+ margin: unset;
9
+
10
+ &:popover-open {
11
+ display: block !important;
12
+ }
13
+ }
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Group ([role="group"], [role="search"])
3
+ */
4
+ [role="search"],
5
+ [role="group"] {
6
+ border-radius: var(--border-radius);
7
+ box-shadow: var(--group-shadow, 0 0 0 rgba(0, 0, 0, 0));
8
+ display: inline-flex;
9
+ gap: 0;
10
+ margin-bottom: var(--spacing);
11
+ position: relative;
12
+ transition: box-shadow var(--transition);
13
+ vertical-align: middle;
14
+ width: 100%;
15
+
16
+ & > *:not(details),
17
+ & input:not([type="checkbox"], [type="radio"]),
18
+ & select {
19
+ position: relative;
20
+ flex: 1 1 auto;
21
+ margin-bottom: 0;
22
+
23
+ &:not(:first-child) {
24
+ margin-left: calc(var(--border-width) * -1);
25
+ border-top-left-radius: 0;
26
+ border-bottom-left-radius: 0;
27
+ }
28
+
29
+ &:not(:last-child) {
30
+ border-top-right-radius: 0;
31
+ border-bottom-right-radius: 0;
32
+ }
33
+
34
+ &:focus {
35
+ z-index: 2;
36
+ }
37
+ }
38
+
39
+ & button,
40
+ & [type="submit"],
41
+ & [type="reset"],
42
+ & [type="button"],
43
+ & [role="button"] {
44
+ width: auto;
45
+ }
46
+
47
+ /* Details dropdown inside group */
48
+ & > details {
49
+ position: relative;
50
+ margin-bottom: 0;
51
+ /* Constrain details height to just the button, not the dropdown menu */
52
+ height: calc(
53
+ 1rem * var(--line-height) + var(--form-element-spacing-vertical) *
54
+ 2 + var(--border-width) * 2
55
+ );
56
+ overflow: visible;
57
+
58
+ &:not(:first-child) {
59
+ margin-left: calc(var(--border-width) * -1);
60
+
61
+ & > summary {
62
+ border-top-left-radius: 0;
63
+ border-bottom-left-radius: 0;
64
+ }
65
+ }
66
+
67
+ &:not(:last-child) > summary {
68
+ border-top-right-radius: 0;
69
+ border-bottom-right-radius: 0;
70
+ }
71
+
72
+ & > summary:focus {
73
+ z-index: 2;
74
+ }
75
+
76
+ /* Ensure consistent height with other form elements in the group */
77
+ & > summary[role="button"] {
78
+ display: flex;
79
+ align-items: center;
80
+ height: 100%;
81
+
82
+ &::after {
83
+ height: calc(1rem * var(--line-height, 1.5));
84
+ }
85
+ }
86
+ }
87
+ }
88
+
89
+ @supports selector(:has(*)) {
90
+ [role="search"],
91
+ [role="group"] {
92
+ &:has(
93
+ button:focus,
94
+ [type="submit"]:focus,
95
+ [type="button"]:focus,
96
+ [role="button"]:focus
97
+ ) {
98
+ --group-shadow: var(--group-shadow-focus-with-button);
99
+
100
+ & input:not([type="checkbox"], [type="radio"]),
101
+ & select {
102
+ border-color: transparent;
103
+ }
104
+ }
105
+
106
+ &:has(input:not([type="submit"], [type="button"]):focus, select:focus) {
107
+ --group-shadow: var(--group-shadow-focus-with-input);
108
+
109
+ & button,
110
+ & [type="submit"],
111
+ & [type="button"],
112
+ & [role="button"] {
113
+ --button-shadow: 0 0 0 var(--border-width)
114
+ var(--color-primary-border);
115
+ --button-shadow-hover: 0 0 0 var(--border-width)
116
+ var(--color-primary-hover-border);
117
+ }
118
+ }
119
+
120
+ & button:focus,
121
+ & [type="submit"]:focus,
122
+ & [type="reset"]:focus,
123
+ & [type="button"]:focus,
124
+ & [role="button"]:focus {
125
+ box-shadow: none;
126
+ }
127
+ }
128
+ }
129
+
130
+ [role="search"] {
131
+ & > :first-child {
132
+ border-top-left-radius: 5rem;
133
+ border-bottom-left-radius: 5rem;
134
+ }
135
+
136
+ & > :last-child {
137
+ border-top-right-radius: 5rem;
138
+ border-bottom-right-radius: 5rem;
139
+ }
140
+ }
@@ -0,0 +1,5 @@
1
+ abbr[title] {
2
+ border-bottom: 1px dotted;
3
+ text-decoration: none;
4
+ cursor: help;
5
+ }
@@ -0,0 +1,7 @@
1
+ address {
2
+ margin-top: 0;
3
+ margin-bottom: var(--typography-spacing-vertical);
4
+ color: var(--color-text);
5
+ font-style: normal;
6
+ font-weight: var(--font-weight);
7
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Article
3
+ */
4
+ article {
5
+ width: 100%;
6
+ }
@@ -1,12 +1,12 @@
1
1
  /**
2
- * Aside its width changes according to breakpoints (see src/variables/_shared.css),
3
- * its height grows to fill the available space,
2
+ * Aside its width changes according to certain breakpoints,
3
+ * and its height grows to fill the available space,
4
4
  * and stacks its children in a column with space between them (like a <nav> would).
5
5
  * In case of a single child, this child will fill the entire height.
6
6
  */
7
7
  aside {
8
- padding-inline: var(--block-spacing-horizontal);
9
8
  width: var(--sidebar-width) !important;
9
+ padding: var(--spacing) !important;
10
10
 
11
11
  :where(ol, ul, li) {
12
12
  align-items: stretch !important;
@@ -0,0 +1,18 @@
1
+ blockquote {
2
+ border-inline-end: none;
3
+ border-inline-start: 0.25rem solid var(--color-border-muted);
4
+ border-left: 0.25rem solid var(--color-border-muted);
5
+ border-right: none;
6
+ color: var(--color-text);
7
+ display: block;
8
+ font-style: normal;
9
+ font-weight: var(--font-weight);
10
+ margin-bottom: var(--typography-spacing-vertical);
11
+ margin-top: 0;
12
+ padding: var(--spacing);
13
+
14
+ & footer {
15
+ margin-top: calc(var(--typography-spacing-vertical) * 0.5);
16
+ color: var(--color-text-muted);
17
+ }
18
+ }
@@ -118,8 +118,8 @@ aside {
118
118
 
119
119
  nav {
120
120
  :where(button, [role=button], [type=button], input:not([type=checkbox], [type=radio], [type=range], [type=file]), select) {
121
- --form-element-spacing-vertical: calc(var(--nav-link-spacing-vertical) - var(--border-width) * 2);
122
- --form-element-spacing-horizontal: var(--nav-link-spacing-horizontal);
121
+ --form-element-spacing-vertical: calc(var(--nav-link-spacing) - var(--border-width) * 2);
122
+ --form-element-spacing-horizontal: var(--nav-link-spacing);
123
123
 
124
124
  height: auto;
125
125
  margin-right: inherit;
@@ -8,8 +8,8 @@ samp {
8
8
  font-size: 0.875em;
9
9
  font-family: var(--font-family);
10
10
  border-radius: var(--border-radius);
11
- background: var(--color-code-bg);
12
- color: var(--color-code-text);
11
+ background: var(--code-bg);
12
+ color: var(--code-color);
13
13
  font-weight: var(--font-weight);
14
14
  line-height: initial;
15
15
  }
@@ -23,10 +23,13 @@ samp {
23
23
 
24
24
  pre {
25
25
  -ms-overflow-style: scrollbar;
26
- overflow: auto;
26
+ color: var(--color-text);
27
27
  display: block;
28
- margin-bottom: var(--spacing);
29
- overflow-x: auto;
28
+ font-style: normal;
29
+ font-weight: var(--font-weight);
30
+ margin-bottom: var(--typography-spacing-vertical);
31
+ margin-top: 0;
32
+ overflow: auto;
30
33
 
31
34
  & code,
32
35
  & samp {
@@ -44,7 +47,7 @@ pre {
44
47
  }
45
48
 
46
49
  kbd {
47
- background-color: var(--color-kbd-bg);
48
- color: var(--color-kbd-text);
50
+ background-color: var(--kbd-bg);
51
+ color: var(--kbd-color);
49
52
  vertical-align: baseline;
50
53
  }
@@ -0,0 +1,3 @@
1
+ del {
2
+ color: rgb(var(--color-danger-rgb));
3
+ }
@@ -53,7 +53,7 @@ details {
53
53
  &:focus-visible:not([role]) {
54
54
  outline: var(--outline-width) solid var(--color-primary-focus);
55
55
  outline-offset: calc(var(--spacing, 1rem) * 0.5);
56
- color: var(--color-primary);
56
+ color: rgb(var(--color-primary-rgb));
57
57
  }
58
58
 
59
59
  &[role=button] {
@@ -173,11 +173,11 @@ details:has(> summary[aria-haspopup="menu"]) {
173
173
  margin: 0;
174
174
  margin-top: var(--outline-width);
175
175
  padding: 0;
176
- border: var(--border-width) solid var(--dropdown-border);
176
+ border: var(--border-width) solid var(--menu-border);
177
177
  border-radius: var(--border-radius);
178
- background-color: var(--dropdown-bg);
179
- box-shadow: var(--dropdown-shadow);
180
- color: var(--dropdown-text);
178
+ background-color: var(--menu-bg);
179
+ box-shadow: var(--menu-shadow);
180
+ color: var(--menu-text);
181
181
  white-space: nowrap;
182
182
  opacity: 0;
183
183
  transition: opacity var(--transition), transform 0s ease-in-out 1s;
@@ -208,7 +208,7 @@ details:has(> summary[aria-haspopup="menu"]) {
208
208
  padding: calc(var(--form-element-spacing-vertical) * 0.5) var(--form-element-spacing-horizontal);
209
209
  overflow: hidden;
210
210
  border-radius: 0;
211
- color: var(--dropdown-text);
211
+ color: var(--menu-text);
212
212
  text-decoration: none;
213
213
  text-overflow: ellipsis;
214
214
 
@@ -217,7 +217,7 @@ details:has(> summary[aria-haspopup="menu"]) {
217
217
  &:active,
218
218
  &:focus-visible,
219
219
  &[aria-current]:not([aria-current=false]) {
220
- background-color: var(--dropdown-hover-bg);
220
+ background-color: var(--menu-hover-bg);
221
221
  }
222
222
  }
223
223
 
@@ -226,7 +226,7 @@ details:has(> summary[aria-haspopup="menu"]) {
226
226
  }
227
227
 
228
228
  &:has(label):hover {
229
- background-color: var(--dropdown-hover-bg);
229
+ background-color: var(--menu-hover-bg);
230
230
  }
231
231
  }
232
232
 
@@ -269,7 +269,7 @@ nav details:has(> summary[aria-haspopup="menu"]) {
269
269
  display: flex;
270
270
  align-items: center;
271
271
  height: auto;
272
- padding: calc(var(--nav-link-spacing-vertical) - var(--border-width) * 2) var(--nav-link-spacing-horizontal);
272
+ padding: calc(var(--nav-link-spacing) - var(--border-width) * 2) var(--nav-link-spacing);
273
273
  }
274
274
 
275
275
  & > :where(summary:not([role]):focus-visible) {
@@ -286,6 +286,6 @@ nav details:has(> summary[aria-haspopup="menu"]) {
286
286
  align-items: center;
287
287
  width: auto;
288
288
  height: auto;
289
- padding: calc(var(--nav-link-spacing-vertical) - var(--border-width) * 2) var(--nav-link-spacing-horizontal);
289
+ padding: calc(var(--nav-link-spacing) - var(--border-width) * 2) var(--nav-link-spacing);
290
290
  }
291
291
  }
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Modal (<dialog>)
3
+ */
4
+
5
+ /* Prevent body scroll and interaction when modal is open */
6
+ body:has(dialog[open]) {
7
+ overflow: hidden;
8
+ pointer-events: none;
9
+ touch-action: none;
10
+
11
+ & dialog[open],
12
+ & dialog:target {
13
+ pointer-events: auto;
14
+ touch-action: auto;
15
+ }
16
+ }
17
+
18
+ dialog {
19
+ max-height: calc(100vh - var(--spacing) * 2);
20
+ margin: auto;
21
+ overflow: auto;
22
+ padding: var(--spacing);
23
+ border-radius: var(--border-radius);
24
+ background: var(--pane-bg);
25
+ box-shadow: var(--pane-shadow);
26
+ border: 0;
27
+
28
+ /* Opening animation using @starting-style (Chrome 117+, Firefox 129+, Safari 17.4+) */
29
+ /* Gracefully degrades to instant appearance in unsupported browsers */
30
+ transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
31
+
32
+ @media (--breakpoint-sm) {
33
+ max-width: 510px;
34
+ }
35
+
36
+ @media (--breakpoint-md) {
37
+ max-width: 700px;
38
+ }
39
+
40
+ /* Hidden state */
41
+ &:not([open]),
42
+ &[open=false] {
43
+ display: none;
44
+ }
45
+
46
+ /* Backdrop overlay */
47
+ &::backdrop {
48
+ backdrop-filter: var(--backdrop-overlay-filter);
49
+ background-color: var(--backdrop-overlay-bg);
50
+ transition: backdrop-filter 0.2s ease-in-out, background-color 0.2s ease-in-out;
51
+ }
52
+
53
+ > header,
54
+ > footer {
55
+ width: auto;
56
+ margin-inline: calc(var(--spacing) * -1);
57
+ padding-inline: var(--spacing);
58
+ background-color: var(--pane-section-bg);
59
+ }
60
+
61
+ /* Header styling */
62
+ > header {
63
+ margin-top: calc(var(--spacing) * -1);
64
+ border-bottom: var(--border-width) solid var(--pane-section-border);
65
+ border-top-right-radius: var(--border-radius);
66
+ border-top-left-radius: var(--border-radius);
67
+ }
68
+
69
+ /* Footer styling */
70
+ > footer {
71
+ margin-bottom: calc(var(--spacing) * -1);
72
+ border-top: var(--border-width) solid var(--pane-section-border);
73
+ border-bottom-right-radius: var(--border-radius);
74
+ border-bottom-left-radius: var(--border-radius);
75
+ display: flex;
76
+ justify-content: end;
77
+ gap: calc(var(--nav-link-spacing) * 1.5);
78
+ }
79
+
80
+ /* Close button styling */
81
+ [rel=prev] {
82
+ margin: 0;
83
+ padding: 0;
84
+ position: absolute;
85
+ display: block;
86
+ width: 1rem;
87
+ height: 1rem;
88
+ top: calc(var(--spacing) * .66);
89
+ right: var(--spacing);
90
+ border: none;
91
+ border-radius: 0;
92
+ background-image: var(--icon-close);
93
+ background-position: center;
94
+ background-size: auto 1rem;
95
+ background-repeat: no-repeat;
96
+ background-color: transparent;
97
+ box-shadow: none;
98
+ opacity: 0.5;
99
+ transition: opacity var(--transition);
100
+
101
+ &:hover {
102
+ opacity: 1;
103
+ }
104
+ }
105
+ }
106
+
107
+ @starting-style {
108
+ dialog[open] {
109
+ opacity: 0;
110
+ transform: translateY(-20px);
111
+ }
112
+
113
+ dialog[open]::backdrop {
114
+ backdrop-filter: none;
115
+ background-color: transparent;
116
+ }
117
+ }