@howssatoshi/quantumcss 1.7.7 → 1.8.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.
- package/README.md +1 -1
- package/dist/index.html +232 -0
- package/dist/quantum.min.css +1 -1
- package/examples/admin-panel.html +10 -18
- package/examples/analytics-dashboard.html +30 -19
- package/examples/blog-template.html +20 -20
- package/examples/chat-messaging.html +13 -23
- package/examples/email-template.html +20 -28
- package/examples/gaming-template.html +13 -13
- package/examples/gradient-test.html +0 -5
- package/examples/index.html +15 -15
- package/examples/kitchen-sink.html +10 -22
- package/examples/music-streaming.html +21 -29
- package/examples/news-template.html +14 -14
- package/examples/portfolio-resume.html +14 -35
- package/examples/shopping/index.html +10 -24
- package/examples/starlight.html +5 -5
- package/examples/theme-test.html +0 -15
- package/examples/travel/index.html +15 -15
- package/examples/video-streaming.html +30 -16
- package/package.json +1 -1
- package/src/defaults.js +76 -1
- package/src/generator.js +2 -2
- package/src/starlight.js +0 -4
- package/src/styles/quantum-animations.css +13 -13
- package/src/styles/quantum-base.css +158 -32
- package/src/styles/quantum-components.css +259 -533
- package/src/styles/starlight.css +680 -45
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* QuantumCSS
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* QuantumCSS Core
|
|
3
|
+
* Layer: Core / Tokens & Base
|
|
4
|
+
*
|
|
5
|
+
* ARCHITECTURAL CONTRACT:
|
|
6
|
+
* 1. Core layer MUST NEVER reference brand-specific tokens (e.g., --q-color-starlight).
|
|
7
|
+
* 2. Core layer MUST ONLY use semantic tokens (e.g., --q-color-primary, --q-color-bg).
|
|
8
|
+
* 3. Aesthetics (gradients, specific colors) are injected by the Theme layer.
|
|
9
|
+
* 4. This file contains the non-optional compliance and reset layers.
|
|
6
10
|
*/
|
|
7
11
|
|
|
8
12
|
@import 'https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap';
|
|
@@ -29,6 +33,29 @@
|
|
|
29
33
|
--q-color-error: #ef4444;
|
|
30
34
|
--q-color-neutral: #6b7280;
|
|
31
35
|
|
|
36
|
+
/* Semantic Color Tokens (Core Layer) */
|
|
37
|
+
--q-color-bg: var(--q-bg-primary);
|
|
38
|
+
--q-color-bg-muted: color-mix(in srgb, var(--q-color-bg), var(--q-color-neutral) 5%);
|
|
39
|
+
--q-color-surface: var(--q-card-bg);
|
|
40
|
+
--q-color-surface-elevated: color-mix(in srgb, var(--q-color-surface), white 2%);
|
|
41
|
+
--q-color-border: var(--q-card-border);
|
|
42
|
+
--q-color-border-strong: color-mix(in srgb, var(--q-color-border), white 10%);
|
|
43
|
+
|
|
44
|
+
--q-color-text: var(--q-text-primary);
|
|
45
|
+
--q-color-text-muted: var(--q-text-secondary);
|
|
46
|
+
--q-color-text-inverse: #000;
|
|
47
|
+
|
|
48
|
+
--q-color-primary-hover: var(--q-color-primary-600);
|
|
49
|
+
--q-color-success-soft: color-mix(in srgb, var(--q-color-success) 15%, transparent);
|
|
50
|
+
--q-color-warning-soft: color-mix(in srgb, var(--q-color-warning) 15%, transparent);
|
|
51
|
+
--q-color-danger: var(--q-color-error);
|
|
52
|
+
--q-color-danger-soft: color-mix(in srgb, var(--q-color-danger) 15%, transparent);
|
|
53
|
+
--q-color-info: var(--q-color-primary);
|
|
54
|
+
--q-color-info-soft: color-mix(in srgb, var(--q-color-info) 15%, transparent);
|
|
55
|
+
|
|
56
|
+
--q-color-link: var(--q-color-primary);
|
|
57
|
+
--q-color-link-hover: var(--q-color-primary-hover);
|
|
58
|
+
|
|
32
59
|
/* Typography */
|
|
33
60
|
--q-font-sans: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
|
|
34
61
|
--q-font-serif: Georgia, Cambria, serif;
|
|
@@ -67,21 +94,21 @@
|
|
|
67
94
|
--q-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 10%), 0 8px 10px -6px rgb(0 0 0 / 10%);
|
|
68
95
|
--q-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 25%);
|
|
69
96
|
|
|
70
|
-
/* Animation */
|
|
71
|
-
--q-duration-
|
|
72
|
-
--q-duration-
|
|
73
|
-
--q-duration-
|
|
74
|
-
--q-duration-
|
|
75
|
-
--q-duration-
|
|
76
|
-
|
|
77
|
-
--q-duration-700: 700ms;
|
|
78
|
-
--q-duration-1000: 1000ms;
|
|
97
|
+
/* Animation & Motion Tokens */
|
|
98
|
+
--q-duration-instant: 0ms;
|
|
99
|
+
--q-duration-fast: 150ms;
|
|
100
|
+
--q-duration-base: 250ms;
|
|
101
|
+
--q-duration-slow: 400ms;
|
|
102
|
+
--q-duration-slower: 700ms;
|
|
103
|
+
|
|
79
104
|
--q-ease-linear: linear;
|
|
80
105
|
--q-ease-in: cubic-bezier(0.4, 0, 1, 1);
|
|
81
106
|
--q-ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
82
107
|
--q-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
108
|
+
--q-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
|
|
83
109
|
|
|
84
110
|
/* --- Starlight Specific Tokens --- */
|
|
111
|
+
--q-color-starlight: var(--q-color-starlight-blue);
|
|
85
112
|
--q-color-starlight-blue: #00d4ff;
|
|
86
113
|
--q-color-starlight-peach: #ffb38a;
|
|
87
114
|
--q-color-starlight-orange: #ff7e5f;
|
|
@@ -90,6 +117,8 @@
|
|
|
90
117
|
|
|
91
118
|
/* Semantic Background Colors */
|
|
92
119
|
--q-bg-primary: var(--q-color-starlight-deep);
|
|
120
|
+
--q-card-bg: rgba(255 255 255 / 5%);
|
|
121
|
+
--q-card-border: rgba(255 255 255 / 8%);
|
|
93
122
|
|
|
94
123
|
/* Semantic Text Colors */
|
|
95
124
|
--q-text-primary: #f1f5f9;
|
|
@@ -109,9 +138,9 @@
|
|
|
109
138
|
--q-glass-blur: blur(16px);
|
|
110
139
|
|
|
111
140
|
/* Transitions */
|
|
112
|
-
--q-transition-fast:
|
|
113
|
-
--q-transition-base:
|
|
114
|
-
--q-transition-slow:
|
|
141
|
+
--q-transition-fast: var(--q-duration-fast) var(--q-ease-in-out);
|
|
142
|
+
--q-transition-base: var(--q-duration-base) var(--q-ease-in-out);
|
|
143
|
+
--q-transition-slow: var(--q-duration-slow) var(--q-ease-in-out);
|
|
115
144
|
}
|
|
116
145
|
|
|
117
146
|
/* High Contrast (Accessibility) Mode Support */
|
|
@@ -165,6 +194,7 @@
|
|
|
165
194
|
}
|
|
166
195
|
|
|
167
196
|
html {
|
|
197
|
+
scroll-behavior: smooth;
|
|
168
198
|
line-height: 1.6;
|
|
169
199
|
-webkit-text-size-adjust: 100%;
|
|
170
200
|
font-family: Inter, system-ui, -apple-system, sans-serif;
|
|
@@ -627,11 +657,113 @@ textarea {
|
|
|
627
657
|
.w-screen { width: 100vw; }
|
|
628
658
|
.w-fit { width: fit-content; }
|
|
629
659
|
|
|
660
|
+
/* Width Scale */
|
|
661
|
+
.w-0 { width: var(--q-space-0); }
|
|
662
|
+
.w-1 { width: var(--q-space-1); }
|
|
663
|
+
.w-2 { width: var(--q-space-2); }
|
|
664
|
+
.w-3 { width: var(--q-space-3); }
|
|
665
|
+
.w-4 { width: var(--q-space-4); }
|
|
666
|
+
.w-5 { width: var(--q-space-5); }
|
|
667
|
+
.w-6 { width: var(--q-space-6); }
|
|
668
|
+
.w-8 { width: var(--q-space-8); }
|
|
669
|
+
.w-10 { width: var(--q-space-10); }
|
|
670
|
+
.w-12 { width: var(--q-space-12); }
|
|
671
|
+
.w-16 { width: var(--q-space-16); }
|
|
672
|
+
.w-20 { width: var(--q-space-20); }
|
|
673
|
+
.w-24 { width: var(--q-space-24); }
|
|
674
|
+
.w-32 { width: var(--q-space-32); }
|
|
675
|
+
|
|
676
|
+
/* Height Scale */
|
|
630
677
|
.h-auto { height: auto; }
|
|
631
678
|
.h-full { height: 100%; }
|
|
632
679
|
.h-screen { height: 100vh; }
|
|
633
680
|
.h-fit { height: fit-content; }
|
|
634
681
|
|
|
682
|
+
.h-0 { height: var(--q-space-0); }
|
|
683
|
+
.h-1 { height: var(--q-space-1); }
|
|
684
|
+
.h-2 { height: var(--q-space-2); }
|
|
685
|
+
.h-3 { height: var(--q-space-3); }
|
|
686
|
+
.h-4 { height: var(--q-space-4); }
|
|
687
|
+
.h-5 { height: var(--q-space-5); }
|
|
688
|
+
.h-6 { height: var(--q-space-6); }
|
|
689
|
+
.h-8 { height: var(--q-space-8); }
|
|
690
|
+
.h-10 { height: var(--q-space-10); }
|
|
691
|
+
.h-12 { height: var(--q-space-12); }
|
|
692
|
+
.h-16 { height: var(--q-space-16); }
|
|
693
|
+
.h-20 { height: var(--q-space-20); }
|
|
694
|
+
.h-24 { height: var(--q-space-24); }
|
|
695
|
+
.h-32 { height: var(--q-space-32); }
|
|
696
|
+
|
|
697
|
+
/* Min Width Scale */
|
|
698
|
+
.min-w-0 { min-width: var(--q-space-0); }
|
|
699
|
+
.min-w-1 { min-width: var(--q-space-1); }
|
|
700
|
+
.min-w-2 { min-width: var(--q-space-2); }
|
|
701
|
+
.min-w-3 { min-width: var(--q-space-3); }
|
|
702
|
+
.min-w-4 { min-width: var(--q-space-4); }
|
|
703
|
+
.min-w-5 { min-width: var(--q-space-5); }
|
|
704
|
+
.min-w-6 { min-width: var(--q-space-6); }
|
|
705
|
+
.min-w-8 { min-width: var(--q-space-8); }
|
|
706
|
+
.min-w-10 { min-width: var(--q-space-10); }
|
|
707
|
+
.min-w-12 { min-width: var(--q-space-12); }
|
|
708
|
+
.min-w-16 { min-width: var(--q-space-16); }
|
|
709
|
+
.min-w-20 { min-width: var(--q-space-20); }
|
|
710
|
+
.min-w-24 { min-width: var(--q-space-24); }
|
|
711
|
+
.min-w-32 { min-width: var(--q-space-32); }
|
|
712
|
+
.min-w-full { min-width: 100%; }
|
|
713
|
+
|
|
714
|
+
/* Min Height Scale */
|
|
715
|
+
.min-h-0 { min-height: var(--q-space-0); }
|
|
716
|
+
.min-h-1 { min-height: var(--q-space-1); }
|
|
717
|
+
.min-h-2 { min-height: var(--q-space-2); }
|
|
718
|
+
.min-h-3 { min-height: var(--q-space-3); }
|
|
719
|
+
.min-h-4 { min-height: var(--q-space-4); }
|
|
720
|
+
.min-h-5 { min-height: var(--q-space-5); }
|
|
721
|
+
.min-h-6 { min-height: var(--q-space-6); }
|
|
722
|
+
.min-h-8 { min-height: var(--q-space-8); }
|
|
723
|
+
.min-h-10 { min-height: var(--q-space-10); }
|
|
724
|
+
.min-h-12 { min-height: var(--q-space-12); }
|
|
725
|
+
.min-h-16 { min-height: var(--q-space-16); }
|
|
726
|
+
.min-h-20 { min-height: var(--q-space-20); }
|
|
727
|
+
.min-h-24 { min-height: var(--q-space-24); }
|
|
728
|
+
.min-h-32 { min-height: var(--q-space-32); }
|
|
729
|
+
.min-h-full { min-height: 100%; }
|
|
730
|
+
|
|
731
|
+
/* Max Width Scale */
|
|
732
|
+
.max-w-0 { max-width: var(--q-space-0); }
|
|
733
|
+
.max-w-1 { max-width: var(--q-space-1); }
|
|
734
|
+
.max-w-2 { max-width: var(--q-space-2); }
|
|
735
|
+
.max-w-3 { max-width: var(--q-space-3); }
|
|
736
|
+
.max-w-4 { max-width: var(--q-space-4); }
|
|
737
|
+
.max-w-5 { max-width: var(--q-space-5); }
|
|
738
|
+
.max-w-6 { max-width: var(--q-space-6); }
|
|
739
|
+
.max-w-8 { max-width: var(--q-space-8); }
|
|
740
|
+
.max-w-10 { max-width: var(--q-space-10); }
|
|
741
|
+
.max-w-12 { max-width: var(--q-space-12); }
|
|
742
|
+
.max-w-16 { max-width: var(--q-space-16); }
|
|
743
|
+
.max-w-20 { max-width: var(--q-space-20); }
|
|
744
|
+
.max-w-24 { max-width: var(--q-space-24); }
|
|
745
|
+
.max-w-32 { max-width: var(--q-space-32); }
|
|
746
|
+
.max-w-full { max-width: 100%; }
|
|
747
|
+
.max-w-screen { max-width: 100vw; }
|
|
748
|
+
|
|
749
|
+
/* Max Height Scale */
|
|
750
|
+
.max-h-0 { max-height: var(--q-space-0); }
|
|
751
|
+
.max-h-1 { max-height: var(--q-space-1); }
|
|
752
|
+
.max-h-2 { max-height: var(--q-space-2); }
|
|
753
|
+
.max-h-3 { max-height: var(--q-space-3); }
|
|
754
|
+
.max-h-4 { max-height: var(--q-space-4); }
|
|
755
|
+
.max-h-5 { max-height: var(--q-space-5); }
|
|
756
|
+
.max-h-6 { max-height: var(--q-space-6); }
|
|
757
|
+
.max-h-8 { max-height: var(--q-space-8); }
|
|
758
|
+
.max-h-10 { max-height: var(--q-space-10); }
|
|
759
|
+
.max-h-12 { max-height: var(--q-space-12); }
|
|
760
|
+
.max-h-16 { max-height: var(--q-space-16); }
|
|
761
|
+
.max-h-20 { max-height: var(--q-space-20); }
|
|
762
|
+
.max-h-24 { max-height: var(--q-space-24); }
|
|
763
|
+
.max-h-32 { max-height: var(--q-space-32); }
|
|
764
|
+
.max-h-full { max-height: 100%; }
|
|
765
|
+
.max-h-screen { max-height: 100vh; }
|
|
766
|
+
|
|
635
767
|
/* Transition Utilities */
|
|
636
768
|
.transition-none {
|
|
637
769
|
transition-property: none;
|
|
@@ -640,13 +772,13 @@ textarea {
|
|
|
640
772
|
.transition-all {
|
|
641
773
|
transition-property: all;
|
|
642
774
|
transition-timing-function: var(--q-ease-in-out);
|
|
643
|
-
transition-duration: var(--q-duration-
|
|
775
|
+
transition-duration: var(--q-duration-fast);
|
|
644
776
|
}
|
|
645
777
|
|
|
646
778
|
.transition-colors {
|
|
647
779
|
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
|
|
648
780
|
transition-timing-function: var(--q-ease-in-out);
|
|
649
|
-
transition-duration: var(--q-duration-
|
|
781
|
+
transition-duration: var(--q-duration-fast);
|
|
650
782
|
}
|
|
651
783
|
|
|
652
784
|
/* Transform Utilities */
|
|
@@ -753,14 +885,12 @@ textarea {
|
|
|
753
885
|
color: var(--q-color-primary-600);
|
|
754
886
|
}
|
|
755
887
|
|
|
756
|
-
/* Reduced Motion
|
|
888
|
+
/* Reduced Motion Compliance Layer */
|
|
757
889
|
@media (prefers-reduced-motion: reduce) {
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
*::after {
|
|
761
|
-
animation-duration: 0.01ms !important;
|
|
890
|
+
* {
|
|
891
|
+
animation-duration: 0ms !important;
|
|
762
892
|
animation-iteration-count: 1 !important;
|
|
763
|
-
transition-duration:
|
|
893
|
+
transition-duration: 0ms !important;
|
|
764
894
|
scroll-behavior: auto !important;
|
|
765
895
|
}
|
|
766
896
|
}
|
|
@@ -800,8 +930,7 @@ textarea {
|
|
|
800
930
|
|
|
801
931
|
|
|
802
932
|
|
|
803
|
-
html[data-theme="light"]
|
|
804
|
-
body.light-mode {
|
|
933
|
+
html[data-theme="light"] {
|
|
805
934
|
color-scheme: light;
|
|
806
935
|
|
|
807
936
|
--q-bg-primary: var(--q-light-bg);
|
|
@@ -812,8 +941,7 @@ body.light-mode {
|
|
|
812
941
|
scrollbar-color: var(--q-color-starlight-blue) transparent;
|
|
813
942
|
}
|
|
814
943
|
|
|
815
|
-
html[data-theme="dark"]
|
|
816
|
-
body.dark-mode {
|
|
944
|
+
html[data-theme="dark"] {
|
|
817
945
|
color-scheme: dark;
|
|
818
946
|
|
|
819
947
|
--q-bg-primary: var(--q-color-starlight-deep);
|
|
@@ -821,14 +949,12 @@ body.dark-mode {
|
|
|
821
949
|
}
|
|
822
950
|
|
|
823
951
|
/* Force theme colors on body to override template-specific hardcoded styles */
|
|
824
|
-
html[data-theme="light"] body
|
|
825
|
-
body.light-mode {
|
|
952
|
+
html[data-theme="light"] body {
|
|
826
953
|
background: var(--q-light-bg) !important;
|
|
827
954
|
color: var(--q-light-text);
|
|
828
955
|
}
|
|
829
956
|
|
|
830
|
-
html[data-theme="dark"] body
|
|
831
|
-
body.dark-mode {
|
|
957
|
+
html[data-theme="dark"] body {
|
|
832
958
|
background: var(--q-color-starlight-deep) !important;
|
|
833
959
|
color: #f1f5f9;
|
|
834
960
|
}
|