create-template-html-css 1.2.2 → 1.4.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 (36) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +165 -1
  3. package/bin/cli.js +27 -3
  4. package/package.json +16 -8
  5. package/src/generator.js +1 -1
  6. package/src/inserter.js +1 -1
  7. package/templates/animated-card/index.html +85 -0
  8. package/templates/animated-card/script.js +37 -0
  9. package/templates/animated-card/style.css +254 -0
  10. package/templates/dashboard-grid/index.html +247 -0
  11. package/templates/dashboard-grid/script.js +157 -0
  12. package/templates/dashboard-grid/style.css +558 -0
  13. package/templates/fade-gallery/index.html +134 -0
  14. package/templates/fade-gallery/script.js +123 -0
  15. package/templates/fade-gallery/style.css +309 -0
  16. package/templates/flex-cards/index.html +276 -0
  17. package/templates/flex-cards/script.js +122 -0
  18. package/templates/flex-cards/style.css +556 -0
  19. package/templates/flex-dashboard/index.html +282 -0
  20. package/templates/flex-dashboard/script.js +149 -0
  21. package/templates/flex-dashboard/style.css +659 -0
  22. package/templates/flex-layout/index.html +185 -0
  23. package/templates/flex-layout/script.js +79 -0
  24. package/templates/flex-layout/style.css +336 -0
  25. package/templates/grid-layout/index.html +164 -0
  26. package/templates/grid-layout/script.js +75 -0
  27. package/templates/grid-layout/style.css +452 -0
  28. package/templates/masonry-grid/index.html +196 -0
  29. package/templates/masonry-grid/script.js +122 -0
  30. package/templates/masonry-grid/style.css +259 -0
  31. package/templates/spinner/index.html +56 -0
  32. package/templates/spinner/script.js +22 -0
  33. package/templates/spinner/style.css +207 -0
  34. package/templates/typing-effect/index.html +58 -0
  35. package/templates/typing-effect/script.js +247 -0
  36. package/templates/typing-effect/style.css +253 -0
@@ -0,0 +1,659 @@
1
+ * {
2
+ margin: 0;
3
+ padding: 0;
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ body {
8
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
9
+ background: #f5f7fa;
10
+ overflow-x: hidden;
11
+ }
12
+
13
+ /* Dashboard Container */
14
+ .dashboard {
15
+ display: flex;
16
+ min-height: 100vh;
17
+ }
18
+
19
+ /* Sidebar */
20
+ .sidebar {
21
+ width: 260px;
22
+ background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
23
+ color: white;
24
+ display: flex;
25
+ flex-direction: column;
26
+ box-shadow: 4px 0 20px rgba(0, 0, 0, 0.1);
27
+ position: sticky;
28
+ top: 0;
29
+ height: 100vh;
30
+ }
31
+
32
+ .sidebar.collapsed {
33
+ width: 80px;
34
+ }
35
+
36
+ .logo {
37
+ padding: 30px 20px;
38
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
39
+ }
40
+
41
+ .logo h2 {
42
+ font-size: 1.8rem;
43
+ font-weight: 700;
44
+ transition: all 0.3s ease;
45
+ }
46
+
47
+ .sidebar.collapsed .logo h2 {
48
+ font-size: 2rem;
49
+ text-align: center;
50
+ }
51
+
52
+ /* Navigation */
53
+ .nav-menu {
54
+ display: flex;
55
+ flex-direction: column;
56
+ gap: 5px;
57
+ padding: 20px 10px;
58
+ flex-grow: 1;
59
+ }
60
+
61
+ .nav-item {
62
+ display: flex;
63
+ align-items: center;
64
+ gap: 15px;
65
+ padding: 15px 20px;
66
+ color: rgba(255, 255, 255, 0.8);
67
+ text-decoration: none;
68
+ border-radius: 10px;
69
+ transition: all 0.3s ease;
70
+ position: relative;
71
+ }
72
+
73
+ .nav-item:hover,
74
+ .nav-item.active {
75
+ background: rgba(255, 255, 255, 0.15);
76
+ color: white;
77
+ }
78
+
79
+ .nav-item.active::before {
80
+ content: '';
81
+ position: absolute;
82
+ left: 0;
83
+ top: 50%;
84
+ transform: translateY(-50%);
85
+ width: 4px;
86
+ height: 60%;
87
+ background: white;
88
+ border-radius: 0 4px 4px 0;
89
+ }
90
+
91
+ .nav-icon {
92
+ font-size: 1.5rem;
93
+ min-width: 30px;
94
+ text-align: center;
95
+ }
96
+
97
+ .nav-text {
98
+ white-space: nowrap;
99
+ transition: opacity 0.3s ease;
100
+ }
101
+
102
+ .sidebar.collapsed .nav-text {
103
+ opacity: 0;
104
+ width: 0;
105
+ }
106
+
107
+ /* Sidebar Footer */
108
+ .sidebar-footer {
109
+ padding: 20px;
110
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
111
+ }
112
+
113
+ .user-profile {
114
+ display: flex;
115
+ align-items: center;
116
+ gap: 12px;
117
+ }
118
+
119
+ .user-avatar {
120
+ width: 45px;
121
+ height: 45px;
122
+ border-radius: 50%;
123
+ background: rgba(255, 255, 255, 0.2);
124
+ display: flex;
125
+ align-items: center;
126
+ justify-content: center;
127
+ font-size: 1.5rem;
128
+ }
129
+
130
+ .user-info {
131
+ display: flex;
132
+ flex-direction: column;
133
+ transition: opacity 0.3s ease;
134
+ }
135
+
136
+ .sidebar.collapsed .user-info {
137
+ opacity: 0;
138
+ width: 0;
139
+ }
140
+
141
+ .user-name {
142
+ font-weight: 600;
143
+ font-size: 0.95rem;
144
+ }
145
+
146
+ .user-role {
147
+ font-size: 0.85rem;
148
+ opacity: 0.8;
149
+ }
150
+
151
+ /* Main Content */
152
+ .main-content {
153
+ flex: 1;
154
+ display: flex;
155
+ flex-direction: column;
156
+ overflow-y: auto;
157
+ }
158
+
159
+ /* Top Bar */
160
+ .top-bar {
161
+ background: white;
162
+ padding: 20px 30px;
163
+ display: flex;
164
+ justify-content: space-between;
165
+ align-items: center;
166
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
167
+ position: sticky;
168
+ top: 0;
169
+ z-index: 100;
170
+ }
171
+
172
+ .top-bar-left {
173
+ display: flex;
174
+ align-items: center;
175
+ gap: 20px;
176
+ }
177
+
178
+ .menu-toggle {
179
+ width: 45px;
180
+ height: 45px;
181
+ border: none;
182
+ background: #f0f0f0;
183
+ border-radius: 10px;
184
+ font-size: 1.5rem;
185
+ cursor: pointer;
186
+ transition: all 0.3s ease;
187
+ }
188
+
189
+ .menu-toggle:hover {
190
+ background: #e0e0e0;
191
+ }
192
+
193
+ .top-bar h1 {
194
+ font-size: 2rem;
195
+ color: #333;
196
+ }
197
+
198
+ .top-bar-right {
199
+ display: flex;
200
+ align-items: center;
201
+ gap: 15px;
202
+ }
203
+
204
+ .search-box {
205
+ position: relative;
206
+ }
207
+
208
+ .search-box input {
209
+ padding: 12px 45px 12px 15px;
210
+ border: 2px solid #e0e0e0;
211
+ border-radius: 25px;
212
+ width: 300px;
213
+ font-size: 1rem;
214
+ transition: all 0.3s ease;
215
+ }
216
+
217
+ .search-box input:focus {
218
+ outline: none;
219
+ border-color: #667eea;
220
+ box-shadow: 0 0 10px rgba(102, 126, 234, 0.1);
221
+ }
222
+
223
+ .search-icon {
224
+ position: absolute;
225
+ right: 15px;
226
+ top: 50%;
227
+ transform: translateY(-50%);
228
+ font-size: 1.2rem;
229
+ }
230
+
231
+ .icon-btn {
232
+ width: 45px;
233
+ height: 45px;
234
+ border: none;
235
+ background: #f0f0f0;
236
+ border-radius: 50%;
237
+ font-size: 1.3rem;
238
+ cursor: pointer;
239
+ transition: all 0.3s ease;
240
+ }
241
+
242
+ .icon-btn:hover {
243
+ background: #e0e0e0;
244
+ transform: scale(1.1);
245
+ }
246
+
247
+ /* Stats Section */
248
+ .stats-section {
249
+ padding: 30px;
250
+ display: flex;
251
+ gap: 25px;
252
+ flex-wrap: wrap;
253
+ }
254
+
255
+ .stat-card {
256
+ flex: 1 1 calc(25% - 20px);
257
+ min-width: 250px;
258
+ background: white;
259
+ border-radius: 20px;
260
+ padding: 25px;
261
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
262
+ transition: all 0.3s ease;
263
+ border-left: 4px solid;
264
+ }
265
+
266
+ .stat-card:hover {
267
+ transform: translateY(-5px);
268
+ box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
269
+ }
270
+
271
+ .stat-primary { border-color: #667eea; }
272
+ .stat-success { border-color: #43e97b; }
273
+ .stat-warning { border-color: #ffa502; }
274
+ .stat-info { border-color: #4facfe; }
275
+
276
+ .stat-content {
277
+ display: flex;
278
+ align-items: center;
279
+ gap: 20px;
280
+ }
281
+
282
+ .stat-icon {
283
+ font-size: 3rem;
284
+ width: 70px;
285
+ height: 70px;
286
+ display: flex;
287
+ align-items: center;
288
+ justify-content: center;
289
+ background: #f8f9fa;
290
+ border-radius: 15px;
291
+ }
292
+
293
+ .stat-details {
294
+ display: flex;
295
+ flex-direction: column;
296
+ gap: 5px;
297
+ }
298
+
299
+ .stat-label {
300
+ font-size: 0.9rem;
301
+ color: #999;
302
+ }
303
+
304
+ .stat-value {
305
+ font-size: 2rem;
306
+ font-weight: 700;
307
+ color: #333;
308
+ }
309
+
310
+ .stat-change {
311
+ font-size: 0.9rem;
312
+ font-weight: 600;
313
+ }
314
+
315
+ .stat-change.positive { color: #43e97b; }
316
+ .stat-change.negative { color: #ff4757; }
317
+
318
+ /* Dashboard Grid */
319
+ .dashboard-grid {
320
+ padding: 0 30px 30px;
321
+ display: flex;
322
+ flex-wrap: wrap;
323
+ gap: 25px;
324
+ }
325
+
326
+ .dashboard-card {
327
+ background: white;
328
+ border-radius: 20px;
329
+ padding: 25px;
330
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
331
+ display: flex;
332
+ flex-direction: column;
333
+ }
334
+
335
+ .chart-section {
336
+ flex: 1 1 100%;
337
+ }
338
+
339
+ .activity-section {
340
+ flex: 1 1 calc(50% - 15px);
341
+ min-width: 350px;
342
+ }
343
+
344
+ .products-section {
345
+ flex: 1 1 calc(50% - 15px);
346
+ min-width: 350px;
347
+ }
348
+
349
+ .actions-section {
350
+ flex: 1 1 100%;
351
+ }
352
+
353
+ .card-header {
354
+ display: flex;
355
+ justify-content: space-between;
356
+ align-items: center;
357
+ margin-bottom: 25px;
358
+ padding-bottom: 15px;
359
+ border-bottom: 2px solid #f0f0f0;
360
+ }
361
+
362
+ .card-header h3 {
363
+ font-size: 1.5rem;
364
+ color: #333;
365
+ }
366
+
367
+ .filter-select {
368
+ padding: 8px 15px;
369
+ border: 2px solid #e0e0e0;
370
+ border-radius: 8px;
371
+ cursor: pointer;
372
+ transition: all 0.3s ease;
373
+ }
374
+
375
+ .filter-select:hover {
376
+ border-color: #667eea;
377
+ }
378
+
379
+ .view-all-btn {
380
+ padding: 8px 20px;
381
+ background: none;
382
+ border: 2px solid #667eea;
383
+ color: #667eea;
384
+ border-radius: 8px;
385
+ font-weight: 600;
386
+ cursor: pointer;
387
+ transition: all 0.3s ease;
388
+ }
389
+
390
+ .view-all-btn:hover {
391
+ background: #667eea;
392
+ color: white;
393
+ }
394
+
395
+ /* Chart */
396
+ .chart-container {
397
+ height: 300px;
398
+ display: flex;
399
+ align-items: center;
400
+ justify-content: center;
401
+ }
402
+
403
+ .chart-bars {
404
+ display: flex;
405
+ align-items: flex-end;
406
+ justify-content: space-around;
407
+ gap: 20px;
408
+ height: 100%;
409
+ width: 100%;
410
+ }
411
+
412
+ .chart-bar {
413
+ flex: 1;
414
+ background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
415
+ border-radius: 10px 10px 0 0;
416
+ display: flex;
417
+ align-items: flex-end;
418
+ justify-content: center;
419
+ padding-bottom: 10px;
420
+ transition: all 0.3s ease;
421
+ cursor: pointer;
422
+ position: relative;
423
+ }
424
+
425
+ .chart-bar:hover {
426
+ opacity: 0.8;
427
+ transform: translateY(-5px);
428
+ }
429
+
430
+ .bar-label {
431
+ color: white;
432
+ font-weight: 600;
433
+ font-size: 0.9rem;
434
+ }
435
+
436
+ /* Activity Feed */
437
+ .activity-feed {
438
+ display: flex;
439
+ flex-direction: column;
440
+ gap: 15px;
441
+ }
442
+
443
+ .activity-item {
444
+ display: flex;
445
+ gap: 15px;
446
+ padding: 15px;
447
+ background: #f8f9fa;
448
+ border-radius: 10px;
449
+ transition: all 0.3s ease;
450
+ }
451
+
452
+ .activity-item:hover {
453
+ background: #f0f0f0;
454
+ transform: translateX(5px);
455
+ }
456
+
457
+ .activity-icon {
458
+ width: 45px;
459
+ height: 45px;
460
+ border-radius: 50%;
461
+ display: flex;
462
+ align-items: center;
463
+ justify-content: center;
464
+ font-size: 1.3rem;
465
+ flex-shrink: 0;
466
+ }
467
+
468
+ .activity-icon.success { background: #d4f8e8; }
469
+ .activity-icon.info { background: #dbeafe; }
470
+ .activity-icon.warning { background: #fef3c7; }
471
+
472
+ .activity-content {
473
+ display: flex;
474
+ flex-direction: column;
475
+ gap: 5px;
476
+ }
477
+
478
+ .activity-title {
479
+ font-weight: 600;
480
+ color: #333;
481
+ }
482
+
483
+ .activity-desc {
484
+ color: #666;
485
+ font-size: 0.9rem;
486
+ }
487
+
488
+ .activity-time {
489
+ color: #999;
490
+ font-size: 0.85rem;
491
+ }
492
+
493
+ /* Products List */
494
+ .products-list {
495
+ display: flex;
496
+ flex-direction: column;
497
+ gap: 15px;
498
+ }
499
+
500
+ .product-row {
501
+ display: flex;
502
+ justify-content: space-between;
503
+ align-items: center;
504
+ padding: 15px;
505
+ background: #f8f9fa;
506
+ border-radius: 10px;
507
+ transition: all 0.3s ease;
508
+ }
509
+
510
+ .product-row:hover {
511
+ background: #f0f0f0;
512
+ transform: scale(1.02);
513
+ }
514
+
515
+ .product-info {
516
+ display: flex;
517
+ align-items: center;
518
+ gap: 15px;
519
+ }
520
+
521
+ .product-icon {
522
+ width: 50px;
523
+ height: 50px;
524
+ background: white;
525
+ border-radius: 10px;
526
+ display: flex;
527
+ align-items: center;
528
+ justify-content: center;
529
+ font-size: 1.8rem;
530
+ }
531
+
532
+ .product-details {
533
+ display: flex;
534
+ flex-direction: column;
535
+ gap: 5px;
536
+ }
537
+
538
+ .product-name {
539
+ font-weight: 600;
540
+ color: #333;
541
+ }
542
+
543
+ .product-category {
544
+ color: #999;
545
+ font-size: 0.9rem;
546
+ }
547
+
548
+ .product-stats {
549
+ display: flex;
550
+ flex-direction: column;
551
+ align-items: flex-end;
552
+ gap: 5px;
553
+ }
554
+
555
+ .product-sales {
556
+ font-size: 1.3rem;
557
+ font-weight: 700;
558
+ color: #667eea;
559
+ }
560
+
561
+ .product-units {
562
+ color: #999;
563
+ font-size: 0.9rem;
564
+ }
565
+
566
+ /* Quick Actions */
567
+ .quick-actions {
568
+ display: flex;
569
+ gap: 20px;
570
+ flex-wrap: wrap;
571
+ }
572
+
573
+ .action-item {
574
+ flex: 1 1 calc(25% - 15px);
575
+ min-width: 150px;
576
+ padding: 25px;
577
+ background: #f8f9fa;
578
+ border: 2px dashed #e0e0e0;
579
+ border-radius: 15px;
580
+ display: flex;
581
+ flex-direction: column;
582
+ align-items: center;
583
+ gap: 10px;
584
+ cursor: pointer;
585
+ transition: all 0.3s ease;
586
+ }
587
+
588
+ .action-item:hover {
589
+ background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
590
+ border-color: #667eea;
591
+ border-style: solid;
592
+ transform: translateY(-5px);
593
+ }
594
+
595
+ .action-icon {
596
+ font-size: 2.5rem;
597
+ }
598
+
599
+ .action-text {
600
+ font-weight: 600;
601
+ color: #333;
602
+ }
603
+
604
+ /* Responsive */
605
+ @media (max-width: 1200px) {
606
+ .stat-card {
607
+ flex: 1 1 calc(50% - 15px);
608
+ }
609
+ }
610
+
611
+ @media (max-width: 968px) {
612
+ .dashboard {
613
+ flex-direction: column;
614
+ }
615
+
616
+ .sidebar {
617
+ width: 100%;
618
+ height: auto;
619
+ position: static;
620
+ }
621
+
622
+ .sidebar.collapsed {
623
+ width: 100%;
624
+ }
625
+
626
+ .nav-menu {
627
+ flex-direction: row;
628
+ overflow-x: auto;
629
+ }
630
+
631
+ .top-bar {
632
+ flex-direction: column;
633
+ gap: 20px;
634
+ }
635
+
636
+ .search-box input {
637
+ width: 100%;
638
+ }
639
+
640
+ .activity-section,
641
+ .products-section {
642
+ flex: 1 1 100%;
643
+ }
644
+ }
645
+
646
+ @media (max-width: 768px) {
647
+ .stat-card {
648
+ flex: 1 1 100%;
649
+ }
650
+
651
+ .stats-section,
652
+ .dashboard-grid {
653
+ padding: 20px;
654
+ }
655
+
656
+ .action-item {
657
+ flex: 1 1 calc(50% - 10px);
658
+ }
659
+ }