@semanticus/semanticus-css 0.9.0 → 1.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 (148) hide show
  1. package/NOTICE +16 -16
  2. package/README.md +128 -29
  3. package/dist/semanticus-no-utilities.css +11 -0
  4. package/dist/semanticus-semantics.css +3 -4
  5. package/dist/semanticus-utilities.css +11 -0
  6. package/dist/semanticus.css +4 -12
  7. package/dist/semanticus.palette.amber.css +1 -1
  8. package/dist/semanticus.palette.azure.css +1 -0
  9. package/dist/semanticus.palette.blue.css +1 -1
  10. package/dist/semanticus.palette.cyan.css +1 -1
  11. package/dist/semanticus.palette.fuchsia.css +1 -1
  12. package/dist/semanticus.palette.green.css +1 -1
  13. package/dist/semanticus.palette.grey.css +1 -1
  14. package/dist/semanticus.palette.indigo.css +1 -1
  15. package/dist/semanticus.palette.jade.css +1 -1
  16. package/dist/semanticus.palette.lime.css +1 -1
  17. package/dist/semanticus.palette.orange.css +1 -1
  18. package/dist/semanticus.palette.pink.css +1 -1
  19. package/dist/semanticus.palette.pumpkin.css +1 -1
  20. package/dist/semanticus.palette.purple.css +1 -1
  21. package/dist/semanticus.palette.red.css +1 -1
  22. package/dist/semanticus.palette.sand.css +1 -1
  23. package/dist/semanticus.palette.slate.css +1 -1
  24. package/dist/semanticus.palette.violet.css +1 -1
  25. package/dist/semanticus.palette.yellow.css +1 -1
  26. package/dist/semanticus.palette.zinc.css +1 -1
  27. package/dist/semanticus.size.pico.css +1 -1
  28. package/package.json +24 -15
  29. package/src/components/_card.css +47 -0
  30. package/src/{variants → components}/_container.css +3 -10
  31. package/src/components/_icons.css +59 -0
  32. package/src/components/_pane.css +19 -0
  33. package/src/{variants → components}/_sidebar.css +3 -5
  34. package/src/components/modules.css +5 -0
  35. package/src/index.css +8 -10
  36. package/src/no-utilities.css +22 -0
  37. package/src/palettes/amber.css +28 -53
  38. package/src/palettes/azure.css +31 -0
  39. package/src/palettes/blue.css +28 -53
  40. package/src/palettes/cyan.css +28 -53
  41. package/src/palettes/fuchsia.css +28 -53
  42. package/src/palettes/green.css +28 -53
  43. package/src/palettes/grey.css +28 -53
  44. package/src/palettes/indigo.css +28 -53
  45. package/src/palettes/jade.css +28 -53
  46. package/src/palettes/lime.css +28 -53
  47. package/src/palettes/orange.css +28 -53
  48. package/src/palettes/pink.css +28 -53
  49. package/src/palettes/pumpkin.css +28 -53
  50. package/src/palettes/purple.css +28 -53
  51. package/src/palettes/red.css +28 -53
  52. package/src/palettes/sand.css +28 -53
  53. package/src/palettes/slate.css +28 -53
  54. package/src/palettes/violet.css +28 -53
  55. package/src/palettes/yellow.css +28 -53
  56. package/src/palettes/zinc.css +28 -53
  57. package/src/semantics/attributes/_aria-busy.css +0 -3
  58. package/src/semantics/attributes/_aria-disabled.css +25 -0
  59. package/src/semantics/attributes/_hidden.css +0 -3
  60. package/src/semantics/attributes/_role-group-search.css +11 -14
  61. package/src/semantics/attributes/_role-status-alert.css +123 -0
  62. package/src/semantics/attributes/_role-toolbar.css +2 -5
  63. package/src/semantics/attributes/_role-tooltip.css +7 -10
  64. package/src/semantics/elements/_article.css +0 -3
  65. package/src/semantics/elements/_aside.css +1 -7
  66. package/src/semantics/elements/_blockquote.css +2 -2
  67. package/src/semantics/elements/_body.css +1 -4
  68. package/src/semantics/elements/_button.css +25 -31
  69. package/src/semantics/elements/_code.css +5 -8
  70. package/src/semantics/elements/_del.css +1 -1
  71. package/src/semantics/elements/_details.css +39 -40
  72. package/src/semantics/elements/_dialog.css +19 -43
  73. package/src/semantics/elements/_document.css +10 -4
  74. package/src/semantics/elements/_embedded.css +0 -3
  75. package/src/semantics/elements/_figure.css +0 -3
  76. package/src/semantics/elements/_footer.css +0 -3
  77. package/src/semantics/elements/_header.css +0 -3
  78. package/src/semantics/elements/_headings.css +7 -17
  79. package/src/semantics/elements/_hgroup.css +1 -1
  80. package/src/semantics/elements/_hr.css +1 -4
  81. package/src/semantics/elements/_input.css +33 -36
  82. package/src/semantics/elements/_ins.css +1 -1
  83. package/src/semantics/elements/_links.css +22 -18
  84. package/src/semantics/elements/_main.css +0 -4
  85. package/src/semantics/elements/_mark.css +2 -2
  86. package/src/semantics/elements/_nav.css +5 -8
  87. package/src/semantics/elements/_progress.css +5 -8
  88. package/src/semantics/elements/_section.css +0 -3
  89. package/src/semantics/elements/_small.css +3 -0
  90. package/src/semantics/elements/_table.css +3 -5
  91. package/src/semantics/elements/_type-checkbox-radio.css +19 -22
  92. package/src/semantics/elements/_type-color.css +2 -5
  93. package/src/semantics/elements/_type-date.css +1 -4
  94. package/src/semantics/elements/_type-file.css +7 -10
  95. package/src/semantics/elements/_type-range.css +11 -14
  96. package/src/semantics/elements/_type-search.css +6 -10
  97. package/src/semantics/index.css +2 -5
  98. package/src/semantics/modules.css +3 -7
  99. package/src/sizes/pico.css +20 -33
  100. package/src/utilities/_grid.css +306 -0
  101. package/src/utilities/_variables.css +27 -42
  102. package/src/utilities/borders/_border-radius.css +54 -79
  103. package/src/utilities/borders/_border-style.css +15 -5
  104. package/src/utilities/borders/_border-width.css +0 -28
  105. package/src/utilities/colors/_bg-colors.css +75 -0
  106. package/src/utilities/colors/_border-colors.css +17 -39
  107. package/src/utilities/colors/_subtle-colors.css +145 -0
  108. package/src/utilities/colors/_text-bg-colors.css +62 -0
  109. package/src/utilities/colors/_text-colors.css +32 -409
  110. package/src/utilities/effects/_focus-ring.css +33 -0
  111. package/src/utilities/effects/_shadows.css +0 -33
  112. package/src/utilities/index.css +16 -0
  113. package/src/utilities/layout/_misc.css +2 -5
  114. package/src/utilities/layout/{_grid.css → _ratio.css} +0 -19
  115. package/src/utilities/modules.css +9 -3
  116. package/src/utilities/sizing/_width.css +8 -0
  117. package/src/utilities/spacing/_gap.css +144 -144
  118. package/src/utilities/spacing/_margin.css +324 -324
  119. package/src/utilities/spacing/_padding.css +324 -324
  120. package/src/utilities/typography/_font-sizes.css +6 -6
  121. package/src/variables/_all.css +2 -20
  122. package/src/variables/_elements.css +29 -28
  123. package/src/variables/_theme.css +336 -0
  124. package/src/variants/_variables.css +24 -0
  125. package/src/variants/intent/_contrast.css +47 -0
  126. package/src/variants/intent/_danger.css +39 -0
  127. package/src/variants/intent/_info.css +39 -0
  128. package/src/variants/intent/_primary.css +39 -0
  129. package/src/variants/intent/_secondary.css +39 -0
  130. package/src/variants/intent/_success.css +39 -0
  131. package/src/variants/intent/_warning.css +39 -0
  132. package/src/variants/modifiers/_ghost.css +164 -0
  133. package/src/variants/modifiers/_striped.css +11 -0
  134. package/src/variants/modifiers/_subtle.css +133 -0
  135. package/src/variants/modules.css +11 -14
  136. package/src/_normalize.css +0 -214
  137. package/src/semantics/_misc.css +0 -3
  138. package/src/utilities/colors/_background-colors.css +0 -248
  139. package/src/variables/_colors.css +0 -355
  140. package/src/variables/_components.css +0 -330
  141. package/src/variables/_icons.css +0 -55
  142. package/src/variables/_layout.css +0 -123
  143. package/src/variants/_contained.css +0 -43
  144. package/src/variants/_contrast.css +0 -61
  145. package/src/variants/_ghost.css +0 -68
  146. package/src/variants/_pane-panel-card.css +0 -54
  147. package/src/variants/_secondary.css +0 -48
  148. package/src/variants/_striped.css +0 -10
@@ -0,0 +1,62 @@
1
+ .text-bg-primary {
2
+ --color-background: oklch(from var(--color-primary-fill) l c h / var(--color-background-opacity));
3
+ --color-text: oklch(from var(--color-primary-on-fill) l c h / var(--color-text-opacity));
4
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
5
+
6
+ color: var(--color-text) !important;
7
+ background-color: var(--color-background) !important;
8
+ }
9
+
10
+ .text-bg-secondary {
11
+ --color-background: oklch(from var(--color-secondary-fill) l c h / var(--color-background-opacity));
12
+ --color-text: oklch(from var(--color-secondary-on-fill) l c h / var(--color-text-opacity));
13
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
14
+
15
+ color: var(--color-text) !important;
16
+ background-color: var(--color-background) !important;
17
+ }
18
+
19
+ .text-bg-contrast {
20
+ --color-background: oklch(from var(--color-contrast-fill) l c h / var(--color-background-opacity));
21
+ --color-text: oklch(from var(--color-contrast-on-fill) l c h / var(--color-text-opacity));
22
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
23
+
24
+ color: var(--color-text) !important;
25
+ background-color: var(--color-background) !important;
26
+ }
27
+
28
+ .text-bg-success {
29
+ --color-background: oklch(from var(--color-success-fill) l c h / var(--color-background-opacity));
30
+ --color-text: oklch(from var(--color-success-on-fill) l c h / var(--color-text-opacity));
31
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
32
+
33
+ color: var(--color-text) !important;
34
+ background-color: var(--color-background) !important;
35
+ }
36
+
37
+ .text-bg-info {
38
+ --color-background: oklch(from var(--color-info-fill) l c h / var(--color-background-opacity));
39
+ --color-text: oklch(from var(--color-info-on-fill) l c h / var(--color-text-opacity));
40
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
41
+
42
+ color: var(--color-text) !important;
43
+ background-color: var(--color-background) !important;
44
+ }
45
+
46
+ .text-bg-warning {
47
+ --color-background: oklch(from var(--color-warning-fill) l c h / var(--color-background-opacity));
48
+ --color-text: oklch(from var(--color-warning-on-fill) l c h / var(--color-text-opacity));
49
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
50
+
51
+ color: var(--color-text) !important;
52
+ background-color: var(--color-background) !important;
53
+ }
54
+
55
+ .text-bg-danger {
56
+ --color-background: oklch(from var(--color-danger-fill) l c h / var(--color-background-opacity));
57
+ --color-text: oklch(from var(--color-danger-on-fill) l c h / var(--color-text-opacity));
58
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
59
+
60
+ color: var(--color-text) !important;
61
+ background-color: var(--color-background) !important;
62
+ }
@@ -1,461 +1,84 @@
1
- .link-primary {
2
- color: rgba(var(--color-primary-rgb), var(--link-opacity, 1)) !important;
3
- -webkit-text-decoration-color: rgba(var(--color-primary-rgb), var(--link-underline-opacity, 1)) !important;
4
- text-decoration-color: rgba(var(--color-primary-rgb), var(--link-underline-opacity, 1)) !important;
5
- }
6
- .link-primary:hover, .link-primary:focus {
7
- color: rgba(var(--color-primary-emphasis-rgb), var(--link-opacity, 1)) !important;
8
- -webkit-text-decoration-color: rgba(var(--color-primary-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
9
- text-decoration-color: rgba(var(--color-primary-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
10
- }
11
-
12
- .link-secondary {
13
- color: rgba(var(--color-secondary-rgb), var(--link-opacity, 1)) !important;
14
- -webkit-text-decoration-color: rgba(var(--color-secondary-rgb), var(--link-underline-opacity, 1)) !important;
15
- text-decoration-color: rgba(var(--color-secondary-rgb), var(--link-underline-opacity, 1)) !important;
16
- }
17
- .link-secondary:hover, .link-secondary:focus {
18
- color: rgba(var(--color-secondary-emphasis-rgb), var(--link-opacity, 1)) !important;
19
- -webkit-text-decoration-color: rgba(var(--color-secondary-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
20
- text-decoration-color: rgba(var(--color-secondary-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
21
- }
22
-
23
- .link-success {
24
- color: rgba(var(--color-success-rgb), var(--link-opacity, 1)) !important;
25
- -webkit-text-decoration-color: rgba(var(--color-success-rgb), var(--link-underline-opacity, 1)) !important;
26
- text-decoration-color: rgba(var(--color-success-rgb), var(--link-underline-opacity, 1)) !important;
27
- }
28
- .link-success:hover, .link-success:focus {
29
- color: rgba(var(--color-success-emphasis-rgb), var(--link-opacity, 1)) !important;
30
- -webkit-text-decoration-color: rgba(var(--color-success-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
31
- text-decoration-color: rgba(var(--color-success-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
32
- }
33
-
34
- .link-info {
35
- color: rgba(var(--color-info-rgb), var(--link-opacity, 1)) !important;
36
- -webkit-text-decoration-color: rgba(var(--color-info-rgb), var(--link-underline-opacity, 1)) !important;
37
- text-decoration-color: rgba(var(--color-info-rgb), var(--link-underline-opacity, 1)) !important;
38
- }
39
- .link-info:hover, .link-info:focus {
40
- color: rgba(var(--color-info-emphasis-rgb), var(--link-opacity, 1)) !important;
41
- -webkit-text-decoration-color: rgba(var(--color-info-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
42
- text-decoration-color: rgba(var(--color-info-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
43
- }
1
+ .text-reset {
2
+ --color-text-opacity: 100%;
44
3
 
45
- .link-warning {
46
- color: rgba(var(--color-warning-rgb), var(--link-opacity, 1)) !important;
47
- -webkit-text-decoration-color: rgba(var(--color-warning-rgb), var(--link-underline-opacity, 1)) !important;
48
- text-decoration-color: rgba(var(--color-warning-rgb), var(--link-underline-opacity, 1)) !important;
49
- }
50
- .link-warning:hover, .link-warning:focus {
51
- color: rgba(var(--color-warning-emphasis-rgb), var(--link-opacity, 1)) !important;
52
- -webkit-text-decoration-color: rgba(var(--color-warning-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
53
- text-decoration-color: rgba(var(--color-warning-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
4
+ color: inherit !important;
54
5
  }
55
6
 
56
- .link-danger {
57
- color: rgba(var(--color-danger-rgb), var(--link-opacity, 1)) !important;
58
- -webkit-text-decoration-color: rgba(var(--color-danger-rgb), var(--link-underline-opacity, 1)) !important;
59
- text-decoration-color: rgba(var(--color-danger-rgb), var(--link-underline-opacity, 1)) !important;
60
- }
61
- .link-danger:hover, .link-danger:focus {
62
- color: rgba(var(--color-danger-emphasis-rgb), var(--link-opacity, 1)) !important;
63
- -webkit-text-decoration-color: rgba(var(--color-danger-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
64
- text-decoration-color: rgba(var(--color-danger-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
7
+ .text-body {
8
+ color: oklch(from var(--color-text) l c h / var(--color-text-opacity)) !important;
65
9
  }
66
10
 
67
- .link-contrast {
68
- color: rgba(var(--color-contrast-rgb), var(--link-opacity, 1)) !important;
69
- -webkit-text-decoration-color: rgba(var(--color-contrast-rgb), var(--link-underline-opacity, 1)) !important;
70
- text-decoration-color: rgba(var(--color-contrast-rgb), var(--link-underline-opacity, 1)) !important;
71
- }
72
- .link-contrast:hover, .link-contrast:focus {
73
- color: rgba(var(--color-contrast-emphasis-rgb), var(--link-opacity, 1)) !important;
74
- -webkit-text-decoration-color: rgba(var(--color-contrast-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
75
- text-decoration-color: rgba(var(--color-contrast-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
76
- }
11
+ .text-muted {
12
+ --color-text: var(--color-text-muted);
77
13
 
78
- .link-body-emphasis {
79
- color: rgba(var(--color-emphasis-rgb), var(--link-opacity, 1)) !important;
80
- -webkit-text-decoration-color: rgba(var(--color-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
81
- text-decoration-color: rgba(var(--color-emphasis-rgb), var(--link-underline-opacity, 1)) !important;
82
- }
83
- .link-body-emphasis:hover, .link-body-emphasis:focus {
84
- color: rgba(var(--color-emphasis-rgb), var(--link-opacity, 0.75)) !important;
85
- -webkit-text-decoration-color: rgba(var(--color-emphasis-rgb), var(--link-underline-opacity, 0.75)) !important;
86
- text-decoration-color: rgba(var(--color-emphasis-rgb), var(--link-underline-opacity, 0.75)) !important;
14
+ color: var(--color-text) !important;
87
15
  }
88
16
 
89
17
  .text-primary {
90
- --text-opacity: 1;
91
- --color-text: rgba(var(--color-primary-rgb), var(--text-opacity)) !important;
92
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
18
+ --color-text: oklch(from var(--color-primary-text) l c h / var(--color-text-opacity));
19
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
93
20
 
94
21
  color: var(--color-text) !important;
95
22
  }
96
23
 
97
24
  .text-secondary {
98
- --text-opacity: 1;
99
- --color-text: rgba(var(--color-secondary-rgb), var(--text-opacity)) !important;
100
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
101
-
102
- color: var(--color-text) !important;
103
- }
104
-
105
- .text-success {
106
- --text-opacity: 1;
107
- --color-text: rgba(var(--color-success-rgb), var(--text-opacity)) !important;
108
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
109
-
110
- color: var(--color-text) !important;
111
- }
112
-
113
- .text-info {
114
- --text-opacity: 1;
115
- --color-text: rgba(var(--color-info-rgb), var(--text-opacity)) !important;
116
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
117
-
118
- color: var(--color-text) !important;
119
- }
120
-
121
- .text-warning {
122
- --text-opacity: 1;
123
- --color-text: rgba(var(--color-warning-rgb), var(--text-opacity)) !important;
124
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
125
-
126
- color: var(--color-text) !important;
127
- }
128
-
129
- .text-danger {
130
- --text-opacity: 1;
131
- --color-text: rgba(var(--color-danger-rgb), var(--text-opacity)) !important;
132
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
25
+ --color-text: oklch(from var(--color-secondary-text) l c h / var(--color-text-opacity));
26
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
133
27
 
134
28
  color: var(--color-text) !important;
135
29
  }
136
30
 
137
31
  .text-contrast {
138
- --text-opacity: 1;
139
- --color-text: rgba(var(--color-contrast-rgb), var(--text-opacity)) !important;
140
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
32
+ --color-text: oklch(from var(--color-contrast-text) l c h / var(--color-text-opacity));
33
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
141
34
 
142
35
  color: var(--color-text) !important;
143
36
  }
144
37
 
145
- .text-body {
146
- --text-opacity: 1;
147
- --color-text: rgba(var(--color-body-rgb), var(--text-opacity)) !important;
148
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
38
+ .text-success {
39
+ --color-text: oklch(from var(--color-success-text) l c h / var(--color-text-opacity));
40
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
149
41
 
150
42
  color: var(--color-text) !important;
151
43
  }
152
44
 
153
- .text-muted {
154
- --text-opacity: 1;
155
- --color-text: var(--color-text-muted) !important;
156
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
45
+ .text-info {
46
+ --color-text: oklch(from var(--color-info-text) l c h / var(--color-text-opacity));
47
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
157
48
 
158
49
  color: var(--color-text) !important;
159
50
  }
160
51
 
161
- .text-body-secondary {
162
- --text-opacity: 1;
163
- --color-text: var(--secondary-color) !important;
164
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
52
+ .text-warning {
53
+ --color-text: oklch(from var(--color-warning-text) l c h / var(--color-text-opacity));
54
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
165
55
 
166
56
  color: var(--color-text) !important;
167
57
  }
168
58
 
169
- .text-body-emphasis {
170
- --text-opacity: 1;
171
- --color-text: var(--emphasis-color) !important;
172
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
59
+ .text-danger {
60
+ --color-text: oklch(from var(--color-danger-text) l c h / var(--color-text-opacity));
61
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
173
62
 
174
63
  color: var(--color-text) !important;
175
64
  }
176
65
 
177
- .text-reset {
178
- --text-opacity: 1;
179
-
180
- color: inherit !important;
66
+ .text-opacity-10 {
67
+ --color-text-opacity: 10%;
181
68
  }
182
69
 
183
70
  .text-opacity-25 {
184
- --text-opacity: 0.25;
71
+ --color-text-opacity: 25%;
185
72
  }
186
73
 
187
74
  .text-opacity-50 {
188
- --text-opacity: 0.5;
75
+ --color-text-opacity: 50%;
189
76
  }
190
77
 
191
78
  .text-opacity-75 {
192
- --text-opacity: 0.75;
79
+ --color-text-opacity: 75%;
193
80
  }
194
81
 
195
82
  .text-opacity-100 {
196
- --text-opacity: 1;
197
- }
198
-
199
- .text-primary-emphasis {
200
- --color-text: rgb(var(--color-primary-emphasis-rgb)) !important;
201
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
202
-
203
- color: var(--color-text) !important;
204
- }
205
-
206
- .text-secondary-emphasis {
207
- --color-text: rgb(var(--color-secondary-emphasis-rgb)) !important;
208
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
209
-
210
- color: var(--color-text) !important;
211
- }
212
-
213
- .text-success-emphasis {
214
- --color-text: rgb(var(--color-success-emphasis-rgb)) !important;
215
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
216
-
217
- color: var(--color-text) !important;
218
- }
219
-
220
- .text-info-emphasis {
221
- --color-text: rgb(var(--color-info-emphasis-rgb)) !important;
222
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
223
-
224
- color: var(--color-text) !important;
225
- }
226
-
227
- .text-warning-emphasis {
228
- --color-text: rgb(var(--color-warning-emphasis-rgb)) !important;
229
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
230
-
231
- color: var(--color-text) !important;
232
- }
233
-
234
- .text-danger-emphasis {
235
- --color-text: rgb(var(--color-danger-emphasis-rgb)) !important;
236
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
237
-
238
- color: var(--color-text) !important;
239
- }
240
-
241
- .text-contrast-emphasis {
242
- --color-text: rgb(var(--color-contrast-emphasis-rgb)) !important;
243
- --color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
244
-
245
- color: var(--color-text) !important;
246
- }
247
-
248
- .link-opacity-10 {
249
- --link-opacity: 0.1;
250
- }
251
-
252
- .link-opacity-10-hover:hover {
253
- --link-opacity: 0.1;
254
- }
255
-
256
- .link-opacity-25 {
257
- --link-opacity: 0.25;
258
- }
259
-
260
- .link-opacity-25-hover:hover {
261
- --link-opacity: 0.25;
262
- }
263
-
264
- .link-opacity-50 {
265
- --link-opacity: 0.5;
266
- }
267
-
268
- .link-opacity-50-hover:hover {
269
- --link-opacity: 0.5;
270
- }
271
-
272
- .link-opacity-75 {
273
- --link-opacity: 0.75;
274
- }
275
-
276
- .link-opacity-75-hover:hover {
277
- --link-opacity: 0.75;
278
- }
279
-
280
- .link-opacity-100 {
281
- --link-opacity: 1;
282
- }
283
-
284
- .link-opacity-100-hover:hover {
285
- --link-opacity: 1;
286
- }
287
-
288
- .link-offset-1 {
289
- text-underline-offset: 0.125em !important;
290
- }
291
-
292
- .link-offset-1-hover:hover {
293
- text-underline-offset: 0.125em !important;
294
- }
295
-
296
- .link-offset-2 {
297
- text-underline-offset: 0.25em !important;
298
- }
299
-
300
- .link-offset-2-hover:hover {
301
- text-underline-offset: 0.25em !important;
302
- }
303
-
304
- .link-offset-3 {
305
- text-underline-offset: 0.375em !important;
306
- }
307
-
308
- .link-offset-3-hover:hover {
309
- text-underline-offset: 0.375em !important;
310
- }
311
-
312
- .link-underline-primary {
313
- --link-underline-opacity: 1;
314
-
315
- -webkit-text-decoration-color: rgba(var(--color-primary-rgb), var(--link-underline-opacity)) !important;
316
- text-decoration-color: rgba(var(--color-primary-rgb), var(--link-underline-opacity)) !important;
317
- }
318
-
319
- .link-underline-secondary {
320
- --link-underline-opacity: 1;
321
-
322
- -webkit-text-decoration-color: rgba(var(--color-secondary-rgb), var(--link-underline-opacity)) !important;
323
- text-decoration-color: rgba(var(--color-secondary-rgb), var(--link-underline-opacity)) !important;
324
- }
325
-
326
- .link-underline-success {
327
- --link-underline-opacity: 1;
328
-
329
- -webkit-text-decoration-color: rgba(var(--color-success-rgb), var(--link-underline-opacity)) !important;
330
- text-decoration-color: rgba(var(--color-success-rgb), var(--link-underline-opacity)) !important;
331
- }
332
-
333
- .link-underline-info {
334
- --link-underline-opacity: 1;
335
-
336
- -webkit-text-decoration-color: rgba(var(--color-info-rgb), var(--link-underline-opacity)) !important;
337
- text-decoration-color: rgba(var(--color-info-rgb), var(--link-underline-opacity)) !important;
338
- }
339
-
340
- .link-underline-warning {
341
- --link-underline-opacity: 1;
342
-
343
- -webkit-text-decoration-color: rgba(var(--color-warning-rgb), var(--link-underline-opacity)) !important;
344
- text-decoration-color: rgba(var(--color-warning-rgb), var(--link-underline-opacity)) !important;
345
- }
346
-
347
- .link-underline-danger {
348
- --link-underline-opacity: 1;
349
-
350
- -webkit-text-decoration-color: rgba(var(--color-danger-rgb), var(--link-underline-opacity)) !important;
351
- text-decoration-color: rgba(var(--color-danger-rgb), var(--link-underline-opacity)) !important;
352
- }
353
-
354
- .link-underline-contrast {
355
- --link-underline-opacity: 1;
356
-
357
- -webkit-text-decoration-color: rgba(var(--color-contrast-rgb), var(--link-underline-opacity)) !important;
358
- text-decoration-color: rgba(var(--color-contrast-rgb), var(--link-underline-opacity)) !important;
359
- }
360
-
361
- .link-underline {
362
- --link-underline-opacity: 1;
363
-
364
- -webkit-text-decoration-color: rgba(var(--color-link-rgb), var(--link-underline-opacity, 1)) !important;
365
- text-decoration-color: rgba(var(--color-link-rgb), var(--link-underline-opacity, 1)) !important;
366
- }
367
-
368
- .link-underline-opacity-0 {
369
- --link-underline-opacity: 0;
370
- }
371
-
372
- .link-underline-opacity-0-hover:hover {
373
- --link-underline-opacity: 0;
374
- }
375
-
376
- .link-underline-opacity-10 {
377
- --link-underline-opacity: 0.1;
378
- }
379
-
380
- .link-underline-opacity-10-hover:hover {
381
- --link-underline-opacity: 0.1;
382
- }
383
-
384
- .link-underline-opacity-25 {
385
- --link-underline-opacity: 0.25;
386
- }
387
-
388
- .link-underline-opacity-25-hover:hover {
389
- --link-underline-opacity: 0.25;
390
- }
391
-
392
- .link-underline-opacity-50 {
393
- --link-underline-opacity: 0.5;
394
- }
395
-
396
- .link-underline-opacity-50-hover:hover {
397
- --link-underline-opacity: 0.5;
398
- }
399
-
400
- .link-underline-opacity-75 {
401
- --link-underline-opacity: 0.75;
402
- }
403
-
404
- .link-underline-opacity-75-hover:hover {
405
- --link-underline-opacity: 0.75;
406
- }
407
-
408
- .link-underline-opacity-100 {
409
- --link-underline-opacity: 1;
410
- }
411
-
412
- .link-underline-opacity-100-hover:hover {
413
- --link-underline-opacity: 1;
414
- }
415
-
416
- /* Dark mode: headings should be lighter than text color (mix in white) */
417
- @media (prefers-color-scheme: dark) {
418
- .text-primary,
419
- .text-secondary,
420
- .text-success,
421
- .text-info,
422
- .text-warning,
423
- .text-danger,
424
- .text-contrast,
425
- .text-body,
426
- .text-muted,
427
- .text-body-secondary,
428
- .text-body-emphasis,
429
- .text-primary-emphasis,
430
- .text-secondary-emphasis,
431
- .text-success-emphasis,
432
- .text-info-emphasis,
433
- .text-warning-emphasis,
434
- .text-danger-emphasis,
435
- .text-contrast-emphasis {
436
- --color-heading-base: color-mix(in srgb, var(--color-text), white 75%);
437
- }
438
- }
439
-
440
- [data-theme="dark"] {
441
- .text-primary,
442
- .text-secondary,
443
- .text-success,
444
- .text-info,
445
- .text-warning,
446
- .text-danger,
447
- .text-contrast,
448
- .text-body,
449
- .text-muted,
450
- .text-body-secondary,
451
- .text-body-emphasis,
452
- .text-primary-emphasis,
453
- .text-secondary-emphasis,
454
- .text-success-emphasis,
455
- .text-info-emphasis,
456
- .text-warning-emphasis,
457
- .text-danger-emphasis,
458
- .text-contrast-emphasis {
459
- --color-heading-base: color-mix(in srgb, var(--color-text), white 75%);
460
- }
83
+ --color-text-opacity: 100%;
461
84
  }
@@ -0,0 +1,33 @@
1
+ .focus-ring:focus {
2
+ outline: 0;
3
+ box-shadow: var(--focus-ring-x, 0) var(--focus-ring-y, 0) var(--focus-ring-blur, 0) var(--outline-size) var(--focus-ring-color);
4
+ }
5
+
6
+ .focus-ring,
7
+ .focus-ring-primary {
8
+ --focus-ring-color: var(--color-primary-focus-ring);
9
+ }
10
+
11
+ .focus-ring-secondary {
12
+ --focus-ring-color: var(--color-secondary-focus-ring);
13
+ }
14
+
15
+ .focus-ring-success {
16
+ --focus-ring-color: var(--color-success-focus-ring);
17
+ }
18
+
19
+ .focus-ring-info {
20
+ --focus-ring-color: var(--color-info-focus-ring);
21
+ }
22
+
23
+ .focus-ring-warning {
24
+ --focus-ring-color: var(--color-warning-focus-ring);
25
+ }
26
+
27
+ .focus-ring-danger {
28
+ --focus-ring-color: var(--color-danger-focus-ring);
29
+ }
30
+
31
+ .focus-ring-contrast {
32
+ --focus-ring-color: var(--color-contrast-focus-ring);
33
+ }
@@ -1,8 +1,3 @@
1
- .focus-ring:focus {
2
- outline: 0;
3
- box-shadow: var(--focus-ring-x, 0) var(--focus-ring-y, 0) var(--focus-ring-blur, 0) var(--focus-ring-width) var(--focus-ring-color);
4
- }
5
-
6
1
  .shadow {
7
2
  box-shadow: var(--shadow-md) !important;
8
3
  }
@@ -18,31 +13,3 @@
18
13
  .shadow-none {
19
14
  box-shadow: none !important;
20
15
  }
21
-
22
- .focus-ring-primary {
23
- --focus-ring-color: rgba(var(--color-primary-rgb), var(--focus-ring-opacity));
24
- }
25
-
26
- .focus-ring-secondary {
27
- --focus-ring-color: rgba(var(--color-secondary-rgb), var(--focus-ring-opacity));
28
- }
29
-
30
- .focus-ring-success {
31
- --focus-ring-color: rgba(var(--color-success-rgb), var(--focus-ring-opacity));
32
- }
33
-
34
- .focus-ring-info {
35
- --focus-ring-color: rgba(var(--color-info-rgb), var(--focus-ring-opacity));
36
- }
37
-
38
- .focus-ring-warning {
39
- --focus-ring-color: rgba(var(--color-warning-rgb), var(--focus-ring-opacity));
40
- }
41
-
42
- .focus-ring-danger {
43
- --focus-ring-color: rgba(var(--color-danger-rgb), var(--focus-ring-opacity));
44
- }
45
-
46
- .focus-ring-contrast {
47
- --focus-ring-color: rgba(var(--color-contrast-rgb), var(--focus-ring-opacity));
48
- }
@@ -0,0 +1,16 @@
1
+ /*!
2
+ * Semanticus CSS Utilities Bundle v0.9.0 (https://semanticus.design/)
3
+ *
4
+ * Atomic utility classes (spacing, colors, flexbox, grid, display, positioning, typography, effects, borders, sizing)
5
+ *
6
+ * Original works: see https://github.com/semanticus/semanticus-css/blob/main/NOTICE for copyright and license details
7
+ *
8
+ * Modifications: Copyright (c) 2026 Joao Goncalves
9
+ * Licensed under MIT (https://github.com/semanticus/semanticus-css/blob/main/LICENSE)
10
+ */
11
+
12
+ /* Variables */
13
+ @import '../variables/_breakpoints.css';
14
+
15
+ /* Utilities */
16
+ @import './modules.css';
@@ -8,10 +8,8 @@
8
8
  display: inline-flex;
9
9
  gap: 0.375rem;
10
10
  align-items: center;
11
- -webkit-text-decoration-color: rgba(var(--color-link-rgb), var(--link-opacity, 0.5));
12
- text-decoration-color: rgba(var(--color-link-rgb), var(--link-opacity, 0.5));
11
+ text-decoration-color: oklch(from var(--color-text) l c h / 0.4);
13
12
  text-underline-offset: 0.25em;
14
- -webkit-backface-visibility: hidden;
15
13
  backface-visibility: hidden;
16
14
  }
17
15
  .icon-link > .bi {
@@ -31,7 +29,6 @@
31
29
  transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));
32
30
  }
33
31
 
34
-
35
32
  .stretched-link::after {
36
33
  position: absolute;
37
34
  top: 0;
@@ -45,7 +42,7 @@
45
42
  .vr {
46
43
  display: inline-block;
47
44
  align-self: stretch;
48
- width: var(--border-width);
45
+ width: var(--border-size);
49
46
  min-height: 1em;
50
47
  background-color: currentcolor;
51
48
  opacity: 0.25;
@@ -1,22 +1,3 @@
1
- /**
2
- * Grid
3
- * Minimal grid system with auto-layout columns
4
- */
5
- .grid {
6
- grid-column-gap: var(--grid-column-gap);
7
- grid-row-gap: var(--grid-row-gap);
8
- display: grid;
9
- grid-template-columns: 1fr;
10
-
11
- @media (--breakpoint-sm) {
12
- grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));
13
- }
14
-
15
- & > * {
16
- min-width: 0;
17
- }
18
- }
19
-
20
1
  .ratio {
21
2
  position: relative;
22
3
  width: 100%;