@semanticus/semanticus-css 2.2.0 → 3.1.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 (150) hide show
  1. package/README.md +23 -22
  2. package/dist/semanticus-no-utilities.css +1 -1
  3. package/dist/semanticus-semantics.css +1 -1
  4. package/dist/semanticus-utilities.css +1 -1
  5. package/dist/semanticus.css +2 -2
  6. package/dist/semanticus.palette.amber.css +1 -1
  7. package/dist/semanticus.palette.azure.css +1 -1
  8. package/dist/semanticus.palette.blue.css +1 -1
  9. package/dist/semanticus.palette.cyan.css +1 -1
  10. package/dist/semanticus.palette.fuchsia.css +1 -1
  11. package/dist/semanticus.palette.green.css +1 -1
  12. package/dist/semanticus.palette.grey.css +1 -1
  13. package/dist/semanticus.palette.indigo.css +1 -1
  14. package/dist/semanticus.palette.jade.css +1 -1
  15. package/dist/semanticus.palette.lime.css +1 -1
  16. package/dist/semanticus.palette.orange.css +1 -1
  17. package/dist/semanticus.palette.pink.css +1 -1
  18. package/dist/semanticus.palette.pumpkin.css +1 -1
  19. package/dist/semanticus.palette.purple.css +1 -1
  20. package/dist/semanticus.palette.red.css +1 -1
  21. package/dist/semanticus.palette.sand.css +1 -1
  22. package/dist/semanticus.palette.slate.css +1 -1
  23. package/dist/semanticus.palette.violet.css +1 -1
  24. package/dist/semanticus.palette.yellow.css +1 -1
  25. package/dist/semanticus.palette.zinc.css +1 -1
  26. package/dist/semanticus.size.pico.css +1 -1
  27. package/package.json +1 -1
  28. package/src/components/_card.css +55 -46
  29. package/src/components/_icons.css +2 -2
  30. package/src/components/_pane.css +15 -8
  31. package/src/components/_sidebar.css +6 -6
  32. package/src/components/_variables.css +28 -0
  33. package/src/components/modules.css +2 -0
  34. package/src/index.css +1 -1
  35. package/src/palettes/amber.css +22 -26
  36. package/src/palettes/azure.css +22 -26
  37. package/src/palettes/blue.css +22 -26
  38. package/src/palettes/cyan.css +22 -26
  39. package/src/palettes/fuchsia.css +25 -26
  40. package/src/palettes/green.css +22 -26
  41. package/src/palettes/grey.css +22 -26
  42. package/src/palettes/indigo.css +22 -26
  43. package/src/palettes/jade.css +22 -26
  44. package/src/palettes/lime.css +22 -26
  45. package/src/palettes/orange.css +22 -26
  46. package/src/palettes/pink.css +22 -26
  47. package/src/palettes/pumpkin.css +25 -26
  48. package/src/palettes/purple.css +22 -26
  49. package/src/palettes/red.css +22 -26
  50. package/src/palettes/sand.css +22 -26
  51. package/src/palettes/slate.css +22 -26
  52. package/src/palettes/violet.css +22 -26
  53. package/src/palettes/yellow.css +22 -26
  54. package/src/palettes/zinc.css +22 -26
  55. package/src/semantics/attributes/_aria-busy.css +1 -10
  56. package/src/semantics/attributes/_aria-disabled.css +2 -23
  57. package/src/semantics/attributes/_disabled.css +3 -0
  58. package/src/semantics/attributes/_popover.css +4 -3
  59. package/src/semantics/attributes/_role-group-search.css +135 -0
  60. package/src/semantics/attributes/_role-list.css +23 -0
  61. package/src/semantics/attributes/_role-status-alert.css +28 -22
  62. package/src/semantics/attributes/_role-tooltip.css +11 -8
  63. package/src/semantics/elements/_address.css +2 -2
  64. package/src/semantics/elements/_aside.css +4 -3
  65. package/src/semantics/elements/_blockquote.css +6 -6
  66. package/src/semantics/elements/_body.css +0 -2
  67. package/src/semantics/elements/_buttons.css +100 -0
  68. package/src/semantics/elements/_code.css +18 -8
  69. package/src/semantics/elements/_del.css +1 -1
  70. package/src/semantics/elements/_details.css +147 -162
  71. package/src/semantics/elements/_dialog.css +24 -17
  72. package/src/semantics/elements/_fieldset.css +27 -0
  73. package/src/semantics/elements/_figure.css +1 -1
  74. package/src/semantics/elements/_footer.css +0 -1
  75. package/src/semantics/elements/_header.css +0 -1
  76. package/src/semantics/elements/_headings.css +86 -9
  77. package/src/semantics/elements/_hgroup.css +2 -2
  78. package/src/semantics/elements/_hr.css +2 -2
  79. package/src/semantics/elements/_inputs.css +14 -0
  80. package/src/semantics/elements/_ins.css +1 -1
  81. package/src/semantics/elements/_label.css +4 -0
  82. package/src/semantics/elements/_links.css +34 -41
  83. package/src/semantics/elements/_lists.css +10 -8
  84. package/src/semantics/elements/_mark.css +2 -2
  85. package/src/semantics/elements/_nav.css +65 -35
  86. package/src/semantics/elements/_p.css +2 -2
  87. package/src/semantics/elements/_progress.css +18 -11
  88. package/src/semantics/elements/{_document.css → _root.css} +12 -9
  89. package/src/semantics/elements/_section.css +0 -1
  90. package/src/semantics/elements/_small.css +27 -0
  91. package/src/semantics/elements/_table.css +20 -6
  92. package/src/semantics/elements/inputs/_checkbox-radio.css +30 -0
  93. package/src/semantics/elements/inputs/_checkbox.css +19 -0
  94. package/src/semantics/elements/{_type-color.css → inputs/_color.css} +5 -3
  95. package/src/semantics/elements/inputs/_common.css +87 -0
  96. package/src/semantics/elements/inputs/_date.css +53 -0
  97. package/src/semantics/elements/inputs/_file.css +35 -0
  98. package/src/semantics/elements/inputs/_input.css +47 -0
  99. package/src/semantics/elements/inputs/_radio.css +11 -0
  100. package/src/semantics/elements/inputs/_range.css +69 -0
  101. package/src/semantics/elements/inputs/_search.css +48 -0
  102. package/src/semantics/elements/inputs/_select.css +32 -0
  103. package/src/semantics/elements/inputs/_switch.css +46 -0
  104. package/src/semantics/elements/inputs/_textarea.css +30 -0
  105. package/src/semantics/modules.css +9 -13
  106. package/src/sizes/pico.css +24 -23
  107. package/src/utilities/_grid.css +917 -179
  108. package/src/utilities/_variables.css +21 -14
  109. package/src/utilities/borders/_border-radius.css +9 -9
  110. package/src/utilities/borders/_border-style.css +10 -10
  111. package/src/utilities/colors/_bg-colors.css +22 -38
  112. package/src/utilities/colors/_border-colors.css +20 -26
  113. package/src/utilities/colors/_subtle-colors.css +55 -61
  114. package/src/utilities/colors/_text-bg-colors.css +35 -35
  115. package/src/utilities/colors/_text-colors.css +24 -46
  116. package/src/utilities/effects/_focus-ring.css +14 -11
  117. package/src/utilities/layout/_misc.css +4 -3
  118. package/src/utilities/sizing/_width.css +48 -0
  119. package/src/utilities/spacing/_gap.css +0 -43
  120. package/src/utilities/spacing/_margin.css +0 -1
  121. package/src/utilities/spacing/_padding.css +0 -1
  122. package/src/utilities/typography/_font-sizes.css +6 -6
  123. package/src/variables/_all.css +3 -4
  124. package/src/variables/_theme.css +394 -237
  125. package/src/variants/_intent.css +8 -0
  126. package/src/variants/_variables.css +109 -9
  127. package/src/variants/intent/_common.css +33 -0
  128. package/src/variants/intent/_contrast.css +30 -31
  129. package/src/variants/intent/_danger.css +7 -30
  130. package/src/variants/intent/_info.css +7 -30
  131. package/src/variants/intent/_primary.css +7 -30
  132. package/src/variants/intent/_secondary.css +7 -30
  133. package/src/variants/intent/_success.css +7 -30
  134. package/src/variants/intent/_warning.css +7 -30
  135. package/src/variants/modifiers/_ghost.css +52 -152
  136. package/src/variants/modifiers/_striped.css +6 -5
  137. package/src/variants/modifiers/_subtle.css +55 -113
  138. package/src/variants/modules.css +1 -7
  139. package/src/semantics/attributes/_role-group.css +0 -126
  140. package/src/semantics/attributes/_role-search.css +0 -14
  141. package/src/semantics/elements/_article.css +0 -3
  142. package/src/semantics/elements/_button.css +0 -124
  143. package/src/semantics/elements/_input.css +0 -302
  144. package/src/semantics/elements/_main.css +0 -3
  145. package/src/semantics/elements/_type-checkbox-radio.css +0 -139
  146. package/src/semantics/elements/_type-date.css +0 -37
  147. package/src/semantics/elements/_type-file.css +0 -23
  148. package/src/semantics/elements/_type-range.css +0 -87
  149. package/src/semantics/elements/_type-search.css +0 -30
  150. package/src/variables/_elements.css +0 -195
@@ -1,31 +1,27 @@
1
1
  :root,
2
2
  :host {
3
- /* --color-red-950: #1c0d06; */
4
- /* --color-red-900: #30130a; */
5
- /* --color-red-850: #45150c; */
6
- /* --color-red-800: #5c160d; */
7
- /* --color-red-750: #72170f; */
8
- /* --color-red-700: #861d13; */
9
- /* --color-red-650: #9b2318; */
10
- /* --color-red-600: #af291d; */
11
- --color-red-550: #c52f21;
12
- /* --color-red-500: #d93526; */
13
- /* --color-red-450: #ee402e; */
14
- /* --color-red-400: #f06048; */
15
- --color-red-350: #f17961;
16
- /* --color-red-300: #f38f79; */
17
- /* --color-red-250: #f5a390; */
18
- /* --color-red-200: #f5b7a8; */
19
- /* --color-red-150: #f6cabf; */
20
- /* --color-red-100: #f8dcd6; */
21
- /* --color-red-50: #faeeeb; */
22
- /* --color-red: var(--color-red-550); */
3
+ /* --_color-red-950: #1c0d06; */
4
+ /* --_color-red-900: #30130a; */
5
+ /* --_color-red-850: #45150c; */
6
+ /* --_color-red-800: #5c160d; */
7
+ /* --_color-red-750: #72170f; */
8
+ /* --_color-red-700: #861d13; */
9
+ /* --_color-red-650: #9b2318; */
10
+ /* --_color-red-600: #af291d; */
11
+ --_color-red-550: #c52f21;
12
+ /* --_color-red-500: #d93526; */
13
+ /* --_color-red-450: #ee402e; */
14
+ /* --_color-red-400: #f06048; */
15
+ --_color-red-350: #f17961;
16
+ /* --_color-red-300: #f38f79; */
17
+ /* --_color-red-250: #f5a390; */
18
+ /* --_color-red-200: #f5b7a8; */
19
+ /* --_color-red-150: #f6cabf; */
20
+ /* --_color-red-100: #f8dcd6; */
21
+ /* --_color-red-50: #faeeeb; */
22
+ /* --color-red: var(--_color-red-550); */
23
23
 
24
24
  /* System tokens */
25
- --color-primary-text: light-dark(var(--color-red-550), var(--color-red-350));
26
- --color-primary-fill: var(--color-red-550);
27
- --color-primary-on-fill: white;
28
-
29
- /* Component tokens */
30
- --switch-thumb-glow: light-dark(0 0 0 oklch(0% 0 0deg / 0), 0 0 0 oklch(0% 0 0deg / 0));
25
+ --primary-color: light-dark(var(--_color-red-550), var(--_color-red-350));
26
+ --primary-background-color: var(--_color-red-550);
31
27
  }
@@ -1,31 +1,27 @@
1
1
  :root,
2
2
  :host {
3
- /* --color-sand-950: #111110; */
4
- /* --color-sand-900: #1c1b19; */
5
- /* --color-sand-850: #272622; */
6
- /* --color-sand-800: #32302b; */
7
- /* --color-sand-750: #3d3b35; */
8
- /* --color-sand-700: #49463f; */
9
- /* --color-sand-650: #55524a; */
10
- /* --color-sand-600: #615e55; */
11
- --color-sand-550: #6e6a60;
12
- /* --color-sand-500: #7b776b; */
13
- /* --color-sand-450: #888377; */
14
- /* --color-sand-400: #959082; */
15
- --color-sand-350: #a39e8f;
16
- /* --color-sand-300: #b0ab9b; */
17
- /* --color-sand-250: #beb8a7; */
18
- --color-sand-200: #ccc6b4;
19
- /* --color-sand-150: #dad4c2; */
20
- /* --color-sand-100: #e8e2d2; */
21
- /* --color-sand-50: #f2f0ec; */
22
- /* --color-sand: var(--color-sand-550); */
3
+ /* --_color-sand-950: #111110; */
4
+ /* --_color-sand-900: #1c1b19; */
5
+ /* --_color-sand-850: #272622; */
6
+ /* --_color-sand-800: #32302b; */
7
+ /* --_color-sand-750: #3d3b35; */
8
+ /* --_color-sand-700: #49463f; */
9
+ /* --_color-sand-650: #55524a; */
10
+ /* --_color-sand-600: #615e55; */
11
+ --_color-sand-550: #6e6a60;
12
+ /* --_color-sand-500: #7b776b; */
13
+ /* --_color-sand-450: #888377; */
14
+ /* --_color-sand-400: #959082; */
15
+ --_color-sand-350: #a39e8f;
16
+ /* --_color-sand-300: #b0ab9b; */
17
+ /* --_color-sand-250: #beb8a7; */
18
+ --_color-sand-200: #ccc6b4;
19
+ /* --_color-sand-150: #dad4c2; */
20
+ /* --_color-sand-100: #e8e2d2; */
21
+ /* --_color-sand-50: #f2f0ec; */
22
+ /* --color-sand: var(--_color-sand-550); */
23
23
 
24
24
  /* System tokens */
25
- --color-primary-text: light-dark(var(--color-sand-550), var(--color-sand-350));
26
- --color-primary-fill: var(--color-sand-200);
27
- --color-primary-on-fill: black;
28
-
29
- /* Component tokens */
30
- --switch-thumb-glow: light-dark(0 0 0.5rem oklch(0% 0 0deg / 0.25), 0 0 0.5rem oklch(0% 0 0deg / 0.25));
25
+ --primary-color: light-dark(var(--_color-sand-550), var(--_color-sand-350));
26
+ --primary-background-color: var(--_color-sand-200);
31
27
  }
@@ -1,31 +1,27 @@
1
1
  :root,
2
2
  :host {
3
- /* --color-slate-950: #0e1118; */
4
- /* --color-slate-900: #181c25; */
5
- /* --color-slate-850: #202632; */
6
- /* --color-slate-800: #2a3140; */
7
- /* --color-slate-750: #333c4e; */
8
- /* --color-slate-700: #3d475c; */
9
- /* --color-slate-650: #48536b; */
10
- --color-slate-600: #525f7a;
11
- --color-slate-550: #5d6b89;
12
- /* --color-slate-500: #687899; */
13
- /* --color-slate-450: #7385a9; */
14
- /* --color-slate-400: #8191b5; */
15
- --color-slate-350: #909ebe;
16
- /* --color-slate-300: #a0acc7; */
17
- /* --color-slate-250: #b0b9d0; */
18
- /* --color-slate-200: #bfc7d9; */
19
- /* --color-slate-150: #cfd5e2; */
20
- /* --color-slate-100: #dfe3eb; */
21
- /* --color-slate-50: #eff1f4; */
22
- /* --color-slate: var(--color-slate-550); */
3
+ /* --_color-slate-950: #0e1118; */
4
+ /* --_color-slate-900: #181c25; */
5
+ /* --_color-slate-850: #202632; */
6
+ /* --_color-slate-800: #2a3140; */
7
+ /* --_color-slate-750: #333c4e; */
8
+ /* --_color-slate-700: #3d475c; */
9
+ /* --_color-slate-650: #48536b; */
10
+ --_color-slate-600: #525f7a;
11
+ --_color-slate-550: #5d6b89;
12
+ /* --_color-slate-500: #687899; */
13
+ /* --_color-slate-450: #7385a9; */
14
+ /* --_color-slate-400: #8191b5; */
15
+ --_color-slate-350: #909ebe;
16
+ /* --_color-slate-300: #a0acc7; */
17
+ /* --_color-slate-250: #b0b9d0; */
18
+ /* --_color-slate-200: #bfc7d9; */
19
+ /* --_color-slate-150: #cfd5e2; */
20
+ /* --_color-slate-100: #dfe3eb; */
21
+ /* --_color-slate-50: #eff1f4; */
22
+ /* --color-slate: var(--_color-slate-550); */
23
23
 
24
24
  /* System tokens */
25
- --color-primary-text: light-dark(var(--color-slate-550), var(--color-slate-350));
26
- --color-primary-fill: var(--color-slate-600);
27
- --color-primary-on-fill: white;
28
-
29
- /* Component tokens */
30
- --switch-thumb-glow: light-dark(0 0 0 oklch(0% 0 0deg / 0), 0 0 0 oklch(0% 0 0deg / 0));
25
+ --primary-color: light-dark(var(--_color-slate-550), var(--_color-slate-350));
26
+ --primary-background-color: var(--_color-slate-600);
31
27
  }
@@ -1,31 +1,27 @@
1
1
  :root,
2
2
  :host {
3
- /* --color-violet-950: #190928; */
4
- /* --color-violet-900: #251140; */
5
- /* --color-violet-850: #321856; */
6
- /* --color-violet-800: #3f1e6d; */
7
- /* --color-violet-750: #4d2585; */
8
- /* --color-violet-700: #5b2d9c; */
9
- /* --color-violet-650: #6935b3; */
10
- --color-violet-600: #7540bf;
11
- --color-violet-550: #8352c5;
12
- /* --color-violet-500: #9062ca; */
13
- /* --color-violet-450: #9b71cf; */
14
- /* --color-violet-400: #a780d4; */
15
- --color-violet-350: #b290d9;
16
- /* --color-violet-300: #bd9fdf; */
17
- /* --color-violet-250: #c9afe4; */
18
- /* --color-violet-200: #d3bfe8; */
19
- /* --color-violet-150: #decfed; */
20
- /* --color-violet-100: #e8dff2; */
21
- /* --color-violet-50: #f3eff7; */
22
- /* --color-violet: var(--color-violet-550); */
3
+ /* --_color-violet-950: #190928; */
4
+ /* --_color-violet-900: #251140; */
5
+ /* --_color-violet-850: #321856; */
6
+ /* --_color-violet-800: #3f1e6d; */
7
+ /* --_color-violet-750: #4d2585; */
8
+ /* --_color-violet-700: #5b2d9c; */
9
+ /* --_color-violet-650: #6935b3; */
10
+ --_color-violet-600: #7540bf;
11
+ --_color-violet-550: #8352c5;
12
+ /* --_color-violet-500: #9062ca; */
13
+ /* --_color-violet-450: #9b71cf; */
14
+ /* --_color-violet-400: #a780d4; */
15
+ --_color-violet-350: #b290d9;
16
+ /* --_color-violet-300: #bd9fdf; */
17
+ /* --_color-violet-250: #c9afe4; */
18
+ /* --_color-violet-200: #d3bfe8; */
19
+ /* --_color-violet-150: #decfed; */
20
+ /* --_color-violet-100: #e8dff2; */
21
+ /* --_color-violet-50: #f3eff7; */
22
+ /* --color-violet: var(--_color-violet-550); */
23
23
 
24
24
  /* System tokens */
25
- --color-primary-text: light-dark(var(--color-violet-550), var(--color-violet-350));
26
- --color-primary-fill: var(--color-violet-600);
27
- --color-primary-on-fill: white;
28
-
29
- /* Component tokens */
30
- --switch-thumb-glow: light-dark(0 0 0 oklch(0% 0 0deg / 0), 0 0 0 oklch(0% 0 0deg / 0));
25
+ --primary-color: light-dark(var(--_color-violet-550), var(--_color-violet-350));
26
+ --primary-background-color: var(--_color-violet-600);
31
27
  }
@@ -1,31 +1,27 @@
1
1
  :root,
2
2
  :host {
3
- /* --color-yellow-950: #141103; */
4
- /* --color-yellow-900: #1f1c02; */
5
- /* --color-yellow-850: #2b2600; */
6
- /* --color-yellow-800: #363100; */
7
- /* --color-yellow-750: #423c00; */
8
- /* --color-yellow-700: #4e4700; */
9
- /* --color-yellow-650: #5b5300; */
10
- /* --color-yellow-600: #685f00; */
11
- --color-yellow-550: #756b00;
12
- /* --color-yellow-500: #827800; */
13
- /* --color-yellow-450: #908501; */
14
- /* --color-yellow-400: #9e9200; */
15
- --color-yellow-350: #ad9f00;
16
- /* --color-yellow-300: #bbac00; */
17
- /* --color-yellow-250: #caba01; */
18
- /* --color-yellow-200: #d9c800; */
19
- /* --color-yellow-150: #e8d600; */
20
- --color-yellow-100: #f2df0d;
21
- /* --color-yellow-50: #fdf1b4; */
22
- /* --color-yellow: var(--color-yellow-550); */
3
+ /* --_color-yellow-950: #141103; */
4
+ /* --_color-yellow-900: #1f1c02; */
5
+ /* --_color-yellow-850: #2b2600; */
6
+ /* --_color-yellow-800: #363100; */
7
+ /* --_color-yellow-750: #423c00; */
8
+ /* --_color-yellow-700: #4e4700; */
9
+ /* --_color-yellow-650: #5b5300; */
10
+ /* --_color-yellow-600: #685f00; */
11
+ --_color-yellow-550: #756b00;
12
+ /* --_color-yellow-500: #827800; */
13
+ /* --_color-yellow-450: #908501; */
14
+ /* --_color-yellow-400: #9e9200; */
15
+ --_color-yellow-350: #ad9f00;
16
+ /* --_color-yellow-300: #bbac00; */
17
+ /* --_color-yellow-250: #caba01; */
18
+ /* --_color-yellow-200: #d9c800; */
19
+ /* --_color-yellow-150: #e8d600; */
20
+ --_color-yellow-100: #f2df0d;
21
+ /* --_color-yellow-50: #fdf1b4; */
22
+ /* --color-yellow: var(--_color-yellow-550); */
23
23
 
24
24
  /* System tokens */
25
- --color-primary-text: light-dark(var(--color-yellow-550), var(--color-yellow-350));
26
- --color-primary-fill: var(--color-yellow-100);
27
- --color-primary-on-fill: black;
28
-
29
- /* Component tokens */
30
- --switch-thumb-glow: light-dark(0 0 0.5rem oklch(0% 0 0deg / 0.25), 0 0 0.5rem oklch(0% 0 0deg / 0.25));
25
+ --primary-color: light-dark(var(--_color-yellow-550), var(--_color-yellow-350));
26
+ --primary-background-color: var(--_color-yellow-100);
31
27
  }
@@ -1,31 +1,27 @@
1
1
  :root,
2
2
  :host {
3
- /* --color-zinc-950: #0f1114; */
4
- /* --color-zinc-900: #191c20; */
5
- /* --color-zinc-850: #23262c; */
6
- /* --color-zinc-800: #2d3138; */
7
- /* --color-zinc-750: #373c44; */
8
- /* --color-zinc-700: #424751; */
9
- /* --color-zinc-650: #4d535e; */
10
- /* --color-zinc-600: #5c6370; */
11
- --color-zinc-550: #646b79;
12
- /* --color-zinc-500: #6f7887; */
13
- /* --color-zinc-450: #7b8495; */
14
- /* --color-zinc-400: #8891a4; */
15
- --color-zinc-350: #969eaf;
16
- /* --color-zinc-300: #a4acba; */
17
- /* --color-zinc-250: #b3b9c5; */
18
- /* --color-zinc-200: #c2c7d0; */
19
- /* --color-zinc-150: #d1d5db; */
20
- /* --color-zinc-100: #e0e3e7; */
21
- /* --color-zinc-50: #f0f1f3; */
22
- /* --color-zinc: var(--color-zinc-550); */
3
+ /* --_color-zinc-950: #0f1114; */
4
+ /* --_color-zinc-900: #191c20; */
5
+ /* --_color-zinc-850: #23262c; */
6
+ /* --_color-zinc-800: #2d3138; */
7
+ /* --_color-zinc-750: #373c44; */
8
+ /* --_color-zinc-700: #424751; */
9
+ /* --_color-zinc-650: #4d535e; */
10
+ /* --_color-zinc-600: #5c6370; */
11
+ --_color-zinc-550: #646b79;
12
+ /* --_color-zinc-500: #6f7887; */
13
+ /* --_color-zinc-450: #7b8495; */
14
+ /* --_color-zinc-400: #8891a4; */
15
+ --_color-zinc-350: #969eaf;
16
+ /* --_color-zinc-300: #a4acba; */
17
+ /* --_color-zinc-250: #b3b9c5; */
18
+ /* --_color-zinc-200: #c2c7d0; */
19
+ /* --_color-zinc-150: #d1d5db; */
20
+ /* --_color-zinc-100: #e0e3e7; */
21
+ /* --_color-zinc-50: #f0f1f3; */
22
+ /* --color-zinc: var(--_color-zinc-550); */
23
23
 
24
24
  /* System tokens */
25
- --color-primary-text: light-dark(var(--color-zinc-550), var(--color-zinc-350));
26
- --color-primary-fill: var(--color-zinc-550);
27
- --color-primary-on-fill: white;
28
-
29
- /* Component tokens */
30
- --switch-thumb-glow: light-dark(0 0 0 oklch(0% 0 0deg / 0), 0 0 0 oklch(0% 0 0deg / 0));
25
+ --primary-color: light-dark(var(--_color-zinc-550), var(--_color-zinc-350));
26
+ --primary-background-color: var(--_color-zinc-550);
31
27
  }
@@ -1,4 +1,4 @@
1
- [aria-busy=true]:not(input, select, textarea, html, form) {
1
+ [aria-busy="true"]:not(input, select, textarea, html, form) {
2
2
  white-space: nowrap;
3
3
 
4
4
  &::before {
@@ -20,12 +20,3 @@
20
20
  text-align: center;
21
21
  }
22
22
  }
23
-
24
- button[aria-busy=true],
25
- [type=submit][aria-busy=true],
26
- [type=button][aria-busy=true],
27
- [type=reset][aria-busy=true],
28
- [role=button][aria-busy=true],
29
- a[aria-busy=true] {
30
- pointer-events: none;
31
- }
@@ -1,25 +1,4 @@
1
- /* Buttons and button-like elements */
2
- :is(button, [type=submit], [type=button], [type=reset], [role=button])[aria-disabled=true],
3
- fieldset[aria-disabled=true] :is(button, [type=submit], [type=button], [type=reset], [role=button]) {
4
- opacity: 0.5;
1
+ [aria-disabled="true"] {
2
+ opacity: var(--opacity-disabled);
5
3
  pointer-events: none;
6
4
  }
7
-
8
- /* Links */
9
- a[aria-disabled=true],
10
- [role=link][aria-disabled=true] {
11
- opacity: 0.5;
12
- pointer-events: none;
13
- }
14
-
15
- /* Form controls */
16
- :is(input:not([type=submit], [type=button], [type=reset]), select, textarea)[aria-disabled=true],
17
- fieldset[aria-disabled=true] :is(input:not([type=submit], [type=button], [type=reset]), select, textarea) {
18
- opacity: var(--input-opacity-disabled);
19
- pointer-events: none;
20
- }
21
-
22
- /* Switch color adjustment */
23
- [type=checkbox][role=switch][aria-disabled=true] {
24
- --color-background: var(--border-color);
25
- }
@@ -0,0 +1,3 @@
1
+ [disabled] {
2
+ opacity: var(--opacity-disabled);
3
+ }
@@ -2,8 +2,9 @@
2
2
  overflow: auto;
3
3
  border: 0;
4
4
  padding: 0;
5
- color: var(--color-text);
6
- background-color: var(--color-background);
5
+ color: var(--typography-color);
7
6
  height: unset;
8
- margin: unset;
7
+ margin: 0;
8
+ inset: auto;
9
+ background-color: unset;
9
10
  }
@@ -0,0 +1,135 @@
1
+ [role="search"],
2
+ [role="group"] {
3
+ --_group-border-radius: var(--border-radius);
4
+ --_group-outline-color: var(--border-color);
5
+
6
+ border-radius: var(--_group-border-radius);
7
+ display: inline-flex;
8
+ gap: 0;
9
+ margin-bottom: var(--spacing);
10
+ position: relative;
11
+ vertical-align: middle;
12
+ width: 100%;
13
+
14
+ & > *:not(details),
15
+ & input:not([type="checkbox"], [type="radio"]),
16
+ & select {
17
+ position: relative;
18
+ flex: 1 1 auto;
19
+ margin-bottom: 0;
20
+
21
+ &:not(:first-child) {
22
+ /* Pico's attempt at preventing a double sized border between elements */
23
+ margin-left: calc(var(--border-width) * -1);
24
+ border-top-left-radius: 0;
25
+ border-bottom-left-radius: 0;
26
+ }
27
+
28
+ &:not(:last-child) {
29
+ border-top-right-radius: 0;
30
+ border-bottom-right-radius: 0;
31
+ }
32
+
33
+ &:focus {
34
+ z-index: 2;
35
+ }
36
+ }
37
+
38
+ :is(
39
+ button,
40
+ [type="submit"],
41
+ [type="reset"],
42
+ [type="button"],
43
+ [role="button"]
44
+ ) {
45
+ /* Buttons inside search/group combos get wider horizontal padding */
46
+ --_buttons-padding-inline: var(--group-buttons-padding-inline);
47
+
48
+ width: auto;
49
+ }
50
+
51
+ /* Details dropdown inside group */
52
+ & > details {
53
+ position: relative;
54
+ margin-bottom: 0;
55
+ /* Constrain details height to just the button, not the dropdown menu */
56
+ height: calc(
57
+ 1rem * var(--line-height) + var(--inputs-padding-block) * 2 +
58
+ var(--border-width) * 2
59
+ );
60
+ overflow: visible;
61
+
62
+ &:not(:first-child) {
63
+ margin-left: calc(var(--border-width) * -1);
64
+
65
+ & > summary {
66
+ border-top-left-radius: 0;
67
+ border-bottom-left-radius: 0;
68
+ }
69
+ }
70
+
71
+ &:not(:last-child) > summary {
72
+ border-top-right-radius: 0;
73
+ border-bottom-right-radius: 0;
74
+ }
75
+
76
+ & > summary:focus {
77
+ z-index: 2;
78
+ }
79
+
80
+ /* Ensure consistent height with other form elements in the group */
81
+ & > summary[role="button"] {
82
+ display: flex;
83
+ align-items: center;
84
+ height: 100%;
85
+
86
+ &::after {
87
+ height: calc(1rem * var(--line-height, 1.5));
88
+ }
89
+ }
90
+ }
91
+
92
+ &:has(
93
+ button:focus,
94
+ [type="submit"]:focus,
95
+ [type="button"]:focus,
96
+ [type="reset"]:focus,
97
+ [role="button"]:focus
98
+ ) {
99
+ box-shadow: 0 0 0 var(--focus-ring-width) var(--_group-outline-color);
100
+ }
101
+
102
+ /* when an input is focused, we set the button styling to "focus" also */
103
+ &:has(
104
+ input:not([type="submit"], [type="reset"], [type="button"]):focus,
105
+ summary:focus,
106
+ select:focus
107
+ ) {
108
+ box-shadow: 0 0 0 var(--focus-ring-width) var(--_group-outline-color);
109
+
110
+ :is(
111
+ button,
112
+ [type="submit"],
113
+ [type="reset"],
114
+ [type="button"],
115
+ [role="button"]
116
+ ) {
117
+ outline: var(--outline-width) solid var(--buttons-background-color);
118
+ box-shadow: 0 0 0 var(--focus-ring-width) var(--buttons-background-color);
119
+ }
120
+ }
121
+ }
122
+
123
+ [role="search"] {
124
+ --_group-border-radius: var(--input-search-border-radius);
125
+
126
+ & > :first-child {
127
+ border-top-left-radius: var(--_group-border-radius);
128
+ border-bottom-left-radius: var(--_group-border-radius);
129
+ }
130
+
131
+ & > :last-child {
132
+ border-top-right-radius: var(--_group-border-radius);
133
+ border-bottom-right-radius: var(--_group-border-radius);
134
+ }
135
+ }
@@ -0,0 +1,23 @@
1
+ [role="list"] {
2
+ --_lists-marker-color: var(--lists-marker-color);
3
+
4
+ color: var(--typography-color);
5
+ font-style: normal;
6
+ font-weight: var(--font-weight);
7
+ display: block;
8
+ list-style-type: disc;
9
+ margin-top: 0;
10
+ margin-inline: 0;
11
+ margin-bottom: var(--typography-margin-block);
12
+ padding-inline-start: 40px;
13
+
14
+ > * {
15
+ display: list-item;
16
+ text-align: match-parent;
17
+ margin-bottom: calc(var(--typography-margin-block) * 0.25);
18
+
19
+ &::marker {
20
+ color: var(--_lists-marker-color);
21
+ }
22
+ }
23
+ }
@@ -1,17 +1,26 @@
1
- [role="status"],
2
- [role="alert"] {
3
- --color-background: light-dark(
4
- color-mix(in srgb, var(--color-slate-50) 25%, white),
5
- color-mix(in srgb, var(--color-slate-50), transparent 95%)
6
- );
7
- --border-color: var(--dialog-border);
8
- --alert-size: var(--border-size);
9
-
10
- color: var(--color-text);
1
+ :is([role="status"], [role="alert"]) {
2
+ --_alert-color: var(--alert-color);
3
+ --_alert-background-color: var(--alert-background-color);
4
+ --_alert-spacing: var(--alert-spacing);
5
+ --_alert-border-color: var(--alert-border-color);
6
+ --_alert-border-width: var(--alert-border-width);
7
+ --_alert-border-accent-width: var(--alert-border-accent-width);
8
+ --_alert-border-radius: var(--alert-border-radius);
9
+ --typography-color: var(--_alert-color);
10
+ --color-muted: color-mix(in srgb, var(--typography-color), transparent 40%);
11
+
12
+ color: var(--_alert-color);
11
13
  display: grid;
12
14
  grid-template-columns: 1fr;
13
15
  gap: calc(var(--nav-link-gap) * 1.5);
14
16
  align-items: start;
17
+ padding: var(--_alert-spacing);
18
+ margin-bottom: var(--_alert-spacing);
19
+ border-radius: var(--_alert-border-radius);
20
+ border: var(--_alert-border-width) solid var(--_alert-border-color);
21
+ border-inline-start-width: var(--_alert-border-accent-width);
22
+ border-inline-start-color: var(--_alert-border-color);
23
+ background: var(--_alert-background-color);
15
24
 
16
25
  &:empty {
17
26
  display: none;
@@ -33,16 +42,8 @@
33
42
  }
34
43
  }
35
44
 
36
- padding: var(--spacing);
37
- margin-bottom: var(--spacing);
38
- border-radius: var(--radius);
39
- border: var(--border-size) solid var(--border-color);
40
- border-inline-start-width: var(--alert-size);
41
- border-inline-start-color: var(--dialog-border);
42
- background: var(--color-background);
43
-
44
45
  &:is(.ghost, .subtle) {
45
- --alert-size: calc(var(--border-size) * 4);
46
+ --_alert-border-accent-width: calc(var(--_alert-border-width) * 4);
46
47
  }
47
48
 
48
49
  > * {
@@ -57,16 +58,21 @@
57
58
 
58
59
  /* Opening animation using @starting-style (Chrome 117+, Firefox 129+, Safari 17.4+) */
59
60
  /* Gracefully degrades to instant appearance in unsupported browsers */
60
- transition: opacity 0.2s ease-in-out, top 0.2s ease-in-out, right 0.2s ease-in-out, left 0.2s ease-in-out, bottom 0.2s ease-in-out;
61
+ transition:
62
+ opacity 0.2s ease-in-out,
63
+ top 0.2s ease-in-out,
64
+ right 0.2s ease-in-out,
65
+ left 0.2s ease-in-out,
66
+ bottom 0.2s ease-in-out;
61
67
 
62
68
  &[popover] {
63
69
  display: none;
64
- box-shadow: var(--shadow);
70
+ box-shadow: var(--menu-box-shadow);
65
71
  left: unset;
66
72
  right: 0;
67
73
  bottom: 0;
68
74
  top: unset;
69
- margin: var(--spacing);
75
+ margin: var(--_alert-spacing);
70
76
 
71
77
  &:popover-open {
72
78
  display: grid;