fulldev-ui 0.3.0-beta.3 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/.astro/settings.json +1 -1
  2. package/package.json +10 -5
  3. package/src/components/_Block.astro +0 -5
  4. package/src/components/_Component.astro +10 -8
  5. package/src/components/_archive/Body.astro +2 -2
  6. package/src/components/_archive/Nav.astro +12 -0
  7. package/src/components/_todo/Form.astro +1 -1
  8. package/src/components/_todo/Prose.astro +7 -7
  9. package/src/components/base/Badge.astro +20 -16
  10. package/src/components/base/Button.astro +21 -34
  11. package/src/components/base/Icon.astro +7 -7
  12. package/src/components/base/Image.astro +116 -42
  13. package/src/components/base/Logo.astro +2 -3
  14. package/src/components/base/Rating.astro +30 -29
  15. package/src/components/base/checkbox/Checkbox.astro +52 -0
  16. package/src/components/base/checkbox/CheckboxElement.astro +31 -0
  17. package/src/components/base/input/Input.astro +79 -0
  18. package/src/components/base/input/InputElement.astro +60 -0
  19. package/src/components/base/radio/Radio.astro +66 -0
  20. package/src/components/base/radio/RadioElement.astro +34 -0
  21. package/src/components/base/select/Select.astro +90 -0
  22. package/src/components/base/select/SelectElement.astro +56 -0
  23. package/src/components/base/select/SelectOption.astro +32 -0
  24. package/src/components/base/switch/Switch.astro +55 -0
  25. package/src/components/base/{Switch.astro → switch/SwitchElement.astro} +15 -13
  26. package/src/components/base/table/Table.astro +55 -0
  27. package/src/components/base/table/TableBody.astro +39 -0
  28. package/src/components/base/table/TableCell.astro +30 -0
  29. package/src/components/base/table/TableFooter.astro +48 -0
  30. package/src/components/base/table/TableHead.astro +31 -0
  31. package/src/components/base/table/TableHeader.astro +44 -0
  32. package/src/components/base/table/TableRow.astro +46 -0
  33. package/src/components/base/textarea/Textarea.astro +79 -0
  34. package/src/components/base/textarea/TextareaElement.astro +61 -0
  35. package/src/components/segment/Card.astro +42 -19
  36. package/src/components/segment/Footer.astro +88 -0
  37. package/src/components/segment/Header.astro +48 -19
  38. package/src/components/segment/Section.astro +66 -32
  39. package/src/components/segment/_regels.md +32 -0
  40. package/src/components/structure/Bento.astro +38 -0
  41. package/src/components/structure/Box.astro +30 -0
  42. package/src/components/structure/Carousel.astro +55 -0
  43. package/src/components/structure/Column.astro +46 -0
  44. package/src/components/structure/Grid.astro +33 -0
  45. package/src/components/structure/Masonry.astro +42 -0
  46. package/src/components/structure/Row.astro +44 -0
  47. package/src/components/structure/Split.astro +54 -0
  48. package/src/components/structure/Spread.astro +45 -0
  49. package/src/components/structure/Wrap.astro +44 -0
  50. package/src/components/typography/Heading.astro +37 -28
  51. package/src/components/typography/Label.astro +4 -8
  52. package/src/components/typography/Link.astro +40 -12
  53. package/src/components/typography/List.astro +12 -13
  54. package/src/components/typography/ListItem.astro +11 -10
  55. package/src/components/typography/Paragraph.astro +4 -9
  56. package/src/components/typography/Tagline.astro +11 -10
  57. package/src/components/typography/Text.astro +5 -9
  58. package/src/content/config.ts +1 -1
  59. package/src/css/color.scss +289 -0
  60. package/src/css/size.scss +293 -0
  61. package/src/css/space.scss +94 -0
  62. package/src/css/styles.css +1 -2
  63. package/src/index.ts +30 -12
  64. package/src/integration/tailwind.ts +34 -0
  65. package/src/integration/unocss.ts +38 -0
  66. package/src/schemas/schemas.ts +45 -0
  67. package/src/components/_archive/Row.astro +0 -26
  68. package/src/components/_todo/Footer.astro +0 -66
  69. package/src/components/_todo/todo.md +0 -10
  70. package/src/components/base/Checkbox.astro +0 -41
  71. package/src/components/base/Input.astro +0 -59
  72. package/src/components/base/Radio.astro +0 -39
  73. package/src/components/base/Select.astro +0 -69
  74. package/src/components/base/SelectOption.astro +0 -27
  75. package/src/components/base/Textarea.astro +0 -34
  76. package/src/components/base/todo.md +0 -7
  77. package/src/components/segment/Box.astro +0 -41
  78. package/src/components/segment/Deck.astro +0 -40
  79. package/src/components/segment/Group.astro +0 -29
  80. package/src/components/typography/todo.md +0 -3
  81. package/src/css/color.css +0 -88
  82. package/src/css/props/align.scss +0 -20
  83. package/src/css/props/frame.scss +0 -153
  84. package/src/css/props/mask +0 -1
  85. package/src/css/props/position.scss +0 -33
  86. package/src/css/props/ratio +0 -1
  87. package/src/css/props/structure.scss +0 -228
  88. package/src/css/props/variant.scss +0 -130
  89. package/src/css/radix.css +0 -281
  90. package/src/css/size.css +0 -334
  91. /package/src/schemas/{collection.ts → collection-old-schemas.ts} +0 -0
@@ -1,29 +0,0 @@
1
- ---
2
- import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
- import Component from '../_Component.astro'
4
-
5
- type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> &
6
- ComponentProps<typeof Component> & {
7
- color?: 'base' | 'brand'
8
- size?: 'sm' | 'md' | 'lg'
9
- structure?: 'row' | 'column' | 'wrap'
10
- }
11
-
12
- const { ...rest } = Astro.props
13
- ---
14
-
15
- <Component
16
- class:list={['group']}
17
- {...rest}
18
- >
19
- <slot />
20
- </Component>
21
-
22
- <style is:global lang="scss">
23
- @import '../../css/utils.scss';
24
-
25
- @include component('group') {
26
- justify-content: stretch;
27
- align-items: center;
28
- }
29
- </style>
@@ -1,3 +0,0 @@
1
- # New components
2
- - Highlight (for highlighint stuff in headings for example, with a primary background etc. Should accept same variants as badge)
3
-
package/src/css/color.css DELETED
@@ -1,88 +0,0 @@
1
- :root,
2
- .light,
3
- .light-theme,
4
- .theme-light,
5
- [data-theme='light'],
6
- .dark,
7
- .dark-theme,
8
- .theme-dark,
9
- [data-theme='dark'] {
10
- --base-background: var(--base-1);
11
- --base-background-surface: var(--base-surface);
12
- --base-background-subtle: var(--base-2);
13
- --base-background-soft: var(--base-3);
14
- --base-background-hover: var(--base-4);
15
- --base-background-active: var(--base-5);
16
- --base-border: var(--base-6);
17
- --base-border-outline: var(--base-7);
18
- --base-border-hover: var(--base-8);
19
- --base-solid: var(--base-9);
20
- --base-solid-hover: var(--base-10);
21
- --base-solid-contrast: var(--base-contrast);
22
- --base-foreground: var(--base-11);
23
- --base-foreground-contrast: var(--base-12);
24
-
25
- --brand-background: var(--brand-1);
26
- --brand-background-surface: var(--brand-surface);
27
- --brand-background-subtle: var(--brand-2);
28
- --brand-background-soft: var(--brand-3);
29
- --brand-background-hover: var(--brand-4);
30
- --brand-background-active: var(--brand-5);
31
- --brand-border: var(--brand-6);
32
- --brand-border-outline: var(--brand-7);
33
- --brand-border-hover: var(--brand-8);
34
- --brand-solid: var(--brand-9);
35
- --brand-solid-hover: var(--brand-10);
36
- --brand-solid-contrast: var(--brand-contrast);
37
- --brand-foreground: var(--brand-11);
38
- --brand-foreground-contrast: var(--brand-12);
39
- }
40
-
41
- /* --------------------------- */
42
- /* Generate colors */
43
- /* --------------------------- */
44
-
45
- :where(:root),
46
- :where(.theme-light),
47
- :where(.theme-dark),
48
- .color-base,
49
- .color-base
50
- [class*='theme-']:not(.color-base [class*='color-'] [class*='theme-']):not(
51
- .color-base [class*='color-'][class*='theme-']
52
- ) {
53
- --background: var(--base-background);
54
- --background-surface: var(--base-background-surface);
55
- --background-subtle: var(--base-background-subtle);
56
- --background-soft: var(--base-background-soft);
57
- --background-hover: var(--base-background-hover);
58
- --background-active: var(--base-background-active);
59
- --border: var(--base-border);
60
- --border-outline: var(--base-border-outline);
61
- --border-hover: var(--base-border-hover);
62
- --solid: var(--base-solid);
63
- --solid-hover: var(--base-solid-hover);
64
- --solid-contrast: var(--base-solid-contrast);
65
- --foreground: var(--base-foreground);
66
- --foreground-contrast: var(--base-foreground-contrast);
67
- }
68
-
69
- .color-brand,
70
- .color-brand
71
- [class*='theme-']:not(.color-brand [class*='color-'] [class*='theme-']):not(
72
- .color-brand [class*='color-'][class*='theme-']
73
- ) {
74
- --background: var(--brand-background);
75
- --background-surface: var(--brand-background-surface);
76
- --background-subtle: var(--brand-background-subtle);
77
- --background-soft: var(--brand-background-soft);
78
- --background-hover: var(--brand-background-hover);
79
- --background-active: var(--brand-background-active);
80
- --border: var(--brand-border);
81
- --border-outline: var(--brand-border-outline);
82
- --border-hover: var(--brand-border-hover);
83
- --solid: var(--brand-solid);
84
- --solid-hover: var(--brand-solid-hover);
85
- --solid-contrast: var(--brand-solid-contrast);
86
- --foreground: var(--brand-foreground);
87
- --foreground-contrast: var(--brand-foreground-contrast);
88
- }
@@ -1,20 +0,0 @@
1
- .align-start {
2
- align-items: flex-start;
3
- }
4
-
5
- .align-center {
6
- align-items: center;
7
- text-align: var(--space-x, center);
8
-
9
- & > * > * {
10
- text-align: left;
11
- }
12
- }
13
-
14
- .align-end {
15
- align-items: flex-end;
16
- }
17
-
18
- .align-stretch {
19
- align-items: stretch;
20
- }
@@ -1,153 +0,0 @@
1
- :root {
2
- --screen: 1536px;
3
- }
4
-
5
- .frame-wrapper,
6
- .frame-viewport,
7
- .frame-container,
8
- .frame-panel {
9
- --gutter: max(4vw, calc(100vw - var(--screen)) / 2);
10
- }
11
-
12
- .frame-wrapper,
13
- .frame-viewport {
14
- --inner-x: var(--gutter);
15
-
16
- padding-right: var(--gutter);
17
- padding-left: var(--gutter);
18
- width: 100%;
19
- max-width: 100%;
20
- overflow: hidden;
21
-
22
- &:is(.split > &) {
23
- @media (min-width: 768px) {
24
- &:not(:first-child) {
25
- padding-left: 0;
26
- }
27
-
28
- &:not(:last-child) {
29
- padding-right: 0;
30
- }
31
- }
32
- }
33
- }
34
-
35
- .frame-viewport {
36
- min-height: 100%;
37
- }
38
-
39
- .frame-container {
40
- margin-right: var(--gutter);
41
- margin-left: var(--gutter);
42
- max-width: calc(100% - var(--gutter) * 2);
43
-
44
- &:is(.split > &) {
45
- @media (min-width: 768px) {
46
- &:not(:first-child) {
47
- margin-left: 0;
48
- }
49
-
50
- &:not(:last-child) {
51
- margin-right: 0;
52
- }
53
- }
54
- }
55
- }
56
-
57
- .frame-panel {
58
- --inner-x: var(--space-6);
59
- --inner-y: var(--space-6);
60
-
61
- position: relative;
62
- border-radius: var(--radius-3);
63
- padding: var(--inner-y) var(--inner-x);
64
- width: 100%;
65
- overflow: hidden;
66
-
67
- &.section {
68
- --inner-x: min(var(--gutter), var(--space-6));
69
-
70
- margin-right: var(--gutter);
71
- margin-left: var(--gutter);
72
- max-width: calc(100% - var(--gutter) * 2);
73
- }
74
- }
75
-
76
- .frame-inset {
77
- &:is(.structure-column > &) {
78
- margin-right: calc(var(--inner-x) * -1);
79
- margin-left: calc(var(--inner-x) * -1);
80
- width: calc(100% + var(--inner-x) * 2);
81
-
82
- &:first-child {
83
- margin-top: calc(var(--inner-y) * -1);
84
- height: calc(100% + var(--inner-y) * 1);
85
- }
86
-
87
- &:last-child {
88
- margin-bottom: calc(var(--inner-y) * -1);
89
- height: calc(100% + var(--inner-y) * 1);
90
- }
91
- }
92
-
93
- &:is(.structure-split > &) {
94
- @media (max-width: 1023.999px) {
95
- margin-right: calc(var(--inner-x) * -1);
96
- margin-left: calc(var(--inner-x) * -1);
97
- width: calc(100% + var(--inner-x) * 2);
98
-
99
- &:first-child {
100
- margin-top: calc(var(--inner-y) * -1);
101
- height: calc(100% + var(--inner-y) * 1);
102
- }
103
-
104
- &:last-child {
105
- margin-bottom: calc(var(--inner-y) * -1);
106
- height: calc(100% + var(--inner-y) * 1);
107
- }
108
- }
109
-
110
- @media (min-width: 1024px) {
111
- margin-top: calc(var(--inner-y) * -1);
112
- margin-bottom: calc(var(--inner-y) * -1);
113
- height: calc(100% + var(--inner-y) * 2);
114
-
115
- &:first-child {
116
- margin-left: calc(var(--inner-x) * -1);
117
- width: calc(100% + var(--inner-x) * 1);
118
- }
119
-
120
- &:last-child {
121
- margin-right: calc(var(--inner-x) * -1);
122
- width: calc(100% + var(--inner-x) * 1);
123
- }
124
- }
125
- }
126
- }
127
-
128
- .frame-cover {
129
- width: 100%;
130
- height: 100%;
131
- object-fit: cover;
132
- }
133
-
134
- .frame-background {
135
- position: absolute;
136
- top: 0;
137
- right: 0;
138
- bottom: 0;
139
- left: 0;
140
- order: 1;
141
- z-index: -1;
142
- margin: 0 !important;
143
- border-radius: 0;
144
- width: 100%;
145
- height: 100%;
146
- max-height: 100%;
147
- object-fit: cover;
148
-
149
- ~ .full {
150
- position: relative;
151
- z-index: 1;
152
- }
153
- }
@@ -1 +0,0 @@
1
-
@@ -1,33 +0,0 @@
1
- .position-background {
2
- position: absolute;
3
- top: 0;
4
- right: 0;
5
- bottom: 0;
6
- left: 0;
7
- order: 1;
8
- z-index: -1;
9
- margin: 0 !important;
10
- border-radius: 0;
11
- width: 100%;
12
- height: 100%;
13
- max-height: 100%;
14
- object-fit: cover;
15
-
16
- ~ .full {
17
- position: relative;
18
- z-index: 1;
19
- }
20
- }
21
-
22
- .position-cover {
23
- width: 100%;
24
- height: 100%;
25
- object-fit: cover;
26
- }
27
-
28
- .position-container {
29
- width: 100%;
30
- height: 100%;
31
- object-fit: contain;
32
- object-position: center;
33
- }
@@ -1 +0,0 @@
1
-
@@ -1,228 +0,0 @@
1
- /* Horizontal */
2
- .structure-row {
3
- display: flex;
4
-
5
- & > .full {
6
- margin-top: 0;
7
- }
8
- }
9
-
10
- /* Vertical */
11
- .structure-column {
12
- display: flex;
13
- flex-direction: column;
14
-
15
- & > .full {
16
- margin-left: 0;
17
- }
18
- }
19
-
20
- /* Horizontal with equa columns */
21
- .structure-split {
22
- display: grid;
23
- grid-template-columns: 1fr;
24
-
25
- & > .full {
26
- margin: 0;
27
- }
28
-
29
- @media (min-width: 1024px) {
30
- grid-auto-columns: 1fr;
31
- grid-auto-flow: column;
32
- column-gap: var(--space-6);
33
-
34
- & > .full {
35
- margin-top: 0;
36
- }
37
- }
38
- }
39
-
40
- /* Horizontal and wrapping */
41
- .structure-wrap {
42
- display: flex;
43
- flex-wrap: wrap;
44
- justify-content: stretch;
45
- gap: var(--space-2);
46
- }
47
-
48
- /* Horizontal with space-between */
49
- .structure-spread {
50
- display: flex;
51
- flex-wrap: wrap;
52
- justify-content: space-between;
53
- align-items: stretch;
54
- gap: var(--space-4);
55
- width: 100%;
56
-
57
- & > .full {
58
- width: auto;
59
- }
60
- }
61
-
62
- /* Equal columns and rows */
63
- .structure-grid {
64
- --column-width: calc(15 * var(--element-3));
65
-
66
- display: grid;
67
- position: relative;
68
- grid-template-columns: repeat(auto-fit, minmax(var(--column-width), 1fr));
69
- gap: var(--space-3);
70
- width: 100%;
71
- }
72
-
73
- /* Equal rows, but not columns */
74
- .structure-bento {
75
- display: grid;
76
- position: relative;
77
- grid-template-columns: 1fr;
78
- width: 100%;
79
-
80
- @media (min-width: 1024px) {
81
- grid-template-columns: 1fr 1fr 1fr;
82
-
83
- & > *:nth-child(2n) {
84
- grid-column-start: span 2;
85
- }
86
- }
87
- }
88
-
89
- /* Equal columns, but not rows */
90
- .structure-masonry {
91
- --column-width: calc(16 * var(--element-3));
92
- --gap: var(--space-3);
93
-
94
- position: relative;
95
- column-gap: var(--gap);
96
- column-fill: balance;
97
- column-width: var(--column-width);
98
- column-count: 6;
99
- break-inside: avoid;
100
- width: 100%;
101
-
102
- & > .full + .full {
103
- break-inside: avoid;
104
- margin-top: var(--gap);
105
- margin-bottom: var(--gap);
106
- }
107
- }
108
-
109
- /* Equal columns, scrollable horizontally */
110
- .structure-carousel {
111
- --column-width: calc(16 * var(--element-3));
112
-
113
- display: flex;
114
- position: relative;
115
- position: relative;
116
- flex-direction: row;
117
- align-items: flex-start;
118
- gap: var(--space-3);
119
- padding-bottom: var(--space-3);
120
- width: 100%;
121
- overflow-x: auto;
122
- scroll-behavior: smooth;
123
- scroll-snap-type: x mandatory;
124
-
125
- > .full {
126
- flex-grow: 0;
127
- flex-shrink: 0;
128
- width: var(--column-width);
129
- scroll-snap-align: center;
130
- }
131
- }
132
-
133
- @mixin space-x {
134
- > {
135
- .full + .full {
136
- margin-left: var(--space-5);
137
- }
138
-
139
- .full + .group,
140
- .full + .button,
141
- .full + .switch {
142
- margin-left: var(--space-4);
143
- }
144
-
145
- .full + .heading,
146
- .full + .label,
147
- .full + .link,
148
- .full + .list,
149
- .full + .paragraph,
150
- .full + .tagline,
151
- .full + .input,
152
- .full + .badge,
153
- .full + .rating {
154
- margin-left: var(--space-3);
155
- }
156
-
157
- .paragraph + .paragraph,
158
- .button:not(.variant-link) + .button:not(.variant-link),
159
- .input + .button {
160
- margin-left: var(--space-2);
161
- }
162
-
163
- .label + .input {
164
- margin-left: var(--space-1);
165
- }
166
-
167
- .image + .full,
168
- .icon + .full {
169
- margin-left: var(--space-5);
170
- }
171
- }
172
- }
173
-
174
- @mixin space-y {
175
- > {
176
- .full + .full {
177
- margin-top: var(--space-5);
178
- }
179
-
180
- .full + .group,
181
- .full + .button,
182
- .full + .switch {
183
- margin-top: var(--space-4);
184
- }
185
-
186
- .full + .heading,
187
- .full + .label,
188
- .full + .link,
189
- .full + .list,
190
- .full + .paragraph,
191
- .full + .tagline,
192
- .full + .input,
193
- .full + .badge,
194
- .full + .rating {
195
- margin-top: var(--space-3);
196
- }
197
-
198
- .paragraph + .paragraph,
199
- .button:not(.variant-link) + .button:not(.variant-link),
200
- .input + .button {
201
- margin-top: var(--space-2);
202
- }
203
-
204
- .label + .input {
205
- margin-top: var(--space-1);
206
- }
207
-
208
- .image + .full,
209
- .icon + .full {
210
- margin-top: var(--space-5);
211
- }
212
- }
213
- }
214
-
215
- /* For ALL */
216
- .structure-split {
217
- @media (max-width: 1023.999px) {
218
- @include space-y;
219
- }
220
- }
221
-
222
- .structure-row {
223
- @include space-x;
224
- }
225
-
226
- .structure-column {
227
- @include space-y;
228
- }
@@ -1,130 +0,0 @@
1
- .variant-solid {
2
- background-color: var(--solid);
3
- color: var(--solid-contrast);
4
-
5
- .full {
6
- color: var(--background);
7
- }
8
-
9
- &:is(a, button),
10
- &[href] {
11
- &:hover {
12
- background-color: var(--solid-hover);
13
- }
14
-
15
- &:active {
16
- background-color: var(--solid-hover);
17
- }
18
- }
19
- }
20
-
21
- .variant-soft {
22
- background-color: var(--background-soft);
23
- color: var(--foreground);
24
-
25
- &:is(a, button),
26
- &[href] {
27
- &:hover {
28
- background-color: var(--background-hover);
29
- }
30
-
31
- &:active {
32
- background-color: var(--background-active);
33
- }
34
- }
35
-
36
- &.contrast {
37
- color: var(--foreground-contrast);
38
- }
39
- }
40
-
41
- .variant-surface {
42
- // box-shadow: inset 0 0 0 1px var(--border-outline);
43
- border: 1px solid var(--border-outline);
44
- background-color: var(--background-surface);
45
- color: var(--foreground);
46
-
47
- &:is(a, button),
48
- &[href] {
49
- &:hover {
50
- // box-shadow: inset 0 0 0 1px var(--border-hover);
51
- border: 1px solid var(--border-hover);
52
- background-color: var(--background-surface);
53
- }
54
-
55
- &:active {
56
- // box-shadow: inset 0 0 0 1px var(--border-hover);
57
- border: 1px solid var(--border-hover);
58
- background-color: var(--background-active);
59
- }
60
- }
61
-
62
- &.contrast {
63
- color: var(--foreground-contrast);
64
- }
65
- }
66
-
67
- .variant-outline {
68
- // box-shadow: inset 0 0 0 1px var(--border-outline);
69
- border: 1px solid var(--border-outline);
70
- color: var(--foreground);
71
-
72
- &:is(a, button),
73
- &[href] {
74
- &:hover {
75
- // box-shadow: inset 0 0 0 1px var(--border-hover);
76
- border: 1px solid var(--border-hover);
77
- background-color: var(--background-surface);
78
- }
79
-
80
- &:active {
81
- // box-shadow: inset 0 0 0 1px var(--border-hover);
82
- border: 1px solid var(--border-hover);
83
- background-color: var(--background-active);
84
- }
85
- }
86
-
87
- &.contrast {
88
- color: var(--foreground-contrast);
89
- }
90
- }
91
-
92
- .variant-ghost {
93
- box-shadow: none;
94
-
95
- &:is(a, button),
96
- &[href] {
97
- &:hover {
98
- background-color: var(--background-soft);
99
- }
100
-
101
- &:active {
102
- background-color: var(--background-active);
103
- }
104
- }
105
-
106
- &.contrast {
107
- color: var(--foreground-contrast);
108
- }
109
- }
110
-
111
- .variant-subtle {
112
- // box-shadow: inset 0 0 0 1px var(--border);
113
- border: 1px solid var(--border);
114
- background-color: var(--background-subtle);
115
- color: var(--foreground);
116
-
117
- &:is(a, button),
118
- &[href] {
119
- &:hover {
120
- // box-shadow: inset 0 0 0 1px var(--border-hover);
121
- border: 1px solid var(--border-hover);
122
- }
123
- }
124
-
125
-
126
-
127
- &.contrast {
128
- color: var(--foreground-contrast);
129
- }
130
- }