frutjam 0.8.0-beta.0 → 0.8.0-beta.2

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": "frutjam",
3
- "version": "0.8.0-beta.0",
3
+ "version": "0.8.0-beta.2",
4
4
  "description": "A utility-first CSS framework UI Library",
5
5
  "main": "./dist/frutjam.css",
6
6
  "browser": "dist/frutjam.css",
@@ -70,159 +70,197 @@
70
70
  @apply w-full;
71
71
  }
72
72
 
73
- @utility btn-core {
74
- @apply btn-md text-shadow-xs/5 relative inline-flex self-start shrink-0 flex-nowrap items-center
75
- justify-center gap-1.5 text-center align-middle font-medium overflow-hidden
76
- text-xs transition duration-350 ease-in-out leading-normal cursor-pointer box-border;
77
-
78
- border-radius: var(--radius-btn);
79
-
73
+ @utility btn-link-active {
74
+ background: transparent;
75
+ color: light-dark(
76
+ var(--btn-800),
77
+ var(--btn-500)
78
+ );
79
+ text-decoration: underline;
80
+ text-underline-offset: 4px;
81
+ cursor: pointer;
82
+ }
83
+
84
+ @utility btn-ghost-active {
80
85
  /* for default btn */
81
86
  &:is(.btn) {
82
87
  background-color: light-dark(
83
- var(--btn-100),
84
- var(--btn-800)
88
+ var(--btn-200),
89
+ var(--btn-900)
85
90
  );
86
91
  color: light-dark(
87
- var(--btn-900),
88
- var(--btn-50)
92
+ var(--btn-950),
93
+ var(--btn-100)
89
94
  );
90
95
  }
91
96
 
92
97
  /* for all btn exclude default btn */
93
98
  &:not(.btn) {
94
99
  background-color: light-dark(
95
- var(--btn-600),
96
- var(--btn-800)
100
+ var(--btn-700),
101
+ var(--btn-900)
102
+ );
103
+ color: light-dark(
104
+ var(--btn-50),
105
+ var(--btn-100)
97
106
  );
98
- color: var(--btn-50);
99
107
  }
108
+ }
100
109
 
101
- &:is(:disabled, [disabled], .btn-disabled) {
102
- @apply opacity-20 cursor-not-allowed;
110
+ @utility btn-active {
111
+ &:is(.btn-link) {
112
+ @apply btn-link-active
103
113
  }
104
-
105
- &:is(input[type="checkbox"], input[type="radio"]) {
106
- @apply appearance-none;
107
-
108
- &::after {
109
- content: attr(aria-label);
110
- }
111
-
112
- &:checked {
113
- @apply isolate;
114
- }
114
+ &:is(.btn-ghost) {
115
+ @apply btn-ghost-active;
115
116
  }
117
+ &:not(.btn-link, .btn-ghost) {
118
+ outline-style: none;
116
119
 
117
- &:is(.btn-active, :hover) {
118
- &:is(.btn-link) {
119
- @apply bg-transparent underline underline-offset-4 cursor-pointer;
120
-
120
+ /* for default btn */
121
+ &:is(.btn) {
122
+ background-color: light-dark(
123
+ var(--btn-300),
124
+ var(--btn-900)
125
+ );
121
126
  color: light-dark(
122
- var(--btn-800),
123
- var(--btn-500)
127
+ var(--btn-950),
128
+ var(--btn-100)
124
129
  );
125
130
  }
126
- &:not(.btn-link) {
127
- @apply outline-none;
128
-
129
- /* for default btn */
130
- &:is(.btn) {
131
- background-color: light-dark(
132
- var(--btn-200),
133
- var(--btn-800)
134
- );
135
-
136
- color: light-dark(
137
- var(--btn-950),
138
- var(--btn-100)
139
- );
140
- }
141
-
142
- /* for all btn exclude default btn */
143
- &:not(.btn) {
144
- background-color: light-dark(
145
- var(--btn-700),
146
- var(--btn-900)
147
- );
148
-
149
- color: light-dark(
150
- var(--btn-50),
151
- var(--btn-100)
152
- );
153
- }
154
-
155
- &:not(:disabled, [disabled], .btn-disabled) {
156
- &::before {
157
- @apply content-[''] absolute size-full;
158
- }
159
- }
160
- }
161
- }
162
131
 
163
- &:where(.btn-dashed) {
164
- &:not(.btn-active) {
165
- @apply bg-transparent;
166
- outline: 1px dashed light-dark(
167
- var(--btn-500),
168
- var(--btn-700)
132
+ /* for all btn exclude default btn */
133
+ &:not(.btn) {
134
+ background-color: light-dark(
135
+ var(--btn-700),
136
+ var(--btn-900)
169
137
  );
170
138
  color: light-dark(
171
- var(--btn-700),
172
- var(--btn-500)
139
+ var(--btn-50),
140
+ var(--btn-100)
173
141
  );
174
142
  }
175
143
  }
144
+ }
176
145
 
177
- &:where(.btn-outline) {
178
- &:not(.btn-active) {
179
- @apply bg-transparent;
180
- outline: 1px solid light-dark(
181
- var(--btn-500),
182
- var(--btn-800)
183
- );
184
- color: light-dark(
185
- var(--btn-800),
186
- var(--btn-200)
187
- );
188
- }
146
+ @utility btn-dashed {
147
+ &:not(.btn-active) {
148
+ background: transparent;
149
+ outline: 1px dashed light-dark(
150
+ var(--btn-500),
151
+ var(--btn-700)
152
+ );
153
+ color: light-dark(
154
+ var(--btn-700),
155
+ var(--btn-500)
156
+ );
189
157
  }
158
+ }
190
159
 
191
- &:where(.btn-soft) {
192
- &:not(.btn-active) {
160
+ @utility btn-outline {
161
+ &:not(.btn-active) {
162
+ background: transparent;
163
+ outline: 1px solid light-dark(
164
+ var(--btn-500),
165
+ var(--btn-800)
166
+ );
167
+ color: light-dark(
168
+ var(--btn-800),
169
+ var(--btn-200)
170
+ );
171
+ }
172
+ }
193
173
 
194
- background-color: light-dark(
195
- var(--btn-100),
196
- color-mix(in oklab,var(--btn-900)10%,transparent)
197
- );
174
+ @utility btn-soft {
175
+ &:not(.btn-active) {
176
+ background-color: light-dark(
177
+ var(--btn-100),
178
+ color-mix(in oklab,var(--btn-900)10%,transparent)
179
+ );
180
+ color: light-dark(
181
+ var(--btn-800),
182
+ var(--btn-400)
183
+ );
184
+ }
185
+ }
198
186
 
199
- color: light-dark(
200
- var(--btn-800),
201
- var(--btn-400)
202
- );
203
- }
187
+ @utility btn-ghost {
188
+ &:not(.btn-active) {
189
+ background: transparent;
190
+ color: light-dark(
191
+ var(--btn-600),
192
+ var(--btn-300)
193
+ );
204
194
  }
195
+ }
205
196
 
206
- &:where(.btn-ghost) {
207
- &:not(.btn-active) {
208
- @apply bg-transparent;
197
+ @utility btn-link {
198
+ &:not(.btn-active) {
199
+ background: transparent;
200
+ color: light-dark(
201
+ var(--btn-700),
202
+ var(--btn-500)
203
+ );
204
+ }
205
+ }
209
206
 
210
- color: light-dark(
211
- var(--btn-600),
212
- var(--btn-300)
213
- );
214
- }
207
+ @utility btn-core {
208
+ @apply btn-md text-shadow-xs/5 gap-1.5 text-xs transition duration-350 ease-in-out leading-normal;
209
+
210
+ position: relative;
211
+ display: inline-flex;
212
+ flex-shrink: 0;
213
+ align-items: center;
214
+ justify-content: center;
215
+ align-self: flex-start;
216
+ flex-wrap: nowrap;
217
+ vertical-align: middle;
218
+ font-weight: 500;
219
+ text-align: center;
220
+ border-radius: var(--radius-btn);
221
+ overflow: hidden;
222
+ cursor: pointer;
223
+ box-sizing: border-box;
224
+
225
+ /* for default btn */
226
+ &:is(.btn) {
227
+ background-color: light-dark(
228
+ var(--btn-200),
229
+ var(--btn-800)
230
+ );
231
+ color: light-dark(
232
+ var(--btn-900),
233
+ var(--btn-50)
234
+ );
215
235
  }
216
236
 
217
- &:where(.btn-link) {
218
- &:not(.btn-active) {
219
- @apply bg-transparent;
237
+ /* for all btn exclude default btn */
238
+ &:not(.btn) {
239
+ background-color: light-dark(
240
+ var(--btn-600),
241
+ var(--btn-800)
242
+ );
243
+ color: var(--btn-50);
244
+ }
220
245
 
221
- color: light-dark(
222
- var(--btn-700),
223
- var(--btn-500)
224
- );
246
+ &:is(:disabled, [disabled], .btn-disabled) {
247
+ @apply opacity-20 cursor-not-allowed pointer-events-none;
248
+ }
249
+
250
+ &:is(input[type="checkbox"], input[type="radio"]) {
251
+ @apply appearance-none;
252
+
253
+ &::after {
254
+ content: attr(aria-label);
225
255
  }
256
+
257
+ &:checked {
258
+ @apply isolate;
259
+ }
260
+ }
261
+
262
+ &:is(:hover) {
263
+ @apply btn-active;
226
264
  }
227
265
  }
228
266
 
@@ -11,14 +11,14 @@
11
11
  @apply divider-x;
12
12
  &::before, &::after {
13
13
  background: light-dark(
14
- var(--divider-color),
15
- color-mix(in oklab, var(--divider-color) 60%, transparent)
14
+ var(--divider-700),
15
+ var(--divider-900)
16
16
  );
17
17
  }
18
18
  @media print {
19
19
  &::before,
20
20
  &::after {
21
- border-top: 0.5px solid var(--divider-color);
21
+ border-top: 0.5px solid var(--divider-700);
22
22
  }
23
23
  }
24
24
  }
@@ -28,8 +28,8 @@
28
28
  &::before, &::after {
29
29
  background: repeating-linear-gradient(
30
30
  to right,
31
- var(--divider-color) 0,
32
- var(--divider-color) 5px,
31
+ var(--divider-700) 0,
32
+ var(--divider-700) 5px,
33
33
  transparent 5px,
34
34
  transparent 10px
35
35
  );
@@ -37,7 +37,7 @@
37
37
  @media print {
38
38
  &::before,
39
39
  &::after {
40
- border-top: 0.5px dashed var(--divider-color);
40
+ border-top: 0.5px dashed var(--divider-700);
41
41
  }
42
42
  }
43
43
  }
@@ -70,14 +70,14 @@
70
70
  @apply divider-y;
71
71
  &::before, &::after {
72
72
  background: light-dark(
73
- var(--divider-color),
74
- color-mix(in oklab, var(--divider-color) 60%, transparent)
73
+ var(--divider-700),
74
+ var(--divider-800)
75
75
  );
76
76
  }
77
77
  @media print {
78
78
  &::before,
79
79
  &::after {
80
- border-left: 0.5px solid var(--divider-color);
80
+ border-left: 0.5px solid var(--divider-700);
81
81
  }
82
82
  }
83
83
  }
@@ -87,8 +87,8 @@
87
87
  &::before, &::after {
88
88
  background: repeating-linear-gradient(
89
89
  to bottom,
90
- var(--divider-color) 0,
91
- var(--divider-color) 5px,
90
+ var(--divider-700) 0,
91
+ var(--divider-700) 5px,
92
92
  transparent 5px,
93
93
  transparent 10px
94
94
  );
@@ -96,7 +96,7 @@
96
96
  @media print {
97
97
  &::before,
98
98
  &::after {
99
- border-left: 0.5px dashed var(--divider-color);
99
+ border-left: 0.5px dashed var(--divider-700);
100
100
  }
101
101
  }
102
102
  }
@@ -110,42 +110,121 @@
110
110
  }
111
111
 
112
112
  @utility divider {
113
- --divider-color: var(--default-300);
113
+ --divider-50: var(--default-50);
114
+ --divider-100: var(--default-100);
115
+ --divider-200: var(--default-200);
116
+ --divider-300: var(--default-300);
117
+ --divider-400: var(--default-400);
118
+ --divider-500: var(--default-500);
119
+ --divider-600: var(--default-600);
120
+ --divider-700: light-dark(var(--default-200),var(--default-600));
121
+ --divider-800: var(--default-800);
122
+ --divider-900: var(--default-900);
123
+ --divider-950: var(--default-950);
114
124
  @apply divider-core;
115
- }
116
-
117
- @utility divider-primary {
118
- --divider-color: var(--primary-700);
125
+ }
126
+
127
+ @utility divider-primary {
128
+ --divider-50: var(--primary-50);
129
+ --divider-100: var(--primary-100);
130
+ --divider-200: var(--primary-200);
131
+ --divider-300: var(--primary-300);
132
+ --divider-400: var(--primary-400);
133
+ --divider-500: var(--primary-500);
134
+ --divider-600: var(--primary-600);
135
+ --divider-700: var(--primary-700);
136
+ --divider-800: var(--primary-800);
137
+ --divider-900: var(--primary-900);
138
+ --divider-950: var(--primary-950);
119
139
  @apply divider-core;
120
- }
121
-
122
- @utility divider-secondary {
123
- --divider-color: var(--secondary-700);
140
+ }
141
+
142
+ @utility divider-secondary {
143
+ --divider-50: var(--secondary-50);
144
+ --divider-100: var(--secondary-100);
145
+ --divider-200: var(--secondary-200);
146
+ --divider-300: var(--secondary-300);
147
+ --divider-400: var(--secondary-400);
148
+ --divider-500: var(--secondary-500);
149
+ --divider-600: var(--secondary-600);
150
+ --divider-700: var(--secondary-700);
151
+ --divider-800: var(--secondary-800);
152
+ --divider-900: var(--secondary-900);
153
+ --divider-950: var(--secondary-950);
124
154
  @apply divider-core;
125
- }
126
-
127
- @utility divider-accent {
128
- --divider-color: var(--accent-700);
155
+ }
156
+
157
+ @utility divider-accent {
158
+ --divider-50: var(--accent-50);
159
+ --divider-100: var(--accent-100);
160
+ --divider-200: var(--accent-200);
161
+ --divider-300: var(--accent-300);
162
+ --divider-400: var(--accent-400);
163
+ --divider-500: var(--accent-500);
164
+ --divider-600: var(--accent-600);
165
+ --divider-700: var(--accent-700);
166
+ --divider-800: var(--accent-800);
167
+ --divider-900: var(--accent-900);
168
+ --divider-950: var(--accent-950);
129
169
  @apply divider-core;
130
- }
131
-
132
-
133
- @utility divider-info {
134
- --divider-color: var(--info-700);
170
+ }
171
+
172
+ @utility divider-info {
173
+ --divider-50: var(--info-50);
174
+ --divider-100: var(--info-100);
175
+ --divider-200: var(--info-200);
176
+ --divider-300: var(--info-300);
177
+ --divider-400: var(--info-400);
178
+ --divider-500: var(--info-500);
179
+ --divider-600: var(--info-600);
180
+ --divider-700: var(--info-700);
181
+ --divider-800: var(--info-800);
182
+ --divider-900: var(--info-900);
183
+ --divider-950: var(--info-950);
135
184
  @apply divider-core;
136
- }
137
-
138
- @utility divider-success {
139
- --divider-color: var(--success-700);
185
+ }
186
+
187
+ @utility divider-success {
188
+ --divider-50: var(--success-50);
189
+ --divider-100: var(--success-100);
190
+ --divider-200: var(--success-200);
191
+ --divider-300: var(--success-300);
192
+ --divider-400: var(--success-400);
193
+ --divider-500: var(--success-500);
194
+ --divider-600: var(--success-600);
195
+ --divider-700: var(--success-700);
196
+ --divider-800: var(--success-800);
197
+ --divider-900: var(--success-900);
198
+ --divider-950: var(--success-950);
140
199
  @apply divider-core;
141
- }
142
-
143
- @utility divider-warning {
144
- --divider-color: var(--warning-700);
200
+ }
201
+
202
+ @utility divider-warning {
203
+ --divider-50: var(--warning-50);
204
+ --divider-100: var(--warning-100);
205
+ --divider-200: var(--warning-200);
206
+ --divider-300: var(--warning-300);
207
+ --divider-400: var(--warning-400);
208
+ --divider-500: var(--warning-500);
209
+ --divider-600: var(--warning-600);
210
+ --divider-700: var(--warning-700);
211
+ --divider-800: var(--warning-800);
212
+ --divider-900: var(--warning-900);
213
+ --divider-950: var(--warning-950);
145
214
  @apply divider-core;
146
- }
147
-
148
- @utility divider-error {
149
- --divider-color: var(--error-700);
215
+ }
216
+
217
+ @utility divider-error {
218
+ --divider-50: var(--error-50);
219
+ --divider-100: var(--error-100);
220
+ --divider-200: var(--error-200);
221
+ --divider-300: var(--error-300);
222
+ --divider-400: var(--error-400);
223
+ --divider-500: var(--error-500);
224
+ --divider-600: var(--error-600);
225
+ --divider-700: var(--error-700);
226
+ --divider-800: var(--error-800);
227
+ --divider-900: var(--error-900);
228
+ --divider-950: var(--error-950);
150
229
  @apply divider-core;
151
- }
230
+ }
@@ -1,297 +1,243 @@
1
1
  @import "../theme/skins/base.css";
2
2
 
3
3
  @utility input-size {
4
- @layer components {
5
- padding-inline: var(--input-inline);
6
- padding-block: var(--input-block);
7
- font-size: var(--input-text-size);
8
- }
4
+ padding-inline: var(--input-inline);
5
+ padding-block: var(--input-block);
6
+ font-size: var(--input-text-size);
9
7
  }
10
8
 
11
9
  @utility input-xs {
12
- @layer components {
13
- @apply input-size;
14
- }
15
- @layer theme {
16
- --input-inline: 0.875rem;
17
- --input-block: 0.375rem;
18
- --input-text-size: 0.75rem;
19
- }
10
+ --input-inline: 0.875rem;
11
+ --input-block: 0.375rem;
12
+ --input-text-size: 0.75rem;
13
+ @apply input-size;
20
14
  }
21
15
 
22
16
  @utility input-sm {
23
- @layer components {
24
- @apply input-size;
25
- }
26
- @layer theme {
27
- --input-inline: 1rem;
28
- --input-block: 0.5rem;
29
- --input-text-size: 0.875rem;
30
- }
17
+ --input-inline: 1rem;
18
+ --input-block: 0.5rem;
19
+ --input-text-size: 0.875rem;
20
+ @apply input-size;
31
21
  }
32
22
 
33
23
  @utility input-md {
34
- @layer components {
35
- @apply input-size;
36
- }
37
- @layer theme {
38
- --input-inline: 1.125rem;
39
- --input-block: 0.625rem;
40
- --input-text-size: 1rem;
41
- }
24
+ --input-inline: 1.125rem;
25
+ --input-block: 0.625rem;
26
+ --input-text-size: 1rem;
27
+ @apply input-size;
42
28
  }
43
29
 
44
30
  @utility input-lg {
45
- @layer components {
46
- @apply input-size;
47
- }
48
- @layer theme {
49
- --input-inline: 1.25rem;
50
- --input-block: 0.75rem;
51
- --input-text-size: 1rem;
52
- }
31
+ --input-inline: 1.25rem;
32
+ --input-block: 0.75rem;
33
+ --input-text-size: 1rem;
34
+ @apply input-size;
53
35
  }
54
36
 
55
37
  @utility input-xl {
56
- @layer components {
57
- @apply input-size;
58
- }
59
- @layer theme {
60
- --input-inline: 1.375rem;
61
- --input-block: 0.875rem;
62
- --input-text-size: 1rem;
63
- }
38
+ --input-inline: 1.375rem;
39
+ --input-block: 0.875rem;
40
+ --input-text-size: 1rem;
41
+ @apply input-size;
64
42
  }
65
43
 
66
44
  @utility input-2xl {
67
- @layer components {
68
- @apply input-size;
69
- }
70
- @layer theme {
71
- --input-inline: 1.5rem;
72
- --input-block: 1rem;
73
- --input-text-size: 1.125rem;
74
- }
45
+ --input-inline: 1.5rem;
46
+ --input-block: 1rem;
47
+ --input-text-size: 1.125rem;
48
+ @apply input-size;
75
49
  }
76
50
 
77
51
  @utility input-dashed {
78
- @layer components {
79
- &:not(.input-active) {
80
- @apply outline-dashed;
81
- }
52
+ &:not(.input-active) {
53
+ @apply outline-dashed;
82
54
  }
83
55
  }
84
56
 
85
57
 
86
58
  @utility input-outline {
87
- @layer components {
88
- &:not(.input-active) {
89
- @apply outline outline-solid;
90
- }
59
+ &:not(.input-active) {
60
+ @apply outline outline-solid;
91
61
  }
92
62
  }
93
63
 
94
64
  @utility input-soft {
95
- @layer components {
96
- &:not(.input-active) {
97
- background-color: light-dark(
98
- var(--input-100),
99
- color-mix(in oklab,var(--input-900)10%,transparent)
100
- );
101
- color: light-dark(
102
- var(--input-800),
103
- var(--input-400)
104
- );
105
- }
65
+ &:not(.input-active) {
66
+ background-color: light-dark(
67
+ var(--input-100),
68
+ color-mix(in oklab,var(--input-900)10%,transparent)
69
+ );
70
+ color: light-dark(
71
+ var(--input-800),
72
+ var(--input-400)
73
+ );
106
74
  }
107
75
  }
108
76
 
109
77
  @utility input-ghost {
110
- @layer components {
111
- &:not(.input-active) {
112
- @apply outline-transparent;
113
- }
78
+ &:not(.input-active) {
79
+ @apply outline-transparent;
114
80
  }
115
81
  }
116
82
 
117
83
  @utility input-core {
118
- @layer components {
119
- @apply input-md transition duration-300 px-2.5 font-medium relative inline-flex self-start
120
- shrink-0 appearance-none items-center gap-2 align-middle whitespace-nowrap placeholder:text-[var(--input-300)];
121
-
122
- border-radius: var(--radius-input);
84
+ @apply input-md transition duration-300 px-2.5 font-medium relative inline-flex self-start
85
+ shrink-0 appearance-none items-center gap-2 align-middle whitespace-nowrap;
123
86
 
124
- &:is(.input) {
125
- @apply outline outline-[var(--input-300)];
126
- }
87
+ border-radius: var(--radius-input);
127
88
 
128
- &:not(.input) {
129
- @apply outline outline-[var(--input-700)];
130
- }
89
+ &::placeholder {
90
+ @apply text-sm;
91
+ color: light-dark(
92
+ var(--core-300),
93
+ var(--core-800)
94
+ );
95
+ }
131
96
 
132
- &:is(:disabled, [disabled], .input-disabled) {
133
- @apply cursor-not-allowed placeholder:text-[var(--input-200)];
134
- color:var(--input-50);
135
- background-color: light-dark(
136
- var(--input-100),
137
- var(--input-900)
138
- );
139
- }
140
-
141
- &:focus, &:focus-within {
142
- @apply outline-[var(--input-800)] ring-2 ring-[var(--input-200)] isolate;
143
- }
97
+ &:is(.input) {
98
+ outline: 1px solid light-dark(
99
+ var(--input-300),
100
+ var(--input-800)
101
+ );
144
102
  }
145
- }
146
103
 
147
- @utility input {
148
- @layer components {
149
- @apply input-core;
104
+ &:not(.input) {
105
+ outline: 1px solid light-dark(
106
+ var(--input-700),
107
+ var(--input-800)
108
+ );
109
+ }
110
+
111
+ &:is(:disabled, [disabled], .input-disabled) {
112
+ @apply cursor-not-allowed placeholder:text-[var(--input-200)];
113
+ color:var(--input-50);
114
+ background-color: light-dark(
115
+ var(--input-100),
116
+ var(--input-900)
117
+ );
150
118
  }
151
- @layer theme {
152
- --input-50: var(--default-50);
153
- --input-100: var(--default-100);
154
- --input-200: var(--default-200);
155
- --input-300: var(--default-300);
156
- --input-400: var(--default-400);
157
- --input-500: var(--default-500);
158
- --input-600: var(--default-600);
159
- --input-700: var(--default-700);
160
- --input-800: var(--default-800);
161
- --input-900: var(--default-900);
162
- --input-950: var(--default-950);
119
+
120
+ &:focus, &:focus-within {
121
+ @apply outline-[var(--input-800)] ring-2 ring-[var(--input-200)] isolate;
163
122
  }
164
123
  }
165
124
 
125
+ @utility input {
126
+ --input-50: var(--default-50);
127
+ --input-100: var(--default-100);
128
+ --input-200: var(--default-200);
129
+ --input-300: var(--default-300);
130
+ --input-400: var(--default-400);
131
+ --input-500: var(--default-500);
132
+ --input-600: var(--default-600);
133
+ --input-700: var(--default-700);
134
+ --input-800: var(--default-800);
135
+ --input-900: var(--default-900);
136
+ --input-950: var(--default-950);
137
+ @apply input-core;
138
+ }
139
+
166
140
  @utility input-primary {
167
- @layer components {
168
- @apply input-core;
169
- }
170
- @layer theme {
171
- --input-50: var(--primary-50);
172
- --input-100: var(--primary-100);
173
- --input-200: var(--primary-200);
174
- --input-300: var(--primary-300);
175
- --input-400: var(--primary-400);
176
- --input-500: var(--primary-500);
177
- --input-600: var(--primary-600);
178
- --input-700: var(--primary-700);
179
- --input-800: var(--primary-800);
180
- --input-900: var(--primary-900);
181
- --input-950: var(--primary-950);
182
- }
141
+ --input-50: var(--primary-50);
142
+ --input-100: var(--primary-100);
143
+ --input-200: var(--primary-200);
144
+ --input-300: var(--primary-300);
145
+ --input-400: var(--primary-400);
146
+ --input-500: var(--primary-500);
147
+ --input-600: var(--primary-600);
148
+ --input-700: var(--primary-700);
149
+ --input-800: var(--primary-800);
150
+ --input-900: var(--primary-900);
151
+ --input-950: var(--primary-950);
152
+ @apply input-core;
183
153
  }
184
154
 
185
155
  @utility input-secondary {
186
- @layer components {
187
- @apply input-core;
188
- }
189
- @layer theme {
190
- --input-50: var(--secondary-50);
191
- --input-100: var(--secondary-100);
192
- --input-200: var(--secondary-200);
193
- --input-300: var(--secondary-300);
194
- --input-400: var(--secondary-400);
195
- --input-500: var(--secondary-500);
196
- --input-600: var(--secondary-600);
197
- --input-700: var(--secondary-700);
198
- --input-800: var(--secondary-800);
199
- --input-900: var(--secondary-900);
200
- --input-950: var(--secondary-950);
201
- }
156
+ --input-50: var(--secondary-50);
157
+ --input-100: var(--secondary-100);
158
+ --input-200: var(--secondary-200);
159
+ --input-300: var(--secondary-300);
160
+ --input-400: var(--secondary-400);
161
+ --input-500: var(--secondary-500);
162
+ --input-600: var(--secondary-600);
163
+ --input-700: var(--secondary-700);
164
+ --input-800: var(--secondary-800);
165
+ --input-900: var(--secondary-900);
166
+ --input-950: var(--secondary-950);
167
+ @apply input-core;
202
168
  }
203
169
 
204
170
  @utility input-accent {
205
- @layer components {
206
- @apply input-core;
207
- }
208
- @layer theme {
209
- --input-50: var(--accent-50);
210
- --input-100: var(--accent-100);
211
- --input-200: var(--accent-200);
212
- --input-300: var(--accent-300);
213
- --input-400: var(--accent-400);
214
- --input-500: var(--accent-500);
215
- --input-600: var(--accent-600);
216
- --input-700: var(--accent-700);
217
- --input-800: var(--accent-800);
218
- --input-900: var(--accent-900);
219
- --input-950: var(--accent-950);
220
- }
171
+ --input-50: var(--accent-50);
172
+ --input-100: var(--accent-100);
173
+ --input-200: var(--accent-200);
174
+ --input-300: var(--accent-300);
175
+ --input-400: var(--accent-400);
176
+ --input-500: var(--accent-500);
177
+ --input-600: var(--accent-600);
178
+ --input-700: var(--accent-700);
179
+ --input-800: var(--accent-800);
180
+ --input-900: var(--accent-900);
181
+ --input-950: var(--accent-950);
182
+ @apply input-core;
221
183
  }
222
184
 
223
185
  @utility input-info {
224
- @layer components {
225
- @apply input-core;
226
- }
227
- @layer theme {
228
- --input-50: var(--info-50);
229
- --input-100: var(--info-100);
230
- --input-200: var(--info-200);
231
- --input-300: var(--info-300);
232
- --input-400: var(--info-400);
233
- --input-500: var(--info-500);
234
- --input-600: var(--info-600);
235
- --input-700: var(--info-700);
236
- --input-800: var(--info-800);
237
- --input-900: var(--info-900);
238
- --input-950: var(--info-950);
239
- }
186
+ --input-50: var(--info-50);
187
+ --input-100: var(--info-100);
188
+ --input-200: var(--info-200);
189
+ --input-300: var(--info-300);
190
+ --input-400: var(--info-400);
191
+ --input-500: var(--info-500);
192
+ --input-600: var(--info-600);
193
+ --input-700: var(--info-700);
194
+ --input-800: var(--info-800);
195
+ --input-900: var(--info-900);
196
+ --input-950: var(--info-950);
197
+ @apply input-core;
240
198
  }
241
199
 
242
200
  @utility input-success {
243
- @layer components {
244
- @apply input-core;
245
- }
246
- @layer theme {
247
- --input-50: var(--success-50);
248
- --input-100: var(--success-100);
249
- --input-200: var(--success-200);
250
- --input-300: var(--success-300);
251
- --input-400: var(--success-400);
252
- --input-500: var(--success-500);
253
- --input-600: var(--success-600);
254
- --input-700: var(--success-700);
255
- --input-800: var(--success-800);
256
- --input-900: var(--success-900);
257
- --input-950: var(--success-950);
258
- }
201
+ --input-50: var(--success-50);
202
+ --input-100: var(--success-100);
203
+ --input-200: var(--success-200);
204
+ --input-300: var(--success-300);
205
+ --input-400: var(--success-400);
206
+ --input-500: var(--success-500);
207
+ --input-600: var(--success-600);
208
+ --input-700: var(--success-700);
209
+ --input-800: var(--success-800);
210
+ --input-900: var(--success-900);
211
+ --input-950: var(--success-950);
212
+ @apply input-core;
259
213
  }
260
214
 
261
215
  @utility input-warning {
262
- @layer components {
263
- @apply input-core;
264
- }
265
- @layer theme {
266
- --input-50: var(--warning-50);
267
- --input-100: var(--warning-100);
268
- --input-200: var(--warning-200);
269
- --input-300: var(--warning-300);
270
- --input-400: var(--warning-400);
271
- --input-500: var(--warning-500);
272
- --input-600: var(--warning-600);
273
- --input-700: var(--warning-700);
274
- --input-800: var(--warning-800);
275
- --input-900: var(--warning-900);
276
- --input-950: var(--warning-950);
277
- }
216
+ --input-50: var(--warning-50);
217
+ --input-100: var(--warning-100);
218
+ --input-200: var(--warning-200);
219
+ --input-300: var(--warning-300);
220
+ --input-400: var(--warning-400);
221
+ --input-500: var(--warning-500);
222
+ --input-600: var(--warning-600);
223
+ --input-700: var(--warning-700);
224
+ --input-800: var(--warning-800);
225
+ --input-900: var(--warning-900);
226
+ --input-950: var(--warning-950);
227
+ @apply input-core;
278
228
  }
279
229
 
280
230
  @utility input-error {
281
- @layer components {
282
- @apply input-core;
283
- }
284
- @layer theme {
285
- --input-50: var(--error-50);
286
- --input-100: var(--error-100);
287
- --input-200: var(--error-200);
288
- --input-300: var(--error-300);
289
- --input-400: var(--error-400);
290
- --input-500: var(--error-500);
291
- --input-600: var(--error-600);
292
- --input-700: var(--error-700);
293
- --input-800: var(--error-800);
294
- --input-900: var(--error-900);
295
- --input-950: var(--error-950);
296
- }
231
+ --input-50: var(--error-50);
232
+ --input-100: var(--error-100);
233
+ --input-200: var(--error-200);
234
+ --input-300: var(--error-300);
235
+ --input-400: var(--error-400);
236
+ --input-500: var(--error-500);
237
+ --input-600: var(--error-600);
238
+ --input-700: var(--error-700);
239
+ --input-800: var(--error-800);
240
+ --input-900: var(--error-900);
241
+ --input-950: var(--error-950);
242
+ @apply input-core;
297
243
  }
@@ -2,19 +2,15 @@
2
2
  @import "../theme/placement.css";
3
3
  @import "../theme/animation/slide.css";
4
4
 
5
- @utility modal-core{
5
+ @utility modal{
6
6
  @apply pointer-events-none invisible fixed inset-0 m-0 grid h-full max-h-none w-full max-w-none items-center justify-items-center bg-transparent p-3 text-inherit z-999 overflow-hidden overscroll-contain;
7
7
  &:not(modal:not([open]):not(.modal-open)),
8
8
  &::backdrop {
9
9
  @apply opacity-100 starting:invisible starting:opacity-0;
10
- background-image: light-dark(
11
- color-mix(in oklab,var(--color-default-100)15%,transparent),
12
- color-mix(in oklab,var(--color-default-800)50%,transparent)
13
- );
10
+ background: light-dark(#00000026, #000000ba);
14
11
  }
15
12
  &[open], &.modal-open {
16
13
  @apply pointer-events-auto visible opacity-100 starting:invisible starting:opacity-0;
17
-
18
14
  .modal-body {
19
15
  translate: 0 0;
20
16
  scale: 1;
@@ -24,34 +20,31 @@
24
20
  }
25
21
 
26
22
  @utility modal-backdrop {
27
- @apply col-start-1 row-start-1 grid self-stretch justify-self-stretch text-transparent -z-1;
28
- background: light-dark(
29
- color-mix(in oklab,var(--modal-300)50%,transparent),
30
- color-mix(in oklab,var(--modal-900)80%,transparent)
31
- );
23
+ @apply col-start-1 row-start-1 grid self-stretch justify-self-stretch text-transparent -z-1 bg-transparent;
32
24
  button {
33
25
  @apply cursor-pointer;
34
26
  }
35
27
  }
36
28
 
37
29
  @utility modal-body {
38
- @apply rounded-[var(--radius-modal)] shadow-sm forced-colors:outline col-start-1 row-start-1 max-h-screen w-11/12 max-w-[32rem] p-6 transition-all duration-150 scale-95 opacity-0 overflow-y-auto overscroll-contain;
30
+ @apply rounded-[var(--radius-modal)] shadow-sm forced-colors:outline col-start-1 row-start-1 max-h-screen w-11/12 max-w-[32rem] p-6 scale-95 opacity-0 overflow-y-auto overscroll-contain;
39
31
  --tw-shadow-color: light-dark(
40
- color-mix(in oklab,var(--modal-300)50%,transparent),
41
- color-mix(in oklab,var(--modal-900)60%,transparent)
32
+ color-mix(in oklab,var(--core-300)50%,transparent),
33
+ color-mix(in oklab,var(--core-900)60%,transparent)
42
34
  );
43
35
  background: light-dark(
44
- var(--modal-100),
45
- var(--modal-800)
36
+ var(--core-50),
37
+ var(--core-950)
46
38
  );
47
39
  color: light-dark(
48
40
  var(--default-800),
49
41
  var(--default-50)
50
42
  );
51
43
  border: 1px solid light-dark(
52
- var(--modal-300),
53
- var(--modal-900)
44
+ var(--core-300),
45
+ var(--core-900)
54
46
  );
47
+ transition: translate 0.3s ease-out, visibility 0.3s allow-discrete, background-color 0.3s ease-out, opacity 0.1s ease-out;
55
48
  }
56
49
 
57
50
 
@@ -72,126 +65,4 @@
72
65
  @apply [translate:--value(--slide-*)];
73
66
  scale: 1;
74
67
  }
75
- }
76
-
77
-
78
- @utility modal {
79
- --modal-50: var(--default-50);
80
- --modal-100: var(--default-100);
81
- --modal-200: var(--default-200);
82
- --modal-300: var(--default-300);
83
- --modal-400: var(--default-400);
84
- --modal-500: var(--default-500);
85
- --modal-600: var(--default-600);
86
- --modal-700: var(--default-700);
87
- --modal-800: var(--default-800);
88
- --modal-900: var(--default-900);
89
- --modal-950: var(--default-950);
90
-
91
- @apply modal-core;
92
- }
93
-
94
- @utility modal-primary {
95
- --modal-50: var(--primary-50);
96
- --modal-100: var(--primary-100);
97
- --modal-200: var(--primary-200);
98
- --modal-300: var(--primary-300);
99
- --modal-400: var(--primary-400);
100
- --modal-500: var(--primary-500);
101
- --modal-600: var(--primary-600);
102
- --modal-700: var(--primary-700);
103
- --modal-800: var(--primary-800);
104
- --modal-900: var(--primary-900);
105
- --modal-950: var(--primary-950);
106
- @apply modal-core;
107
- }
108
-
109
- @utility modal-secondary {
110
- --modal-50: var(--secondary-50);
111
- --modal-100: var(--secondary-100);
112
- --modal-200: var(--secondary-200);
113
- --modal-300: var(--secondary-300);
114
- --modal-400: var(--secondary-400);
115
- --modal-500: var(--secondary-500);
116
- --modal-600: var(--secondary-600);
117
- --modal-700: var(--secondary-700);
118
- --modal-800: var(--secondary-800);
119
- --modal-900: var(--secondary-900);
120
- --modal-950: var(--secondary-950);
121
- @apply modal-core;
122
- }
123
-
124
- @utility modal-accent {
125
- --modal-50: var(--accent-50);
126
- --modal-100: var(--accent-100);
127
- --modal-200: var(--accent-200);
128
- --modal-300: var(--accent-300);
129
- --modal-400: var(--accent-400);
130
- --modal-500: var(--accent-500);
131
- --modal-600: var(--accent-600);
132
- --modal-700: var(--accent-700);
133
- --modal-800: var(--accent-800);
134
- --modal-900: var(--accent-900);
135
- --modal-950: var(--accent-950);
136
- @apply modal-core;
137
- }
138
-
139
- @utility modal-info {
140
- --modal-50: var(--info-50);
141
- --modal-100: var(--info-100);
142
- --modal-200: var(--info-200);
143
- --modal-300: var(--info-300);
144
- --modal-400: var(--info-400);
145
- --modal-500: var(--info-500);
146
- --modal-600: var(--info-600);
147
- --modal-700: var(--info-700);
148
- --modal-800: var(--info-800);
149
- --modal-900: var(--info-900);
150
- --modal-950: var(--info-950);
151
- @apply modal-core;
152
- }
153
-
154
- @utility modal-success {
155
- --modal-50: var(--success-50);
156
- --modal-100: var(--success-100);
157
- --modal-200: var(--success-200);
158
- --modal-300: var(--success-300);
159
- --modal-400: var(--success-400);
160
- --modal-500: var(--success-500);
161
- --modal-600: var(--success-600);
162
- --modal-700: var(--success-700);
163
- --modal-800: var(--success-800);
164
- --modal-900: var(--success-900);
165
- --modal-950: var(--success-950);
166
- @apply modal-core;
167
- }
168
-
169
- @utility modal-warning {
170
- --modal-50: var(--warning-50);
171
- --modal-100: var(--warning-100);
172
- --modal-200: var(--warning-200);
173
- --modal-300: var(--warning-300);
174
- --modal-400: var(--warning-400);
175
- --modal-500: var(--warning-500);
176
- --modal-600: var(--warning-600);
177
- --modal-700: var(--warning-700);
178
- --modal-800: var(--warning-800);
179
- --modal-900: var(--warning-900);
180
- --modal-950: var(--warning-950);
181
- @apply modal-core;
182
- }
183
-
184
- @utility modal-error {
185
- --modal-50: var(--error-50);
186
- --modal-100: var(--error-100);
187
- --modal-200: var(--error-200);
188
- --modal-300: var(--error-300);
189
- --modal-400: var(--error-400);
190
- --modal-500: var(--error-500);
191
- --modal-600: var(--error-600);
192
- --modal-700: var(--error-700);
193
- --modal-800: var(--error-800);
194
- --modal-900: var(--error-900);
195
- --modal-950: var(--error-950);
196
- @apply modal-core;
197
- }
68
+ }
@@ -1,6 +1,10 @@
1
1
  @utility heading-* {
2
2
  @layer utilities {
3
- @apply font-bold text-balance text-core-950;
3
+ @apply font-bold text-balance;
4
+ color:light-dark(
5
+ var(--core-950)
6
+ var(--core-50)
7
+ );
4
8
  font-size: --value(--text-*);
5
9
 
6
10
  /* todo: make it heading-md instead of heading-base */