@shift-css/core 0.6.0 → 0.7.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.
@@ -0,0 +1,233 @@
1
+ [s-scroll-progress] {
2
+ --_scroll-progress-z: var(--s-scroll-progress-z, 1000);
3
+ height: 3px;
4
+ z-index: var(--_scroll-progress-z);
5
+ background: var(--s-interactive-primary);
6
+ transform-origin: 0;
7
+ position: fixed;
8
+ top: 0;
9
+ left: 0;
10
+ right: 0;
11
+ transform: scaleX(0);
12
+ }
13
+
14
+ @supports (animation-timeline: scroll()) {
15
+ [s-scroll-progress] {
16
+ animation-name: s-scroll-progress-grow;
17
+ animation-duration: 1ms;
18
+ animation-timing-function: linear;
19
+ animation-fill-mode: both;
20
+ animation-timeline: scroll();
21
+ }
22
+
23
+ @keyframes s-scroll-progress-grow {
24
+ from {
25
+ transform: scaleX(0);
26
+ }
27
+
28
+ to {
29
+ transform: scaleX(1);
30
+ }
31
+ }
32
+ }
33
+
34
+ [s-scroll-progress="secondary"] {
35
+ background: var(--s-secondary-500);
36
+ }
37
+
38
+ [s-scroll-progress="accent"] {
39
+ background: var(--s-accent-500);
40
+ }
41
+
42
+ [s-scroll-progress="gradient"] {
43
+ background: linear-gradient(90deg,
44
+ var(--s-primary-500),
45
+ var(--s-secondary-500),
46
+ var(--s-accent-500));
47
+ }
48
+
49
+ [s-scroll-reveal] {
50
+ opacity: 1;
51
+ }
52
+
53
+ @supports (animation-timeline: view()) {
54
+ [s-scroll-reveal] {
55
+ animation: linear both s-scroll-fade-in view();
56
+ animation-range: entry;
57
+ }
58
+
59
+ @keyframes s-scroll-fade-in {
60
+ from {
61
+ opacity: 0;
62
+ }
63
+
64
+ to {
65
+ opacity: 1;
66
+ }
67
+ }
68
+
69
+ [s-scroll-reveal="slide-up"] {
70
+ animation-name: s-scroll-slide-up;
71
+ }
72
+
73
+ @keyframes s-scroll-slide-up {
74
+ from {
75
+ opacity: 0;
76
+ transform: translateY(2rem);
77
+ }
78
+
79
+ to {
80
+ opacity: 1;
81
+ transform: translateY(0);
82
+ }
83
+ }
84
+
85
+ [s-scroll-reveal="slide-down"] {
86
+ animation-name: s-scroll-slide-down;
87
+ }
88
+
89
+ @keyframes s-scroll-slide-down {
90
+ from {
91
+ opacity: 0;
92
+ transform: translateY(-2rem);
93
+ }
94
+
95
+ to {
96
+ opacity: 1;
97
+ transform: translateY(0);
98
+ }
99
+ }
100
+
101
+ [s-scroll-reveal="slide-left"] {
102
+ animation-name: s-scroll-slide-left;
103
+ }
104
+
105
+ @keyframes s-scroll-slide-left {
106
+ from {
107
+ opacity: 0;
108
+ transform: translateX(2rem);
109
+ }
110
+
111
+ to {
112
+ opacity: 1;
113
+ transform: translateX(0);
114
+ }
115
+ }
116
+
117
+ [s-scroll-reveal="slide-right"] {
118
+ animation-name: s-scroll-slide-right;
119
+ }
120
+
121
+ @keyframes s-scroll-slide-right {
122
+ from {
123
+ opacity: 0;
124
+ transform: translateX(-2rem);
125
+ }
126
+
127
+ to {
128
+ opacity: 1;
129
+ transform: translateX(0);
130
+ }
131
+ }
132
+
133
+ [s-scroll-reveal="scale"] {
134
+ animation-name: s-scroll-scale-up;
135
+ }
136
+
137
+ @keyframes s-scroll-scale-up {
138
+ from {
139
+ opacity: 0;
140
+ transform: scale(.9);
141
+ }
142
+
143
+ to {
144
+ opacity: 1;
145
+ transform: scale(1);
146
+ }
147
+ }
148
+ }
149
+
150
+ @supports (animation-timeline: scroll()) {
151
+ [s-scroll-parallax] {
152
+ animation: linear s-scroll-parallax-slow scroll();
153
+ }
154
+
155
+ @keyframes s-scroll-parallax-slow {
156
+ from {
157
+ transform: translateY(0);
158
+ }
159
+
160
+ to {
161
+ transform: translateY(-10%);
162
+ }
163
+ }
164
+
165
+ [s-scroll-parallax="fast"] {
166
+ animation-name: s-scroll-parallax-fast;
167
+ }
168
+
169
+ @keyframes s-scroll-parallax-fast {
170
+ from {
171
+ transform: translateY(0);
172
+ }
173
+
174
+ to {
175
+ transform: translateY(-25%);
176
+ }
177
+ }
178
+
179
+ [s-scroll-parallax="reverse"] {
180
+ animation-name: s-scroll-parallax-reverse;
181
+ }
182
+
183
+ @keyframes s-scroll-parallax-reverse {
184
+ from {
185
+ transform: translateY(0);
186
+ }
187
+
188
+ to {
189
+ transform: translateY(10%);
190
+ }
191
+ }
192
+
193
+ [s-scroll-rotate] {
194
+ animation: linear s-scroll-rotate scroll();
195
+ }
196
+
197
+ @keyframes s-scroll-rotate {
198
+ from {
199
+ transform: rotate(0);
200
+ }
201
+
202
+ to {
203
+ transform: rotate(360deg);
204
+ }
205
+ }
206
+
207
+ [s-scroll-rotate="reverse"] {
208
+ animation-name: s-scroll-rotate-reverse;
209
+ }
210
+
211
+ @keyframes s-scroll-rotate-reverse {
212
+ from {
213
+ transform: rotate(0);
214
+ }
215
+
216
+ to {
217
+ transform: rotate(-360deg);
218
+ }
219
+ }
220
+ }
221
+
222
+ @media (prefers-reduced-motion: reduce) {
223
+ [s-scroll-reveal], [s-scroll-parallax], [s-scroll-rotate] {
224
+ opacity: 1 !important;
225
+ animation: none !important;
226
+ transform: none !important;
227
+ }
228
+
229
+ [s-scroll-progress] {
230
+ transform: scaleX(1);
231
+ animation: none !important;
232
+ }
233
+ }
package/package.json CHANGED
@@ -1,12 +1,15 @@
1
1
  {
2
2
  "name": "@shift-css/core",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Zero-runtime, OKLCH-native CSS framework with cascade layers and native light-dark() theming",
5
5
  "type": "module",
6
6
  "main": "./dist/shift.css",
7
7
  "types": "./types/index.d.ts",
8
8
  "exports": {
9
- ".": "./dist/shift.css",
9
+ ".": {
10
+ "style": "./dist/shift.css",
11
+ "default": "./dist/shift.css"
12
+ },
10
13
  "./min": "./dist/shift.min.css",
11
14
  "./reset": "./dist/reset.css",
12
15
  "./tokens": "./dist/tokens.css",
@@ -24,6 +27,8 @@
24
27
  "./utils/flex": "./dist/utils/flex.css",
25
28
  "./utils/typography": "./dist/utils/typography.css",
26
29
  "./utils/visibility": "./dist/utils/visibility.css",
30
+ "./utils/scroll": "./dist/utils/scroll.css",
31
+ "./utils/functions": "./dist/utils/functions.css",
27
32
  "./types": "./types/index.d.ts",
28
33
  "./types/react": "./types/react.d.ts",
29
34
  "./types/vue": "./types/vue.d.ts",
@@ -54,7 +59,7 @@
54
59
  "@playwright/test": "^1.50.1",
55
60
  "@types/bun": "^1.3.6",
56
61
  "@types/node": "^22.10.5",
57
- "lightningcss": "^1.30.2",
62
+ "lightningcss": "^1.31.1",
58
63
  "tsx": "^4.21.0",
59
64
  "typescript": "^5.9.3"
60
65
  },