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,434 @@
1
+ // Command Palette component for JasminCSS
2
+
3
+ export function generateCommandPaletteStyles(config) {
4
+ return `/* Command Palette Overlay */
5
+ .command-palette-overlay {
6
+ position: fixed;
7
+ inset: 0;
8
+ z-index: 9998;
9
+ background-color: rgba(0, 0, 0, 0.5);
10
+ opacity: 0;
11
+ visibility: hidden;
12
+ transition: opacity 150ms ease-in-out, visibility 150ms;
13
+ }
14
+
15
+ .command-palette-overlay.show {
16
+ opacity: 1;
17
+ visibility: visible;
18
+ }
19
+
20
+ /* Command Palette Container */
21
+ .command-palette {
22
+ position: fixed;
23
+ top: 20%;
24
+ left: 50%;
25
+ transform: translateX(-50%) scale(0.95);
26
+ z-index: 9999;
27
+ width: 100%;
28
+ max-width: 640px;
29
+ background-color: var(--j-bg);
30
+ border: 1px solid var(--j-border);
31
+ border-radius: var(--j-radius-xl, 0.75rem);
32
+ box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
33
+ overflow: hidden;
34
+ opacity: 0;
35
+ visibility: hidden;
36
+ transition: opacity 150ms ease-in-out, transform 150ms ease-in-out, visibility 150ms;
37
+ }
38
+
39
+ .command-palette.show {
40
+ opacity: 1;
41
+ visibility: visible;
42
+ transform: translateX(-50%) scale(1);
43
+ }
44
+
45
+ /* Command Palette Header/Search */
46
+ .command-palette-header {
47
+ display: flex;
48
+ align-items: center;
49
+ gap: 0.75rem;
50
+ padding: 1rem;
51
+ border-bottom: 1px solid var(--j-border);
52
+ }
53
+
54
+ .command-palette-icon {
55
+ width: 1.25rem;
56
+ height: 1.25rem;
57
+ color: var(--j-text-muted);
58
+ flex-shrink: 0;
59
+ }
60
+
61
+ /* Search icon default */
62
+ .command-palette-icon::before {
63
+ content: "⌕";
64
+ font-size: 1.25rem;
65
+ }
66
+
67
+ .command-palette-icon:has(svg)::before {
68
+ display: none;
69
+ }
70
+
71
+ .command-palette-input {
72
+ flex: 1;
73
+ padding: 0;
74
+ border: none;
75
+ background: transparent;
76
+ font-size: 1rem;
77
+ color: var(--j-text);
78
+ outline: none;
79
+ }
80
+
81
+ .command-palette-input::placeholder {
82
+ color: var(--j-text-muted);
83
+ }
84
+
85
+ .command-palette-shortcut {
86
+ display: flex;
87
+ align-items: center;
88
+ gap: 0.25rem;
89
+ font-size: 0.75rem;
90
+ color: var(--j-text-muted);
91
+ }
92
+
93
+ .command-palette-kbd {
94
+ display: inline-flex;
95
+ align-items: center;
96
+ justify-content: center;
97
+ min-width: 1.5rem;
98
+ height: 1.5rem;
99
+ padding: 0 0.375rem;
100
+ font-size: 0.6875rem;
101
+ font-family: inherit;
102
+ font-weight: 500;
103
+ background-color: var(--j-bg-subtle);
104
+ border: 1px solid var(--j-border);
105
+ border-radius: var(--j-radius-sm, 0.25rem);
106
+ }
107
+
108
+ /* Command Palette Body */
109
+ .command-palette-body {
110
+ max-height: 400px;
111
+ overflow-y: auto;
112
+ }
113
+
114
+ /* Command Palette Groups */
115
+ .command-palette-group {
116
+ padding: 0.5rem 0;
117
+ }
118
+
119
+ .command-palette-group + .command-palette-group {
120
+ border-top: 1px solid var(--j-border);
121
+ }
122
+
123
+ .command-palette-group-title {
124
+ padding: 0.5rem 1rem;
125
+ font-size: 0.6875rem;
126
+ font-weight: 600;
127
+ color: var(--j-text-muted);
128
+ text-transform: uppercase;
129
+ letter-spacing: 0.05em;
130
+ }
131
+
132
+ /* Command Palette Items */
133
+ .command-palette-item {
134
+ display: flex;
135
+ align-items: center;
136
+ gap: 0.75rem;
137
+ width: 100%;
138
+ padding: 0.75rem 1rem;
139
+ font-size: 0.875rem;
140
+ color: var(--j-text);
141
+ text-align: left;
142
+ text-decoration: none;
143
+ background: transparent;
144
+ border: none;
145
+ cursor: pointer;
146
+ transition: background-color 100ms ease-in-out;
147
+ }
148
+
149
+ .command-palette-item:hover,
150
+ .command-palette-item.active,
151
+ .command-palette-item[aria-selected="true"] {
152
+ background-color: var(--j-bg-subtle);
153
+ }
154
+
155
+ .command-palette-item:focus {
156
+ outline: none;
157
+ background-color: var(--j-bg-subtle);
158
+ }
159
+
160
+ .command-palette-item-icon {
161
+ width: 1.25rem;
162
+ height: 1.25rem;
163
+ color: var(--j-text-muted);
164
+ flex-shrink: 0;
165
+ }
166
+
167
+ .command-palette-item-content {
168
+ flex: 1;
169
+ min-width: 0;
170
+ }
171
+
172
+ .command-palette-item-title {
173
+ font-weight: 500;
174
+ white-space: nowrap;
175
+ overflow: hidden;
176
+ text-overflow: ellipsis;
177
+ }
178
+
179
+ .command-palette-item-description {
180
+ font-size: 0.75rem;
181
+ color: var(--j-text-muted);
182
+ white-space: nowrap;
183
+ overflow: hidden;
184
+ text-overflow: ellipsis;
185
+ }
186
+
187
+ .command-palette-item-shortcut {
188
+ display: flex;
189
+ align-items: center;
190
+ gap: 0.25rem;
191
+ flex-shrink: 0;
192
+ }
193
+
194
+ .command-palette-item-badge {
195
+ padding: 0.125rem 0.5rem;
196
+ font-size: 0.6875rem;
197
+ font-weight: 500;
198
+ background-color: var(--j-bg-muted);
199
+ border-radius: var(--j-radius-full, 9999px);
200
+ color: var(--j-text-muted);
201
+ }
202
+
203
+ /* Command Palette Footer */
204
+ .command-palette-footer {
205
+ display: flex;
206
+ align-items: center;
207
+ justify-content: space-between;
208
+ gap: 1rem;
209
+ padding: 0.75rem 1rem;
210
+ border-top: 1px solid var(--j-border);
211
+ background-color: var(--j-bg-subtle);
212
+ font-size: 0.75rem;
213
+ color: var(--j-text-muted);
214
+ }
215
+
216
+ .command-palette-footer-hints {
217
+ display: flex;
218
+ align-items: center;
219
+ gap: 1rem;
220
+ }
221
+
222
+ .command-palette-footer-hint {
223
+ display: flex;
224
+ align-items: center;
225
+ gap: 0.375rem;
226
+ }
227
+
228
+ /* Empty State */
229
+ .command-palette-empty {
230
+ display: flex;
231
+ flex-direction: column;
232
+ align-items: center;
233
+ justify-content: center;
234
+ padding: 3rem 1rem;
235
+ text-align: center;
236
+ }
237
+
238
+ .command-palette-empty-icon {
239
+ width: 3rem;
240
+ height: 3rem;
241
+ margin-bottom: 1rem;
242
+ color: var(--j-text-muted);
243
+ opacity: 0.5;
244
+ }
245
+
246
+ .command-palette-empty-title {
247
+ font-size: 0.875rem;
248
+ font-weight: 500;
249
+ color: var(--j-text);
250
+ margin-bottom: 0.25rem;
251
+ }
252
+
253
+ .command-palette-empty-text {
254
+ font-size: 0.8125rem;
255
+ color: var(--j-text-muted);
256
+ }
257
+
258
+ /* Loading State */
259
+ .command-palette-loading {
260
+ display: flex;
261
+ align-items: center;
262
+ justify-content: center;
263
+ padding: 2rem;
264
+ }
265
+
266
+ /* Recent Searches */
267
+ .command-palette-recent {
268
+ display: flex;
269
+ align-items: center;
270
+ gap: 0.5rem;
271
+ }
272
+
273
+ .command-palette-recent-tag {
274
+ display: inline-flex;
275
+ align-items: center;
276
+ gap: 0.25rem;
277
+ padding: 0.25rem 0.5rem;
278
+ font-size: 0.75rem;
279
+ background-color: var(--j-bg-subtle);
280
+ border: 1px solid var(--j-border);
281
+ border-radius: var(--j-radius-full, 9999px);
282
+ cursor: pointer;
283
+ transition: all 150ms ease-in-out;
284
+ }
285
+
286
+ .command-palette-recent-tag:hover {
287
+ background-color: var(--j-bg-muted);
288
+ }
289
+
290
+ /* Highlight Match */
291
+ .command-palette-match {
292
+ background-color: color-mix(in srgb, var(--j-warning) 30%, transparent);
293
+ border-radius: 0.125rem;
294
+ }
295
+
296
+ /* Command Palette Sizes */
297
+ .command-palette-sm {
298
+ max-width: 480px;
299
+ }
300
+
301
+ .command-palette-lg {
302
+ max-width: 768px;
303
+ }
304
+
305
+ .command-palette-full {
306
+ max-width: calc(100vw - 2rem);
307
+ max-height: calc(100vh - 4rem);
308
+ top: 2rem;
309
+ }
310
+
311
+ .command-palette-full .command-palette-body {
312
+ max-height: calc(100vh - 12rem);
313
+ }
314
+
315
+ /* Dark Variant */
316
+ .command-palette-dark {
317
+ background-color: var(--j-bg-dark, #1f2937);
318
+ border-color: var(--j-border-dark, #374151);
319
+ color: white;
320
+ }
321
+
322
+ .command-palette-dark .command-palette-header {
323
+ border-color: var(--j-border-dark, #374151);
324
+ }
325
+
326
+ .command-palette-dark .command-palette-input {
327
+ color: white;
328
+ }
329
+
330
+ .command-palette-dark .command-palette-input::placeholder {
331
+ color: rgba(255, 255, 255, 0.5);
332
+ }
333
+
334
+ .command-palette-dark .command-palette-item {
335
+ color: white;
336
+ }
337
+
338
+ .command-palette-dark .command-palette-item:hover,
339
+ .command-palette-dark .command-palette-item.active {
340
+ background-color: rgba(255, 255, 255, 0.1);
341
+ }
342
+
343
+ .command-palette-dark .command-palette-group + .command-palette-group {
344
+ border-color: var(--j-border-dark, #374151);
345
+ }
346
+
347
+ .command-palette-dark .command-palette-footer {
348
+ background-color: rgba(0, 0, 0, 0.2);
349
+ border-color: var(--j-border-dark, #374151);
350
+ }
351
+
352
+ .command-palette-dark .command-palette-kbd {
353
+ background-color: rgba(255, 255, 255, 0.1);
354
+ border-color: rgba(255, 255, 255, 0.2);
355
+ color: rgba(255, 255, 255, 0.7);
356
+ }
357
+
358
+ /* Glass Variant */
359
+ .command-palette-glass {
360
+ background: rgba(255, 255, 255, 0.85);
361
+ backdrop-filter: blur(16px);
362
+ -webkit-backdrop-filter: blur(16px);
363
+ border-color: rgba(255, 255, 255, 0.3);
364
+ }
365
+
366
+ .dark .command-palette-glass {
367
+ background: rgba(0, 0, 0, 0.75);
368
+ border-color: rgba(255, 255, 255, 0.1);
369
+ }
370
+
371
+ /* Nested/Drill-down */
372
+ .command-palette-breadcrumb {
373
+ display: flex;
374
+ align-items: center;
375
+ gap: 0.5rem;
376
+ padding: 0.5rem 1rem;
377
+ font-size: 0.75rem;
378
+ color: var(--j-text-muted);
379
+ border-bottom: 1px solid var(--j-border);
380
+ }
381
+
382
+ .command-palette-breadcrumb-item {
383
+ cursor: pointer;
384
+ }
385
+
386
+ .command-palette-breadcrumb-item:hover {
387
+ color: var(--j-primary);
388
+ }
389
+
390
+ .command-palette-breadcrumb-separator {
391
+ color: var(--j-border);
392
+ }
393
+
394
+ /* Action Types */
395
+ .command-palette-item-action {
396
+ padding: 0.25rem 0.5rem;
397
+ font-size: 0.6875rem;
398
+ font-weight: 500;
399
+ background-color: color-mix(in srgb, var(--j-primary) 15%, transparent);
400
+ color: var(--j-primary);
401
+ border-radius: var(--j-radius-sm, 0.25rem);
402
+ }
403
+
404
+ .command-palette-item-action-warning {
405
+ background-color: color-mix(in srgb, var(--j-warning) 15%, transparent);
406
+ color: var(--j-warning);
407
+ }
408
+
409
+ .command-palette-item-action-danger {
410
+ background-color: color-mix(in srgb, var(--j-error) 15%, transparent);
411
+ color: var(--j-error);
412
+ }
413
+
414
+ /* Responsive */
415
+ @media (max-width: 640px) {
416
+ .command-palette {
417
+ top: 0;
418
+ left: 0;
419
+ right: 0;
420
+ transform: translateY(-100%);
421
+ max-width: 100%;
422
+ border-radius: 0 0 var(--j-radius-lg, 0.5rem) var(--j-radius-lg, 0.5rem);
423
+ }
424
+
425
+ .command-palette.show {
426
+ transform: translateY(0);
427
+ }
428
+
429
+ .command-palette-body {
430
+ max-height: 60vh;
431
+ }
432
+ }
433
+ `;
434
+ }