@infinityfx/lively 4.0.5 → 4.0.7

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.
Files changed (75) hide show
  1. package/dist/layout/layout-group.js +1 -1
  2. package/{.rollup.cache/F/projects/code/lively/dist → dist}/tsconfig.tsbuildinfo +1 -1
  3. package/package.json +1 -1
  4. package/.rollup.cache/F/projects/code/lively/dist/animatable.js +0 -147
  5. package/.rollup.cache/F/projects/code/lively/dist/animatable.js.map +0 -1
  6. package/.rollup.cache/F/projects/code/lively/dist/animate.js +0 -26
  7. package/.rollup.cache/F/projects/code/lively/dist/animate.js.map +0 -1
  8. package/.rollup.cache/F/projects/code/lively/dist/core/action.js +0 -28
  9. package/.rollup.cache/F/projects/code/lively/dist/core/action.js.map +0 -1
  10. package/.rollup.cache/F/projects/code/lively/dist/core/cache.js +0 -55
  11. package/.rollup.cache/F/projects/code/lively/dist/core/cache.js.map +0 -1
  12. package/.rollup.cache/F/projects/code/lively/dist/core/clip.js +0 -71
  13. package/.rollup.cache/F/projects/code/lively/dist/core/clip.js.map +0 -1
  14. package/.rollup.cache/F/projects/code/lively/dist/core/link.js +0 -39
  15. package/.rollup.cache/F/projects/code/lively/dist/core/link.js.map +0 -1
  16. package/.rollup.cache/F/projects/code/lively/dist/core/timeline.js +0 -107
  17. package/.rollup.cache/F/projects/code/lively/dist/core/timeline.js.map +0 -1
  18. package/.rollup.cache/F/projects/code/lively/dist/core/track.js +0 -147
  19. package/.rollup.cache/F/projects/code/lively/dist/core/track.js.map +0 -1
  20. package/.rollup.cache/F/projects/code/lively/dist/core/utils.js +0 -95
  21. package/.rollup.cache/F/projects/code/lively/dist/core/utils.js.map +0 -1
  22. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-audio.js +0 -63
  23. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-audio.js.map +0 -1
  24. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-link.js +0 -7
  25. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-link.js.map +0 -1
  26. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-path.js +0 -15
  27. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-path.js.map +0 -1
  28. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-reduced-motion.js +0 -14
  29. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-reduced-motion.js.map +0 -1
  30. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-scroll.js +0 -21
  31. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-scroll.js.map +0 -1
  32. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-spring.js +0 -37
  33. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-spring.js.map +0 -1
  34. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-trigger.js +0 -15
  35. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-trigger.js.map +0 -1
  36. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-viewport.js +0 -27
  37. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-viewport.js.map +0 -1
  38. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-visible.js +0 -26
  39. package/.rollup.cache/F/projects/code/lively/dist/hooks/use-visible.js.map +0 -1
  40. package/.rollup.cache/F/projects/code/lively/dist/hooks.js +0 -11
  41. package/.rollup.cache/F/projects/code/lively/dist/hooks.js.map +0 -1
  42. package/.rollup.cache/F/projects/code/lively/dist/index.js +0 -4
  43. package/.rollup.cache/F/projects/code/lively/dist/index.js.map +0 -1
  44. package/.rollup.cache/F/projects/code/lively/dist/layout/layout-group.js +0 -209
  45. package/.rollup.cache/F/projects/code/lively/dist/layout/layout-group.js.map +0 -1
  46. package/.rollup.cache/F/projects/code/lively/dist/layout/morph.js +0 -48
  47. package/.rollup.cache/F/projects/code/lively/dist/layout/morph.js.map +0 -1
  48. package/.rollup.cache/F/projects/code/lively/dist/layout/typable.js +0 -21
  49. package/.rollup.cache/F/projects/code/lively/dist/layout/typable.js.map +0 -1
  50. package/.rollup.cache/F/projects/code/lively/dist/layout.js +0 -5
  51. package/.rollup.cache/F/projects/code/lively/dist/layout.js.map +0 -1
  52. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/animatable.d.ts +0 -0
  53. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/animate.d.ts +0 -0
  54. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/core/action.d.ts +0 -0
  55. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/core/cache.d.ts +0 -0
  56. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/core/clip.d.ts +0 -0
  57. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/core/link.d.ts +0 -0
  58. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/core/timeline.d.ts +0 -0
  59. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/core/track.d.ts +0 -0
  60. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/core/utils.d.ts +0 -0
  61. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/hooks/use-audio.d.ts +0 -0
  62. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/hooks/use-link.d.ts +0 -0
  63. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/hooks/use-path.d.ts +0 -0
  64. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/hooks/use-reduced-motion.d.ts +0 -0
  65. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/hooks/use-scroll.d.ts +0 -0
  66. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/hooks/use-spring.d.ts +0 -0
  67. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/hooks/use-trigger.d.ts +0 -0
  68. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/hooks/use-viewport.d.ts +0 -0
  69. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/hooks/use-visible.d.ts +0 -0
  70. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/hooks.d.ts +0 -0
  71. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/index.d.ts +0 -0
  72. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/layout/layout-group.d.ts +0 -0
  73. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/layout/morph.d.ts +0 -0
  74. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/layout/typable.d.ts +0 -0
  75. /package/{.rollup.cache/F/projects/code/lively/dist → dist}/types/layout.d.ts +0 -0
@@ -1,107 +0,0 @@
1
- import Clip from "./clip";
2
- import { isLink } from "./link";
3
- import Track from "./track";
4
- import { IndexedMap, merge } from "./utils";
5
- export default class Timeline {
6
- constructor({ stagger = 0.1, staggerLimit = 10, deform = true, cachable, mountClips }) {
7
- this.index = 0;
8
- this.paused = false;
9
- this.tracks = new IndexedMap();
10
- this.frame = 0;
11
- this.linked = [];
12
- this.mounted = false;
13
- this.stagger = stagger;
14
- this.staggerLimit = staggerLimit - 1;
15
- this.deform = deform;
16
- this.cachable = cachable;
17
- this.mountClips = mountClips;
18
- }
19
- step() {
20
- cancelAnimationFrame(this.frame);
21
- if (!this.paused)
22
- this.tracks.stack.forEach((track, i) => track.step(i));
23
- this.frame = requestAnimationFrame(this.step.bind(this));
24
- }
25
- time(clip) {
26
- if (!this.tracks.size)
27
- return 0;
28
- return clip.duration + clip.delay + this.stagger * Math.max(Math.min(this.staggerLimit, this.tracks.size - 1), 0);
29
- }
30
- receiver(prop, link, config) {
31
- if (this.paused)
32
- return;
33
- for (let i = 0; i < this.tracks.size; i++) {
34
- const track = this.tracks.stack[i], value = link(i);
35
- if (config.duration) {
36
- merge(config, { composite: 'override' }); // optimize syntax?
37
- new Clip({ ...config, [prop]: value }).play(track, {});
38
- }
39
- else {
40
- requestAnimationFrame(() => {
41
- track.apply(prop, value);
42
- track.correct();
43
- });
44
- }
45
- }
46
- }
47
- link(clip) {
48
- this.step();
49
- if (this.linked.length || !clip || clip instanceof Clip)
50
- return;
51
- for (let prop in clip) {
52
- const link = clip[prop];
53
- if (isLink(link)) {
54
- const receiver = this.receiver.bind(this, prop, link);
55
- link.subscribe(receiver);
56
- this.linked.push(() => link.unsubscribe(receiver));
57
- receiver({});
58
- }
59
- }
60
- }
61
- unlink() {
62
- cancelAnimationFrame(this.frame);
63
- this.linked.forEach(unsubscribe => unsubscribe());
64
- this.linked = [];
65
- }
66
- transition(from, options = {}) {
67
- for (let i = 0; i < this.tracks.size; i++) {
68
- this.tracks.stack[i].transition(from?.tracks.stack[i], options);
69
- }
70
- }
71
- insert(element) {
72
- if ((element instanceof HTMLElement || element instanceof SVGElement) && !this.tracks.has(element)) {
73
- const track = new Track(element, this.deform, this.cachable);
74
- this.tracks.set(element, track);
75
- if (this.mounted)
76
- this.mountClips.forEach(clip => clip.play(track, {}));
77
- }
78
- }
79
- add(clip, { immediate = false, composite, reverse, delay = 0, commit }) {
80
- let i = 0, track;
81
- while (track = this.tracks.stack[i]) {
82
- if (!track.element.isConnected) {
83
- this.tracks.delete(track.element);
84
- continue;
85
- }
86
- if (immediate)
87
- track.clear();
88
- clip.play(track, {
89
- delay: delay + Math.min(i, this.staggerLimit) * (this.stagger < 0 ? clip.duration / this.tracks.size : 1) * Math.abs(this.stagger),
90
- composite,
91
- reverse,
92
- commit
93
- });
94
- i++;
95
- }
96
- }
97
- pause(value) {
98
- for (const track of this.tracks.stack)
99
- track.pause(value);
100
- this.paused = value;
101
- }
102
- cache() {
103
- for (const track of this.tracks.stack)
104
- track.cache.update();
105
- }
106
- }
107
- //# sourceMappingURL=timeline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/core/timeline.ts"],"names":[],"mappings":"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"}
@@ -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,7 +0,0 @@
1
- import { useRef } from "react";
2
- import { createLink } from "../core/link";
3
- export default function useLink(initial) {
4
- const link = useRef(createLink(initial));
5
- return link.current;
6
- }
7
- //# sourceMappingURL=use-link.js.map
@@ -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"}