jasmincss 1.0.0

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 (76) hide show
  1. package/README.md +524 -0
  2. package/bin/jasmin.js +45 -0
  3. package/dist/index.d.ts +62 -0
  4. package/dist/index.js +14568 -0
  5. package/dist/index.mjs +14524 -0
  6. package/dist/jasmin.css +63308 -0
  7. package/dist/jasmin.min.css +1 -0
  8. package/dist/plugins/nextjs.js +14777 -0
  9. package/dist/plugins/nextjs.mjs +14747 -0
  10. package/dist/plugins/vite.js +14889 -0
  11. package/dist/plugins/vite.mjs +14860 -0
  12. package/package.json +101 -0
  13. package/src/cli/add.js +83 -0
  14. package/src/cli/init.js +210 -0
  15. package/src/cli/run.js +142 -0
  16. package/src/components/accordion.js +309 -0
  17. package/src/components/alerts.js +357 -0
  18. package/src/components/avatars.js +331 -0
  19. package/src/components/badges.js +353 -0
  20. package/src/components/buttons.js +412 -0
  21. package/src/components/cards.js +342 -0
  22. package/src/components/carousel.js +495 -0
  23. package/src/components/chips.js +440 -0
  24. package/src/components/command-palette.js +434 -0
  25. package/src/components/datepicker.js +517 -0
  26. package/src/components/dropdown.js +411 -0
  27. package/src/components/forms.js +516 -0
  28. package/src/components/index.js +81 -0
  29. package/src/components/modals.js +349 -0
  30. package/src/components/navigation.js +463 -0
  31. package/src/components/offcanvas.js +390 -0
  32. package/src/components/popover.js +427 -0
  33. package/src/components/progress.js +396 -0
  34. package/src/components/rating.js +394 -0
  35. package/src/components/skeleton.js +408 -0
  36. package/src/components/spinner.js +453 -0
  37. package/src/components/stepper.js +389 -0
  38. package/src/components/tables.js +304 -0
  39. package/src/components/timeline.js +452 -0
  40. package/src/components/timepicker.js +529 -0
  41. package/src/components/tooltips.js +345 -0
  42. package/src/components/upload.js +490 -0
  43. package/src/config/defaults.js +263 -0
  44. package/src/config/loader.js +109 -0
  45. package/src/core/base.js +241 -0
  46. package/src/core/compiler.js +135 -0
  47. package/src/core/utilities/accessibility.js +290 -0
  48. package/src/core/utilities/animations.js +205 -0
  49. package/src/core/utilities/background.js +109 -0
  50. package/src/core/utilities/colors.js +234 -0
  51. package/src/core/utilities/columns.js +161 -0
  52. package/src/core/utilities/effects.js +261 -0
  53. package/src/core/utilities/filters.js +135 -0
  54. package/src/core/utilities/icons.js +806 -0
  55. package/src/core/utilities/index.js +239 -0
  56. package/src/core/utilities/layout.js +321 -0
  57. package/src/core/utilities/scroll.js +205 -0
  58. package/src/core/utilities/spacing.js +120 -0
  59. package/src/core/utilities/svg.js +191 -0
  60. package/src/core/utilities/transforms.js +116 -0
  61. package/src/core/utilities/typography.js +188 -0
  62. package/src/index.js +7 -0
  63. package/src/js/components/accordion.js +154 -0
  64. package/src/js/components/alert.js +198 -0
  65. package/src/js/components/carousel.js +226 -0
  66. package/src/js/components/dropdown.js +166 -0
  67. package/src/js/components/modal.js +169 -0
  68. package/src/js/components/offcanvas.js +175 -0
  69. package/src/js/components/popover.js +221 -0
  70. package/src/js/components/tabs.js +163 -0
  71. package/src/js/components/tooltip.js +200 -0
  72. package/src/js/index.js +79 -0
  73. package/src/js/types/config.d.ts +228 -0
  74. package/src/js/types/index.d.ts +439 -0
  75. package/src/plugins/nextjs.js +100 -0
  76. package/src/plugins/vite.js +133 -0
@@ -0,0 +1,396 @@
1
+ export function generateProgressStyles(config) {
2
+ return `/* Progress Bar */
3
+ .progress {
4
+ display: flex;
5
+ height: 0.625rem;
6
+ overflow: hidden;
7
+ background-color: var(--j-bg-muted);
8
+ border-radius: var(--j-radius-full, 9999px);
9
+ }
10
+
11
+ .progress-bar {
12
+ display: flex;
13
+ flex-direction: column;
14
+ justify-content: center;
15
+ overflow: hidden;
16
+ color: white;
17
+ text-align: center;
18
+ white-space: nowrap;
19
+ background-color: var(--j-primary);
20
+ transition: width 300ms ease-in-out;
21
+ }
22
+
23
+ /* Progress Sizes */
24
+ .progress-xs {
25
+ height: 0.25rem;
26
+ }
27
+
28
+ .progress-sm {
29
+ height: 0.5rem;
30
+ }
31
+
32
+ .progress-lg {
33
+ height: 1rem;
34
+ }
35
+
36
+ .progress-xl {
37
+ height: 1.5rem;
38
+ }
39
+
40
+ /* Progress with Label */
41
+ .progress-xl .progress-bar {
42
+ font-size: 0.75rem;
43
+ font-weight: 500;
44
+ }
45
+
46
+ /* Progress Colors */
47
+ .progress-bar-primary {
48
+ background-color: var(--j-primary);
49
+ }
50
+
51
+ .progress-bar-secondary {
52
+ background-color: var(--j-secondary);
53
+ }
54
+
55
+ .progress-bar-accent {
56
+ background-color: var(--j-accent);
57
+ }
58
+
59
+ .progress-bar-success {
60
+ background-color: var(--j-success);
61
+ }
62
+
63
+ .progress-bar-warning {
64
+ background-color: var(--j-warning);
65
+ }
66
+
67
+ .progress-bar-error {
68
+ background-color: var(--j-error);
69
+ }
70
+
71
+ .progress-bar-info {
72
+ background-color: var(--j-info);
73
+ }
74
+
75
+ /* Gradient Progress */
76
+ .progress-bar-gradient {
77
+ background: linear-gradient(90deg, var(--j-primary), var(--j-secondary));
78
+ }
79
+
80
+ /* Striped Progress */
81
+ .progress-bar-striped {
82
+ background-image: linear-gradient(
83
+ 45deg,
84
+ rgba(255, 255, 255, 0.15) 25%,
85
+ transparent 25%,
86
+ transparent 50%,
87
+ rgba(255, 255, 255, 0.15) 50%,
88
+ rgba(255, 255, 255, 0.15) 75%,
89
+ transparent 75%,
90
+ transparent
91
+ );
92
+ background-size: 1rem 1rem;
93
+ }
94
+
95
+ /* Animated Striped Progress */
96
+ .progress-bar-animated {
97
+ animation: progress-bar-stripes 1s linear infinite;
98
+ }
99
+
100
+ @keyframes progress-bar-stripes {
101
+ 0% {
102
+ background-position: 1rem 0;
103
+ }
104
+ 100% {
105
+ background-position: 0 0;
106
+ }
107
+ }
108
+
109
+ /* Indeterminate Progress */
110
+ .progress-indeterminate .progress-bar {
111
+ width: 30% !important;
112
+ animation: progress-indeterminate 1.5s ease-in-out infinite;
113
+ }
114
+
115
+ @keyframes progress-indeterminate {
116
+ 0% {
117
+ transform: translateX(-100%);
118
+ }
119
+ 100% {
120
+ transform: translateX(400%);
121
+ }
122
+ }
123
+
124
+ /* Glow Progress (Futuristic) */
125
+ .progress-glow .progress-bar {
126
+ box-shadow: 0 0 10px var(--j-primary);
127
+ }
128
+
129
+ .progress-glow .progress-bar-secondary {
130
+ box-shadow: 0 0 10px var(--j-secondary);
131
+ }
132
+
133
+ .progress-glow .progress-bar-success {
134
+ box-shadow: 0 0 10px var(--j-success);
135
+ }
136
+
137
+ /* Stacked Progress */
138
+ .progress-stacked {
139
+ display: flex;
140
+ gap: 0.125rem;
141
+ }
142
+
143
+ .progress-stacked .progress-bar {
144
+ border-radius: 0;
145
+ }
146
+
147
+ .progress-stacked .progress-bar:first-child {
148
+ border-top-left-radius: var(--j-radius-full, 9999px);
149
+ border-bottom-left-radius: var(--j-radius-full, 9999px);
150
+ }
151
+
152
+ .progress-stacked .progress-bar:last-child {
153
+ border-top-right-radius: var(--j-radius-full, 9999px);
154
+ border-bottom-right-radius: var(--j-radius-full, 9999px);
155
+ }
156
+
157
+ /* Progress with Label Outside */
158
+ .progress-labeled {
159
+ display: flex;
160
+ flex-direction: column;
161
+ gap: 0.5rem;
162
+ }
163
+
164
+ .progress-label {
165
+ display: flex;
166
+ justify-content: space-between;
167
+ font-size: 0.875rem;
168
+ }
169
+
170
+ .progress-label-text {
171
+ color: var(--j-text);
172
+ font-weight: 500;
173
+ }
174
+
175
+ .progress-label-value {
176
+ color: var(--j-text-subtle);
177
+ }
178
+
179
+ /* Circular Progress / Spinner */
180
+ .spinner {
181
+ display: inline-block;
182
+ width: 2rem;
183
+ height: 2rem;
184
+ border: 3px solid var(--j-bg-muted);
185
+ border-top-color: var(--j-primary);
186
+ border-radius: 50%;
187
+ animation: j-spin 0.8s linear infinite;
188
+ }
189
+
190
+ /* Spinner Sizes */
191
+ .spinner-xs {
192
+ width: 1rem;
193
+ height: 1rem;
194
+ border-width: 2px;
195
+ }
196
+
197
+ .spinner-sm {
198
+ width: 1.5rem;
199
+ height: 1.5rem;
200
+ border-width: 2px;
201
+ }
202
+
203
+ .spinner-lg {
204
+ width: 3rem;
205
+ height: 3rem;
206
+ border-width: 4px;
207
+ }
208
+
209
+ .spinner-xl {
210
+ width: 4rem;
211
+ height: 4rem;
212
+ border-width: 5px;
213
+ }
214
+
215
+ /* Spinner Colors */
216
+ .spinner-primary {
217
+ border-top-color: var(--j-primary);
218
+ }
219
+
220
+ .spinner-secondary {
221
+ border-top-color: var(--j-secondary);
222
+ }
223
+
224
+ .spinner-success {
225
+ border-top-color: var(--j-success);
226
+ }
227
+
228
+ .spinner-warning {
229
+ border-top-color: var(--j-warning);
230
+ }
231
+
232
+ .spinner-error {
233
+ border-top-color: var(--j-error);
234
+ }
235
+
236
+ .spinner-white {
237
+ border-color: rgba(255, 255, 255, 0.2);
238
+ border-top-color: white;
239
+ }
240
+
241
+ /* Dots Loader */
242
+ .dots-loader {
243
+ display: inline-flex;
244
+ align-items: center;
245
+ gap: 0.375rem;
246
+ }
247
+
248
+ .dots-loader span {
249
+ width: 0.5rem;
250
+ height: 0.5rem;
251
+ border-radius: 50%;
252
+ background-color: var(--j-primary);
253
+ animation: dots-bounce 1.4s ease-in-out infinite both;
254
+ }
255
+
256
+ .dots-loader span:nth-child(1) {
257
+ animation-delay: -0.32s;
258
+ }
259
+
260
+ .dots-loader span:nth-child(2) {
261
+ animation-delay: -0.16s;
262
+ }
263
+
264
+ @keyframes dots-bounce {
265
+ 0%, 80%, 100% {
266
+ transform: scale(0);
267
+ }
268
+ 40% {
269
+ transform: scale(1);
270
+ }
271
+ }
272
+
273
+ /* Pulse Loader */
274
+ .pulse-loader {
275
+ width: 2rem;
276
+ height: 2rem;
277
+ border-radius: 50%;
278
+ background-color: var(--j-primary);
279
+ animation: pulse-scale 1.5s ease-in-out infinite;
280
+ }
281
+
282
+ @keyframes pulse-scale {
283
+ 0% {
284
+ transform: scale(0);
285
+ opacity: 1;
286
+ }
287
+ 100% {
288
+ transform: scale(1);
289
+ opacity: 0;
290
+ }
291
+ }
292
+
293
+ /* Bar Loader */
294
+ .bar-loader {
295
+ display: flex;
296
+ align-items: flex-end;
297
+ gap: 0.25rem;
298
+ height: 1.5rem;
299
+ }
300
+
301
+ .bar-loader span {
302
+ width: 0.25rem;
303
+ background-color: var(--j-primary);
304
+ border-radius: 2px;
305
+ animation: bar-stretch 1.2s ease-in-out infinite;
306
+ }
307
+
308
+ .bar-loader span:nth-child(1) { animation-delay: 0s; }
309
+ .bar-loader span:nth-child(2) { animation-delay: 0.1s; }
310
+ .bar-loader span:nth-child(3) { animation-delay: 0.2s; }
311
+ .bar-loader span:nth-child(4) { animation-delay: 0.3s; }
312
+
313
+ @keyframes bar-stretch {
314
+ 0%, 40%, 100% {
315
+ height: 0.5rem;
316
+ }
317
+ 20% {
318
+ height: 1.5rem;
319
+ }
320
+ }
321
+
322
+ /* Loading Overlay */
323
+ .loading-overlay {
324
+ position: absolute;
325
+ inset: 0;
326
+ display: flex;
327
+ flex-direction: column;
328
+ align-items: center;
329
+ justify-content: center;
330
+ gap: 1rem;
331
+ background-color: rgba(255, 255, 255, 0.8);
332
+ backdrop-filter: blur(2px);
333
+ z-index: 10;
334
+ }
335
+
336
+ .loading-overlay-dark {
337
+ background-color: rgba(0, 0, 0, 0.5);
338
+ color: white;
339
+ }
340
+
341
+ .loading-text {
342
+ font-size: 0.875rem;
343
+ color: var(--j-text-subtle);
344
+ }
345
+
346
+ /* Progress Circle (SVG-based) */
347
+ .progress-circle {
348
+ position: relative;
349
+ display: inline-flex;
350
+ align-items: center;
351
+ justify-content: center;
352
+ }
353
+
354
+ .progress-circle svg {
355
+ transform: rotate(-90deg);
356
+ }
357
+
358
+ .progress-circle-track {
359
+ stroke: var(--j-bg-muted);
360
+ fill: none;
361
+ }
362
+
363
+ .progress-circle-bar {
364
+ stroke: var(--j-primary);
365
+ fill: none;
366
+ stroke-linecap: round;
367
+ transition: stroke-dashoffset 300ms ease-in-out;
368
+ }
369
+
370
+ .progress-circle-value {
371
+ position: absolute;
372
+ font-size: 0.875rem;
373
+ font-weight: 600;
374
+ color: var(--j-text);
375
+ }
376
+
377
+ /* Progress Circle Sizes */
378
+ .progress-circle-sm {
379
+ width: 3rem;
380
+ height: 3rem;
381
+ }
382
+
383
+ .progress-circle-sm .progress-circle-value {
384
+ font-size: 0.75rem;
385
+ }
386
+
387
+ .progress-circle-lg {
388
+ width: 6rem;
389
+ height: 6rem;
390
+ }
391
+
392
+ .progress-circle-lg .progress-circle-value {
393
+ font-size: 1.25rem;
394
+ }
395
+ `;
396
+ }