@vifui/styles 0.4.0-alpha.6
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/README.md +224 -0
- package/base/base.css +154 -0
- package/components/accordion.css +240 -0
- package/components/alert.css +213 -0
- package/components/avatar.css +140 -0
- package/components/badge.css +297 -0
- package/components/breadcrumb.css +250 -0
- package/components/button.css +564 -0
- package/components/card.css +393 -0
- package/components/checkbox.css +293 -0
- package/components/divider.css +282 -0
- package/components/index.css +10 -0
- package/components/spinner.css +594 -0
- package/index.css +24 -0
- package/package.json +99 -0
- package/themes/default.css +335 -0
- package/utilities/index.css +488 -0
|
@@ -0,0 +1,594 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spinner Component - Tailwind v4 + Modern CSS
|
|
3
|
+
*
|
|
4
|
+
* Architecture inspired by Vuesax v3 (MIT License)
|
|
5
|
+
* Loading indicator with 11 animation types
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* ============================================ */
|
|
9
|
+
/* Base Spinner */
|
|
10
|
+
/* ============================================ */
|
|
11
|
+
|
|
12
|
+
.vif-spinner {
|
|
13
|
+
@apply relative block rounded-full;
|
|
14
|
+
@apply size-full;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* ============================================ */
|
|
19
|
+
/* Size Variants */
|
|
20
|
+
/* ============================================ */
|
|
21
|
+
|
|
22
|
+
.vif-spinner--xs {
|
|
23
|
+
@apply size-5;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.vif-spinner--sm {
|
|
27
|
+
@apply size-7;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.vif-spinner--md {
|
|
31
|
+
@apply size-10;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* ============================================ */
|
|
35
|
+
/* Color Variants */
|
|
36
|
+
/* ============================================ */
|
|
37
|
+
|
|
38
|
+
.vif-spinner--current {
|
|
39
|
+
--spinner-color: currentColor;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.vif-spinner--primary {
|
|
43
|
+
--spinner-color: var(--primary);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.vif-spinner--secondary {
|
|
47
|
+
--spinner-color: var(--secondary);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.vif-spinner--success {
|
|
51
|
+
--spinner-color: var(--success);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.vif-spinner--warning {
|
|
55
|
+
--spinner-color: var(--warning);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.vif-spinner--danger {
|
|
59
|
+
--spinner-color: var(--danger);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.vif-spinner--white {
|
|
63
|
+
--spinner-color: var(--white);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/* ============================================ */
|
|
67
|
+
/* TYPE: Default */
|
|
68
|
+
/* ============================================ */
|
|
69
|
+
|
|
70
|
+
.vif-spinner--default {
|
|
71
|
+
.vif-spinner__effect {
|
|
72
|
+
@apply absolute size-full rounded-full;
|
|
73
|
+
border: 3px solid transparent;
|
|
74
|
+
border-inline-start: 3px solid var(--spinner-color);
|
|
75
|
+
box-sizing: border-box;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.vif-spinner__effect-1 {
|
|
79
|
+
animation: vif-rotate 1s ease infinite;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.vif-spinner__effect-2 {
|
|
83
|
+
animation: vif-rotate-opacity 1s ease infinite 0.1s;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.vif-spinner__effect-3 {
|
|
87
|
+
animation: vif-rotate-opacity 1s ease infinite 0.2s;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/* ============================================ */
|
|
92
|
+
/* TYPE: Border */
|
|
93
|
+
/* ============================================ */
|
|
94
|
+
|
|
95
|
+
.vif-spinner--border {
|
|
96
|
+
@apply border border-gray-100;
|
|
97
|
+
|
|
98
|
+
.vif-spinner__effect {
|
|
99
|
+
@apply absolute size-full rounded-full;
|
|
100
|
+
border: 1px solid transparent;
|
|
101
|
+
border-inline-start: 1px solid var(--spinner-color);
|
|
102
|
+
box-sizing: border-box;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.vif-spinner__effect-1 {
|
|
106
|
+
animation: vif-rotate 1s ease infinite;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.vif-spinner__effect-2 {
|
|
110
|
+
animation: vif-rotate-opacity 1s ease infinite 0.1s;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.vif-spinner__effect-3 {
|
|
114
|
+
animation: vif-rotate-opacity 1s ease infinite 0.2s;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/* ============================================ */
|
|
119
|
+
/* TYPE: Waves */
|
|
120
|
+
/* ============================================ */
|
|
121
|
+
|
|
122
|
+
.vif-spinner--waves {
|
|
123
|
+
.vif-spinner__effect {
|
|
124
|
+
@apply absolute inset-1/2 size-0 rounded-full;
|
|
125
|
+
@apply bg-transparent;
|
|
126
|
+
box-shadow: 0 0 10px 0
|
|
127
|
+
color-mix(in srgb, var(--spinner-color) 50%, transparent);
|
|
128
|
+
box-sizing: border-box;
|
|
129
|
+
translate: -50% -50%;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.vif-spinner__effect-1 {
|
|
133
|
+
animation: vif-waves 1.75s ease infinite;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.vif-spinner__effect-2 {
|
|
137
|
+
animation: vif-waves 1.75s ease 0.3s infinite;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.vif-spinner__effect-3 {
|
|
141
|
+
animation: vif-waves 1.75s ease 0.6s infinite;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/* ============================================ */
|
|
146
|
+
/* TYPE: Points */
|
|
147
|
+
/* ============================================ */
|
|
148
|
+
|
|
149
|
+
.vif-spinner--point,
|
|
150
|
+
.vif-spinner--points {
|
|
151
|
+
@apply flex items-center justify-center gap-1.5;
|
|
152
|
+
|
|
153
|
+
.vif-spinner__effect {
|
|
154
|
+
@apply relative rounded-full;
|
|
155
|
+
inline-size: 20%;
|
|
156
|
+
block-size: 20%;
|
|
157
|
+
background: var(--spinner-color);
|
|
158
|
+
box-sizing: border-box;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.vif-spinner__effect-1 {
|
|
162
|
+
animation: vif-bounce 0.8s ease infinite;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.vif-spinner__effect-2 {
|
|
166
|
+
animation: vif-bounce 0.8s ease infinite 0.15s;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.vif-spinner__effect-3 {
|
|
170
|
+
animation: vif-bounce 0.8s ease infinite 0.3s;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* ============================================ */
|
|
175
|
+
/* TYPE: Radius */
|
|
176
|
+
/* ============================================ */
|
|
177
|
+
|
|
178
|
+
.vif-spinner--radius {
|
|
179
|
+
.vif-spinner__effect {
|
|
180
|
+
@apply absolute size-full;
|
|
181
|
+
border: 3px solid var(--spinner-color);
|
|
182
|
+
border-radius: 10px;
|
|
183
|
+
box-sizing: border-box;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.vif-spinner__effect-1 {
|
|
187
|
+
animation: vif-radius 1s ease infinite;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.vif-spinner__effect-2 {
|
|
191
|
+
animation: vif-radius 2s ease infinite 0.1s;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.vif-spinner__effect-3 {
|
|
195
|
+
animation: vif-radius 3s ease infinite 0.2s;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/* ============================================ */
|
|
200
|
+
/* TYPE: Corners */
|
|
201
|
+
/* ============================================ */
|
|
202
|
+
|
|
203
|
+
.vif-spinner--corners {
|
|
204
|
+
.vif-spinner__effect {
|
|
205
|
+
@apply absolute size-full;
|
|
206
|
+
border: 3px solid var(--spinner-color);
|
|
207
|
+
border-radius: 10px;
|
|
208
|
+
box-sizing: border-box;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.vif-spinner__effect-1 {
|
|
212
|
+
animation: vif-corners 1s ease infinite;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/* ============================================ */
|
|
217
|
+
/* TYPE: Scale */
|
|
218
|
+
/* ============================================ */
|
|
219
|
+
|
|
220
|
+
.vif-spinner--sound,
|
|
221
|
+
.vif-spinner--scale {
|
|
222
|
+
@apply flex items-center justify-center;
|
|
223
|
+
|
|
224
|
+
.vif-spinner__effect {
|
|
225
|
+
@apply relative h-full;
|
|
226
|
+
@apply rounded-lg;
|
|
227
|
+
inline-size: 8px;
|
|
228
|
+
background: var(--spinner-color);
|
|
229
|
+
box-sizing: border-box;
|
|
230
|
+
margin-inline: 4px;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.vif-spinner__effect-1 {
|
|
234
|
+
animation: vif-sound 1.4s ease infinite alternate;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.vif-spinner__effect-2 {
|
|
238
|
+
block-size: 60%;
|
|
239
|
+
animation: vif-sound 0.7s ease infinite alternate;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.vif-spinner__effect-3 {
|
|
243
|
+
block-size: 80%;
|
|
244
|
+
animation: vif-sound 1s ease-out infinite alternate;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/* ============================================ */
|
|
249
|
+
/* TYPE: Square */
|
|
250
|
+
/* ============================================ */
|
|
251
|
+
|
|
252
|
+
.vif-spinner--square {
|
|
253
|
+
@apply rounded-none;
|
|
254
|
+
|
|
255
|
+
/* First square - clockwise (faster) */
|
|
256
|
+
.vif-spinner__effect-1 {
|
|
257
|
+
@apply absolute size-full rounded-none;
|
|
258
|
+
border: 3px solid var(--spinner-color);
|
|
259
|
+
box-sizing: border-box;
|
|
260
|
+
animation: vif-rotate 1.5s linear infinite;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/* Second square - counterclockwise (slower for motor wheel effect) */
|
|
264
|
+
.vif-spinner__effect-2 {
|
|
265
|
+
@apply absolute size-full rounded-none;
|
|
266
|
+
border: 3px solid var(--spinner-color);
|
|
267
|
+
box-sizing: border-box;
|
|
268
|
+
animation: vif-rotate 2.5s linear infinite reverse;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/* ============================================ */
|
|
273
|
+
/* TYPE: Gradient */
|
|
274
|
+
/* ============================================ */
|
|
275
|
+
|
|
276
|
+
.vif-spinner--gradient {
|
|
277
|
+
.vif-spinner__effect-1 {
|
|
278
|
+
@apply absolute size-full rounded-full;
|
|
279
|
+
box-sizing: border-box;
|
|
280
|
+
animation: vif-rotate 1s linear infinite;
|
|
281
|
+
background: conic-gradient(
|
|
282
|
+
from 0deg,
|
|
283
|
+
var(--spinner-color),
|
|
284
|
+
var(--spinner-color) 25%,
|
|
285
|
+
transparent 50%,
|
|
286
|
+
transparent
|
|
287
|
+
);
|
|
288
|
+
mask: radial-gradient(
|
|
289
|
+
farthest-side,
|
|
290
|
+
transparent calc(100% - 3px),
|
|
291
|
+
white calc(100% - 3px)
|
|
292
|
+
);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.vif-spinner__effect-2 {
|
|
296
|
+
@apply absolute inset-0.5 bg-white rounded-full;
|
|
297
|
+
inline-size: calc(100% - 4px);
|
|
298
|
+
block-size: calc(100% - 4px);
|
|
299
|
+
box-sizing: border-box;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/* ============================================ */
|
|
304
|
+
/* TYPE: Rectangle */
|
|
305
|
+
/* ============================================ */
|
|
306
|
+
|
|
307
|
+
.vif-spinner--rectangle {
|
|
308
|
+
@apply flex items-center justify-center overflow-hidden;
|
|
309
|
+
|
|
310
|
+
.vif-spinner__effect-1 {
|
|
311
|
+
@apply absolute rounded;
|
|
312
|
+
inline-size: 30%;
|
|
313
|
+
block-size: 30%;
|
|
314
|
+
background: var(--spinner-color);
|
|
315
|
+
box-sizing: border-box;
|
|
316
|
+
animation: vif-rectangle-slide 1.2s cubic-bezier(0.65, 0, 0.35, 1) infinite;
|
|
317
|
+
|
|
318
|
+
&::before,
|
|
319
|
+
&::after {
|
|
320
|
+
@apply absolute size-full rounded;
|
|
321
|
+
content: "";
|
|
322
|
+
background: var(--spinner-color);
|
|
323
|
+
opacity: 0.4;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
&::before {
|
|
327
|
+
inset-inline-start: -120%;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
&::after {
|
|
331
|
+
inset-inline-start: 120%;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/* ============================================ */
|
|
337
|
+
/* TYPE: Circles */
|
|
338
|
+
/* ============================================ */
|
|
339
|
+
|
|
340
|
+
.vif-spinner--circles {
|
|
341
|
+
.vif-spinner__effect {
|
|
342
|
+
@apply absolute rounded-full;
|
|
343
|
+
box-sizing: border-box;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/* Outer circle - largest, solid, clockwise (slowest) */
|
|
347
|
+
.vif-spinner__effect-1 {
|
|
348
|
+
@apply size-full;
|
|
349
|
+
border: 3px solid transparent;
|
|
350
|
+
border-block-start: 3px solid var(--spinner-color);
|
|
351
|
+
border-inline-end: 3px solid var(--spinner-color);
|
|
352
|
+
animation: vif-rotate 1.5s linear infinite;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
/* Middle circle - dashed, counterclockwise */
|
|
356
|
+
.vif-spinner__effect-2 {
|
|
357
|
+
inline-size: 70%;
|
|
358
|
+
block-size: 70%;
|
|
359
|
+
inset-block-start: 15%;
|
|
360
|
+
inset-inline-start: 15%;
|
|
361
|
+
border: 3px dashed transparent;
|
|
362
|
+
border-block-start: 3px dashed var(--spinner-color);
|
|
363
|
+
border-inline-end: 3px dashed var(--spinner-color);
|
|
364
|
+
animation: vif-rotate 1.2s linear infinite reverse;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
/* Inner circle - smallest, solid, clockwise (fastest) */
|
|
368
|
+
.vif-spinner__effect-3 {
|
|
369
|
+
inline-size: 40%;
|
|
370
|
+
block-size: 40%;
|
|
371
|
+
inset-block-start: 30%;
|
|
372
|
+
inset-inline-start: 30%;
|
|
373
|
+
border: 3px solid transparent;
|
|
374
|
+
border-block-start: 3px solid var(--spinner-color);
|
|
375
|
+
border-inline-end: 3px solid var(--spinner-color);
|
|
376
|
+
animation: vif-rotate 0.9s linear infinite;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
/* ============================================ */
|
|
381
|
+
/* TYPE: Square Rotate */
|
|
382
|
+
/* ============================================ */
|
|
383
|
+
|
|
384
|
+
.vif-spinner--square-rotate {
|
|
385
|
+
@apply rounded-none;
|
|
386
|
+
|
|
387
|
+
.vif-spinner__effect-1 {
|
|
388
|
+
@apply absolute rounded-none;
|
|
389
|
+
inline-size: 60%;
|
|
390
|
+
block-size: 60%;
|
|
391
|
+
inset-block-start: 20%;
|
|
392
|
+
inset-inline-start: 20%;
|
|
393
|
+
background: var(--spinner-color);
|
|
394
|
+
box-sizing: border-box;
|
|
395
|
+
animation: vif-square-flip 2s ease-in-out infinite;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
/* ============================================ */
|
|
400
|
+
/* TYPE: Material (SVG Circle) */
|
|
401
|
+
/* ============================================ */
|
|
402
|
+
|
|
403
|
+
.vif-spinner--material {
|
|
404
|
+
@apply flex items-center justify-center;
|
|
405
|
+
animation: vif-rotator 1.4s linear infinite;
|
|
406
|
+
|
|
407
|
+
.vif-spinner__track {
|
|
408
|
+
stroke: currentColor;
|
|
409
|
+
opacity: 0.2;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.vif-spinner__path {
|
|
413
|
+
stroke: var(--spinner-color);
|
|
414
|
+
stroke-linecap: round;
|
|
415
|
+
animation:
|
|
416
|
+
vif-dash 1.4s ease-in-out infinite,
|
|
417
|
+
vif-colors 5.6s ease-in-out infinite;
|
|
418
|
+
transform-origin: center;
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
/* ============================================ */
|
|
423
|
+
/* Animations */
|
|
424
|
+
/* ============================================ */
|
|
425
|
+
|
|
426
|
+
@keyframes vif-rotate {
|
|
427
|
+
0% {
|
|
428
|
+
rotate: 0deg;
|
|
429
|
+
}
|
|
430
|
+
100% {
|
|
431
|
+
rotate: 360deg;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
@keyframes vif-rotate-opacity {
|
|
436
|
+
0% {
|
|
437
|
+
rotate: 0deg;
|
|
438
|
+
opacity: 0.1;
|
|
439
|
+
}
|
|
440
|
+
100% {
|
|
441
|
+
rotate: 360deg;
|
|
442
|
+
opacity: 1;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
@keyframes vif-waves {
|
|
447
|
+
0% {
|
|
448
|
+
inline-size: 0;
|
|
449
|
+
block-size: 0;
|
|
450
|
+
opacity: 1;
|
|
451
|
+
}
|
|
452
|
+
100% {
|
|
453
|
+
inline-size: 50px;
|
|
454
|
+
block-size: 50px;
|
|
455
|
+
opacity: 0;
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
@keyframes vif-bounce {
|
|
460
|
+
0%,
|
|
461
|
+
100% {
|
|
462
|
+
translate: 0 0;
|
|
463
|
+
scale: 1;
|
|
464
|
+
}
|
|
465
|
+
50% {
|
|
466
|
+
translate: 0 -120%;
|
|
467
|
+
scale: 1.05;
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
@keyframes vif-radius {
|
|
472
|
+
0% {
|
|
473
|
+
rotate: 0deg;
|
|
474
|
+
scale: 0.1;
|
|
475
|
+
opacity: 1;
|
|
476
|
+
}
|
|
477
|
+
60% {
|
|
478
|
+
rotate: 160deg;
|
|
479
|
+
scale: 1;
|
|
480
|
+
opacity: 0;
|
|
481
|
+
}
|
|
482
|
+
100% {
|
|
483
|
+
rotate: 0deg;
|
|
484
|
+
scale: 0.1;
|
|
485
|
+
opacity: 1;
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
@keyframes vif-corners {
|
|
490
|
+
0% {
|
|
491
|
+
border-radius: 50%;
|
|
492
|
+
rotate: 0deg;
|
|
493
|
+
}
|
|
494
|
+
25% {
|
|
495
|
+
border-radius: 50% 50% 50% 20%;
|
|
496
|
+
}
|
|
497
|
+
50% {
|
|
498
|
+
border-radius: 50% 50% 20% 30%;
|
|
499
|
+
}
|
|
500
|
+
75% {
|
|
501
|
+
border-radius: 50% 20% 30% 30%;
|
|
502
|
+
}
|
|
503
|
+
100% {
|
|
504
|
+
border-radius: 50%;
|
|
505
|
+
rotate: -180deg;
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
@keyframes vif-sound {
|
|
510
|
+
0% {
|
|
511
|
+
scale: 1 0.2;
|
|
512
|
+
opacity: 0.7;
|
|
513
|
+
}
|
|
514
|
+
50% {
|
|
515
|
+
scale: 1 0.7;
|
|
516
|
+
opacity: 1;
|
|
517
|
+
}
|
|
518
|
+
100% {
|
|
519
|
+
scale: 1 0.2;
|
|
520
|
+
opacity: 0.7;
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
@keyframes vif-rectangle-slide {
|
|
525
|
+
0% {
|
|
526
|
+
translate: -100% 0;
|
|
527
|
+
}
|
|
528
|
+
50% {
|
|
529
|
+
translate: 100% 0;
|
|
530
|
+
}
|
|
531
|
+
100% {
|
|
532
|
+
translate: -100% 0;
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
@keyframes vif-rotator {
|
|
537
|
+
0% {
|
|
538
|
+
rotate: 0deg;
|
|
539
|
+
}
|
|
540
|
+
100% {
|
|
541
|
+
rotate: 270deg;
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
@keyframes vif-dash {
|
|
546
|
+
0% {
|
|
547
|
+
stroke-dasharray: 1, 150;
|
|
548
|
+
stroke-dashoffset: 0;
|
|
549
|
+
}
|
|
550
|
+
50% {
|
|
551
|
+
stroke-dasharray: 90, 150;
|
|
552
|
+
stroke-dashoffset: -35;
|
|
553
|
+
}
|
|
554
|
+
100% {
|
|
555
|
+
stroke-dasharray: 90, 150;
|
|
556
|
+
stroke-dashoffset: -124;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
@keyframes vif-colors {
|
|
561
|
+
0% {
|
|
562
|
+
stroke: #4285f4;
|
|
563
|
+
}
|
|
564
|
+
25% {
|
|
565
|
+
stroke: #de3e35;
|
|
566
|
+
}
|
|
567
|
+
50% {
|
|
568
|
+
stroke: #f7c223;
|
|
569
|
+
}
|
|
570
|
+
75% {
|
|
571
|
+
stroke: #1b9a59;
|
|
572
|
+
}
|
|
573
|
+
100% {
|
|
574
|
+
stroke: #4285f4;
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
@keyframes vif-square-flip {
|
|
579
|
+
0% {
|
|
580
|
+
transform: perspective(120px) rotateX(0deg) rotateY(0deg);
|
|
581
|
+
}
|
|
582
|
+
25% {
|
|
583
|
+
transform: perspective(120px) rotateX(180deg) rotateY(0deg);
|
|
584
|
+
}
|
|
585
|
+
50% {
|
|
586
|
+
transform: perspective(120px) rotateX(180deg) rotateY(180deg);
|
|
587
|
+
}
|
|
588
|
+
75% {
|
|
589
|
+
transform: perspective(120px) rotateX(0deg) rotateY(180deg);
|
|
590
|
+
}
|
|
591
|
+
100% {
|
|
592
|
+
transform: perspective(120px) rotateX(0deg) rotateY(0deg);
|
|
593
|
+
}
|
|
594
|
+
}
|
package/index.css
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VifUI Styles
|
|
3
|
+
* Main entry point for all VifUI styles
|
|
4
|
+
*
|
|
5
|
+
* @package @vifui/styles
|
|
6
|
+
* @version 0.3.0-alpha.4
|
|
7
|
+
* @license MIT
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/* Tailwind CSS base */
|
|
11
|
+
@import "tailwindcss";
|
|
12
|
+
|
|
13
|
+
/* VifUI base styles and variables */
|
|
14
|
+
@import "./base/base.css" layer(base);
|
|
15
|
+
|
|
16
|
+
/* Default theme (light/dark) */
|
|
17
|
+
@import "./themes/default.css" layer(base);
|
|
18
|
+
|
|
19
|
+
/* Utility classes */
|
|
20
|
+
@import "./utilities/index.css" layer(utilities);
|
|
21
|
+
|
|
22
|
+
/* Component styles */
|
|
23
|
+
@import "./components/index.css" layer(components);
|
|
24
|
+
|
package/package.json
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@vifui/styles",
|
|
3
|
+
"version": "0.4.0-alpha.6",
|
|
4
|
+
"description": "CSS styles and design tokens for VifUI",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"author": "AbdulAzeez Olamide",
|
|
8
|
+
"homepage": "https://github.com/I-am-abdulazeez/vifui#readme",
|
|
9
|
+
"keywords": [
|
|
10
|
+
"vifui",
|
|
11
|
+
"vue",
|
|
12
|
+
"vue3",
|
|
13
|
+
"styles",
|
|
14
|
+
"css",
|
|
15
|
+
"tailwind",
|
|
16
|
+
"design-system"
|
|
17
|
+
],
|
|
18
|
+
"files": [
|
|
19
|
+
"base",
|
|
20
|
+
"components",
|
|
21
|
+
"themes",
|
|
22
|
+
"utilities",
|
|
23
|
+
"index.css",
|
|
24
|
+
"README.md"
|
|
25
|
+
],
|
|
26
|
+
"exports": {
|
|
27
|
+
".": {
|
|
28
|
+
"default": "./index.css",
|
|
29
|
+
"style": "./index.css"
|
|
30
|
+
},
|
|
31
|
+
"./base": {
|
|
32
|
+
"default": "./base/base.css",
|
|
33
|
+
"style": "./base/base.css"
|
|
34
|
+
},
|
|
35
|
+
"./components/accordion": {
|
|
36
|
+
"default": "./components/accordion.css",
|
|
37
|
+
"style": "./components/accordion.css"
|
|
38
|
+
},
|
|
39
|
+
"./components/alert": {
|
|
40
|
+
"default": "./components/alert.css",
|
|
41
|
+
"style": "./components/alert.css"
|
|
42
|
+
},
|
|
43
|
+
"./components/avatar": {
|
|
44
|
+
"default": "./components/avatar.css",
|
|
45
|
+
"style": "./components/avatar.css"
|
|
46
|
+
},
|
|
47
|
+
"./components/badge": {
|
|
48
|
+
"default": "./components/badge.css",
|
|
49
|
+
"style": "./components/badge.css"
|
|
50
|
+
},
|
|
51
|
+
"./components/breadcrumb": {
|
|
52
|
+
"default": "./components/breadcrumb.css",
|
|
53
|
+
"style": "./components/breadcrumb.css"
|
|
54
|
+
},
|
|
55
|
+
"./components/button": {
|
|
56
|
+
"default": "./components/button.css",
|
|
57
|
+
"style": "./components/button.css"
|
|
58
|
+
},
|
|
59
|
+
"./components/card": {
|
|
60
|
+
"default": "./components/card.css",
|
|
61
|
+
"style": "./components/card.css"
|
|
62
|
+
},
|
|
63
|
+
"./components/checkbox": {
|
|
64
|
+
"default": "./components/checkbox.css",
|
|
65
|
+
"style": "./components/checkbox.css"
|
|
66
|
+
},
|
|
67
|
+
"./components/divider": {
|
|
68
|
+
"default": "./components/divider.css",
|
|
69
|
+
"style": "./components/divider.css"
|
|
70
|
+
},
|
|
71
|
+
"./components/spinner": {
|
|
72
|
+
"default": "./components/spinner.css",
|
|
73
|
+
"style": "./components/spinner.css"
|
|
74
|
+
},
|
|
75
|
+
"./themes/default": {
|
|
76
|
+
"default": "./themes/default.css",
|
|
77
|
+
"style": "./themes/default.css"
|
|
78
|
+
},
|
|
79
|
+
"./utilities": {
|
|
80
|
+
"default": "./utilities/index.css",
|
|
81
|
+
"style": "./utilities/index.css"
|
|
82
|
+
},
|
|
83
|
+
"./package.json": "./package.json"
|
|
84
|
+
},
|
|
85
|
+
"peerDependencies": {
|
|
86
|
+
"tailwindcss": ">=4.0.0"
|
|
87
|
+
},
|
|
88
|
+
"publishConfig": {
|
|
89
|
+
"access": "public"
|
|
90
|
+
},
|
|
91
|
+
"repository": {
|
|
92
|
+
"type": "git",
|
|
93
|
+
"url": "git+https://github.com/I-am-abdulazeez/vifui.git",
|
|
94
|
+
"directory": "packages/styles"
|
|
95
|
+
},
|
|
96
|
+
"bugs": {
|
|
97
|
+
"url": "https://github.com/I-am-abdulazeez/vifui/issues"
|
|
98
|
+
}
|
|
99
|
+
}
|