fulldev-ui 0.3.22 → 0.3.24

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fulldev-ui",
3
- "version": "0.3.22",
3
+ "version": "0.3.24",
4
4
  "description": "A component library built for Astro",
5
5
  "homepage": "https://ui.full.dev",
6
6
  "bugs": "https://github.com/fulldotdev/ui/issues",
@@ -23,7 +23,7 @@
23
23
  "type": "module",
24
24
  "exports": {
25
25
  ".": "./src/index.ts",
26
- "./color": "./src/css/color.scss",
26
+ "./color": "./src/css/color.css",
27
27
  "./integration": "./src/integration/integration.ts",
28
28
  "./tailwind": "./src/integration/tailwind.ts",
29
29
  "./unocss": "./src/integration/unocss.ts"
@@ -79,7 +79,7 @@ const render =
79
79
 
80
80
  <style is:global lang="scss">
81
81
  @import '../css/utils.scss';
82
- @import '../css/color.scss';
82
+ @import '../css/color.css';
83
83
  @import '../css/styles.css';
84
84
  @import '../css/size.scss';
85
85
  @import '../css/space.scss';
@@ -69,6 +69,14 @@ const {
69
69
  text-decoration: none;
70
70
  white-space: nowrap;
71
71
 
72
+ &:hover {
73
+ background-color: var(--background-hover);
74
+ }
75
+
76
+ &:active {
77
+ background-color: var(--background-active);
78
+ }
79
+
72
80
  .avatar {
73
81
  margin-right: calc(-1 * (var(--space-4)));
74
82
  margin-left: var(--space-1);
@@ -6,6 +6,7 @@ import Component from '../_Component.astro'
6
6
 
7
7
  type Props = HTMLAttributes<'img'> & {
8
8
  position?: 'background' | 'cover' | 'inset'
9
+ ratio?: 'landscape' | 'portrait' | 'square' | number
9
10
  frame?: 'inset'
10
11
  width?: number | 1920
11
12
  height?: number | 1920
@@ -182,5 +183,17 @@ const {
182
183
  }
183
184
  }
184
185
  }
186
+
187
+ &.ratio-landscape {
188
+ aspect-ratio: 4/3;
189
+ }
190
+
191
+ &.ratio-square {
192
+ aspect-ratio: 1/1;
193
+ }
194
+
195
+ &.ratio-portrait {
196
+ aspect-ratio: 3/4;
197
+ }
185
198
  }
186
199
  </style>
@@ -93,6 +93,10 @@ const {
93
93
  padding: var(--inner-y) var(--inner-x);
94
94
  overflow: hidden;
95
95
 
96
+ &[href]:hover {
97
+ border: 1px solid var(--border-hover);
98
+ }
99
+
96
100
  &.radius-none {
97
101
  border-radius: 0;
98
102
  }
@@ -37,10 +37,18 @@ const {
37
37
  <style is:global lang="scss">
38
38
  @import '../../css/utils.scss';
39
39
 
40
+ :root {
41
+ --header-height: calc(
42
+ var(--text-1) + 2 * var(--space-4) + 2 * var(--space-3)
43
+ );
44
+ }
45
+
40
46
  @include component('header') {
41
47
  --screen: 1536px;
42
48
  --gutter: max(4vw, calc(100vw - var(--screen)) / 2);
43
-
49
+ --header-height: calc(
50
+ var(--text-1) + 2 * var(--space-4) + 2 * var(--space-3)
51
+ );
44
52
  display: flex;
45
53
  position: relative;
46
54
  top: 0;
@@ -50,28 +58,25 @@ const {
50
58
  margin: var(--outer-y) var(--outer-x);
51
59
  border-bottom: 1px solid var(--border);
52
60
  background-color: var(--background);
53
- padding: var(--inner-y) var(--inner-x);
61
+ padding: 0 var(--inner-x);
54
62
  width: 100%;
55
63
  max-width: calc(100% - (2 * var(--outer-x)));
64
+ height: var(--header-height);
56
65
 
57
66
  &.frame-fill {
58
67
  --inner-x: var(--gutter);
59
- --outer-x: 0;
60
- --inner-y: var(--space-3);
61
68
  --outer-y: 0;
62
69
  }
63
70
 
64
71
  &.frame-contain {
65
72
  --inner-x: max(4vw, var(--space-3));
66
73
  --outer-x: max(0px, calc(var(--gutter) - var(--inner-x)));
67
- --inner-y: var(--space-3);
68
74
  --outer-y: 0;
69
75
  }
70
76
 
71
77
  &.frame-panel {
72
78
  --inner-x: min(4vw, var(--space-3));
73
79
  --outer-x: var(--gutter);
74
- --inner-y: var(--space-3);
75
80
  --outer-y: var(--space-3);
76
81
 
77
82
  border: 1px solid var(--border);
@@ -49,6 +49,10 @@ const {
49
49
  width: 100%;
50
50
  max-width: calc(100% - (2 * var(--outer-x)));
51
51
 
52
+ &:first-child {
53
+ padding-top: calc(var(--inner-y) + var(--header-height));
54
+ }
55
+
52
56
  &.frame-fill {
53
57
  --inner-x: var(--gutter);
54
58
  --outer-x: 0;
@@ -3,7 +3,7 @@ Kan je een collectie Cards maken? Ja: Product, Post etc
3
3
 
4
4
  Kan je een collectie ... maken? Zo ja = segment.
5
5
  Segments omschrijven super duidelijk de content.
6
- Group is een voorbeeld van een slechte section, want niemand wat hier in zit.
6
+ Group is een voorbeeld van een slechte segment, want niemand wat hier in zit.
7
7
 
8
8
  Deze segments willen we uiteindelijk hebben:
9
9
 
@@ -24,7 +24,7 @@ Ze omschrijven ALLEMAAL duidelijk wat de content is.
24
24
 
25
25
  Beschrijft het niet duidelijk de content? Beschrijft het wel duidelijk de structuur? >> structure
26
26
 
27
- Waar structures 1 slot hebben, moeten segments meerdere slots krijgen. reden is dat de conten t hier bepalen is! Anders klopt de segment naam sws niet.
27
+ Waar structures 1 slot hebben, moeten segments meerdere slots krijgen. reden is dat de content hier bepalen is! Anders klopt de segment naam sws niet.
28
28
 
29
29
  Section heeft bijv segment, writeup, actions, media.
30
30
  Deck heeft bijv segment, writeup, actions, cards
@@ -31,7 +31,7 @@ const { level = 2, as = `h${level}`, contrast = true, ...rest } = Astro.props
31
31
  margin: 0;
32
32
  max-width: calc(var(--space-4) * 36);
33
33
  scroll-margin: var(--space-5);
34
- color: var(--text);
34
+ color: var(--color-11);
35
35
  font-weight: var(--heading-font-weight);
36
36
  font-weight: 700;
37
37
  line-height: 1.1;
@@ -31,10 +31,10 @@ const { title, description, image } = Astro.props
31
31
  basic: {
32
32
  title: title,
33
33
  type: 'website',
34
- image: image,
34
+ image: Astro.site + image,
35
35
  },
36
36
  image: {
37
- url: image,
37
+ url: Astro.site + image,
38
38
  alt: title,
39
39
  },
40
40
  }
@@ -1,3 +1,2 @@
1
1
  ---
2
- title: hello
3
2
  ---
@@ -0,0 +1,223 @@
1
+ :where(:root),
2
+ :where(.theme-light),
3
+ [data-theme='light'] {
4
+ --brand-1: #fbf9f8;
5
+ --brand-2: #fff1ec;
6
+ --brand-3: #ffe6db;
7
+ --brand-4: #ffd3c2;
8
+ --brand-5: #ffc4ad;
9
+ --brand-6: #ffb397;
10
+ --brand-7: #ff9e7e;
11
+ --brand-8: #f5845f;
12
+ --brand-9: #f50;
13
+ --brand-10: #ed4d00;
14
+ --brand-11: #ca4900;
15
+ --brand-12: #5b2a1a;
16
+ --brand-contrast: #fff;
17
+
18
+ --base-1: #f9f9fa;
19
+ --base-2: #f5f6f8;
20
+ --base-3: #ececf0;
21
+ --base-4: #e3e4e9;
22
+ --base-5: #dcdde2;
23
+ --base-6: #d4d5dc;
24
+ --base-7: #c8cad2;
25
+ --base-8: #b5b7c2;
26
+ --base-9: #878994;
27
+ --base-10: #7c7e89;
28
+ --base-11: #5e6068;
29
+ --base-12: #1e1f24;
30
+ --base-contrast: #ffffff;
31
+
32
+ color-scheme: light;
33
+ }
34
+
35
+ :where(.theme-dark),
36
+ [data-theme='dark'] {
37
+ --brand-1: #160f0d;
38
+ --brand-2: #201511;
39
+ --brand-3: #38190f;
40
+ --brand-4: #4f1602;
41
+ --brand-5: #5e1e07;
42
+ --brand-6: #6f2c15;
43
+ --brand-7: #873c23;
44
+ --brand-8: #ae4d2c;
45
+ --brand-9: #f50;
46
+ --brand-10: #ed4d00;
47
+ --brand-11: #ff976f;
48
+ --brand-12: #ffd8c9;
49
+ --brand-contrast: #fff;
50
+
51
+ --base-1: #101113;
52
+ --base-2: #18191b;
53
+ --base-3: #212225;
54
+ --base-4: #282a2d;
55
+ --base-5: #2e3135;
56
+ --base-6: #373a3f;
57
+ --base-7: #44474e;
58
+ --base-8: #5c616a;
59
+ --base-9: #696e77;
60
+ --base-10: #777b84;
61
+ --base-11: #b0b4ba;
62
+ --base-12: #edeef0;
63
+ --base-contrast: #ffffff;
64
+
65
+ color-scheme: dark;
66
+ }
67
+
68
+ :where(:root),
69
+ :where(.theme-light),
70
+ :where(.theme-dark),
71
+ .color-base,
72
+ .color-base *:not([class*='color-']):not(.color-base [class*='color-'] *) {
73
+ --color-1: var(--base-1);
74
+ --color-2: var(--base-2);
75
+ --color-3: var(--base-3);
76
+ --color-4: var(--base-4);
77
+ --color-5: var(--base-5);
78
+ --color-6: var(--base-6);
79
+ --color-7: var(--base-7);
80
+ --color-8: var(--base-8);
81
+ --color-9: var(--base-9);
82
+ --color-10: var(--base-10);
83
+ --color-11: var(--base-11);
84
+ --color-12: var(--base-12);
85
+
86
+ --color-a1: var(--base-a1, var(--base-1));
87
+ --color-a2: var(--base-a2, var(--base-2));
88
+ --color-a3: var(--base-a3, var(--base-3));
89
+ --color-a4: var(--base-a4, var(--base-4));
90
+ --color-a5: var(--base-a5, var(--base-5));
91
+ --color-a6: var(--base-a6, var(--base-6));
92
+ --color-a7: var(--base-a7, var(--base-7));
93
+ --color-a8: var(--base-a8, var(--base-8));
94
+ --color-a9: var(--base-a9, var(--base-9));
95
+ --color-a10: var(--base-a10, var(--base-10));
96
+ --color-a11: var(--base-a11, var(--base-11));
97
+ --color-a12: var(--base-a12, var(--base-12));
98
+
99
+ --color-contrast: var(--base-contrast);
100
+ --color-background: var(--base-background);
101
+ }
102
+
103
+ .color-brand,
104
+ .color-brand *:not([class*='color-']):not(.color-brand [class*='color-'] *) {
105
+ --color-1: var(--brand-1);
106
+ --color-2: var(--brand-2);
107
+ --color-3: var(--brand-3);
108
+ --color-4: var(--brand-4);
109
+ --color-5: var(--brand-5);
110
+ --color-6: var(--brand-6);
111
+ --color-7: var(--brand-7);
112
+ --color-8: var(--brand-8);
113
+ --color-9: var(--brand-9);
114
+ --color-10: var(--brand-10);
115
+ --color-11: var(--brand-11);
116
+ --color-12: var(--brand-12);
117
+
118
+ --color-a1: var(--brand-a1, var(--brand-1));
119
+ --color-a2: var(--brand-a2, var(--brand-2));
120
+ --color-a3: var(--brand-a3, var(--brand-3));
121
+ --color-a4: var(--brand-a4, var(--brand-4));
122
+ --color-a5: var(--brand-a5, var(--brand-5));
123
+ --color-a6: var(--brand-a6, var(--brand-6));
124
+ --color-a7: var(--brand-a7, var(--brand-7));
125
+ --color-a8: var(--brand-a8, var(--brand-8));
126
+ --color-a9: var(--brand-a9, var(--brand-9));
127
+ --color-a10: var(--brand-a10, var(--brand-10));
128
+ --color-a11: var(--brand-a11, var(--brand-11));
129
+ --color-a12: var(--brand-a12, var(--brand-12));
130
+
131
+ --color-contrast: var(--brand-contrast);
132
+ --color-background: var(--brand-background);
133
+ }
134
+
135
+ .contrast,
136
+ .contrast * {
137
+ --color-9: var(--color-12);
138
+ --color-10: var(--color-12);
139
+ --color-11: var(--color-12);
140
+ --color-contrast: var(--color-1);
141
+ }
142
+
143
+ :where(:root),
144
+ :where(.theme-light),
145
+ :where(.theme-dark),
146
+ :where(.color-base),
147
+ :where(.color-brand),
148
+ .variant-base,
149
+ .variant-base
150
+ *:not([class*='variant-']):not(.variant-base [class*='variant-'] *) {
151
+ --background: var(--color-1);
152
+ --background-hover: var(--color-1);
153
+ --background-active: var(--color-1);
154
+ --border: var(--color-a6);
155
+ --border-hover: var(--color-a6);
156
+ --text: var(--color-11);
157
+ }
158
+
159
+ .variant-subtle,
160
+ .variant-subtle
161
+ *:not([class*='variant-']):not(.variant-subtle [class*='variant-'] *) {
162
+ --background: var(--color-2);
163
+ --background-hover: var(--color-2);
164
+ --background-active: var(--color-2);
165
+ --border: var(--color-a6);
166
+ --border-hover: var(--color-a6);
167
+ --text: var(--color-11);
168
+ }
169
+
170
+ .variant-ghost,
171
+ .variant-ghost
172
+ *:not([class*='variant-']):not(.variant-ghost [class*='variant-'] *) {
173
+ --background: transparent;
174
+ --background-hover: var(--color-3);
175
+ --background-active: var(--color-4);
176
+ --border: transparent;
177
+ --border-hover: transparent;
178
+ --text: var(--color-11);
179
+ }
180
+
181
+ .variant-outline,
182
+ .variant-outline
183
+ *:not([class*='variant-']):not(.variant-outline [class*='variant-'] *) {
184
+ --background: transparent;
185
+ --background-hover: var(--color-a3);
186
+ --background-active: var(--color-a5);
187
+ --border: var(--color-a7);
188
+ --border-hover: var(--color-a8);
189
+ --text: var(--color-11);
190
+ }
191
+
192
+ .variant-soft,
193
+ .variant-soft
194
+ *:not([class*='variant-']):not(.variant-soft [class*='variant-'] *) {
195
+ --background: var(--color-a3);
196
+ --background-hover: var(--color-a4);
197
+ --background-active: var(--color-a5);
198
+ --border: transparent;
199
+ --border-hover: transparent;
200
+ --text: var(--color-11);
201
+ }
202
+
203
+ .variant-surface,
204
+ .variant-surface
205
+ *:not([class*='variant-']):not(.variant-surface [class*='variant-'] *) {
206
+ --background: var(--color-a3);
207
+ --background-hover: var(--color-a4);
208
+ --background-active: var(--color-a5);
209
+ --border: var(--color-a7);
210
+ --border-hover: var(--color-a8);
211
+ --text: var(--color-11);
212
+ }
213
+
214
+ .variant-solid,
215
+ .variant-solid
216
+ *:not([class*='variant-']):not(.variant-solid [class*='variant-'] *) {
217
+ --background: var(--color-9);
218
+ --background-hover: var(--color-10);
219
+ --background-active: var(--color-10);
220
+ --border: transparent;
221
+ --border-hover: transparent;
222
+ --text: var(--color-contrast);
223
+ }
@@ -69,221 +69,221 @@
69
69
  /* Generate colors */
70
70
  /* --------------------------- */
71
71
 
72
- @mixin selector($selector,
73
- $selectors: $selector) {
74
- #{$selectors},
75
- #{$selector},
76
- #{$selector}
77
- :is(
78
- [class*='theme-'],
79
- [class*='color-'],
80
- [class*='variant-'],
81
- .contrast
82
- ):not(
83
- #{$selector}
84
- [class*='color-']
85
- :is([class*='theme-'], [class*='variant-'], .contrast)
86
- )
87
- :not(
88
- #{$selector}
89
- [class*='color-']:is([class*='theme-'], [class*='variant-'], .contrast)
90
- ) {
91
- @content;
92
- }
93
- }
94
-
95
- :where(:root),
96
- :where(.theme-light),
97
- :where(.theme-dark),
98
- .color-base,
99
- .color-base
100
- .full:not(.color-base [class*='color-']):not(
101
- .color-base [class*='color-'] .full
102
- ) {
103
- --color-1: var(--base-1);
104
- --color-2: var(--base-2);
105
- --color-3: var(--base-3);
106
- --color-4: var(--base-4);
107
- --color-5: var(--base-5);
108
- --color-6: var(--base-6);
109
- --color-7: var(--base-7);
110
- --color-8: var(--base-8);
111
- --color-9: var(--base-9);
112
- --color-10: var(--base-10);
113
- --color-11: var(--base-11);
114
- --color-12: var(--base-12);
115
- --color-contrast: var(--base-contrast);
116
- }
117
-
118
- .color-brand,
119
- .color-brand
120
- .full:not(.color-brand [class*='color-']):not(
121
- .color-brand [class*='color-'] .full
122
- ) {
123
- --color-1: var(--brand-1);
124
- --color-2: var(--brand-2);
125
- --color-3: var(--brand-3);
126
- --color-4: var(--brand-4);
127
- --color-5: var(--brand-5);
128
- --color-6: var(--brand-6);
129
- --color-7: var(--brand-7);
130
- --color-8: var(--brand-8);
131
- --color-9: var(--brand-9);
132
- --color-10: var(--brand-10);
133
- --color-11: var(--brand-11);
134
- --color-12: var(--brand-12);
135
- --color-contrast: var(--brand-contrast);
136
- }
137
-
138
- * {
139
- --background: var(--color-1);
140
- --border: var(--color-6);
141
- --text: var(--color-11);
142
-
143
- &:where(.contrast &, .contrast) {
144
- --text: var(--color-12);
145
- }
146
- }
147
-
148
- .variant-solid,
149
- .variant-solid
150
- .full:not(.variant-solid [class*='variant-']):not(
151
- .variant-solid [class*='variant-'] .full
152
- ) {
153
- --background: var(--color-9);
154
- --border: transparent;
155
- --text: var(--color-contrast);
156
-
157
- &:is(.contrast &, .contrast) {
158
- --text: var(--color-1);
159
- --background: var(--color-12);
160
- }
161
-
162
- &:is(a, button, [href]) {
163
- &:hover {
164
- --background: var(--color-10);
165
-
166
- &:is(.contrast &, .contrast) {
167
- --background: var(--color-12);
168
- }
169
- }
170
- }
171
- }
172
-
173
- .variant-surface,
174
- .variant-surface
175
- .full:not(.variant-surface [class*='variant-']):not(
176
- .variant-surface [class*='variant-'] .full
177
- ) {
178
- --background: var(--color-3);
179
- --border: var(--color-7);
180
- --text: var(--color-11);
181
-
182
- &:is(.contrast &, .contrast) {
183
- --text: var(--color-12);
184
- }
185
-
186
- &:is(a, button, [href]) {
187
- &:hover {
188
- --background: var(--color-4);
189
- --border: var(--color-8);
190
- }
191
-
192
- &:active {
193
- --background: var(--color-5);
194
- }
195
- }
196
- }
197
-
198
- .variant-soft,
199
- .variant-soft
200
- .full:not(.variant-soft [class*='variant-']):not(
201
- .variant-soft [class*='variant-'] .full
202
- ) {
203
- --background: var(--color-3);
204
- --border: transparent;
205
- --text: var(--color-11);
206
-
207
- &:is(.contrast &, .contrast) {
208
- --text: var(--color-12);
209
- }
210
-
211
- &:is(a, button, [href]) {
212
- &:hover {
213
- --background: var(--color-4);
214
- }
215
-
216
- &:active {
217
- --background: var(--color-5);
218
- }
219
- }
220
- }
221
-
222
- .variant-outline,
223
- .variant-outline
224
- .full:not(.variant-outline [class*='variant-']):not(
225
- .variant-outline [class*='variant-'] .full
226
- ) {
227
- --background: transparent;
228
- --border: var(--color-7);
229
- --text: var(--color-11);
230
-
231
- &:is(.contrast &, .contrast) {
232
- --text: var(--color-12);
233
- }
234
-
235
- &:is(a, button, [href]) {
236
- &:hover {
237
- --background: var(--color-3);
238
- --border: var(--color-8);
239
- }
240
-
241
- &:active {
242
- --background: var(--color-5);
243
- }
244
- }
245
- }
246
-
247
- .variant-ghost,
248
- .variant-ghost
249
- .full:not(.variant-ghost [class*='variant-']):not(
250
- .variant-ghost [class*='variant-'] .full
251
- ) {
252
- --background: transparent;
253
- --border: transparent;
254
- --text: var(--color-11);
255
-
256
- &:is(.contrast &, .contrast) {
257
- --text: var(--color-12);
258
- }
259
-
260
- &:is(a, button, [href]) {
261
- &:hover {
262
- --background: var(--color-3);
263
- }
264
-
265
- &:active {
266
- --background: var(--color-4);
267
- }
268
- }
269
- }
270
-
271
- .variant-subtle,
272
- .variant-subtle
273
- .full:not(.variant-subtle [class*='variant-']):not(
274
- .variant-subtle [class*='variant-'] .full
275
- ) {
276
- --background: var(--color-2);
277
- --border: var(--color-6);
278
- --text: var(--color-11);
279
-
280
- &:is(.contrast &, .contrast) {
281
- --text: var(--color-12);
282
- }
283
-
284
- &:is(a, button, [href]) {
285
- &:hover {
286
- --border: var(--color-8);
287
- }
288
- }
289
- }
72
+ // @mixin selector($selector,
73
+ // $selectors: $selector) {
74
+ // #{$selectors},
75
+ // #{$selector},
76
+ // #{$selector}
77
+ // :is(
78
+ // [class*='theme-'],
79
+ // [class*='color-'],
80
+ // [class*='variant-'],
81
+ // .contrast
82
+ // ):not(
83
+ // #{$selector}
84
+ // [class*='color-']
85
+ // :is([class*='theme-'], [class*='variant-'], .contrast)
86
+ // )
87
+ // :not(
88
+ // #{$selector}
89
+ // [class*='color-']:is([class*='theme-'], [class*='variant-'], .contrast)
90
+ // ) {
91
+ // @content;
92
+ // }
93
+ // }
94
+
95
+ // :where(:root),
96
+ // :where(.theme-light),
97
+ // :where(.theme-dark),
98
+ // .color-base,
99
+ // .color-base
100
+ // .full:not(.color-base [class*='color-']):not(
101
+ // .color-base [class*='color-'] .full
102
+ // ) {
103
+ // --color-1: var(--base-1);
104
+ // --color-2: var(--base-2);
105
+ // --color-3: var(--base-3);
106
+ // --color-4: var(--base-4);
107
+ // --color-5: var(--base-5);
108
+ // --color-6: var(--base-6);
109
+ // --color-7: var(--base-7);
110
+ // --color-8: var(--base-8);
111
+ // --color-9: var(--base-9);
112
+ // --color-10: var(--base-10);
113
+ // --color-11: var(--base-11);
114
+ // --color-12: var(--base-12);
115
+ // --color-contrast: var(--base-contrast);
116
+ // }
117
+
118
+ // .color-brand,
119
+ // .color-brand
120
+ // .full:not(.color-brand [class*='color-']):not(
121
+ // .color-brand [class*='color-'] .full
122
+ // ) {
123
+ // --color-1: var(--brand-1);
124
+ // --color-2: var(--brand-2);
125
+ // --color-3: var(--brand-3);
126
+ // --color-4: var(--brand-4);
127
+ // --color-5: var(--brand-5);
128
+ // --color-6: var(--brand-6);
129
+ // --color-7: var(--brand-7);
130
+ // --color-8: var(--brand-8);
131
+ // --color-9: var(--brand-9);
132
+ // --color-10: var(--brand-10);
133
+ // --color-11: var(--brand-11);
134
+ // --color-12: var(--brand-12);
135
+ // --color-contrast: var(--brand-contrast);
136
+ // }
137
+
138
+ // * {
139
+ // --background: var(--color-1);
140
+ // --border: var(--color-6);
141
+ // --text: var(--color-11);
142
+
143
+ // &:where(.contrast &, .contrast) {
144
+ // --text: var(--color-12);
145
+ // }
146
+ // }
147
+
148
+ // .variant-solid,
149
+ // .variant-solid
150
+ // .full:not(.variant-solid [class*='variant-']):not(
151
+ // .variant-solid [class*='variant-'] .full
152
+ // ) {
153
+ // --background: var(--color-9);
154
+ // --border: transparent;
155
+ // --text: var(--color-contrast);
156
+
157
+ // &:is(.contrast &, .contrast) {
158
+ // --text: var(--color-1);
159
+ // --background: var(--color-12);
160
+ // }
161
+
162
+ // &:is(a, button, [href]) {
163
+ // &:hover {
164
+ // --background: var(--color-10);
165
+
166
+ // &:is(.contrast &, .contrast) {
167
+ // --background: var(--color-12);
168
+ // }
169
+ // }
170
+ // }
171
+ // }
172
+
173
+ // .variant-surface,
174
+ // .variant-surface
175
+ // .full:not(.variant-surface [class*='variant-']):not(
176
+ // .variant-surface [class*='variant-'] .full
177
+ // ) {
178
+ // --background: var(--color-3);
179
+ // --border: var(--color-7);
180
+ // --text: var(--color-11);
181
+
182
+ // &:is(.contrast &, .contrast) {
183
+ // --text: var(--color-12);
184
+ // }
185
+
186
+ // &:is(a, button, [href]) {
187
+ // &:hover {
188
+ // --background: var(--color-4);
189
+ // --border: var(--color-8);
190
+ // }
191
+
192
+ // &:active {
193
+ // --background: var(--color-5);
194
+ // }
195
+ // }
196
+ // }
197
+
198
+ // .variant-soft,
199
+ // .variant-soft
200
+ // .full:not(.variant-soft [class*='variant-']):not(
201
+ // .variant-soft [class*='variant-'] .full
202
+ // ) {
203
+ // --background: var(--color-3);
204
+ // --border: transparent;
205
+ // --text: var(--color-11);
206
+
207
+ // &:is(.contrast &, .contrast) {
208
+ // --text: var(--color-12);
209
+ // }
210
+
211
+ // &:is(a, button, [href]) {
212
+ // &:hover {
213
+ // --background: var(--color-4);
214
+ // }
215
+
216
+ // &:active {
217
+ // --background: var(--color-5);
218
+ // }
219
+ // }
220
+ // }
221
+
222
+ // .variant-outline,
223
+ // .variant-outline
224
+ // .full:not(.variant-outline [class*='variant-']):not(
225
+ // .variant-outline [class*='variant-'] .full
226
+ // ) {
227
+ // --background: transparent;
228
+ // --border: var(--color-7);
229
+ // --text: var(--color-11);
230
+
231
+ // &:is(.contrast &, .contrast) {
232
+ // --text: var(--color-12);
233
+ // }
234
+
235
+ // &:is(a, button, [href]) {
236
+ // &:hover {
237
+ // --background: var(--color-3);
238
+ // --border: var(--color-8);
239
+ // }
240
+
241
+ // &:active {
242
+ // --background: var(--color-5);
243
+ // }
244
+ // }
245
+ // }
246
+
247
+ // .variant-ghost,
248
+ // .variant-ghost
249
+ // .full:not(.variant-ghost [class*='variant-']):not(
250
+ // .variant-ghost [class*='variant-'] .full
251
+ // ) {
252
+ // --background: transparent;
253
+ // --border: transparent;
254
+ // --text: var(--color-11);
255
+
256
+ // &:is(.contrast &, .contrast) {
257
+ // --text: var(--color-12);
258
+ // }
259
+
260
+ // &:is(a, button, [href]) {
261
+ // &:hover {
262
+ // --background: var(--color-3);
263
+ // }
264
+
265
+ // &:active {
266
+ // --background: var(--color-4);
267
+ // }
268
+ // }
269
+ // }
270
+
271
+ // .variant-subtle,
272
+ // .variant-subtle
273
+ // .full:not(.variant-subtle [class*='variant-']):not(
274
+ // .variant-subtle [class*='variant-'] .full
275
+ // ) {
276
+ // --background: var(--color-2);
277
+ // --border: var(--color-6);
278
+ // --text: var(--color-11);
279
+
280
+ // &:is(.contrast &, .contrast) {
281
+ // --text: var(--color-12);
282
+ // }
283
+
284
+ // &:is(a, button, [href]) {
285
+ // &:hover {
286
+ // --border: var(--color-8);
287
+ // }
288
+ // }
289
+ // }