@semanticus/semanticus-css 0.8.0 → 1.0.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 (166) 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 +28 -16
  29. package/src/components/_card.css +84 -0
  30. package/src/components/_sidebar.css +49 -0
  31. package/src/components/modules.css +2 -0
  32. package/src/index.css +8 -10
  33. package/src/no-utilities.css +22 -0
  34. package/src/palettes/amber.css +28 -53
  35. package/src/palettes/azure.css +31 -0
  36. package/src/palettes/blue.css +28 -53
  37. package/src/palettes/cyan.css +28 -53
  38. package/src/palettes/fuchsia.css +28 -53
  39. package/src/palettes/green.css +28 -53
  40. package/src/palettes/grey.css +28 -53
  41. package/src/palettes/indigo.css +28 -53
  42. package/src/palettes/jade.css +28 -53
  43. package/src/palettes/lime.css +28 -53
  44. package/src/palettes/orange.css +28 -53
  45. package/src/palettes/pink.css +28 -53
  46. package/src/palettes/pumpkin.css +28 -53
  47. package/src/palettes/purple.css +28 -53
  48. package/src/palettes/red.css +28 -53
  49. package/src/palettes/sand.css +28 -53
  50. package/src/palettes/slate.css +28 -53
  51. package/src/palettes/violet.css +28 -53
  52. package/src/palettes/yellow.css +28 -53
  53. package/src/palettes/zinc.css +28 -53
  54. package/src/semantics/{_aria-busy.css → attributes/_aria-busy.css} +0 -3
  55. package/src/semantics/{_hidden.css → attributes/_hidden.css} +0 -3
  56. package/src/semantics/attributes/_popover.css +13 -0
  57. package/src/semantics/attributes/_role-group-search.css +137 -0
  58. package/src/semantics/{_role-toolbar.css → attributes/_role-toolbar.css} +2 -5
  59. package/src/semantics/{_role-tooltip.css → attributes/_role-tooltip.css} +6 -9
  60. package/src/semantics/elements/_abbr.css +5 -0
  61. package/src/semantics/elements/_address.css +7 -0
  62. package/src/semantics/elements/_article.css +3 -0
  63. package/src/semantics/elements/_aside.css +10 -0
  64. package/src/semantics/elements/_blockquote.css +18 -0
  65. package/src/semantics/elements/_body.css +5 -0
  66. package/src/semantics/{_button.css → elements/_button.css} +23 -26
  67. package/src/semantics/{_code.css → elements/_code.css} +11 -11
  68. package/src/semantics/elements/_del.css +3 -0
  69. package/src/semantics/{_details.css → elements/_details.css} +42 -43
  70. package/src/semantics/elements/_dialog.css +113 -0
  71. package/src/semantics/{_document.css → elements/_document.css} +10 -4
  72. package/src/semantics/{_embedded.css → elements/_embedded.css} +0 -3
  73. package/src/semantics/{_figure.css → elements/_figure.css} +0 -3
  74. package/src/semantics/elements/_footer.css +10 -0
  75. package/src/semantics/elements/_header.css +10 -0
  76. package/src/semantics/elements/_headings.css +24 -0
  77. package/src/semantics/elements/_hgroup.css +14 -0
  78. package/src/semantics/{_hr.css → elements/_hr.css} +1 -4
  79. package/src/semantics/{_input.css → elements/_input.css} +34 -38
  80. package/src/semantics/elements/_ins.css +4 -0
  81. package/src/semantics/elements/_links.css +61 -0
  82. package/src/semantics/elements/_lists.css +22 -0
  83. package/src/semantics/elements/_main.css +3 -0
  84. package/src/semantics/elements/_mark.css +6 -0
  85. package/src/semantics/{_nav.css → elements/_nav.css} +5 -8
  86. package/src/semantics/elements/_p.css +11 -0
  87. package/src/semantics/{_progress.css → elements/_progress.css} +5 -8
  88. package/src/semantics/elements/_section.css +4 -0
  89. package/src/semantics/elements/_small.css +3 -0
  90. package/src/semantics/elements/_strong.css +4 -0
  91. package/src/semantics/elements/_sub.css +7 -0
  92. package/src/semantics/elements/_sup.css +7 -0
  93. package/src/semantics/{_table.css → elements/_table.css} +10 -7
  94. package/src/semantics/{_type-checkbox-radio.css → elements/_type-checkbox-radio.css} +19 -22
  95. package/src/semantics/{_type-color.css → elements/_type-color.css} +2 -5
  96. package/src/semantics/{_type-date.css → elements/_type-date.css} +1 -4
  97. package/src/semantics/elements/_type-file.css +23 -0
  98. package/src/semantics/{_type-range.css → elements/_type-range.css} +11 -14
  99. package/src/semantics/elements/_type-search.css +30 -0
  100. package/src/semantics/index.css +2 -5
  101. package/src/semantics/modules.css +46 -37
  102. package/src/sizes/pico.css +21 -29
  103. package/src/utilities/_grid.css +306 -0
  104. package/src/utilities/_variables.css +27 -42
  105. package/src/utilities/borders/_border-radius.css +54 -79
  106. package/src/utilities/borders/_border-style.css +15 -5
  107. package/src/utilities/borders/_border-width.css +0 -28
  108. package/src/utilities/colors/_bg-colors.css +75 -0
  109. package/src/utilities/colors/_border-colors.css +17 -39
  110. package/src/utilities/colors/_subtle-colors.css +145 -0
  111. package/src/utilities/colors/_text-bg-colors.css +62 -0
  112. package/src/utilities/colors/_text-colors.css +32 -409
  113. package/src/utilities/effects/_focus-ring.css +33 -0
  114. package/src/utilities/effects/_shadows.css +0 -33
  115. package/src/utilities/index.css +16 -0
  116. package/src/utilities/layout/_misc.css +2 -5
  117. package/src/utilities/layout/{_grid.css → _ratio.css} +0 -19
  118. package/src/utilities/modules.css +9 -3
  119. package/src/utilities/sizing/_width.css +8 -0
  120. package/src/utilities/spacing/_gap.css +144 -144
  121. package/src/utilities/spacing/_margin.css +324 -324
  122. package/src/utilities/spacing/_padding.css +324 -324
  123. package/src/utilities/typography/_font-sizes.css +6 -6
  124. package/src/variables/_all.css +2 -20
  125. package/src/variables/_elements.css +29 -33
  126. package/src/variables/_theme.css +336 -0
  127. package/src/variants/_variables.css +24 -0
  128. package/src/variants/intent/_contrast.css +46 -0
  129. package/src/variants/intent/_danger.css +38 -0
  130. package/src/variants/intent/_info.css +38 -0
  131. package/src/variants/intent/_primary.css +38 -0
  132. package/src/variants/intent/_secondary.css +38 -0
  133. package/src/variants/intent/_success.css +38 -0
  134. package/src/variants/intent/_warning.css +38 -0
  135. package/src/variants/{_container.css → modifiers/_container.css} +3 -10
  136. package/src/variants/modifiers/_ghost.css +164 -0
  137. package/src/variants/modifiers/_striped.css +11 -0
  138. package/src/variants/modifiers/_subtle.css +133 -0
  139. package/src/variants/modules.css +12 -15
  140. package/src/_normalize.css +0 -214
  141. package/src/semantics/_article.css +0 -12
  142. package/src/semantics/_aside.css +0 -16
  143. package/src/semantics/_body.css +0 -8
  144. package/src/semantics/_dialog.css +0 -157
  145. package/src/semantics/_footer.css +0 -12
  146. package/src/semantics/_header.css +0 -12
  147. package/src/semantics/_links.css +0 -50
  148. package/src/semantics/_main.css +0 -10
  149. package/src/semantics/_role-group-search.css +0 -129
  150. package/src/semantics/_section.css +0 -9
  151. package/src/semantics/_type-file.css +0 -26
  152. package/src/semantics/_type-search.css +0 -34
  153. package/src/semantics/_typography.css +0 -146
  154. package/src/utilities/colors/_background-colors.css +0 -248
  155. package/src/variables/_colors.css +0 -366
  156. package/src/variables/_components.css +0 -318
  157. package/src/variables/_icons.css +0 -43
  158. package/src/variables/_layout.css +0 -128
  159. package/src/variants/_card.css +0 -45
  160. package/src/variants/_contained.css +0 -43
  161. package/src/variants/_contrast.css +0 -47
  162. package/src/variants/_ghost.css +0 -61
  163. package/src/variants/_panel.css +0 -18
  164. package/src/variants/_secondary.css +0 -35
  165. package/src/variants/_sidebar.css +0 -11
  166. package/src/variants/_striped.css +0 -10
@@ -0,0 +1,145 @@
1
+ .bg-primary-subtle,
2
+ .text-bg-primary-subtle {
3
+ --color-background: oklch(from var(--color-primary-subtle-fill) l c h / var(--color-background-opacity));
4
+
5
+ background-color: var(--color-background) !important;
6
+ }
7
+
8
+ .bg-secondary-subtle,
9
+ .text-bg-secondary-subtle {
10
+ --color-background: oklch(from var(--color-secondary-subtle-fill) l c h / var(--color-background-opacity));
11
+
12
+ background-color: var(--color-background) !important;
13
+ }
14
+
15
+ .bg-contrast-subtle,
16
+ .text-bg-contrast-subtle {
17
+ --color-background: oklch(from var(--color-contrast-subtle-fill) l c h / var(--color-background-opacity));
18
+
19
+ background-color: var(--color-background) !important;
20
+ }
21
+
22
+ .bg-success-subtle,
23
+ .text-bg-success-subtle {
24
+ --color-background: oklch(from var(--color-success-subtle-fill) l c h / var(--color-background-opacity));
25
+
26
+ background-color: var(--color-background) !important;
27
+ }
28
+
29
+ .bg-info-subtle,
30
+ .text-bg-info-subtle {
31
+ --color-background: oklch(from var(--color-info-subtle-fill) l c h / var(--color-background-opacity));
32
+
33
+ background-color: var(--color-background) !important;
34
+ }
35
+
36
+ .bg-warning-subtle,
37
+ .text-bg-warning-subtle {
38
+ --color-background: oklch(from var(--color-warning-subtle-fill) l c h / var(--color-background-opacity));
39
+
40
+ background-color: var(--color-background) !important;
41
+ }
42
+
43
+ .bg-danger-subtle,
44
+ .text-bg-danger-subtle {
45
+ --color-background: oklch(from var(--color-danger-subtle-fill) l c h / var(--color-background-opacity));
46
+
47
+ background-color: var(--color-background) !important;
48
+ }
49
+
50
+ .text-bg-primary-subtle {
51
+ --color-text: oklch(from var(--color-primary-on-fill) l c h / var(--color-text-opacity));
52
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
53
+
54
+ color: var(--color-text) !important;
55
+ }
56
+
57
+ .text-bg-secondary-subtle {
58
+ --color-text: oklch(from var(--color-secondary-on-fill) l c h / var(--color-text-opacity));
59
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
60
+
61
+ color: var(--color-text) !important;
62
+ }
63
+
64
+ .text-bg-contrast-subtle {
65
+ --color-text: oklch(from var(--color-contrast-on-fill) l c h / var(--color-text-opacity));
66
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
67
+
68
+ color: var(--color-text) !important;
69
+ }
70
+
71
+ .text-bg-success-subtle {
72
+ --color-text: oklch(from var(--color-success-on-fill) l c h / var(--color-text-opacity));
73
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
74
+
75
+ color: var(--color-text) !important;
76
+ }
77
+
78
+ .text-bg-info-subtle {
79
+ --color-text: oklch(from var(--color-info-on-fill) l c h / var(--color-text-opacity));
80
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
81
+
82
+ color: var(--color-text) !important;
83
+ }
84
+
85
+ .text-bg-warning-subtle {
86
+ --color-text: oklch(from var(--color-warning-on-fill) l c h / var(--color-text-opacity));
87
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
88
+
89
+ color: var(--color-text) !important;
90
+ }
91
+
92
+ .text-bg-danger-subtle {
93
+ --color-text: oklch(from var(--color-danger-on-fill) l c h / var(--color-text-opacity));
94
+ --color-text-muted: color-mix(in srgb, var(--color-text), transparent 40%);
95
+
96
+ color: var(--color-text) !important;
97
+ }
98
+
99
+ .border-primary-subtle {
100
+ --border-color: oklch(from var(--color-primary-subtle-fill) l c h / var(--color-border-opacity));
101
+ }
102
+
103
+ .border-secondary-subtle {
104
+ --border-color: oklch(from var(--color-secondary-subtle-fill) l c h / var(--color-border-opacity));
105
+ }
106
+
107
+ .border-contrast-subtle {
108
+ --border-color: oklch(from var(--color-contrast-subtle-fill) l c h / var(--color-border-opacity));
109
+ }
110
+
111
+ .border-success-subtle {
112
+ --border-color: oklch(from var(--color-success-subtle-fill) l c h / var(--color-border-opacity));
113
+ }
114
+
115
+ .border-info-subtle {
116
+ --border-color: oklch(from var(--color-info-subtle-fill) l c h / var(--color-border-opacity));
117
+ }
118
+
119
+ .border-warning-subtle {
120
+ --border-color: oklch(from var(--color-warning-subtle-fill) l c h / var(--color-border-opacity));
121
+ }
122
+
123
+ .border-danger-subtle {
124
+ --border-color: oklch(from var(--color-danger-subtle-fill) l c h / var(--color-border-opacity));
125
+ }
126
+
127
+ .subtle-opacity-10 {
128
+ --subtle-opacity: 10%;
129
+ }
130
+
131
+ .subtle-opacity-25 {
132
+ --subtle-opacity: 25%;
133
+ }
134
+
135
+ .subtle-opacity-50 {
136
+ --subtle-opacity: 50%;
137
+ }
138
+
139
+ .subtle-opacity-75 {
140
+ --subtle-opacity: 75%;
141
+ }
142
+
143
+ .subtle-opacity-100 {
144
+ --subtle-opacity: 100%;
145
+ }
@@ -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
  }