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,342 @@
1
+ export function generateCardStyles(config) {
2
+ return `/* Card Base */
3
+ .card {
4
+ background-color: var(--j-bg);
5
+ border: 1px solid var(--j-border);
6
+ border-radius: var(--j-radius-lg, 0.75rem);
7
+ overflow: hidden;
8
+ }
9
+
10
+ .card-body {
11
+ padding: 1.5rem;
12
+ }
13
+
14
+ .card-header {
15
+ padding: 1rem 1.5rem;
16
+ border-bottom: 1px solid var(--j-border);
17
+ background-color: var(--j-bg-subtle);
18
+ }
19
+
20
+ .card-footer {
21
+ padding: 1rem 1.5rem;
22
+ border-top: 1px solid var(--j-border);
23
+ background-color: var(--j-bg-subtle);
24
+ }
25
+
26
+ .card-title {
27
+ font-size: 1.25rem;
28
+ font-weight: 600;
29
+ line-height: 1.75rem;
30
+ margin-bottom: 0.5rem;
31
+ color: var(--j-text);
32
+ }
33
+
34
+ .card-subtitle {
35
+ font-size: 0.875rem;
36
+ color: var(--j-text-subtle);
37
+ margin-bottom: 0.75rem;
38
+ }
39
+
40
+ .card-text {
41
+ color: var(--j-text);
42
+ line-height: 1.6;
43
+ }
44
+
45
+ .card-img,
46
+ .card-image {
47
+ width: 100%;
48
+ height: auto;
49
+ display: block;
50
+ }
51
+
52
+ .card-img-top {
53
+ border-top-left-radius: calc(var(--j-radius-lg, 0.75rem) - 1px);
54
+ border-top-right-radius: calc(var(--j-radius-lg, 0.75rem) - 1px);
55
+ }
56
+
57
+ .card-img-bottom {
58
+ border-bottom-left-radius: calc(var(--j-radius-lg, 0.75rem) - 1px);
59
+ border-bottom-right-radius: calc(var(--j-radius-lg, 0.75rem) - 1px);
60
+ }
61
+
62
+ /* Card Variants */
63
+ .card-bordered {
64
+ border-width: 2px;
65
+ }
66
+
67
+ .card-shadow {
68
+ border: none;
69
+ box-shadow: var(--j-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
70
+ }
71
+
72
+ .card-elevated {
73
+ border: none;
74
+ box-shadow: var(--j-shadow-xl, 0 20px 25px -5px rgb(0 0 0 / 0.1));
75
+ }
76
+
77
+ /* Hover Effects */
78
+ .card-hover {
79
+ transition: all 200ms ease-in-out;
80
+ }
81
+
82
+ .card-hover:hover {
83
+ transform: translateY(-4px);
84
+ box-shadow: var(--j-shadow-xl, 0 20px 25px -5px rgb(0 0 0 / 0.1));
85
+ }
86
+
87
+ .card-hover-scale {
88
+ transition: transform 200ms ease-in-out;
89
+ }
90
+
91
+ .card-hover-scale:hover {
92
+ transform: scale(1.02);
93
+ }
94
+
95
+ .card-hover-glow {
96
+ transition: box-shadow 200ms ease-in-out;
97
+ }
98
+
99
+ .card-hover-glow:hover {
100
+ box-shadow: 0 0 30px color-mix(in srgb, var(--j-primary) 30%, transparent);
101
+ }
102
+
103
+ /* Card Colors */
104
+ .card-primary {
105
+ border-color: var(--j-primary);
106
+ border-left-width: 4px;
107
+ }
108
+
109
+ .card-secondary {
110
+ border-color: var(--j-secondary);
111
+ border-left-width: 4px;
112
+ }
113
+
114
+ .card-success {
115
+ border-color: var(--j-success);
116
+ border-left-width: 4px;
117
+ }
118
+
119
+ .card-warning {
120
+ border-color: var(--j-warning);
121
+ border-left-width: 4px;
122
+ }
123
+
124
+ .card-error {
125
+ border-color: var(--j-error);
126
+ border-left-width: 4px;
127
+ }
128
+
129
+ .card-info {
130
+ border-color: var(--j-info);
131
+ border-left-width: 4px;
132
+ }
133
+
134
+ /* Card Filled */
135
+ .card-filled-primary {
136
+ background-color: color-mix(in srgb, var(--j-primary) 10%, var(--j-bg));
137
+ border-color: var(--j-primary);
138
+ }
139
+
140
+ .card-filled-secondary {
141
+ background-color: color-mix(in srgb, var(--j-secondary) 10%, var(--j-bg));
142
+ border-color: var(--j-secondary);
143
+ }
144
+
145
+ .card-filled-success {
146
+ background-color: color-mix(in srgb, var(--j-success) 10%, var(--j-bg));
147
+ border-color: var(--j-success);
148
+ }
149
+
150
+ .card-filled-error {
151
+ background-color: color-mix(in srgb, var(--j-error) 10%, var(--j-bg));
152
+ border-color: var(--j-error);
153
+ }
154
+
155
+ /* Glass Card (Futuristic) */
156
+ .card-glass {
157
+ background: rgba(255, 255, 255, 0.1);
158
+ backdrop-filter: blur(16px);
159
+ -webkit-backdrop-filter: blur(16px);
160
+ border: 1px solid rgba(255, 255, 255, 0.2);
161
+ }
162
+
163
+ .card-glass-dark {
164
+ background: rgba(0, 0, 0, 0.3);
165
+ backdrop-filter: blur(16px);
166
+ -webkit-backdrop-filter: blur(16px);
167
+ border: 1px solid rgba(255, 255, 255, 0.1);
168
+ }
169
+
170
+ /* Gradient Card */
171
+ .card-gradient {
172
+ background: linear-gradient(135deg, var(--j-bg), var(--j-bg-subtle));
173
+ border: none;
174
+ }
175
+
176
+ .card-gradient-primary {
177
+ background: linear-gradient(135deg,
178
+ color-mix(in srgb, var(--j-primary) 20%, var(--j-bg)),
179
+ color-mix(in srgb, var(--j-secondary) 20%, var(--j-bg))
180
+ );
181
+ border: none;
182
+ }
183
+
184
+ /* Compact Card */
185
+ .card-compact .card-body {
186
+ padding: 1rem;
187
+ }
188
+
189
+ .card-compact .card-header,
190
+ .card-compact .card-footer {
191
+ padding: 0.75rem 1rem;
192
+ }
193
+
194
+ /* Wide Card */
195
+ .card-horizontal {
196
+ display: flex;
197
+ flex-direction: row;
198
+ }
199
+
200
+ .card-horizontal .card-img {
201
+ width: 40%;
202
+ object-fit: cover;
203
+ }
204
+
205
+ .card-horizontal .card-body {
206
+ flex: 1;
207
+ }
208
+
209
+ @media (max-width: 640px) {
210
+ .card-horizontal {
211
+ flex-direction: column;
212
+ }
213
+
214
+ .card-horizontal .card-img {
215
+ width: 100%;
216
+ }
217
+ }
218
+
219
+ /* Card Actions */
220
+ .card-actions {
221
+ display: flex;
222
+ gap: 0.75rem;
223
+ margin-top: 1rem;
224
+ }
225
+
226
+ .card-actions-end {
227
+ justify-content: flex-end;
228
+ }
229
+
230
+ .card-actions-center {
231
+ justify-content: center;
232
+ }
233
+
234
+ .card-actions-between {
235
+ justify-content: space-between;
236
+ }
237
+
238
+ /* Card with Image Overlay */
239
+ .card-overlay {
240
+ position: relative;
241
+ }
242
+
243
+ .card-overlay .card-img {
244
+ width: 100%;
245
+ height: 100%;
246
+ object-fit: cover;
247
+ }
248
+
249
+ .card-overlay .card-body {
250
+ position: absolute;
251
+ bottom: 0;
252
+ left: 0;
253
+ right: 0;
254
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
255
+ color: white;
256
+ padding: 2rem 1.5rem 1.5rem;
257
+ }
258
+
259
+ .card-overlay .card-title,
260
+ .card-overlay .card-text {
261
+ color: white;
262
+ }
263
+
264
+ /* Card Group */
265
+ .card-group {
266
+ display: flex;
267
+ flex-wrap: wrap;
268
+ gap: 1.5rem;
269
+ }
270
+
271
+ .card-group > .card {
272
+ flex: 1 0 calc(33.333% - 1rem);
273
+ min-width: 280px;
274
+ }
275
+
276
+ /* Card Stack */
277
+ .card-stack {
278
+ display: flex;
279
+ flex-direction: column;
280
+ gap: 1rem;
281
+ }
282
+
283
+ /* Pricing Card */
284
+ .card-pricing {
285
+ text-align: center;
286
+ }
287
+
288
+ .card-pricing .card-body {
289
+ padding: 2rem;
290
+ }
291
+
292
+ .card-pricing-price {
293
+ font-size: 3rem;
294
+ font-weight: 700;
295
+ color: var(--j-primary);
296
+ line-height: 1;
297
+ margin-bottom: 0.5rem;
298
+ }
299
+
300
+ .card-pricing-price-period {
301
+ font-size: 1rem;
302
+ font-weight: 400;
303
+ color: var(--j-text-subtle);
304
+ }
305
+
306
+ .card-pricing-features {
307
+ list-style: none;
308
+ padding: 0;
309
+ margin: 1.5rem 0;
310
+ text-align: left;
311
+ }
312
+
313
+ .card-pricing-features li {
314
+ padding: 0.5rem 0;
315
+ border-bottom: 1px solid var(--j-border);
316
+ }
317
+
318
+ .card-pricing-features li:last-child {
319
+ border-bottom: none;
320
+ }
321
+
322
+ .card-pricing-popular {
323
+ border-color: var(--j-primary);
324
+ border-width: 2px;
325
+ position: relative;
326
+ }
327
+
328
+ .card-pricing-popular::before {
329
+ content: "Popular";
330
+ position: absolute;
331
+ top: 0;
332
+ left: 50%;
333
+ transform: translate(-50%, -50%);
334
+ background-color: var(--j-primary);
335
+ color: white;
336
+ padding: 0.25rem 1rem;
337
+ border-radius: 9999px;
338
+ font-size: 0.75rem;
339
+ font-weight: 600;
340
+ }
341
+ `;
342
+ }