@castlenine/svelte-aoe 1.4.0 → 1.5.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/LICENSE +1 -1
- package/README.md +9 -7
- package/dist/animations.css +42 -526
- package/dist/index.d.ts.map +1 -1
- package/dist/index.svelte +6 -11
- package/dist/index.svelte.d.ts +1 -1
- package/dist/index.svelte.d.ts.map +1 -1
- package/package.json +7 -6
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
# `@castlenine/svelte-aoe`
|
|
4
4
|
|
|
5
|
-
[![npm.badge]][npm] [![download.badge]][download]
|
|
5
|
+
[![npm.badge]][npm] [![download.badge]][download] [![contribution.badge]][contribution]
|
|
6
6
|
|
|
7
|
-
A Svelte component to animate elements,
|
|
7
|
+
A Svelte component to animate elements, with no dependencies
|
|
8
8
|
</div>
|
|
9
9
|
|
|
10
10
|
`@castlenine/svelte-aoe` utilizes the [Intersection Observer API](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) to detect when an element enters the viewport.
|
|
@@ -17,8 +17,8 @@ When the element is detected as being in the viewport, `@castlenine/svelte-aoe`
|
|
|
17
17
|
|
|
18
18
|
Use your package manager to install:
|
|
19
19
|
|
|
20
|
-
```
|
|
21
|
-
npm i @castlenine/svelte-aoe
|
|
20
|
+
```shell
|
|
21
|
+
npm i @castlenine/svelte-aoe
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
## Setup
|
|
@@ -95,7 +95,7 @@ File: `src/routes/+layout.svelte`
|
|
|
95
95
|
|
|
96
96
|
### Normal speed partial fade
|
|
97
97
|
|
|
98
|
-
Start
|
|
98
|
+
Start with `0.25` opacity
|
|
99
99
|
|
|
100
100
|
- `partial-fade`
|
|
101
101
|
- `partial-fade-up`
|
|
@@ -105,7 +105,7 @@ Start wih `0.25` opacity
|
|
|
105
105
|
|
|
106
106
|
### Fast speed partial fade
|
|
107
107
|
|
|
108
|
-
Start
|
|
108
|
+
Start with `0.25` opacity
|
|
109
109
|
|
|
110
110
|
- `partial-fade-fast`
|
|
111
111
|
- `partial-fade-up-fast`
|
|
@@ -115,7 +115,7 @@ Start wih `0.25` opacity
|
|
|
115
115
|
|
|
116
116
|
### Slow speed partial fade
|
|
117
117
|
|
|
118
|
-
Start
|
|
118
|
+
Start with `0.25` opacity
|
|
119
119
|
|
|
120
120
|
- `partial-fade-slow`
|
|
121
121
|
- `partial-fade-up-slow`
|
|
@@ -161,3 +161,5 @@ Inspired by [Animate on Scroll](https://michalsnik.github.io/aos/) and forked fr
|
|
|
161
161
|
[npm.badge]: https://img.shields.io/npm/v/@castlenine/svelte-aoe
|
|
162
162
|
[download]: https://www.npmjs.com/package/@castlenine/svelte-aoe
|
|
163
163
|
[download.badge]: https://img.shields.io/npm/d18m/@castlenine/svelte-aoe
|
|
164
|
+
[contribution]: https://github.com/Castlenine/svelte-aoe
|
|
165
|
+
[contribution.badge]: https://img.shields.io/badge/contributions-welcome-green
|
package/dist/animations.css
CHANGED
|
@@ -1,565 +1,81 @@
|
|
|
1
1
|
/* **************************************************** */
|
|
2
|
-
/*
|
|
2
|
+
/* Base: shared transitions and configurable defaults */
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
transform:
|
|
4
|
+
[data-aoe] {
|
|
5
|
+
--_aoe-distance: 45px;
|
|
6
|
+
--_aoe-t-transform: 600ms;
|
|
7
|
+
--_aoe-t-opacity: 900ms;
|
|
7
8
|
transition:
|
|
8
|
-
transform
|
|
9
|
-
opacity
|
|
10
|
-
|
|
11
|
-
&.aoe {
|
|
12
|
-
transform: translateY(0);
|
|
13
|
-
transition-delay: 0s;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
[data-aoe='right'] {
|
|
18
|
-
transform: translateX(-45px);
|
|
19
|
-
transition:
|
|
20
|
-
transform 600ms,
|
|
21
|
-
opacity 900ms;
|
|
22
|
-
|
|
23
|
-
&.aoe {
|
|
24
|
-
transform: translateX(0);
|
|
25
|
-
transition-delay: 0s;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
[data-aoe='down'] {
|
|
30
|
-
transform: translateY(-45px);
|
|
31
|
-
transition:
|
|
32
|
-
transform 600ms,
|
|
33
|
-
opacity 900ms;
|
|
34
|
-
|
|
35
|
-
&.aoe {
|
|
36
|
-
transform: translateY(0);
|
|
37
|
-
transition-delay: 0s;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
[data-aoe='left'] {
|
|
42
|
-
transform: translateX(45px);
|
|
43
|
-
transition:
|
|
44
|
-
transform 600ms,
|
|
45
|
-
opacity 900ms;
|
|
46
|
-
|
|
47
|
-
&.aoe {
|
|
48
|
-
opacity: 1;
|
|
49
|
-
transform: translateX(0);
|
|
50
|
-
transition-delay: 0s;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/* fast speed */
|
|
55
|
-
[data-aoe='up-fast'] {
|
|
56
|
-
transform: translateY(45px);
|
|
57
|
-
transition:
|
|
58
|
-
transform 370ms,
|
|
59
|
-
opacity 555ms;
|
|
60
|
-
|
|
61
|
-
&.aoe {
|
|
62
|
-
transform: translateY(0);
|
|
63
|
-
transition-delay: 0s;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
[data-aoe='right-fast'] {
|
|
68
|
-
transform: translateX(-45px);
|
|
69
|
-
transition:
|
|
70
|
-
transform 370ms,
|
|
71
|
-
opacity 555ms;
|
|
72
|
-
|
|
73
|
-
&.aoe {
|
|
74
|
-
transform: translateX(0);
|
|
75
|
-
transition-delay: 0s;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
[data-aoe='down-fast'] {
|
|
80
|
-
transform: translateY(-45px);
|
|
81
|
-
transition:
|
|
82
|
-
transform 370ms,
|
|
83
|
-
opacity 555ms;
|
|
84
|
-
|
|
85
|
-
&.aoe {
|
|
86
|
-
transform: translateY(0);
|
|
87
|
-
transition-delay: 0s;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
[data-aoe='left-fast'] {
|
|
92
|
-
transform: translateX(45px);
|
|
93
|
-
transition:
|
|
94
|
-
transform 370ms,
|
|
95
|
-
opacity 555ms;
|
|
96
|
-
|
|
97
|
-
&.aoe {
|
|
98
|
-
opacity: 1;
|
|
99
|
-
transform: translateX(0);
|
|
100
|
-
transition-delay: 0s;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/* slow speed */
|
|
105
|
-
[data-aoe='up-slow'] {
|
|
106
|
-
transform: translateY(45px);
|
|
107
|
-
transition:
|
|
108
|
-
transform 975ms,
|
|
109
|
-
opacity 1500ms;
|
|
110
|
-
|
|
111
|
-
&.aoe {
|
|
112
|
-
transform: translateY(0);
|
|
113
|
-
transition-delay: 0s;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
[data-aoe='right-slow'] {
|
|
118
|
-
transform: translateX(-45px);
|
|
119
|
-
transition:
|
|
120
|
-
transform 975ms,
|
|
121
|
-
opacity 1500ms;
|
|
122
|
-
|
|
123
|
-
&.aoe {
|
|
124
|
-
transform: translateX(0);
|
|
125
|
-
transition-delay: 0s;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
[data-aoe='down-slow'] {
|
|
130
|
-
transform: translateY(-45px);
|
|
131
|
-
transition:
|
|
132
|
-
transform 975ms,
|
|
133
|
-
opacity 1500ms;
|
|
134
|
-
|
|
135
|
-
&.aoe {
|
|
136
|
-
transform: translateY(0);
|
|
137
|
-
transition-delay: 0s;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
[data-aoe='left-slow'] {
|
|
142
|
-
transform: translateX(45px);
|
|
143
|
-
transition:
|
|
144
|
-
transform 975ms,
|
|
145
|
-
opacity 1500ms;
|
|
146
|
-
|
|
147
|
-
&.aoe {
|
|
148
|
-
opacity: 1;
|
|
149
|
-
transform: translateX(0);
|
|
150
|
-
transition-delay: 0s;
|
|
151
|
-
}
|
|
9
|
+
transform var(--_aoe-t-transform),
|
|
10
|
+
opacity var(--_aoe-t-opacity);
|
|
152
11
|
}
|
|
153
12
|
|
|
154
13
|
/* **************************************************** */
|
|
155
|
-
/*
|
|
156
|
-
|
|
157
|
-
/* normal speed */
|
|
158
|
-
[data-aoe='fade'] {
|
|
159
|
-
opacity: 0;
|
|
160
|
-
transition: opacity 900ms;
|
|
161
|
-
|
|
162
|
-
&.aoe {
|
|
163
|
-
opacity: 1;
|
|
164
|
-
transition-delay: 0s;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
[data-aoe='fade-up'] {
|
|
169
|
-
opacity: 0;
|
|
170
|
-
transform: translateY(45px);
|
|
171
|
-
transition:
|
|
172
|
-
transform 600ms,
|
|
173
|
-
opacity 900ms;
|
|
174
|
-
|
|
175
|
-
&.aoe {
|
|
176
|
-
opacity: 1;
|
|
177
|
-
transform: translateY(0);
|
|
178
|
-
transition-delay: 0s;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
[data-aoe='fade-right'] {
|
|
183
|
-
opacity: 0;
|
|
184
|
-
transform: translateX(-45px);
|
|
185
|
-
transition:
|
|
186
|
-
transform 600ms,
|
|
187
|
-
opacity 900ms;
|
|
188
|
-
|
|
189
|
-
&.aoe {
|
|
190
|
-
opacity: 1;
|
|
191
|
-
transform: translateX(0);
|
|
192
|
-
transition-delay: 0s;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
[data-aoe='fade-down'] {
|
|
197
|
-
opacity: 0;
|
|
198
|
-
transform: translateY(-45px);
|
|
199
|
-
transition:
|
|
200
|
-
transform 600ms,
|
|
201
|
-
opacity 900ms;
|
|
202
|
-
|
|
203
|
-
&.aoe {
|
|
204
|
-
opacity: 1;
|
|
205
|
-
transform: translateY(0);
|
|
206
|
-
transition-delay: 0s;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
[data-aoe='fade-left'] {
|
|
211
|
-
opacity: 0;
|
|
212
|
-
transform: translateX(45px);
|
|
213
|
-
transition:
|
|
214
|
-
transform 600ms,
|
|
215
|
-
opacity 900ms;
|
|
216
|
-
|
|
217
|
-
&.aoe {
|
|
218
|
-
opacity: 1;
|
|
219
|
-
transform: translateX(0);
|
|
220
|
-
transition-delay: 0s;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
/* fast speed */
|
|
225
|
-
[data-aoe='fade-fast'] {
|
|
226
|
-
opacity: 0;
|
|
227
|
-
transition: opacity 555ms;
|
|
228
|
-
|
|
229
|
-
&.aoe {
|
|
230
|
-
opacity: 1;
|
|
231
|
-
transition-delay: 0s;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
[data-aoe='fade-up-fast'] {
|
|
236
|
-
opacity: 0;
|
|
237
|
-
transform: translateY(45px);
|
|
238
|
-
transition:
|
|
239
|
-
transform 370ms,
|
|
240
|
-
opacity 555ms;
|
|
241
|
-
|
|
242
|
-
&.aoe {
|
|
243
|
-
opacity: 1;
|
|
244
|
-
transform: translateY(0);
|
|
245
|
-
transition-delay: 0s;
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
[data-aoe='fade-right-fast'] {
|
|
250
|
-
opacity: 0;
|
|
251
|
-
transform: translateX(-45px);
|
|
252
|
-
transition:
|
|
253
|
-
transform 370ms,
|
|
254
|
-
opacity 555ms;
|
|
255
|
-
|
|
256
|
-
&.aoe {
|
|
257
|
-
opacity: 1;
|
|
258
|
-
transform: translateX(0);
|
|
259
|
-
transition-delay: 0s;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
[data-aoe='fade-down-fast'] {
|
|
264
|
-
opacity: 0;
|
|
265
|
-
transform: translateY(-45px);
|
|
266
|
-
transition:
|
|
267
|
-
transform 370ms,
|
|
268
|
-
opacity 555ms;
|
|
269
|
-
|
|
270
|
-
&.aoe {
|
|
271
|
-
opacity: 1;
|
|
272
|
-
transform: translateY(0);
|
|
273
|
-
transition-delay: 0s;
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
[data-aoe='fade-left-fast'] {
|
|
278
|
-
opacity: 0;
|
|
279
|
-
transform: translateX(45px);
|
|
280
|
-
transition:
|
|
281
|
-
transform 370ms,
|
|
282
|
-
opacity 555ms;
|
|
283
|
-
|
|
284
|
-
&.aoe {
|
|
285
|
-
opacity: 1;
|
|
286
|
-
transform: translateX(0);
|
|
287
|
-
transition-delay: 0s;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
/* slow speed */
|
|
292
|
-
[data-aoe='fade-slow'] {
|
|
293
|
-
opacity: 0;
|
|
294
|
-
transition: opacity 1500ms;
|
|
295
|
-
|
|
296
|
-
&.aoe {
|
|
297
|
-
opacity: 1;
|
|
298
|
-
transition-delay: 0s;
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
[data-aoe='fade-up-slow'] {
|
|
303
|
-
opacity: 0;
|
|
304
|
-
transform: translateY(45px);
|
|
305
|
-
transition:
|
|
306
|
-
transform 975ms,
|
|
307
|
-
opacity 1500ms;
|
|
308
|
-
|
|
309
|
-
&.aoe {
|
|
310
|
-
opacity: 1;
|
|
311
|
-
transform: translateY(0);
|
|
312
|
-
transition-delay: 0s;
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
[data-aoe='fade-right-slow'] {
|
|
317
|
-
opacity: 0;
|
|
318
|
-
transform: translateX(-45px);
|
|
319
|
-
transition:
|
|
320
|
-
transform 975ms,
|
|
321
|
-
opacity 1500ms;
|
|
322
|
-
|
|
323
|
-
&.aoe {
|
|
324
|
-
opacity: 1;
|
|
325
|
-
transform: translateX(0);
|
|
326
|
-
transition-delay: 0s;
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
[data-aoe='fade-down-slow'] {
|
|
331
|
-
opacity: 0;
|
|
332
|
-
transform: translateY(-45px);
|
|
333
|
-
transition:
|
|
334
|
-
transform 975ms,
|
|
335
|
-
opacity 1500ms;
|
|
14
|
+
/* Speed modifiers */
|
|
336
15
|
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
transition-delay: 0s;
|
|
341
|
-
}
|
|
16
|
+
[data-aoe$='-fast'] {
|
|
17
|
+
--_aoe-t-transform: 370ms;
|
|
18
|
+
--_aoe-t-opacity: 555ms;
|
|
342
19
|
}
|
|
343
20
|
|
|
344
|
-
[data-aoe
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
transition:
|
|
348
|
-
transform 975ms,
|
|
349
|
-
opacity 1500ms;
|
|
350
|
-
|
|
351
|
-
&.aoe {
|
|
352
|
-
opacity: 1;
|
|
353
|
-
transform: translateX(0);
|
|
354
|
-
transition-delay: 0s;
|
|
355
|
-
}
|
|
21
|
+
[data-aoe$='-slow'] {
|
|
22
|
+
--_aoe-t-transform: 975ms;
|
|
23
|
+
--_aoe-t-opacity: 1500ms;
|
|
356
24
|
}
|
|
357
25
|
|
|
358
26
|
/* **************************************************** */
|
|
359
|
-
/*
|
|
27
|
+
/* Direction: initial displaced state */
|
|
360
28
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
opacity: 0.25;
|
|
364
|
-
transition: opacity 900ms;
|
|
365
|
-
|
|
366
|
-
&.aoe {
|
|
367
|
-
opacity: 1;
|
|
368
|
-
transition-delay: 0s;
|
|
369
|
-
}
|
|
29
|
+
[data-aoe*='up'] {
|
|
30
|
+
transform: translateY(var(--_aoe-distance));
|
|
370
31
|
}
|
|
371
32
|
|
|
372
|
-
[data-aoe
|
|
373
|
-
|
|
374
|
-
transform: translateY(45px);
|
|
375
|
-
transition:
|
|
376
|
-
transform 600ms,
|
|
377
|
-
opacity 900ms;
|
|
378
|
-
|
|
379
|
-
&.aoe {
|
|
380
|
-
opacity: 1;
|
|
381
|
-
transform: translateY(0);
|
|
382
|
-
transition-delay: 0s;
|
|
383
|
-
}
|
|
33
|
+
[data-aoe*='right'] {
|
|
34
|
+
transform: translateX(calc(-1 * var(--_aoe-distance)));
|
|
384
35
|
}
|
|
385
36
|
|
|
386
|
-
[data-aoe
|
|
387
|
-
|
|
388
|
-
transform: translateX(-45px);
|
|
389
|
-
transition:
|
|
390
|
-
transform 600ms,
|
|
391
|
-
opacity 900ms;
|
|
392
|
-
|
|
393
|
-
&.aoe {
|
|
394
|
-
opacity: 1;
|
|
395
|
-
transform: translateX(0);
|
|
396
|
-
transition-delay: 0s;
|
|
397
|
-
}
|
|
37
|
+
[data-aoe*='down'] {
|
|
38
|
+
transform: translateY(calc(-1 * var(--_aoe-distance)));
|
|
398
39
|
}
|
|
399
40
|
|
|
400
|
-
[data-aoe
|
|
401
|
-
|
|
402
|
-
transform: translateY(-45px);
|
|
403
|
-
transition:
|
|
404
|
-
transform 600ms,
|
|
405
|
-
opacity 900ms;
|
|
406
|
-
|
|
407
|
-
&.aoe {
|
|
408
|
-
opacity: 1;
|
|
409
|
-
transform: translateY(0);
|
|
410
|
-
transition-delay: 0s;
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
[data-aoe='partial-fade-left'] {
|
|
415
|
-
opacity: 0.25;
|
|
416
|
-
transform: translateX(45px);
|
|
417
|
-
transition:
|
|
418
|
-
transform 600ms,
|
|
419
|
-
opacity 900ms;
|
|
420
|
-
|
|
421
|
-
&.aoe {
|
|
422
|
-
opacity: 1;
|
|
423
|
-
transform: translateX(0);
|
|
424
|
-
transition-delay: 0s;
|
|
425
|
-
}
|
|
41
|
+
[data-aoe*='left'] {
|
|
42
|
+
transform: translateX(var(--_aoe-distance));
|
|
426
43
|
}
|
|
427
44
|
|
|
428
|
-
/*
|
|
429
|
-
|
|
430
|
-
opacity: 0.25;
|
|
431
|
-
transition: opacity 555ms;
|
|
432
|
-
|
|
433
|
-
&.aoe {
|
|
434
|
-
opacity: 1;
|
|
435
|
-
transition-delay: 0s;
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
[data-aoe='partial-fade-up-fast'] {
|
|
440
|
-
opacity: 0.25;
|
|
441
|
-
transform: translateY(45px);
|
|
442
|
-
transition:
|
|
443
|
-
transform 370ms,
|
|
444
|
-
opacity 555ms;
|
|
445
|
-
|
|
446
|
-
&.aoe {
|
|
447
|
-
opacity: 1;
|
|
448
|
-
transform: translateY(0);
|
|
449
|
-
transition-delay: 0s;
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
[data-aoe='partial-fade-right-fast'] {
|
|
454
|
-
opacity: 0.25;
|
|
455
|
-
transform: translateX(-45px);
|
|
456
|
-
transition:
|
|
457
|
-
transform 370ms,
|
|
458
|
-
opacity 555ms;
|
|
459
|
-
|
|
460
|
-
&.aoe {
|
|
461
|
-
opacity: 1;
|
|
462
|
-
transform: translateX(0);
|
|
463
|
-
transition-delay: 0s;
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
[data-aoe='partial-fade-down-fast'] {
|
|
468
|
-
opacity: 0.25;
|
|
469
|
-
transform: translateY(-45px);
|
|
470
|
-
transition:
|
|
471
|
-
transform 370ms,
|
|
472
|
-
opacity 555ms;
|
|
473
|
-
|
|
474
|
-
&.aoe {
|
|
475
|
-
opacity: 1;
|
|
476
|
-
transform: translateY(0);
|
|
477
|
-
transition-delay: 0s;
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
[data-aoe='partial-fade-left-fast'] {
|
|
482
|
-
opacity: 0.25;
|
|
483
|
-
transform: translateX(45px);
|
|
484
|
-
transition:
|
|
485
|
-
transform 370ms,
|
|
486
|
-
opacity 555ms;
|
|
45
|
+
/* **************************************************** */
|
|
46
|
+
/* Opacity: initial hidden state */
|
|
487
47
|
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
transform: translateX(0);
|
|
491
|
-
transition-delay: 0s;
|
|
492
|
-
}
|
|
48
|
+
[data-aoe^='fade'] {
|
|
49
|
+
opacity: 0;
|
|
493
50
|
}
|
|
494
51
|
|
|
495
|
-
|
|
496
|
-
[data-aoe='partial-fade-slow'] {
|
|
52
|
+
[data-aoe^='partial-fade'] {
|
|
497
53
|
opacity: 0.25;
|
|
498
|
-
transition: opacity 1500ms;
|
|
499
|
-
|
|
500
|
-
&.aoe {
|
|
501
|
-
opacity: 1;
|
|
502
|
-
transition-delay: 0s;
|
|
503
|
-
}
|
|
504
54
|
}
|
|
505
55
|
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
transform: translateY(45px);
|
|
509
|
-
transition:
|
|
510
|
-
transform 975ms,
|
|
511
|
-
opacity 1500ms;
|
|
56
|
+
/* **************************************************** */
|
|
57
|
+
/* Animated state */
|
|
512
58
|
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
transform: translateY(0);
|
|
516
|
-
transition-delay: 0s;
|
|
517
|
-
}
|
|
59
|
+
[data-aoe].aoe {
|
|
60
|
+
transition-delay: 0s;
|
|
518
61
|
}
|
|
519
62
|
|
|
520
|
-
[data-aoe
|
|
521
|
-
|
|
522
|
-
transform:
|
|
523
|
-
transition:
|
|
524
|
-
transform 975ms,
|
|
525
|
-
opacity 1500ms;
|
|
526
|
-
|
|
527
|
-
&.aoe {
|
|
528
|
-
opacity: 1;
|
|
529
|
-
transform: translateX(0);
|
|
530
|
-
transition-delay: 0s;
|
|
531
|
-
}
|
|
63
|
+
[data-aoe*='up'].aoe,
|
|
64
|
+
[data-aoe*='down'].aoe {
|
|
65
|
+
transform: translateY(0);
|
|
532
66
|
}
|
|
533
67
|
|
|
534
|
-
[data-aoe
|
|
535
|
-
|
|
536
|
-
transform:
|
|
537
|
-
transition:
|
|
538
|
-
transform 975ms,
|
|
539
|
-
opacity 1500ms;
|
|
540
|
-
|
|
541
|
-
&.aoe {
|
|
542
|
-
opacity: 1;
|
|
543
|
-
transform: translateY(0);
|
|
544
|
-
transition-delay: 0s;
|
|
545
|
-
}
|
|
68
|
+
[data-aoe*='right'].aoe,
|
|
69
|
+
[data-aoe*='left'].aoe {
|
|
70
|
+
transform: translateX(0);
|
|
546
71
|
}
|
|
547
72
|
|
|
548
|
-
[data-aoe
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
transition:
|
|
552
|
-
transform 975ms,
|
|
553
|
-
opacity 1500ms;
|
|
554
|
-
|
|
555
|
-
&.aoe {
|
|
556
|
-
opacity: 1;
|
|
557
|
-
transform: translateX(0);
|
|
558
|
-
transition-delay: 0s;
|
|
559
|
-
}
|
|
73
|
+
[data-aoe^='fade'].aoe,
|
|
74
|
+
[data-aoe^='partial-fade'].aoe {
|
|
75
|
+
opacity: 1;
|
|
560
76
|
}
|
|
561
77
|
|
|
562
|
-
/** You can add your own animations by following the same in your own
|
|
78
|
+
/** You can add your own animations by following the same pattern in your own CSS file
|
|
563
79
|
[data-aoe='your-animation'] {
|
|
564
80
|
transform: translateX(-45px);
|
|
565
81
|
transition:
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAE5C,eAAe,cAAc,CAAC"}
|
package/dist/index.svelte
CHANGED
|
@@ -4,21 +4,16 @@ export let root = null;
|
|
|
4
4
|
export let rootMargin = "0px";
|
|
5
5
|
export let threshold = 0.3;
|
|
6
6
|
onMount(() => {
|
|
7
|
-
const
|
|
8
|
-
const OBSERVER_OPTIONS = {
|
|
9
|
-
root,
|
|
10
|
-
rootMargin,
|
|
11
|
-
threshold
|
|
12
|
-
};
|
|
13
|
-
function observerCallback(entries) {
|
|
7
|
+
const OBSERVER = new IntersectionObserver((entries) => {
|
|
14
8
|
entries.forEach((entry) => {
|
|
15
9
|
if (entry.isIntersecting) {
|
|
16
10
|
entry.target.classList.add("aoe");
|
|
11
|
+
OBSERVER.unobserve(entry.target);
|
|
17
12
|
}
|
|
18
13
|
});
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
}, { root, rootMargin, threshold });
|
|
15
|
+
document.querySelectorAll("[data-aoe]").forEach((el) => OBSERVER.observe(el));
|
|
16
|
+
return () => OBSERVER.disconnect();
|
|
22
17
|
});
|
|
23
18
|
</script>
|
|
24
19
|
|
|
@@ -29,7 +24,7 @@ This component is used to animate elements when they enter the viewport with the
|
|
|
29
24
|
|
|
30
25
|
|
|
31
26
|
|
|
32
|
-
@param {Document | Element | null | undefined} `root` - The element that is used as the viewport for checking visibility of the target. Must be the ancestor of the target. Defaults to the browser viewport if not specified or if null
|
|
27
|
+
@param {Document | Element | null | undefined} `root` - The element that is used as the viewport for checking visibility of the target. Must be the ancestor of the target. Defaults to the browser viewport if not specified or if `null`.
|
|
33
28
|
@param {string | undefined} `rootMargin` - Margin around the root. Can have values similar to the CSS margin property, e.g. "10px 20px 30px 40px" (top, right, bottom, left). The values can be percentages. Defaults to '0px' (no margin).
|
|
34
29
|
@param {number | number[]} `threshold` - Either a single number or an array of numbers which indicate at what percentage of the target's visibility the observer's callback should be executed. A value of 0.0 indicates that even a single pixel of the target is visible. A value of 1.0 indicates that the target is completely visible. Defaults to 0.3 (30%).
|
|
35
30
|
-->
|
package/dist/index.svelte.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export type IndexSlots = typeof __propDef.slots;
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*
|
|
23
|
-
* @param {Document | Element | null | undefined} `root` - The element that is used as the viewport for checking visibility of the target. Must be the ancestor of the target. Defaults to the browser viewport if not specified or if null
|
|
23
|
+
* @param {Document | Element | null | undefined} `root` - The element that is used as the viewport for checking visibility of the target. Must be the ancestor of the target. Defaults to the browser viewport if not specified or if `null`.
|
|
24
24
|
* @param {string | undefined} `rootMargin` - Margin around the root. Can have values similar to the CSS margin property, e.g. "10px 20px 30px 40px" (top, right, bottom, left). The values can be percentages. Defaults to '0px' (no margin).
|
|
25
25
|
* @param {number | number[]} `threshold` - Either a single number or an array of numbers which indicate at what percentage of the target's visibility the observer's callback should be executed. A value of 0.0 indicates that even a single pixel of the target is visible. A value of 1.0 indicates that the target is completely visible. Defaults to 0.3 (30%).
|
|
26
26
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.svelte.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.svelte.d.ts","sourceRoot":"","sources":["../src/lib/index.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAE5C;AACD,OAAO,kBAAkB,CAAC;AAqC1B,QAAA,MAAM,SAAS;;eADyE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS;qBAAe,MAAM,GAAG,SAAS;oBAAc,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;;;;;;CAChJ,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAChD,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEhD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC;CAC3F"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@castlenine/svelte-aoe",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "A Svelte component to animate elements,
|
|
3
|
+
"version": "1.5.0",
|
|
4
|
+
"description": "A Svelte component to animate elements, with no dependencies.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"animate-on-scroll",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"sveltekit"
|
|
15
15
|
],
|
|
16
16
|
"author": {
|
|
17
|
-
"name": "
|
|
17
|
+
"name": "Alex Castlenine",
|
|
18
18
|
"url": "https://github.com/Castlenine"
|
|
19
19
|
},
|
|
20
20
|
"homepage": "https://github.com/castlenine/svelte-aoe",
|
|
@@ -27,12 +27,13 @@
|
|
|
27
27
|
},
|
|
28
28
|
"type": "module",
|
|
29
29
|
"types": "./dist/index.d.ts",
|
|
30
|
-
"import": "./dist/index.js",
|
|
31
30
|
"svelte": "./dist/index.js",
|
|
31
|
+
"sideEffects": [
|
|
32
|
+
"**/*.css"
|
|
33
|
+
],
|
|
32
34
|
"exports": {
|
|
33
35
|
".": {
|
|
34
36
|
"types": "./dist/index.d.ts",
|
|
35
|
-
"import": "./dist/index.js",
|
|
36
37
|
"svelte": "./dist/index.js"
|
|
37
38
|
}
|
|
38
39
|
},
|
|
@@ -94,7 +95,7 @@
|
|
|
94
95
|
"svelte-eslint-parser": "^0.35.0",
|
|
95
96
|
"svelte-preprocess": "^5.1.4",
|
|
96
97
|
"tslib": "^2.6.2",
|
|
97
|
-
"typescript": "
|
|
98
|
+
"typescript": "~4.9.5",
|
|
98
99
|
"vite": "^4.5.3"
|
|
99
100
|
}
|
|
100
101
|
}
|