@howssatoshi/quantumcss 1.4.0 → 1.4.2

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.
@@ -38,7 +38,10 @@ body.light-mode a:hover {
38
38
  }
39
39
 
40
40
  .starlight-card:hover {
41
- border-color: rgba(0, 212, 255, 0.3);
41
+ border-color: rgba(0, 212, 255, 0.4);
42
+ transform: translateY(-4px);
43
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 212, 255, 0.1);
44
+ background-color: rgba(255, 255, 255, 0.04);
42
45
  }
43
46
 
44
47
  body.light-mode .starlight-card {
@@ -161,13 +164,98 @@ body.light-mode .star {
161
164
  backdrop-filter: blur(20px);
162
165
  border: 1px solid rgba(255, 255, 255, 0.1);
163
166
  border-radius: 1.5rem;
164
- padding: 2rem;
167
+ padding: 2.5rem;
165
168
  max-width: 90%;
166
169
  width: 600px;
170
+ max-height: 85vh;
171
+ overflow-y: auto;
167
172
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
168
173
  position: relative;
169
174
  }
170
175
 
176
+ .starlight-dialog {
177
+ background-color: rgba(10, 10, 20, 0.98);
178
+ backdrop-filter: blur(24px);
179
+ -webkit-backdrop-filter: blur(24px);
180
+ border: 1px solid rgba(255, 255, 255, 0.1);
181
+ border-radius: 1.5rem;
182
+ padding: 3rem;
183
+ width: 100%;
184
+ max-width: 600px;
185
+ max-height: 85vh;
186
+ overflow-y: auto;
187
+ margin: auto;
188
+ position: relative;
189
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
190
+ }
191
+
192
+ /* Custom scrollbar for dialogs */
193
+ .dialog-content::-webkit-scrollbar,
194
+ .starlight-dialog::-webkit-scrollbar {
195
+ width: 8px;
196
+ }
197
+
198
+ .dialog-content::-webkit-scrollbar-track,
199
+ .starlight-dialog::-webkit-scrollbar-track {
200
+ background: rgba(255, 255, 255, 0.05);
201
+ border-radius: 4px;
202
+ }
203
+
204
+ .dialog-content::-webkit-scrollbar-thumb,
205
+ .starlight-dialog::-webkit-scrollbar-thumb {
206
+ background: var(--color-starlight-blue, #3b82f6);
207
+ border-radius: 4px;
208
+ }
209
+
210
+ body.light-mode .dialog-content::-webkit-scrollbar-track,
211
+ body.light-mode .starlight-dialog::-webkit-scrollbar-track {
212
+ background: rgba(0, 0, 0, 0.05);
213
+ }
214
+
215
+ body.light-mode .starlight-dialog {
216
+ background-color: rgba(255, 255, 255, 0.98);
217
+ border-color: rgba(0, 0, 0, 0.1);
218
+ color: #1e293b;
219
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
220
+ }
221
+
222
+ .dialog-close {
223
+ position: absolute;
224
+ top: 1.5rem;
225
+ right: 1.5rem;
226
+ width: 2rem;
227
+ height: 2rem;
228
+ border-radius: 50%;
229
+ background: rgba(255, 255, 255, 0.05);
230
+ border: 1px solid rgba(255, 255, 255, 0.1);
231
+ color: white;
232
+ display: flex;
233
+ align-items: center;
234
+ justify-content: center;
235
+ cursor: pointer;
236
+ transition: all 0.2s;
237
+ padding: 0;
238
+ }
239
+
240
+ body.light-mode .dialog-close {
241
+ background: rgba(0, 0, 0, 0.05);
242
+ border-color: rgba(0, 0, 0, 0.1);
243
+ color: #1e293b;
244
+ }
245
+
246
+ .dialog-close:hover {
247
+ background: rgba(255, 255, 255, 0.15);
248
+ border-color: var(--color-starlight-blue);
249
+ transform: rotate(90deg);
250
+ }
251
+
252
+ .form-row {
253
+ display: flex;
254
+ justify-content: space-between;
255
+ align-items: center;
256
+ gap: 1rem;
257
+ }
258
+
171
259
  body.light-mode .dialog-overlay {
172
260
  background: rgba(255, 255, 255, 0.4);
173
261
  }
@@ -184,7 +272,7 @@ body.light-mode .dialog-content {
184
272
  position: absolute;
185
273
  top: 100%;
186
274
  left: 0;
187
- background-color: var(--color-starlight-deep);;
275
+ background-color: var(--color-starlight-deep);
188
276
  backdrop-filter: blur(20px);
189
277
  border: 1px solid rgba(255, 255, 255, 0.1);
190
278
  border-radius: 0.75rem;
@@ -193,6 +281,19 @@ body.light-mode .dialog-content {
193
281
  min-width: 200px;
194
282
  z-index: 600;
195
283
  box-shadow: 0 20px 40px rgba(0,0,0,0.4);
284
+ opacity: 0;
285
+ visibility: hidden;
286
+ transform: translateY(10px);
287
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
288
+ pointer-events: none;
289
+ }
290
+
291
+ .dropdown:hover .dropdown-menu,
292
+ .dropdown.active .dropdown-menu {
293
+ opacity: 1;
294
+ visibility: visible;
295
+ transform: translateY(0);
296
+ pointer-events: auto;
196
297
  }
197
298
 
198
299
  .dropdown-item {
@@ -259,13 +360,15 @@ body.light-mode .glass {
259
360
  .input-starlight:focus, .textarea-starlight:focus {
260
361
  outline: none;
261
362
  border-color: var(--color-starlight-blue);
262
- box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.1);
363
+ box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.1), 0 0 20px rgba(0, 212, 255, 0.1);
364
+ background-color: rgba(255, 255, 255, 0.06);
263
365
  }
264
366
 
265
367
  body.light-mode .input-starlight:focus,
266
368
  body.light-mode .textarea-starlight:focus {
267
369
  border-color: var(--color-starlight-blue);
268
- box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.1);
370
+ box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.1), 0 4px 12px rgba(0, 0, 0, 0.05);
371
+ background-color: #ffffff;
269
372
  }
270
373
 
271
374
  /* 9. Code Interface Window */
@@ -400,23 +503,29 @@ body.light-mode .accordion-starlight .accordion-content {
400
503
  /* 11. Search Input with Icon */
401
504
  .search-container {
402
505
  position: relative;
506
+ display: block;
403
507
  width: 100%;
404
- max-width: 400px;
405
508
  }
406
509
 
407
510
  .search-input {
408
511
  padding-left: 3rem !important;
512
+ width: 100%;
409
513
  }
410
514
 
411
515
  .search-icon {
412
516
  position: absolute;
413
- left: 1rem;
517
+ left: 1.125rem;
414
518
  top: 50%;
415
519
  transform: translateY(-50%);
416
520
  color: var(--text-muted);
417
521
  pointer-events: none;
418
- width: 1.5rem;
419
- height: 1.5rem;
522
+ width: 1.25rem;
523
+ height: 1.25rem;
524
+ z-index: 10;
525
+ }
526
+
527
+ body.light-mode .search-icon {
528
+ color: #64748b;
420
529
  }
421
530
 
422
531
  /* 12. Gallery Widget */
@@ -515,22 +624,93 @@ body.light-mode .stat-value {
515
624
 
516
625
  /* 14. Hamburger Menu Glass */
517
626
  .nav-glass {
518
- background: rgba(255, 255, 255, 0.03);
519
- backdrop-filter: blur(20px);
520
- -webkit-backdrop-filter: blur(20px);
521
- border-bottom: 1px solid rgba(255, 255, 255, 0.05);
522
- padding: 1rem 2rem;
627
+ background: rgba(255, 255, 255, 0.05);
628
+ backdrop-filter: blur(24px);
629
+ -webkit-backdrop-filter: blur(24px);
630
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
523
631
  display: flex;
524
- justify-content: space-between;
525
- align-items: center;
632
+ flex-direction: column;
526
633
  position: sticky;
527
634
  top: 0;
528
635
  z-index: 1000;
636
+ padding: 0;
529
637
  }
530
638
 
531
639
  body.light-mode .nav-glass {
532
- background: rgba(255, 255, 255, 0.8);
533
- border-bottom-color: rgba(0, 0, 0, 0.1);
640
+ background: rgba(255, 255, 255, 0.95);
641
+ border-bottom-color: rgba(0, 0, 0, 0.08);
642
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
643
+ }
644
+
645
+ .nav-desktop {
646
+ display: none;
647
+ align-items: center;
648
+ }
649
+
650
+ .nav-list {
651
+ display: flex;
652
+ list-style: none;
653
+ gap: 2rem;
654
+ margin: 0;
655
+ padding: 0;
656
+ }
657
+
658
+ .nav-list.vertical {
659
+ flex-direction: column;
660
+ gap: 0.5rem;
661
+ }
662
+
663
+ .nav-link {
664
+ font-size: 0.875rem;
665
+ font-weight: 500;
666
+ color: rgba(255, 255, 255, 0.7);
667
+ transition: all 0.3s;
668
+ position: relative;
669
+ padding: 0.5rem 0;
670
+ display: inline-flex;
671
+ align-items: center;
672
+ }
673
+
674
+ .nav-list.vertical .nav-link {
675
+ width: 100%;
676
+ padding: 0.75rem 1rem;
677
+ border-radius: 0.5rem;
678
+ }
679
+
680
+ .nav-list.vertical .dropdown {
681
+ width: 100%;
682
+ display: block;
683
+ }
684
+
685
+ .nav-list.vertical .nav-link:hover {
686
+ background: rgba(255, 255, 255, 0.05);
687
+ color: var(--color-starlight-blue);
688
+ }
689
+
690
+ .nav-link::after {
691
+ content: '';
692
+ position: absolute;
693
+ bottom: 0;
694
+ left: 50%;
695
+ width: 0;
696
+ height: 2px;
697
+ background: var(--color-starlight-blue);
698
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
699
+ box-shadow: 0 0 10px var(--color-starlight-glow);
700
+ transform: translateX(-50%);
701
+ }
702
+
703
+ .nav-link:hover::after {
704
+ width: 80%;
705
+ }
706
+
707
+
708
+ body.light-mode .nav-link {
709
+ color: #475569;
710
+ }
711
+
712
+ body.light-mode .nav-link:hover {
713
+ color: #1e293b;
534
714
  }
535
715
 
536
716
  .hamburger {
@@ -539,6 +719,7 @@ body.light-mode .nav-glass {
539
719
  display: flex;
540
720
  flex-direction: column;
541
721
  justify-content: center;
722
+ align-items: center;
542
723
  gap: 0.4rem;
543
724
  cursor: pointer;
544
725
  background: rgba(255,255,255,0.05);
@@ -546,6 +727,7 @@ body.light-mode .nav-glass {
546
727
  border-radius: 0.5rem;
547
728
  padding: 0.5rem;
548
729
  transition: all 0.3s;
730
+ position: relative;
549
731
  }
550
732
 
551
733
  body.light-mode .hamburger {
@@ -563,42 +745,92 @@ body.light-mode .hamburger:hover {
563
745
  }
564
746
 
565
747
  .hamburger span {
566
- width: 100%;
748
+ width: 1.5rem;
567
749
  height: 2px;
568
750
  background: white;
569
751
  border-radius: 2px;
570
752
  transition: all 0.3s;
753
+ transform-origin: center;
571
754
  }
572
755
 
573
756
  body.light-mode .hamburger span {
574
757
  background: #1e293b;
575
758
  }
576
759
 
577
- .nav-menu-mobile {
578
- position: absolute;
579
- top: 100%;
580
- right: 2rem;
581
- width: 250px;
582
- background: rgba(255, 255, 255, 0.03);
583
- backdrop-filter: blur(20px);
584
- -webkit-backdrop-filter: blur(20px);
585
- border: 1px solid rgba(255, 255, 255, 0.05);
586
- border-radius: 1rem;
587
- padding: 1rem;
588
- margin-top: 0.5rem;
589
- box-shadow: 0 20px 40px rgba(0,0,0,0.5);
590
- display: none;
591
- animation: slideInDown 0.3s ease forwards;
760
+ .hamburger.active span {
761
+ background-color: var(--color-starlight-blue);
762
+ box-shadow: 0 0 10px var(--color-starlight-glow);
592
763
  }
593
764
 
594
- body.light-mode .nav-menu-mobile {
595
- background: rgba(255, 255, 255, 0.8);
596
- border-color: rgba(0, 0, 0, 0.1);
597
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
765
+ .nav-menu-mobile {
766
+ width: 100%;
767
+ background: rgba(0, 0, 0, 0.2);
768
+ backdrop-filter: blur(10px);
769
+ -webkit-backdrop-filter: blur(10px);
770
+ border-top: 1px solid rgba(255, 255, 255, 0.05);
771
+ padding: 0;
772
+ max-height: 0;
773
+ overflow: hidden;
774
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
775
+ opacity: 0;
598
776
  }
599
777
 
600
778
  .nav-menu-mobile.active {
601
779
  display: block;
780
+ max-height: 500px;
781
+ padding: 1.5rem 2rem;
782
+ opacity: 1;
783
+ }
784
+
785
+ body.light-mode .nav-menu-mobile {
786
+ background: #ffffff;
787
+ border-top-color: rgba(0, 0, 0, 0.08);
788
+ box-shadow: 0 15px 30px rgba(0, 0, 0, 0.05);
789
+ }
790
+
791
+ /* Vertical Accordion Dropdowns */
792
+ .nav-list.vertical .dropdown-menu {
793
+ position: static;
794
+ opacity: 1;
795
+ visibility: visible;
796
+ transform: none;
797
+ box-shadow: none;
798
+ border: none;
799
+ padding: 0 0 0 1.5rem;
800
+ margin: 0;
801
+ max-height: 0;
802
+ overflow: hidden;
803
+ transition: all 0.3s ease;
804
+ background: transparent;
805
+ pointer-events: none;
806
+ }
807
+
808
+ .nav-list.vertical .dropdown.active .dropdown-menu {
809
+ max-height: 300px;
810
+ padding-top: 0.5rem;
811
+ padding-bottom: 0.5rem;
812
+ pointer-events: auto;
813
+ }
814
+
815
+ .nav-list.vertical .dropdown-item {
816
+ padding: 0.5rem 1rem;
817
+ font-size: 0.825rem;
818
+ border-left: 1px solid rgba(255, 255, 255, 0.1);
819
+ border-radius: 0;
820
+ }
821
+
822
+ @media (min-width: 768px) {
823
+ .nav-desktop {
824
+ display: flex;
825
+ }
826
+
827
+ .hamburger {
828
+ display: none;
829
+ }
830
+
831
+ .nav-menu-mobile {
832
+ display: none !important;
833
+ }
602
834
  }
603
835
 
604
836
  @keyframes slideInDown {
@@ -606,6 +838,23 @@ body.light-mode .nav-menu-mobile {
606
838
  to { opacity: 1; transform: translateY(0); }
607
839
  }
608
840
 
841
+ .starlight-nav.vertical {
842
+ flex-direction: column;
843
+ height: 100%;
844
+ width: 280px !important;
845
+ min-width: 280px !important;
846
+ border-bottom: none;
847
+ border-right: 1px solid rgba(255, 255, 255, 0.1);
848
+ padding: 2.5rem 1.5rem;
849
+ align-items: flex-start;
850
+ justify-content: flex-start;
851
+ }
852
+
853
+ body.light-mode .starlight-nav.vertical {
854
+ background: rgba(255, 255, 255, 0.98);
855
+ border-right-color: rgba(0, 0, 0, 0.08);
856
+ }
857
+
609
858
  /* 15. More Form Controls */
610
859
  .select-starlight {
611
860
  appearance: none;
@@ -654,6 +903,17 @@ body.light-mode .range-starlight {
654
903
  height: 1.75rem;
655
904
  }
656
905
 
906
+ .toggle-starlight .toggle-slider:before {
907
+ height: 1.25rem;
908
+ width: 1.25rem;
909
+ top: 0.25rem;
910
+ left: 0.25rem;
911
+ }
912
+
913
+ .toggle-starlight input:checked + .toggle-slider:before {
914
+ transform: translateX(1.75rem);
915
+ }
916
+
657
917
  .toggle-starlight .toggle-slider {
658
918
  background: rgba(255,255,255,0.1);
659
919
  border: 1px solid rgba(255,255,255,0.1);
@@ -689,6 +949,100 @@ body.light-mode .dialog-content .bg-black\/40 {
689
949
  border-color: rgba(0, 0, 0, 0.1);
690
950
  }
691
951
 
952
+ /* 18. Semantic Typography Utilities */
953
+ .text-glow {
954
+ text-shadow: 0 0 10px rgba(0, 212, 255, 0.5), 0 0 20px rgba(0, 212, 255, 0.2);
955
+ }
956
+
957
+ .text-glass {
958
+ color: rgba(255, 255, 255, 0.6);
959
+ backdrop-filter: blur(4px);
960
+ -webkit-backdrop-filter: blur(4px);
961
+ }
962
+
963
+ body.light-mode .text-glow {
964
+ text-shadow: 0 0 8px rgba(0, 212, 255, 0.3);
965
+ }
966
+
967
+ body.light-mode .text-glass {
968
+ color: rgba(0, 0, 0, 0.5);
969
+ }
970
+
971
+ /* 17. Skeleton Loading (Starlight Variant) */
972
+ .starlight-loading {
973
+ background: linear-gradient(
974
+ 90deg,
975
+ rgba(255, 255, 255, 0.03) 25%,
976
+ rgba(255, 255, 255, 0.08) 50%,
977
+ rgba(255, 255, 255, 0.03) 75%
978
+ );
979
+ background-size: 200% 100%;
980
+ animation: starlight-shimmer 2s infinite linear;
981
+ border-radius: var(--radius-md);
982
+ min-height: 1rem;
983
+ }
984
+
985
+ @keyframes starlight-shimmer {
986
+ 0% { background-position: 200% 0; }
987
+ 100% { background-position: -200% 0; }
988
+ }
989
+
990
+ body.light-mode .starlight-loading {
991
+ background: linear-gradient(
992
+ 90deg,
993
+ rgba(0, 0, 0, 0.03) 25%,
994
+ rgba(0, 0, 0, 0.06) 50%,
995
+ rgba(0, 0, 0, 0.03) 75%
996
+ );
997
+ background-size: 200% 100%;
998
+ }
999
+
1000
+ /* 16. Themed Scrollbars */
1001
+ ::-webkit-scrollbar {
1002
+ width: 10px;
1003
+ height: 10px;
1004
+ }
1005
+
1006
+ ::-webkit-scrollbar-track {
1007
+ background: rgba(255, 255, 255, 0.02);
1008
+ backdrop-filter: blur(10px);
1009
+ }
1010
+
1011
+ ::-webkit-scrollbar-thumb {
1012
+ background: rgba(255, 255, 255, 0.1);
1013
+ border: 1px solid rgba(255, 255, 255, 0.05);
1014
+ border-radius: 10px;
1015
+ transition: all 0.3s;
1016
+ }
1017
+
1018
+ ::-webkit-scrollbar-thumb:hover {
1019
+ background: rgba(0, 212, 255, 0.3);
1020
+ box-shadow: 0 0 10px rgba(0, 212, 255, 0.2);
1021
+ }
1022
+
1023
+ body.light-mode ::-webkit-scrollbar-track {
1024
+ background: rgba(0, 0, 0, 0.03);
1025
+ }
1026
+
1027
+ body.light-mode ::-webkit-scrollbar-thumb {
1028
+ background: rgba(0, 0, 0, 0.1);
1029
+ border-color: rgba(0, 0, 0, 0.05);
1030
+ }
1031
+
1032
+ body.light-mode ::-webkit-scrollbar-thumb:hover {
1033
+ background: var(--color-starlight-blue);
1034
+ }
1035
+
1036
+ /* Firefox Support */
1037
+ * {
1038
+ scrollbar-width: thin;
1039
+ scrollbar-color: rgba(255, 255, 255, 0.1) transparent;
1040
+ }
1041
+
1042
+ body.light-mode * {
1043
+ scrollbar-color: rgba(0, 0, 0, 0.1) transparent;
1044
+ }
1045
+
692
1046
  @media (forced-colors: active) {
693
1047
  button:focus, input:focus, select:focus, textarea:focus {
694
1048
  outline: 2px solid SelectedItem !important;
@@ -707,6 +1061,40 @@ body.light-mode .dialog-content .bg-black\/40 {
707
1061
  }
708
1062
 
709
1063
  .btn-starlight {
710
- border: 2px solid ButtonText !important;
1064
+ background: linear-gradient(135deg, var(--color-starlight-peach) 0%, var(--color-starlight-blue) 100%);
1065
+ color: #000;
1066
+ font-weight: 700;
1067
+ border: none;
1068
+ border-radius: 0.5rem;
1069
+ padding: 0 1.5rem;
1070
+ height: 3rem;
1071
+ display: inline-flex;
1072
+ align-items: center;
1073
+ justify-content: center;
1074
+ cursor: pointer;
1075
+ transition: all 0.2s ease;
1076
+ box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
1077
+ text-decoration: none;
711
1078
  }
712
- }
1079
+
1080
+ .btn-starlight:hover {
1081
+ transform: translateY(-2px);
1082
+ box-shadow: 0 5px 25px rgba(0, 212, 255, 0.4);
1083
+ filter: brightness(1.1);
1084
+ }
1085
+
1086
+ .btn-starlight:active {
1087
+ transform: translateY(0) scale(0.95);
1088
+ box-shadow: 0 2px 10px rgba(0, 212, 255, 0.2);
1089
+ filter: brightness(0.9);
1090
+ }
1091
+
1092
+ .btn-starlight:focus-visible {
1093
+ outline: 2px solid white;
1094
+ outline-offset: 2px;
1095
+ box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.3);
1096
+ }
1097
+
1098
+ body.light-mode .btn-starlight:focus-visible {
1099
+ outline-color: var(--color-starlight-blue);
1100
+ }}