frutjam 0.7.0-beta.3 → 0.7.0-beta.4

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.7.0-beta.3",
3
+ "version": "0.7.0-beta.4",
4
4
  "description": "A utility-first CSS framework UI Library",
5
5
  "main": "./dist/frutjam.css",
6
6
  "browser": "dist/frutjam.css",
@@ -138,7 +138,7 @@
138
138
  }
139
139
 
140
140
  &:is(:disabled, [disabled], .btn-disabled) {
141
- @apply opacity-20 pointer-events-none;
141
+ @apply opacity-20 cursor-not-allowed;
142
142
  }
143
143
 
144
144
  &:is(input[type="checkbox"], input[type="radio"]) {
@@ -1,57 +1,297 @@
1
1
  @import "../theme/skins/base.css";
2
2
 
3
- @utility input-* {
3
+ @utility input-size {
4
4
  @layer components {
5
- @apply outline outline-[--value(--color-*)]/20 rounded-[var(--radius-size)] transition duration-300 px-2.5 font-medium;
6
- @apply relative inline-flex self-start shrink-0 appearance-none items-center gap-2 align-middle whitespace-nowrap leading-4;
7
- &:focus, &:focus-within {
8
- @apply outline-[--value(--color-*)] ring-2 ring-[--value(--color-*)]/10 isolate;
5
+ padding-inline: var(--input-inline);
6
+ padding-block: var(--input-block);
7
+ font-size: var(--input-text-size);
8
+ }
9
+ }
10
+
11
+ @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
+ }
20
+ }
21
+
22
+ @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
+ }
31
+ }
32
+
33
+ @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
+ }
42
+ }
43
+
44
+ @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
+ }
53
+ }
54
+
55
+ @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
+ }
64
+ }
65
+
66
+ @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
+ }
75
+ }
76
+
77
+ @utility input-dashed {
78
+ @layer components {
79
+ &:not(.input-active) {
80
+ @apply outline-dashed;
81
+ }
82
+ }
83
+ }
84
+
85
+
86
+ @utility input-outline {
87
+ @layer components {
88
+ &:not(.input-active) {
89
+ @apply outline outline-solid;
9
90
  }
10
- @media (hover: hover) {
11
- &:hover {
12
- @apply border-[--value(--color-*-fore)]/40
13
- }
91
+ }
92
+ }
93
+
94
+ @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
+ );
14
105
  }
106
+ }
107
+ }
15
108
 
16
- &:is(.input-ghost) {
17
- @apply outline-0;
18
- @media (hover: hover) {
19
- &:hover {
20
- @apply outline;
21
- }
22
- }
109
+ @utility input-ghost {
110
+ @layer components {
111
+ &:not(.input-active) {
112
+ @apply outline-transparent;
113
+ }
114
+ }
115
+ }
116
+
117
+ @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);
123
+
124
+ &:is(.input) {
125
+ @apply outline outline-[var(--input-300)];
126
+ }
127
+
128
+ &:not(.input) {
129
+ @apply outline outline-[var(--input-700)];
23
130
  }
24
131
 
25
- /* disabled input */
26
132
  &:is(:disabled, [disabled], .input-disabled) {
27
- @apply bg-[--value(--color-*)]/10 text-[--value(--color-*)]/30 pointer-events-none cursor-not-allowed;
28
- }
29
-
30
- /* If no input size class is present, apply the default size as input-md */
31
- &:not(.input-xs, .input-sm, .input-md, .input-lg, .input-xl, .input-2xl) {
32
- @apply px-3.5 py-2.5 text-sm;
33
- }
34
-
35
- /* input sizes */
36
- &:is(.input-xs, .input-sm, .input-md, .input-lg, .input-xl, .input-2xl) {
37
- &:is(.input-xs) {
38
- @apply px-2.5 py-1.5 text-xs;
39
- }
40
- &:is(.input-sm) {
41
- @apply px-3 py-2 text-xs;
42
- }
43
- &:is(.input-md) {
44
- @apply px-3.5 py-2.5 text-sm;
45
- }
46
- &:is(.input-lg) {
47
- @apply px-4 py-3 text-base;
48
- }
49
- &:is(.input-xl) {
50
- @apply px-4.5 py-3.5 text-base;
51
- }
52
- &:is(.input-2xl) {
53
- @apply px-5 py-4 text-base;
54
- }
55
- }
56
- }
57
- }
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
+ }
144
+ }
145
+ }
146
+
147
+ @utility input {
148
+ @layer components {
149
+ @apply input-core;
150
+ }
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);
163
+ }
164
+ }
165
+
166
+ @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
+ }
183
+ }
184
+
185
+ @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
+ }
202
+ }
203
+
204
+ @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
+ }
221
+ }
222
+
223
+ @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
+ }
240
+ }
241
+
242
+ @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
+ }
259
+ }
260
+
261
+ @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
+ }
278
+ }
279
+
280
+ @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
+ }
297
+ }
@@ -3,6 +3,7 @@
3
3
  --color-scheme: dark;
4
4
 
5
5
  --radius-btn: 0.5rem;
6
+ --radius-input: 0.5rem;
6
7
  --radius-checkbox: 0.375rem;
7
8
  --radius-modal: 1rem;
8
9
 
@@ -3,6 +3,7 @@
3
3
  --color-scheme: light;
4
4
 
5
5
  --radius-btn: 0.5rem;
6
+ --radius-input: 0.5rem;
6
7
  --radius-checkbox: 0.375rem;
7
8
  --radius-modal: 1rem;
8
9