@infinityfx/lively 4.0.6 → 4.0.8
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/dist/animatable.js +1 -1
- package/dist/layout/layout-group.js +1 -1
- package/package.json +1 -1
- package/tsconfig.json +1 -2
- package/.rollup.cache/F/projects/code/lively/dist/animatable.js +0 -147
- package/.rollup.cache/F/projects/code/lively/dist/animatable.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/animate.js +0 -26
- package/.rollup.cache/F/projects/code/lively/dist/animate.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/core/action.js +0 -28
- package/.rollup.cache/F/projects/code/lively/dist/core/action.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/core/cache.js +0 -55
- package/.rollup.cache/F/projects/code/lively/dist/core/cache.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/core/clip.js +0 -71
- package/.rollup.cache/F/projects/code/lively/dist/core/clip.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/core/link.js +0 -39
- package/.rollup.cache/F/projects/code/lively/dist/core/link.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/core/timeline.js +0 -107
- package/.rollup.cache/F/projects/code/lively/dist/core/timeline.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/core/track.js +0 -147
- package/.rollup.cache/F/projects/code/lively/dist/core/track.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/core/utils.js +0 -95
- package/.rollup.cache/F/projects/code/lively/dist/core/utils.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-audio.js +0 -63
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-audio.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-link.js +0 -7
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-link.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-path.js +0 -15
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-path.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-reduced-motion.js +0 -14
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-reduced-motion.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-scroll.js +0 -21
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-scroll.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-spring.js +0 -37
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-spring.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-trigger.js +0 -15
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-trigger.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-viewport.js +0 -27
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-viewport.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-visible.js +0 -26
- package/.rollup.cache/F/projects/code/lively/dist/hooks/use-visible.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/hooks.js +0 -11
- package/.rollup.cache/F/projects/code/lively/dist/hooks.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/index.js +0 -4
- package/.rollup.cache/F/projects/code/lively/dist/index.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/layout/layout-group.js +0 -209
- package/.rollup.cache/F/projects/code/lively/dist/layout/layout-group.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/layout/morph.js +0 -48
- package/.rollup.cache/F/projects/code/lively/dist/layout/morph.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/layout/typable.js +0 -21
- package/.rollup.cache/F/projects/code/lively/dist/layout/typable.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/layout.js +0 -5
- package/.rollup.cache/F/projects/code/lively/dist/layout.js.map +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/tsconfig.tsbuildinfo +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/types/animatable.d.ts +0 -112
- package/.rollup.cache/F/projects/code/lively/dist/types/animate.d.ts +0 -19
- package/.rollup.cache/F/projects/code/lively/dist/types/core/action.d.ts +0 -15
- package/.rollup.cache/F/projects/code/lively/dist/types/core/cache.d.ts +0 -23
- package/.rollup.cache/F/projects/code/lively/dist/types/core/clip.d.ts +0 -52
- package/.rollup.cache/F/projects/code/lively/dist/types/core/link.d.ts +0 -14
- package/.rollup.cache/F/projects/code/lively/dist/types/core/timeline.d.ts +0 -41
- package/.rollup.cache/F/projects/code/lively/dist/types/core/track.d.ts +0 -32
- package/.rollup.cache/F/projects/code/lively/dist/types/core/utils.d.ts +0 -39
- package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-audio.d.ts +0 -7
- package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-link.d.ts +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-path.d.ts +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-reduced-motion.d.ts +0 -1
- package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-scroll.d.ts +0 -9
- package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-spring.d.ts +0 -6
- package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-trigger.d.ts +0 -4
- package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-viewport.d.ts +0 -2
- package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-visible.d.ts +0 -6
- package/.rollup.cache/F/projects/code/lively/dist/types/hooks.d.ts +0 -10
- package/.rollup.cache/F/projects/code/lively/dist/types/index.d.ts +0 -3
- package/.rollup.cache/F/projects/code/lively/dist/types/layout/layout-group.d.ts +0 -16
- package/.rollup.cache/F/projects/code/lively/dist/types/layout/morph.d.ts +0 -24
- package/.rollup.cache/F/projects/code/lively/dist/types/layout/typable.d.ts +0 -11
- package/.rollup.cache/F/projects/code/lively/dist/types/layout.d.ts +0 -4
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { StyleCache } from "./cache";
|
|
2
|
-
import { lengthToOffset, limitSmallestQuantity } from "./utils";
|
|
3
|
-
export default class Track {
|
|
4
|
-
constructor(element, deform, cachable) {
|
|
5
|
-
this.playing = 0;
|
|
6
|
-
this.active = [];
|
|
7
|
-
this.queue = [];
|
|
8
|
-
this.paused = false;
|
|
9
|
-
this.scale = [1, 1];
|
|
10
|
-
this.corrected = {
|
|
11
|
-
borderRadius: '',
|
|
12
|
-
boxShadow: ''
|
|
13
|
-
};
|
|
14
|
-
this.element = element;
|
|
15
|
-
this.deform = deform;
|
|
16
|
-
this.cache = new StyleCache(element, cachable);
|
|
17
|
-
}
|
|
18
|
-
push(action) {
|
|
19
|
-
action.onfinish = this.next.bind(this);
|
|
20
|
-
if (this.playing && action.composite === 'none') {
|
|
21
|
-
this.queue.push(action);
|
|
22
|
-
action.animation.pause();
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
this.active.push(action);
|
|
26
|
-
if (action.composite === 'none')
|
|
27
|
-
this.playing++;
|
|
28
|
-
if (this.paused)
|
|
29
|
-
action.animation.pause();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
next() {
|
|
33
|
-
this.cache.update();
|
|
34
|
-
if (--this.playing > 0)
|
|
35
|
-
return;
|
|
36
|
-
this.active = this.queue.length ? this.queue.splice(0, 1) : [];
|
|
37
|
-
this.playing = this.active.length;
|
|
38
|
-
this.pause(false);
|
|
39
|
-
if (!this.playing)
|
|
40
|
-
this.correct();
|
|
41
|
-
}
|
|
42
|
-
clear(partial) {
|
|
43
|
-
this.active.forEach(action => {
|
|
44
|
-
action.onfinish = null;
|
|
45
|
-
try {
|
|
46
|
-
if (!partial) {
|
|
47
|
-
action.animation.finish();
|
|
48
|
-
}
|
|
49
|
-
else if (!action.commit && action.composite !== 'combine') {
|
|
50
|
-
action.animation.cancel();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
catch (ex) {
|
|
54
|
-
action.animation.cancel();
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
if (!partial) {
|
|
58
|
-
this.active = [];
|
|
59
|
-
this.queue = [];
|
|
60
|
-
this.playing = 0;
|
|
61
|
-
}
|
|
62
|
-
if (!this.deform) {
|
|
63
|
-
this.element.style.borderRadius = '';
|
|
64
|
-
this.element.style.boxShadow = '';
|
|
65
|
-
this.corrected.borderRadius = this.cache.data.borderRadius = this.cache.computed.borderRadius,
|
|
66
|
-
this.corrected.boxShadow = this.cache.data.boxShadow = this.cache.computed.boxShadow;
|
|
67
|
-
this.scale = [1, 1];
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
pause(value) {
|
|
71
|
-
for (const action of this.active)
|
|
72
|
-
action.animation[value ? 'pause' : 'play']();
|
|
73
|
-
this.paused = value;
|
|
74
|
-
}
|
|
75
|
-
step(index) {
|
|
76
|
-
for (const action of this.active)
|
|
77
|
-
action.step(index);
|
|
78
|
-
if (!this.paused && this.active.length)
|
|
79
|
-
this.correct();
|
|
80
|
-
}
|
|
81
|
-
transition(previous, options) {
|
|
82
|
-
this.clear(true);
|
|
83
|
-
const clips = this.cache.difference(previous?.cache.data, options);
|
|
84
|
-
this.cache.update();
|
|
85
|
-
previous?.clear();
|
|
86
|
-
previous?.cache.update();
|
|
87
|
-
clips.forEach(clip => clip.play(this, { commit: false }));
|
|
88
|
-
}
|
|
89
|
-
apply(prop, val) {
|
|
90
|
-
const isStroke = prop === 'strokeLength';
|
|
91
|
-
this.element.style[isStroke ? 'strokeDashoffset' : prop] = isStroke ? lengthToOffset(val) : val;
|
|
92
|
-
}
|
|
93
|
-
decomposeScale() {
|
|
94
|
-
const [xString, yString] = this.cache.computed.scale.split(' ');
|
|
95
|
-
let x = parseFloat(xString), y = yString ? parseFloat(yString) : x;
|
|
96
|
-
if (isNaN(x))
|
|
97
|
-
x = 1;
|
|
98
|
-
if (isNaN(y))
|
|
99
|
-
y = 1;
|
|
100
|
-
if (/%$/.test(xString))
|
|
101
|
-
x /= 100;
|
|
102
|
-
if (/%$/.test(yString))
|
|
103
|
-
y /= 100;
|
|
104
|
-
return [limitSmallestQuantity(x, 1e-4), limitSmallestQuantity(y, 1e-4)];
|
|
105
|
-
}
|
|
106
|
-
correct() {
|
|
107
|
-
if (this.deform)
|
|
108
|
-
return;
|
|
109
|
-
const computed = this.cache.computed;
|
|
110
|
-
const radii = computed.borderRadius.split(/\s*\/\s*/);
|
|
111
|
-
if (radii.length < 2)
|
|
112
|
-
radii[1] = radii[0];
|
|
113
|
-
const shadows = computed.boxShadow.split(/(?<=px),\s?/);
|
|
114
|
-
const [color, shadow] = shadows[0].split(/(?<=\))\s/);
|
|
115
|
-
const previousRadiusScale = computed.borderRadius !== this.corrected.borderRadius ? [1, 1] : this.scale;
|
|
116
|
-
const previousShadowScale = computed.boxShadow !== this.corrected.boxShadow ? [1, 1] : this.scale;
|
|
117
|
-
const [x, y] = this.scale = this.decomposeScale();
|
|
118
|
-
this.element.style.borderRadius = radii.map((axis, i) => {
|
|
119
|
-
return axis.split(' ').map(radius => {
|
|
120
|
-
return parseFloat(radius) * previousRadiusScale[i] / this.scale[i] + (radius.match(/[^\d\.]+$/)?.[0] || 'px');
|
|
121
|
-
}).join(' ');
|
|
122
|
-
}).join('/');
|
|
123
|
-
this.corrected.borderRadius = computed.borderRadius;
|
|
124
|
-
if (shadow) {
|
|
125
|
-
const props = shadow.split(' ').map(parseFloat), i = +(x < y), ms = i ? y : x, pms = Math.max(...previousShadowScale);
|
|
126
|
-
const corrected = new Array(3).fill([
|
|
127
|
-
props[0] * previousShadowScale[0] / x,
|
|
128
|
-
props[1] * previousShadowScale[1] / y,
|
|
129
|
-
props[2] * pms / ms,
|
|
130
|
-
props[3] * pms / ms
|
|
131
|
-
]);
|
|
132
|
-
corrected[1][0] -= i ? 1 / x : 0;
|
|
133
|
-
corrected[1][1] -= i ? 0 : 1 / y;
|
|
134
|
-
corrected[2][0] += i ? 1 / x : 0;
|
|
135
|
-
corrected[2][1] += i ? 0 : 1 / y;
|
|
136
|
-
this.element.style.boxShadow = corrected.map(val => `${color} ${val.map(val => `${val}px`).join(' ')}`).join(', ');
|
|
137
|
-
this.corrected.boxShadow = computed.boxShadow;
|
|
138
|
-
}
|
|
139
|
-
for (let i = 0; i < this.element.children.length; i++) {
|
|
140
|
-
const child = this.element.children[i];
|
|
141
|
-
const l = child.offsetLeft, t = child.offsetTop, w = child.offsetWidth, h = child.offsetHeight;
|
|
142
|
-
const [tx, ty] = getComputedStyle(child).translate.split(' ').map(parseFloat);
|
|
143
|
-
child.style.transform = `translate(${-tx || 0}px, ${-ty || 0}px) scale(${1 / x}, ${1 / y}) translate(${l * (1 - x) + w / 2 * (1 - x) + (tx || 0)}px, ${t * (1 - y) + h / 2 * (1 - y) + (ty || 0)}px)`;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=track.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"track.js","sourceRoot":"","sources":["../../src/core/track.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
export function merge(...objects) {
|
|
2
|
-
for (let i = 1; i < objects.length; i++) {
|
|
3
|
-
for (const key in objects[i]) {
|
|
4
|
-
if (key in objects[0] && objects[0][key] !== undefined)
|
|
5
|
-
continue;
|
|
6
|
-
objects[0][key] = objects[i][key];
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
return objects[0];
|
|
10
|
-
}
|
|
11
|
-
;
|
|
12
|
-
export function pick(map, keys) {
|
|
13
|
-
const picked = {};
|
|
14
|
-
for (const key of keys)
|
|
15
|
-
picked[key] = map[key];
|
|
16
|
-
return picked;
|
|
17
|
-
}
|
|
18
|
-
export function combineRefs(...refs) {
|
|
19
|
-
return (el) => {
|
|
20
|
-
refs.forEach(ref => {
|
|
21
|
-
if (ref && 'current' in ref)
|
|
22
|
-
ref.current = el;
|
|
23
|
-
if (ref instanceof Function)
|
|
24
|
-
ref(el);
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
export const limitSmallestQuantity = (val, e) => (Math.sign(val) || 1) * Math.max(Math.abs(val), e);
|
|
29
|
-
export const lengthToOffset = (val) => 1 - parseFloat(val.toString());
|
|
30
|
-
export class IndexedMap extends Map {
|
|
31
|
-
constructor() {
|
|
32
|
-
super(...arguments);
|
|
33
|
-
this.stack = [];
|
|
34
|
-
}
|
|
35
|
-
set(key, value) {
|
|
36
|
-
this.stack.push(value);
|
|
37
|
-
return super.set(key, value);
|
|
38
|
-
}
|
|
39
|
-
delete(key) {
|
|
40
|
-
const i = this.stack.indexOf(this.get(key));
|
|
41
|
-
if (i >= 0)
|
|
42
|
-
this.stack.splice(i, 1);
|
|
43
|
-
return super.delete(key);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
export function distributeAnimatableKeyframes(prop, keyframes, map = {}) {
|
|
47
|
-
const set = (offset, value) => {
|
|
48
|
-
const key = offset * 10000, isStroke = prop === 'strokeLength';
|
|
49
|
-
if (!(key in map))
|
|
50
|
-
map[key] = { offset };
|
|
51
|
-
map[key][isStroke ? 'strokeDashoffset' : prop] = isStroke ? lengthToOffset(value) : value;
|
|
52
|
-
};
|
|
53
|
-
for (let i = 0; i < keyframes.length; i++) {
|
|
54
|
-
let { offset, value, after } = keyframes[i];
|
|
55
|
-
if (value !== undefined) {
|
|
56
|
-
if (after !== undefined && offset === 1)
|
|
57
|
-
offset = offset - 0.0001;
|
|
58
|
-
set(offset, value);
|
|
59
|
-
}
|
|
60
|
-
if (after !== undefined) {
|
|
61
|
-
offset = Math.min(offset + 0.0001, 1);
|
|
62
|
-
set(offset, after);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return map;
|
|
66
|
-
}
|
|
67
|
-
export function normalizeAnimatableKeyframes(keyframes) {
|
|
68
|
-
let equal = 0, match;
|
|
69
|
-
for (let i = 0; i < keyframes.length; i++) {
|
|
70
|
-
let keyframe = keyframes[i], offset = keyframes.length < 2 ? 1 : Math.round(i / (keyframes.length - 1) * 10000) / 10000;
|
|
71
|
-
if (i === 0)
|
|
72
|
-
match = keyframe;
|
|
73
|
-
if (keyframe && typeof keyframe === 'object') {
|
|
74
|
-
if (!('offset' in keyframe))
|
|
75
|
-
keyframe.offset = offset;
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
if (keyframe === match)
|
|
79
|
-
equal++;
|
|
80
|
-
keyframes[i] = { offset, value: keyframe !== null ? keyframe : undefined };
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return equal < 2 || equal !== keyframes.length;
|
|
84
|
-
}
|
|
85
|
-
// might need support for reverse/alternate?
|
|
86
|
-
export function createDynamic(prop, keyframes, easing) {
|
|
87
|
-
return function (t) {
|
|
88
|
-
const animation = this.element.animate(keyframes, { duration: 1000, fill: 'forwards', easing });
|
|
89
|
-
animation.currentTime = 1000 * t;
|
|
90
|
-
const value = getComputedStyle(this.element)[prop];
|
|
91
|
-
animation.cancel();
|
|
92
|
-
return value;
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useEffect, useRef } from "react";
|
|
3
|
-
import useLink from "./use-link";
|
|
4
|
-
let audioContext;
|
|
5
|
-
export default function useAudio({ bands = 8, minFrequency = 100, maxFrequency = 2000, smoothing = 0.7 } = {}) {
|
|
6
|
-
const buffer = useRef(new Float32Array(1024));
|
|
7
|
-
const analyzer = useRef(undefined);
|
|
8
|
-
const source = useRef(undefined);
|
|
9
|
-
const ref = useRef(null);
|
|
10
|
-
const link = useLink(new Array(8).fill(0));
|
|
11
|
-
let frame;
|
|
12
|
-
function update() {
|
|
13
|
-
if (!analyzer.current)
|
|
14
|
-
return;
|
|
15
|
-
analyzer.current.getFloatFrequencyData(buffer.current);
|
|
16
|
-
const arr = link();
|
|
17
|
-
const lower = Math.floor((minFrequency / 24000) * 1024);
|
|
18
|
-
const upper = Math.floor((maxFrequency / 24000) * 1024);
|
|
19
|
-
for (let i = 0; i < bands; i++) {
|
|
20
|
-
const offset = lower + (upper - lower) / bands * i;
|
|
21
|
-
const li = Math.floor(offset), ui = Math.ceil(offset);
|
|
22
|
-
const di = offset - li;
|
|
23
|
-
const val = buffer.current[li] * (1 - di) + buffer.current[ui] * di;
|
|
24
|
-
arr[i] = Math.max(0, (100 + val) / 70);
|
|
25
|
-
}
|
|
26
|
-
link.set(arr);
|
|
27
|
-
frame = requestAnimationFrame(update);
|
|
28
|
-
}
|
|
29
|
-
function play() {
|
|
30
|
-
if (audioContext.state === 'suspended')
|
|
31
|
-
audioContext.resume();
|
|
32
|
-
frame = requestAnimationFrame(update);
|
|
33
|
-
}
|
|
34
|
-
function suspend() {
|
|
35
|
-
cancelAnimationFrame(frame);
|
|
36
|
-
link.set(new Array(bands).fill(0), { duration: 0.3 });
|
|
37
|
-
}
|
|
38
|
-
useEffect(() => {
|
|
39
|
-
const audio = ref.current;
|
|
40
|
-
if (!audio)
|
|
41
|
-
return;
|
|
42
|
-
if (!audioContext)
|
|
43
|
-
audioContext = new AudioContext();
|
|
44
|
-
if (!analyzer.current)
|
|
45
|
-
analyzer.current = new AnalyserNode(audioContext, { fftSize: 2048, smoothingTimeConstant: smoothing });
|
|
46
|
-
if (!source.current)
|
|
47
|
-
source.current = audioContext.createMediaElementSource(audio);
|
|
48
|
-
analyzer.current.connect(audioContext.destination);
|
|
49
|
-
source.current.connect(analyzer.current);
|
|
50
|
-
audio.addEventListener('play', play);
|
|
51
|
-
audio.addEventListener('pause', suspend);
|
|
52
|
-
audio.addEventListener('ended', suspend);
|
|
53
|
-
return () => {
|
|
54
|
-
analyzer.current?.disconnect();
|
|
55
|
-
source.current?.disconnect();
|
|
56
|
-
audio.removeEventListener('play', play);
|
|
57
|
-
audio.removeEventListener('pause', suspend);
|
|
58
|
-
audio.removeEventListener('ended', suspend);
|
|
59
|
-
};
|
|
60
|
-
}, []);
|
|
61
|
-
return [ref, link];
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=use-audio.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-audio.js","sourceRoot":"","sources":["../../src/hooks/use-audio.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,OAAO,MAAM,YAAY,CAAC;AAGjC,IAAI,YAA0B,CAAC;AAE/B,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,YAAY,GAAG,GAAG,EAAE,YAAY,GAAG,IAAI,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,EAAE;IACzG,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAe,SAAS,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAA8B,SAAS,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAW,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,IAAI,KAAa,CAAC;IAClB,SAAS,MAAM;QACX,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAE9B,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,EAAc,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YACnD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YAEpE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEd,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,IAAI;QACT,IAAI,YAAY,CAAC,KAAK,KAAK,WAAW;YAAE,YAAY,CAAC,MAAM,EAAE,CAAC;QAC9D,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,OAAO;QACZ,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;QAE1B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9H,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAEnF,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEzC,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;YAC/B,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;YAC7B,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC,CAAA;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-link.js","sourceRoot":"","sources":["../../src/hooks/use-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,OAAO,UAAU,OAAO,CAAU,OAAU;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAEzC,OAAO,IAAI,CAAC,OAAO,CAAC;AACxB,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { useRef, useCallback } from 'react';
|
|
2
|
-
export default function usePath() {
|
|
3
|
-
const ref = useRef(null);
|
|
4
|
-
const link = useCallback((transform) => {
|
|
5
|
-
return (progress, index) => {
|
|
6
|
-
if (!ref.current)
|
|
7
|
-
return transform([0, 0], index);
|
|
8
|
-
const len = ref.current.getTotalLength() * progress;
|
|
9
|
-
const { x, y } = ref.current.getPointAtLength(len);
|
|
10
|
-
return transform([x, y], index);
|
|
11
|
-
};
|
|
12
|
-
}, [ref]);
|
|
13
|
-
return [ref, link];
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=use-path.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-path.js","sourceRoot":"","sources":["../../src/hooks/use-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,OAAO;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAI,IAAI,CAAC,CAAC;IAE5B,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,SAA0D,EAAE,EAAE;QACpF,OAAO,CAAC,QAAgB,EAAE,KAAa,EAAE,EAAE;YACvC,IAAI,CAAC,GAAG,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAElD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,QAAQ,CAAC;YACpD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAEnD,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useEffect, useState } from 'react';
|
|
3
|
-
export default function useReducedMotion() {
|
|
4
|
-
const [reduced, setReduced] = useState(false);
|
|
5
|
-
useEffect(() => {
|
|
6
|
-
const change = (e) => setReduced(e.matches);
|
|
7
|
-
const query = matchMedia('(prefers-reduced-motion: reduce)');
|
|
8
|
-
query.addEventListener('change', change);
|
|
9
|
-
setReduced(query.matches);
|
|
10
|
-
return () => query.removeEventListener('change', change);
|
|
11
|
-
}, []);
|
|
12
|
-
return reduced;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=use-reduced-motion.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-reduced-motion.js","sourceRoot":"","sources":["../../src/hooks/use-reduced-motion.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,gBAAgB;IACpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,CAAC,CAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAG,UAAU,CAAC,kCAAkC,CAAC,CAAC;QAC7D,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1B,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useLayoutEffect } from "react";
|
|
3
|
-
import useLink from "./use-link";
|
|
4
|
-
export default function useScroll({ restore = 0, target } = {}) {
|
|
5
|
-
const link = useLink({ x: 0, y: 0, top: 0, left: 0 });
|
|
6
|
-
useLayoutEffect(() => {
|
|
7
|
-
const element = target?.current ? target.current : window;
|
|
8
|
-
function update(duration) {
|
|
9
|
-
const element = target?.current || document.documentElement;
|
|
10
|
-
const left = element.scrollLeft, x = left / ((element.scrollWidth - element.clientWidth) || 1);
|
|
11
|
-
const top = element.scrollTop, y = top / ((element.scrollHeight - element.clientHeight) || 1);
|
|
12
|
-
link.set({ x, y, top, left }, { duration });
|
|
13
|
-
}
|
|
14
|
-
update(restore);
|
|
15
|
-
const scroll = () => update();
|
|
16
|
-
element.addEventListener('scroll', scroll);
|
|
17
|
-
return () => element.removeEventListener('scroll', scroll);
|
|
18
|
-
}, [target]);
|
|
19
|
-
return link;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=use-scroll.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-scroll.js","sourceRoot":"","sources":["../../src/hooks/use-scroll.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAwB,EAAE,OAAO,GAAG,CAAC,EAAE,MAAM,KAG1E,EAAE;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAEtD,eAAe,CAAC,GAAG,EAAE;QACjB,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAE1D,SAAS,MAAM,CAAC,QAAiB;YAC7B,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC;YAE5D,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/F,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YAE9F,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhB,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;QAE9B,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { useRef } from "react";
|
|
2
|
-
import useLink from "./use-link";
|
|
3
|
-
export default function useSpring(initial, { stiffness = 2, damping = .1, mass = 1, restThreshold = 0.01 } = {}) {
|
|
4
|
-
const state = useRef({
|
|
5
|
-
t: 0,
|
|
6
|
-
value: initial,
|
|
7
|
-
velocity: new Array(Array.isArray(initial) ? initial.length : 1).fill(0)
|
|
8
|
-
});
|
|
9
|
-
const internal = useLink(initial);
|
|
10
|
-
const link = useRef(internal(val => val));
|
|
11
|
-
function update() {
|
|
12
|
-
const t = Date.now(), dt = Math.min((t - state.current.t) / 1000, 1 / 12), value = internal(), velocity = state.current.velocity, isVector = Array.isArray(value);
|
|
13
|
-
let scalarOffset = 0, scalarVelocity = 0;
|
|
14
|
-
const vec = isVector ? value : [value];
|
|
15
|
-
const tar = Array.isArray(state.current.value) ? state.current.value : [state.current.value];
|
|
16
|
-
for (let i = 0; i < velocity.length; i++) {
|
|
17
|
-
const offset = tar[i] - vec[i];
|
|
18
|
-
velocity[i] += ((stiffness * offset) - (damping * velocity[i])) / mass;
|
|
19
|
-
vec[i] += velocity[i] * dt;
|
|
20
|
-
scalarOffset += Math.abs(offset);
|
|
21
|
-
scalarVelocity += Math.abs(velocity[i]);
|
|
22
|
-
}
|
|
23
|
-
scalarOffset /= velocity.length;
|
|
24
|
-
scalarVelocity /= velocity.length;
|
|
25
|
-
internal.set(isVector ? vec : vec[0]);
|
|
26
|
-
state.current.t = t;
|
|
27
|
-
if (scalarOffset > restThreshold || scalarVelocity > restThreshold)
|
|
28
|
-
requestAnimationFrame(update);
|
|
29
|
-
}
|
|
30
|
-
link.current.set = (value) => {
|
|
31
|
-
state.current.value = value;
|
|
32
|
-
state.current.t = Date.now();
|
|
33
|
-
requestAnimationFrame(update);
|
|
34
|
-
};
|
|
35
|
-
return link.current;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=use-spring.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-spring.js","sourceRoot":"","sources":["../../src/hooks/use-spring.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useMemo, useRef, useState } from "react";
|
|
3
|
-
export default function useTrigger() {
|
|
4
|
-
const called = useRef(0);
|
|
5
|
-
const [state, setState] = useState(0);
|
|
6
|
-
const trigger = useMemo(() => {
|
|
7
|
-
function trigger() {
|
|
8
|
-
setState(++called.current);
|
|
9
|
-
}
|
|
10
|
-
trigger.called = state;
|
|
11
|
-
return trigger;
|
|
12
|
-
}, [state]);
|
|
13
|
-
return trigger;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=use-trigger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-trigger.js","sourceRoot":"","sources":["../../src/hooks/use-trigger.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIlD,MAAM,CAAC,OAAO,UAAU,UAAU;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,SAAS,OAAO;YACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;QAEvB,OAAO,OAAO,CAAC;IACnB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useLayoutEffect, useRef } from "react";
|
|
3
|
-
import useLink from "./use-link";
|
|
4
|
-
export default function useViewport(threshold = .5) {
|
|
5
|
-
const ref = useRef(null);
|
|
6
|
-
const link = useLink([-1, -1]);
|
|
7
|
-
useLayoutEffect(() => {
|
|
8
|
-
function update() {
|
|
9
|
-
if (!ref.current)
|
|
10
|
-
return;
|
|
11
|
-
const { x, y, width, height } = ref.current.getBoundingClientRect();
|
|
12
|
-
link.set([
|
|
13
|
-
(x + width * threshold) / (window.innerWidth + 2 * width * (threshold - .5)),
|
|
14
|
-
(y + height * threshold) / (window.innerHeight + 2 * height * (threshold - .5))
|
|
15
|
-
]);
|
|
16
|
-
}
|
|
17
|
-
update();
|
|
18
|
-
window.addEventListener('scroll', update);
|
|
19
|
-
window.addEventListener('resize', update);
|
|
20
|
-
return () => {
|
|
21
|
-
window.removeEventListener('scroll', update);
|
|
22
|
-
window.removeEventListener('resize', update);
|
|
23
|
-
};
|
|
24
|
-
}, [threshold]);
|
|
25
|
-
return [ref, link];
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=use-viewport.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-viewport.js","sourceRoot":"","sources":["../../src/hooks/use-viewport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,WAAW,CAA0B,SAAS,GAAG,EAAE;IACvE,MAAM,GAAG,GAAG,MAAM,CAAI,IAAI,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,eAAe,CAAC,GAAG,EAAE;QACjB,SAAS,MAAM;YACX,IAAI,CAAC,GAAG,CAAC,OAAO;gBAAE,OAAO;YAEzB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAEpE,IAAI,CAAC,GAAG,CAAC;gBACL,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;gBAC5E,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;aAClF,CAAC,CAAC;QACP,CAAC;QAED,MAAM,EAAE,CAAC;QAET,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE1C,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC,CAAA;IACL,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useEffect, useRef } from "react";
|
|
3
|
-
import useTrigger from "./use-trigger";
|
|
4
|
-
import useViewport from "./use-viewport";
|
|
5
|
-
export default function useVisible({ enter = 1, exit = false, threshold = .5 } = {}) {
|
|
6
|
-
const [ref, link] = useViewport(threshold);
|
|
7
|
-
const visible = useRef(false);
|
|
8
|
-
const enters = useTrigger();
|
|
9
|
-
const exits = useTrigger();
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
function linkupdate() {
|
|
12
|
-
const [x, y] = link();
|
|
13
|
-
const intersecting = x > 0 && x < 1 && y > 0 && y < 1;
|
|
14
|
-
if (!visible.current && intersecting && enters.called < (enter === true ? Infinity : +enter))
|
|
15
|
-
enters();
|
|
16
|
-
if (visible.current && !intersecting && exits.called < (exit === true ? Infinity : +exit))
|
|
17
|
-
exits();
|
|
18
|
-
visible.current = intersecting;
|
|
19
|
-
}
|
|
20
|
-
linkupdate();
|
|
21
|
-
link.subscribe(linkupdate);
|
|
22
|
-
return () => link.unsubscribe(linkupdate);
|
|
23
|
-
}, [enters, exits]);
|
|
24
|
-
return [ref, enters, exits];
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=use-visible.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-visible.js","sourceRoot":"","sources":["../../src/hooks/use-visible.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,UAAuB,MAAM,eAAe,CAAC;AACpD,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,MAAM,CAAC,OAAO,UAAU,UAAU,CAA0B,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,SAAS,GAAG,EAAE,KAIjG,EAAE;IACF,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;QACX,SAAS,UAAU;YACf,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEtD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,MAAM,EAAE,CAAC;YACvG,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,KAAK,EAAE,CAAC;YAEnG,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC;QACnC,CAAC;QAED,UAAU,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE3B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import useLink from "./hooks/use-link";
|
|
2
|
-
import useTrigger from "./hooks/use-trigger";
|
|
3
|
-
import useReducedMotion from "./hooks/use-reduced-motion";
|
|
4
|
-
import useScroll from "./hooks/use-scroll";
|
|
5
|
-
import usePath from "./hooks/use-path";
|
|
6
|
-
import useViewport from "./hooks/use-viewport";
|
|
7
|
-
import useVisible from "./hooks/use-visible";
|
|
8
|
-
import useAudio from "./hooks/use-audio";
|
|
9
|
-
import useSpring from "./hooks/use-spring";
|
|
10
|
-
export { useLink, useTrigger, useReducedMotion, useScroll, usePath, useViewport, useVisible, useAudio, useSpring };
|
|
11
|
-
//# sourceMappingURL=hooks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EACH,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACZ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,OAAO,EACH,UAAU,EACV,OAAO,EACV,CAAC"}
|