mljr-css 0.1.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 (53) hide show
  1. package/README.md +299 -0
  2. package/dist/mljr.css +12214 -0
  3. package/dist/mljr.min.css +3 -0
  4. package/dist/plugin.cjs +139 -0
  5. package/dist/plugin.d.cts +73 -0
  6. package/dist/plugin.d.ts +73 -0
  7. package/dist/plugin.js +102 -0
  8. package/package.json +60 -0
  9. package/src/base/reset.css +210 -0
  10. package/src/base/typography.css +286 -0
  11. package/src/components/accordion.css +210 -0
  12. package/src/components/alert.css +231 -0
  13. package/src/components/avatar.css +222 -0
  14. package/src/components/badge.css +315 -0
  15. package/src/components/breadcrumb.css +100 -0
  16. package/src/components/button.css +383 -0
  17. package/src/components/card.css +319 -0
  18. package/src/components/carousel.css +179 -0
  19. package/src/components/checkbox.css +303 -0
  20. package/src/components/chip.css +207 -0
  21. package/src/components/divider.css +248 -0
  22. package/src/components/drawer.css +242 -0
  23. package/src/components/dropdown.css +246 -0
  24. package/src/components/empty-state.css +216 -0
  25. package/src/components/file-upload.css +262 -0
  26. package/src/components/footer.css +231 -0
  27. package/src/components/input.css +504 -0
  28. package/src/components/modal.css +179 -0
  29. package/src/components/pagination.css +143 -0
  30. package/src/components/password.css +449 -0
  31. package/src/components/popover.css +175 -0
  32. package/src/components/progress.css +165 -0
  33. package/src/components/radio.css +200 -0
  34. package/src/components/select.css +165 -0
  35. package/src/components/sidebar.css +236 -0
  36. package/src/components/skeleton.css +161 -0
  37. package/src/components/spinner.css +259 -0
  38. package/src/components/stepper.css +257 -0
  39. package/src/components/table.css +184 -0
  40. package/src/components/tabs.css +219 -0
  41. package/src/components/textarea.css +164 -0
  42. package/src/components/toast.css +294 -0
  43. package/src/components/tooltip.css +99 -0
  44. package/src/index.css +54 -0
  45. package/src/layout/container.css +181 -0
  46. package/src/layout/footer.css +319 -0
  47. package/src/layout/header.css +223 -0
  48. package/src/layout/navbar.css +461 -0
  49. package/src/layout/navigation.css +328 -0
  50. package/src/layout/sidebar.css +334 -0
  51. package/src/plugin.ts +130 -0
  52. package/src/themes/variables.css +345 -0
  53. package/src/utilities/utilities.css +598 -0
@@ -0,0 +1,461 @@
1
+ /* ============================================
2
+ MLJR CSS Framework - Navbar Component
3
+ Claymorphism: Soft elevated navigation bar
4
+ ============================================ */
5
+
6
+ .mljr-navbar {
7
+ position: relative;
8
+ top: 0;
9
+ left: 0;
10
+ right: 0;
11
+ z-index: 50;
12
+ background: linear-gradient(145deg, var(--mljr-bg) 0%, var(--mljr-bg-secondary) 100%);
13
+ box-shadow:
14
+ 0 4px 20px rgba(0, 0, 0, 0.08),
15
+ 0 2px 8px rgba(0, 0, 0, 0.04),
16
+ inset 0 1px 2px rgba(255, 255, 255, 0.6);
17
+ border-radius: 0 0 var(--mljr-radius-xl) var(--mljr-radius-xl);
18
+ margin: var(--mljr-space-2);
19
+ margin-top: 0;
20
+ border: 1px solid rgba(255, 255, 255, 0.3);
21
+ border-top: none;
22
+ }
23
+
24
+ .mljr-navbar-fixed {
25
+ position: fixed;
26
+ }
27
+
28
+ .mljr-navbar-sticky {
29
+ position: sticky;
30
+ }
31
+
32
+ .mljr-navbar-transparent {
33
+ background: rgba(var(--mljr-bg-rgb, 255, 255, 255), 0.85);
34
+ backdrop-filter: blur(12px);
35
+ -webkit-backdrop-filter: blur(12px);
36
+ box-shadow:
37
+ 0 4px 20px rgba(0, 0, 0, 0.05),
38
+ inset 0 1px 2px rgba(255, 255, 255, 0.4);
39
+ }
40
+
41
+ .mljr-navbar-container {
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: space-between;
45
+ max-width: 1440px;
46
+ margin: 0 auto;
47
+ padding: var(--mljr-space-3) var(--mljr-space-6);
48
+ min-height: 64px;
49
+ }
50
+
51
+ /* Start Section */
52
+ .mljr-navbar-start {
53
+ display: flex;
54
+ align-items: center;
55
+ gap: var(--mljr-space-3);
56
+ flex: 1;
57
+ }
58
+
59
+ /* Mobile Toggle Button - Enhanced Claymorphism */
60
+ .mljr-navbar-toggle {
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ width: 2.75rem;
65
+ height: 2.75rem;
66
+ padding: 0;
67
+ background: linear-gradient(145deg, var(--mljr-bg-secondary) 0%, var(--mljr-bg) 100%);
68
+ border: 1px solid rgba(255, 255, 255, 0.3);
69
+ border-radius: var(--mljr-radius-lg);
70
+ color: var(--mljr-text);
71
+ cursor: pointer;
72
+ box-shadow:
73
+ 4px 4px 8px rgba(0, 0, 0, 0.08),
74
+ -2px -2px 6px rgba(255, 255, 255, 0.7),
75
+ inset 0 1px 2px rgba(255, 255, 255, 0.5);
76
+ transition: all var(--mljr-transition-fast);
77
+ }
78
+
79
+ .mljr-navbar-toggle:hover {
80
+ transform: translateY(-2px) scale(1.05);
81
+ box-shadow:
82
+ 6px 6px 12px rgba(0, 0, 0, 0.1),
83
+ -3px -3px 8px rgba(255, 255, 255, 0.8),
84
+ inset 0 1px 2px rgba(255, 255, 255, 0.6);
85
+ }
86
+
87
+ .mljr-navbar-toggle:active {
88
+ transform: translateY(0);
89
+ box-shadow:
90
+ inset 3px 3px 6px rgba(0, 0, 0, 0.1),
91
+ inset -2px -2px 4px rgba(255, 255, 255, 0.5);
92
+ }
93
+
94
+ @media (min-width: 1024px) {
95
+ .mljr-navbar-toggle {
96
+ display: none;
97
+ }
98
+ }
99
+
100
+ /* Logo */
101
+ .mljr-navbar-logo {
102
+ display: flex;
103
+ align-items: center;
104
+ font-size: var(--mljr-text-xl);
105
+ font-weight: 700;
106
+ color: var(--mljr-text);
107
+ text-decoration: none;
108
+ padding: var(--mljr-space-2) var(--mljr-space-3);
109
+ background: linear-gradient(145deg, var(--mljr-bg-secondary) 0%, var(--mljr-bg) 100%);
110
+ border-radius: var(--mljr-radius-lg);
111
+ box-shadow:
112
+ 3px 3px 6px rgba(0, 0, 0, 0.06),
113
+ -2px -2px 4px rgba(255, 255, 255, 0.6),
114
+ inset 0 1px 2px rgba(255, 255, 255, 0.5);
115
+ border: 1px solid rgba(255, 255, 255, 0.3);
116
+ }
117
+
118
+ /* Center Section - Desktop Navigation */
119
+ .mljr-navbar-center {
120
+ display: none;
121
+ flex: 2;
122
+ justify-content: center;
123
+ }
124
+
125
+ @media (min-width: 1024px) {
126
+ .mljr-navbar-center {
127
+ display: flex;
128
+ }
129
+ }
130
+
131
+ .mljr-navbar-menu {
132
+ display: flex;
133
+ align-items: center;
134
+ gap: var(--mljr-space-1);
135
+ list-style: none;
136
+ margin: 0;
137
+ padding: var(--mljr-space-2);
138
+ background: linear-gradient(145deg, var(--mljr-bg-secondary) 0%, var(--mljr-bg-tertiary) 100%);
139
+ border-radius: var(--mljr-radius-full);
140
+ box-shadow:
141
+ inset 3px 3px 6px rgba(0, 0, 0, 0.06),
142
+ inset -2px -2px 4px rgba(255, 255, 255, 0.5),
143
+ 1px 1px 2px rgba(255, 255, 255, 0.3);
144
+ border: 1px solid rgba(255, 255, 255, 0.2);
145
+ }
146
+
147
+ .mljr-navbar-item {
148
+ position: relative;
149
+ }
150
+
151
+ .mljr-navbar-link {
152
+ display: flex;
153
+ align-items: center;
154
+ gap: var(--mljr-space-2);
155
+ padding: var(--mljr-space-2) var(--mljr-space-4);
156
+ color: var(--mljr-text-secondary);
157
+ text-decoration: none;
158
+ font-size: var(--mljr-text-sm);
159
+ font-weight: 500;
160
+ border-radius: var(--mljr-radius-full);
161
+ transition: all var(--mljr-transition-fast);
162
+ background: transparent;
163
+ box-shadow: none;
164
+ border: 1px solid transparent;
165
+ }
166
+
167
+ .mljr-navbar-link:hover {
168
+ color: var(--mljr-text);
169
+ background: linear-gradient(145deg, var(--mljr-bg) 0%, var(--mljr-bg-secondary) 100%);
170
+ box-shadow:
171
+ 3px 3px 6px rgba(0, 0, 0, 0.06),
172
+ -2px -2px 4px rgba(255, 255, 255, 0.5),
173
+ inset 0 1px 2px rgba(255, 255, 255, 0.5);
174
+ border-color: rgba(255, 255, 255, 0.3);
175
+ transform: translateY(-1px);
176
+ }
177
+
178
+ .mljr-navbar-link-active {
179
+ color: var(--mljr-primary-600);
180
+ background: linear-gradient(145deg, var(--mljr-primary-100) 0%, rgba(249, 115, 22, 0.1) 100%);
181
+ box-shadow:
182
+ 2px 2px 4px rgba(249, 115, 22, 0.15),
183
+ -1px -1px 3px rgba(255, 255, 255, 0.5),
184
+ inset 0 0 0 1.5px var(--mljr-primary-300);
185
+ border-color: var(--mljr-primary-200);
186
+ }
187
+
188
+ .mljr-navbar-link-icon {
189
+ opacity: 0.7;
190
+ }
191
+
192
+ /* Dropdown - Enhanced Claymorphism */
193
+ .mljr-navbar-dropdown {
194
+ position: absolute;
195
+ top: calc(100% + var(--mljr-space-2));
196
+ left: 0;
197
+ min-width: 200px;
198
+ padding: var(--mljr-space-2);
199
+ background: linear-gradient(145deg, var(--mljr-bg) 0%, var(--mljr-bg-secondary) 100%);
200
+ border-radius: var(--mljr-radius-xl);
201
+ box-shadow:
202
+ 8px 8px 24px rgba(0, 0, 0, 0.12),
203
+ 4px 4px 12px rgba(0, 0, 0, 0.06),
204
+ -2px -2px 8px rgba(255, 255, 255, 0.5),
205
+ inset 0 1px 2px rgba(255, 255, 255, 0.6);
206
+ border: 1px solid rgba(255, 255, 255, 0.3);
207
+ opacity: 0;
208
+ visibility: hidden;
209
+ transform: translateY(-8px);
210
+ transition: all var(--mljr-transition-fast);
211
+ z-index: 100;
212
+ }
213
+
214
+ .mljr-navbar-item-has-children:hover .mljr-navbar-dropdown {
215
+ opacity: 1;
216
+ visibility: visible;
217
+ transform: translateY(0);
218
+ }
219
+
220
+ .mljr-navbar-dropdown-menu {
221
+ list-style: none;
222
+ margin: 0;
223
+ padding: 0;
224
+ }
225
+
226
+ .mljr-navbar-dropdown-link {
227
+ display: flex;
228
+ align-items: center;
229
+ gap: var(--mljr-space-2);
230
+ padding: var(--mljr-space-3) var(--mljr-space-4);
231
+ color: var(--mljr-text-secondary);
232
+ text-decoration: none;
233
+ font-size: var(--mljr-text-sm);
234
+ border-radius: var(--mljr-radius-lg);
235
+ transition: all var(--mljr-transition-fast);
236
+ background: transparent;
237
+ border: 1px solid transparent;
238
+ }
239
+
240
+ .mljr-navbar-dropdown-link:hover {
241
+ color: var(--mljr-text);
242
+ background: linear-gradient(145deg, var(--mljr-bg-secondary) 0%, var(--mljr-bg) 100%);
243
+ box-shadow:
244
+ 3px 3px 6px rgba(0, 0, 0, 0.05),
245
+ -2px -2px 4px rgba(255, 255, 255, 0.5),
246
+ inset 0 1px 2px rgba(255, 255, 255, 0.4);
247
+ border-color: rgba(255, 255, 255, 0.3);
248
+ transform: translateX(4px);
249
+ }
250
+
251
+ .mljr-navbar-dropdown-link-active {
252
+ color: var(--mljr-primary-600);
253
+ background: linear-gradient(145deg, var(--mljr-primary-50) 0%, rgba(249, 115, 22, 0.05) 100%);
254
+ box-shadow: inset 0 0 0 1.5px var(--mljr-primary-200);
255
+ }
256
+
257
+ /* End Section */
258
+ .mljr-navbar-end {
259
+ display: flex;
260
+ align-items: center;
261
+ justify-content: flex-end;
262
+ gap: var(--mljr-space-3);
263
+ flex: 1;
264
+ }
265
+
266
+ .mljr-navbar-actions {
267
+ display: flex;
268
+ align-items: center;
269
+ gap: var(--mljr-space-2);
270
+ padding: var(--mljr-space-2);
271
+ background: linear-gradient(145deg, var(--mljr-bg-secondary) 0%, var(--mljr-bg-tertiary) 100%);
272
+ border-radius: var(--mljr-radius-full);
273
+ box-shadow:
274
+ inset 2px 2px 4px rgba(0, 0, 0, 0.05),
275
+ inset -2px -2px 4px rgba(255, 255, 255, 0.4),
276
+ 1px 1px 2px rgba(255, 255, 255, 0.2);
277
+ border: 1px solid rgba(255, 255, 255, 0.15);
278
+ }
279
+
280
+ /* Mobile Menu - Enhanced Claymorphism */
281
+ .mljr-navbar-mobile {
282
+ display: block;
283
+ padding: var(--mljr-space-4);
284
+ background: linear-gradient(145deg, var(--mljr-bg) 0%, var(--mljr-bg-secondary) 100%);
285
+ border-top: none;
286
+ border-radius: 0 0 var(--mljr-radius-xl) var(--mljr-radius-xl);
287
+ box-shadow:
288
+ inset 0 4px 8px rgba(0, 0, 0, 0.05),
289
+ 0 8px 24px rgba(0, 0, 0, 0.08);
290
+ animation: navbarMobileSlideDown 0.3s ease;
291
+ }
292
+
293
+ @keyframes navbarMobileSlideDown {
294
+ from {
295
+ opacity: 0;
296
+ transform: translateY(-10px);
297
+ }
298
+ to {
299
+ opacity: 1;
300
+ transform: translateY(0);
301
+ }
302
+ }
303
+
304
+ @media (min-width: 1024px) {
305
+ .mljr-navbar-mobile {
306
+ display: none;
307
+ }
308
+ }
309
+
310
+ .mljr-navbar-mobile-nav {
311
+ max-height: calc(100vh - 80px);
312
+ overflow-y: auto;
313
+ }
314
+
315
+ .mljr-navbar-mobile-menu {
316
+ list-style: none;
317
+ margin: 0;
318
+ padding: var(--mljr-space-2);
319
+ display: flex;
320
+ flex-direction: column;
321
+ gap: var(--mljr-space-2);
322
+ background: linear-gradient(145deg, var(--mljr-bg-secondary) 0%, var(--mljr-bg-tertiary) 100%);
323
+ border-radius: var(--mljr-radius-xl);
324
+ box-shadow:
325
+ inset 3px 3px 6px rgba(0, 0, 0, 0.05),
326
+ inset -2px -2px 4px rgba(255, 255, 255, 0.4),
327
+ 1px 1px 2px rgba(255, 255, 255, 0.2);
328
+ border: 1px solid rgba(255, 255, 255, 0.15);
329
+ }
330
+
331
+ .mljr-navbar-mobile-link {
332
+ display: flex;
333
+ align-items: center;
334
+ gap: var(--mljr-space-3);
335
+ padding: var(--mljr-space-3) var(--mljr-space-4);
336
+ color: var(--mljr-text-secondary);
337
+ text-decoration: none;
338
+ font-size: var(--mljr-text-base);
339
+ font-weight: 500;
340
+ border-radius: var(--mljr-radius-lg);
341
+ transition: all var(--mljr-transition-fast);
342
+ background: linear-gradient(145deg, var(--mljr-bg) 0%, var(--mljr-bg-secondary) 100%);
343
+ box-shadow:
344
+ 3px 3px 6px rgba(0, 0, 0, 0.05),
345
+ -2px -2px 4px rgba(255, 255, 255, 0.5),
346
+ inset 0 1px 2px rgba(255, 255, 255, 0.4);
347
+ border: 1px solid rgba(255, 255, 255, 0.2);
348
+ }
349
+
350
+ .mljr-navbar-mobile-link:hover {
351
+ color: var(--mljr-text);
352
+ transform: translateX(4px);
353
+ box-shadow:
354
+ 5px 5px 10px rgba(0, 0, 0, 0.08),
355
+ -3px -3px 6px rgba(255, 255, 255, 0.6),
356
+ inset 0 1px 2px rgba(255, 255, 255, 0.5);
357
+ border-color: rgba(255, 255, 255, 0.3);
358
+ }
359
+
360
+ .mljr-navbar-mobile-link-active {
361
+ color: var(--mljr-primary-600);
362
+ background: linear-gradient(145deg, var(--mljr-primary-100) 0%, rgba(249, 115, 22, 0.1) 100%);
363
+ box-shadow:
364
+ 2px 2px 4px rgba(249, 115, 22, 0.1),
365
+ -1px -1px 3px rgba(255, 255, 255, 0.5),
366
+ inset 0 0 0 2px var(--mljr-primary-300);
367
+ border-color: var(--mljr-primary-200);
368
+ }
369
+
370
+ .mljr-navbar-mobile-submenu {
371
+ list-style: none;
372
+ margin: var(--mljr-space-2) 0 0 var(--mljr-space-4);
373
+ padding: 0;
374
+ display: flex;
375
+ flex-direction: column;
376
+ gap: var(--mljr-space-1);
377
+ }
378
+
379
+ .mljr-navbar-mobile-sublink {
380
+ display: block;
381
+ padding: var(--mljr-space-2) var(--mljr-space-4);
382
+ color: var(--mljr-text-muted);
383
+ text-decoration: none;
384
+ font-size: var(--mljr-text-sm);
385
+ border-radius: var(--mljr-radius-md);
386
+ transition: all var(--mljr-transition-fast);
387
+ background: transparent;
388
+ }
389
+
390
+ .mljr-navbar-mobile-sublink:hover {
391
+ color: var(--mljr-text);
392
+ background: linear-gradient(145deg, var(--mljr-bg-tertiary) 0%, var(--mljr-bg-secondary) 100%);
393
+ padding-left: var(--mljr-space-6);
394
+ box-shadow:
395
+ inset 2px 2px 4px rgba(0, 0, 0, 0.03),
396
+ inset -1px -1px 3px rgba(255, 255, 255, 0.3);
397
+ }
398
+
399
+ .mljr-navbar-mobile-sublink-active {
400
+ color: var(--mljr-primary-600);
401
+ background: linear-gradient(145deg, var(--mljr-primary-50) 0%, rgba(249, 115, 22, 0.05) 100%);
402
+ box-shadow: inset 0 0 0 1.5px var(--mljr-primary-200);
403
+ }
404
+
405
+ /* Dark Mode - Enhanced Claymorphism */
406
+ .dark .mljr-navbar,
407
+ [data-theme="dark"] .mljr-navbar {
408
+ background: linear-gradient(145deg, var(--mljr-bg-secondary) 0%, var(--mljr-bg-tertiary) 100%);
409
+ box-shadow:
410
+ 0 4px 20px rgba(0, 0, 0, 0.2),
411
+ 0 2px 8px rgba(0, 0, 0, 0.1),
412
+ inset 0 1px 2px rgba(255, 255, 255, 0.1);
413
+ border-color: rgba(255, 255, 255, 0.1);
414
+ }
415
+
416
+ .dark .mljr-navbar-menu,
417
+ [data-theme="dark"] .mljr-navbar-menu,
418
+ .dark .mljr-navbar-actions,
419
+ [data-theme="dark"] .mljr-navbar-actions {
420
+ background: linear-gradient(145deg, var(--mljr-bg-tertiary) 0%, var(--mljr-bg) 100%);
421
+ box-shadow:
422
+ inset 3px 3px 6px rgba(0, 0, 0, 0.2),
423
+ inset -2px -2px 4px rgba(68, 64, 60, 0.3),
424
+ 1px 1px 2px rgba(68, 64, 60, 0.2);
425
+ border-color: rgba(255, 255, 255, 0.05);
426
+ }
427
+
428
+ .dark .mljr-navbar-link:hover,
429
+ [data-theme="dark"] .mljr-navbar-link:hover {
430
+ background: linear-gradient(145deg, var(--mljr-bg-secondary) 0%, var(--mljr-bg-tertiary) 100%);
431
+ border-color: rgba(255, 255, 255, 0.1);
432
+ }
433
+
434
+ .dark .mljr-navbar-mobile-menu,
435
+ [data-theme="dark"] .mljr-navbar-mobile-menu {
436
+ background: linear-gradient(145deg, var(--mljr-bg-tertiary) 0%, var(--mljr-bg) 100%);
437
+ box-shadow:
438
+ inset 3px 3px 6px rgba(0, 0, 0, 0.2),
439
+ inset -2px -2px 4px rgba(68, 64, 60, 0.2);
440
+ }
441
+
442
+ .dark .mljr-navbar-mobile-link,
443
+ [data-theme="dark"] .mljr-navbar-mobile-link {
444
+ background: linear-gradient(145deg, var(--mljr-bg-secondary) 0%, var(--mljr-bg-tertiary) 100%);
445
+ box-shadow:
446
+ 3px 3px 6px rgba(0, 0, 0, 0.15),
447
+ -2px -2px 4px rgba(68, 64, 60, 0.2),
448
+ inset 0 1px 2px rgba(255, 255, 255, 0.05);
449
+ border-color: rgba(255, 255, 255, 0.05);
450
+ }
451
+
452
+ .dark .mljr-navbar-dropdown,
453
+ [data-theme="dark"] .mljr-navbar-dropdown {
454
+ background: linear-gradient(145deg, var(--mljr-bg-secondary) 0%, var(--mljr-bg-tertiary) 100%);
455
+ box-shadow:
456
+ 8px 8px 24px rgba(0, 0, 0, 0.3),
457
+ 4px 4px 12px rgba(0, 0, 0, 0.15),
458
+ -2px -2px 8px rgba(68, 64, 60, 0.2),
459
+ inset 0 1px 2px rgba(255, 255, 255, 0.05);
460
+ border-color: rgba(255, 255, 255, 0.1);
461
+ }