@infinityfx/lively 4.0.6 → 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 (76) hide show
  1. package/dist/layout/layout-group.js +1 -1
  2. package/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/tsconfig.tsbuildinfo +0 -1
  53. package/.rollup.cache/F/projects/code/lively/dist/types/animatable.d.ts +0 -112
  54. package/.rollup.cache/F/projects/code/lively/dist/types/animate.d.ts +0 -19
  55. package/.rollup.cache/F/projects/code/lively/dist/types/core/action.d.ts +0 -15
  56. package/.rollup.cache/F/projects/code/lively/dist/types/core/cache.d.ts +0 -23
  57. package/.rollup.cache/F/projects/code/lively/dist/types/core/clip.d.ts +0 -52
  58. package/.rollup.cache/F/projects/code/lively/dist/types/core/link.d.ts +0 -14
  59. package/.rollup.cache/F/projects/code/lively/dist/types/core/timeline.d.ts +0 -41
  60. package/.rollup.cache/F/projects/code/lively/dist/types/core/track.d.ts +0 -32
  61. package/.rollup.cache/F/projects/code/lively/dist/types/core/utils.d.ts +0 -39
  62. package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-audio.d.ts +0 -7
  63. package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-link.d.ts +0 -1
  64. package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-path.d.ts +0 -1
  65. package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-reduced-motion.d.ts +0 -1
  66. package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-scroll.d.ts +0 -9
  67. package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-spring.d.ts +0 -6
  68. package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-trigger.d.ts +0 -4
  69. package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-viewport.d.ts +0 -2
  70. package/.rollup.cache/F/projects/code/lively/dist/types/hooks/use-visible.d.ts +0 -6
  71. package/.rollup.cache/F/projects/code/lively/dist/types/hooks.d.ts +0 -10
  72. package/.rollup.cache/F/projects/code/lively/dist/types/index.d.ts +0 -3
  73. package/.rollup.cache/F/projects/code/lively/dist/types/layout/layout-group.d.ts +0 -16
  74. package/.rollup.cache/F/projects/code/lively/dist/types/layout/morph.d.ts +0 -24
  75. package/.rollup.cache/F/projects/code/lively/dist/types/layout/typable.d.ts +0 -11
  76. package/.rollup.cache/F/projects/code/lively/dist/types/layout.d.ts +0 -4
@@ -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,4 +0,0 @@
1
- import Animatable from "./animatable";
2
- import Animate from "./animate";
3
- export { Animatable, Animate };
4
- //# sourceMappingURL=index.js.map
@@ -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"}
@@ -1,209 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { Children, cloneElement, isValidElement, useLayoutEffect, useRef, useState } from "react";
4
- import Animatable from "../animatable";
5
- import { Groups } from "./morph";
6
- function traverseTree(tree, callback, partialIndex = []) {
7
- const array = 'nodes' in tree ? tree.nodes : tree;
8
- for (let i = 0; i < array.length; i++) {
9
- const index = [...partialIndex, i];
10
- let returnValue = callback(array[i], index);
11
- if (!returnValue)
12
- returnValue = traverseTree(array[i].nodes, callback, index);
13
- if (returnValue)
14
- return returnValue;
15
- }
16
- }
17
- // find a node tree index based on a component key
18
- function findIndex(tree, key) {
19
- return traverseTree(tree, (node, index) => {
20
- if (node.key === key)
21
- return index;
22
- }) || null;
23
- }
24
- // get a node from a node tree based on an index
25
- function getNode(tree, index) {
26
- let node = tree[index[0]];
27
- for (let i = 1; i < index.length; i++) {
28
- if (!node)
29
- break;
30
- node = node.nodes[index[i]];
31
- }
32
- return node;
33
- }
34
- // delete/replace/insert a node into a node tree based on an index
35
- function spliceNode(tree, index, deleteCount, insert) {
36
- const i = index[index.length - 1];
37
- const nodes = index.length > 1 ? getNode(tree, index.slice(0, -1))?.nodes : tree;
38
- if (nodes)
39
- insert ? nodes.splice(i, deleteCount, insert) : nodes.splice(i, deleteCount);
40
- }
41
- // compare a node tree with a react component tree
42
- // and take note of new components that are mounting
43
- function compareTree({ tree, nodes, mounting, partialIndex = [], keys = new Set(), parent = ['', 0] }) {
44
- Children.forEach(nodes, (child, i) => {
45
- const isElement = isValidElement(child);
46
- const hasElements = isElement && (Array.isArray(child.props.children) || isValidElement(child.props.children));
47
- const isValidLively = isElement && child.type.isLively && 'id' in child.props;
48
- const shouldTraverse = hasElements && (!child.type.isLively || child.props.traverseLayout);
49
- const index = [...partialIndex, i];
50
- const node = hasElements && !child.type.isLively ?
51
- cloneElement(child, undefined, []) :
52
- child;
53
- const [pkey, poffset] = parent;
54
- const key = isValidLively ? child.props.id : `$l.${pkey ? pkey + '.' : ''}${index.slice(-poffset).join('')}`;
55
- const renderedIndex = findIndex(tree, key);
56
- const target = renderedIndex ? getNode(tree, renderedIndex) : undefined;
57
- if (!target || (!isValidLively && !target.key.startsWith('$l.'))) {
58
- mounting.set(key, {
59
- node,
60
- index
61
- });
62
- }
63
- else {
64
- if (renderedIndex && renderedIndex.join('') !== index.join('')) {
65
- spliceNode(tree, renderedIndex, 1);
66
- spliceNode(tree, index, 0, target);
67
- }
68
- target.node = node;
69
- }
70
- if (shouldTraverse)
71
- compareTree({
72
- tree,
73
- nodes: child.props.children,
74
- mounting,
75
- partialIndex: index,
76
- keys,
77
- parent: isValidLively ?
78
- [key, 1] :
79
- poffset ?
80
- [pkey, poffset + 1] :
81
- undefined
82
- });
83
- keys.add(key);
84
- });
85
- return keys;
86
- }
87
- // convert a node tree to a react component tree
88
- function renderTree(tree) {
89
- const array = tree.map(node => {
90
- if (!isValidElement(node.node))
91
- return node.node;
92
- return node.nodes.length ?
93
- cloneElement(node.node, { key: node.key }, renderTree(node.nodes)) :
94
- cloneElement(node.node, { key: node.key });
95
- });
96
- return array.length > 1 ? array : array[0];
97
- }
98
- /**
99
- * Animate layout changes or unmounts.
100
- *
101
- * @see {@link https://lively.infinityfx.dev/docs/components/layout-group}
102
- */
103
- export default function LayoutGroup({ children, transition, initialMount = true }) {
104
- const preventMount = useRef(!initialMount);
105
- const ref = useRef(null);
106
- const [_, forceUpdate] = useState({});
107
- const rendered = useRef([]);
108
- const mounting = useRef(new Map());
109
- const timeout = useRef(undefined);
110
- const unmountDelay = useRef(0);
111
- const unmounting = useRef(new Set());
112
- // get keys of current render passes' children
113
- // and register any newly mounted nodes
114
- const keys = compareTree({
115
- tree: rendered.current,
116
- nodes: children,
117
- mounting: mounting.current
118
- });
119
- // filter out newly mounted nodes that aren't animatables
120
- mounting.current.forEach((_, key) => {
121
- if (!keys.has(key))
122
- mounting.current.delete(key);
123
- });
124
- // register any nodes that have unmounted compared to the currently rendered nodes
125
- traverseTree(rendered.current, node => {
126
- if (!keys.has(node.key))
127
- unmounting.current.add(node.key);
128
- });
129
- if (unmounting.current.size && ref.current) {
130
- // loop over nodes to check for nodes that need to be unmounted
131
- for (const child of ref.current.children) {
132
- const id = child.current?.id, isUnmounting = unmounting.current.has(id);
133
- if (!child.current)
134
- continue;
135
- // if node remounted during unmount animation, then cancel the unmounting
136
- // and replay mount animation
137
- if (isUnmounting && keys.has(id)) {
138
- unmounting.current.delete(id);
139
- child.current.trigger('mount', { immediate: true });
140
- child.current.timeline.mounted = true;
141
- continue;
142
- }
143
- // if node needs to be unmounted and is animatable, try to play unmount animation and register animation duration
144
- if (isUnmounting && child.current.timeline.mounted) {
145
- const ends = Date.now() + child.current.trigger('unmount', { immediate: true }) * 1000;
146
- unmountDelay.current = Math.max(unmountDelay.current, ends);
147
- if (child.current.group) {
148
- const morph = Groups[child.current.group].get(child.current.timeline);
149
- if (morph)
150
- morph.state = 'unmounted';
151
- }
152
- child.current.timeline.mounted = false;
153
- }
154
- }
155
- const delay = unmountDelay.current - Date.now();
156
- clearTimeout(timeout.current);
157
- // removes unmounted nodes from the rendered nodes tree
158
- const afterUnmount = (update = true) => {
159
- unmounting.current.forEach(key => {
160
- const index = findIndex(rendered.current, key);
161
- if (index)
162
- spliceNode(rendered.current, index, 1);
163
- });
164
- unmounting.current.clear();
165
- if (update)
166
- forceUpdate({});
167
- };
168
- if (delay > 0) {
169
- timeout.current = setTimeout(afterUnmount, delay);
170
- }
171
- else {
172
- afterUnmount(false);
173
- }
174
- }
175
- // only mount new nodes when no old nodes need to be unmounted
176
- if (!unmounting.current.size && mounting.current.size) { // maybe do this simultanously with unmount (requires unmounts to happen with position absolute..)
177
- mounting.current.forEach(({ node, index }, key) => {
178
- spliceNode(rendered.current, index, 0, {
179
- key,
180
- node,
181
- nodes: []
182
- });
183
- });
184
- mounting.current.clear();
185
- }
186
- // observe any changes inbetween renders
187
- useLayoutEffect(() => {
188
- if (!ref.current)
189
- return;
190
- let child, children = ref.current.children.slice();
191
- // loop over all animatable children
192
- while (child = children.pop()) {
193
- if (preventMount.current && child.current)
194
- child.current.timeline.mounted = true;
195
- // if child can't be compared to the rendered tree or should not adaptively animate, then skip this child
196
- if (!child.current?.id ||
197
- !child.current.timeline.mounted ||
198
- !child.current.adaptive ||
199
- findIndex(rendered.current, child.current.id) === null)
200
- continue;
201
- // else we transition between the old and new layout of this child
202
- child.current.timeline.transition(undefined, transition);
203
- children.push(...child.current.children);
204
- }
205
- preventMount.current = false;
206
- });
207
- return _jsx(Animatable, { ref: ref, passthrough: true, cachable: [], children: renderTree(rendered.current) });
208
- }
209
- //# sourceMappingURL=layout-group.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout-group.js","sourceRoot":"","sources":["../../src/layout/layout-group.tsx"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { use, useLayoutEffect, useRef } from "react";
4
- import Animatable, { AnimatableContext } from "../animatable";
5
- import { combineRefs } from "../core/utils";
6
- export const Groups = {};
7
- /**
8
- * Peform layout morphs between components when one mounts and unmount.
9
- *
10
- * @see {@link https://lively.infinityfx.dev/docs/components/morph}
11
- */
12
- export default function Morph({ children, group, transition, ...props }) {
13
- const parent = use(AnimatableContext);
14
- const id = parent?.group ? `${parent.group}.${group}` : group;
15
- if (!(id in Groups))
16
- Groups[id] = new Map();
17
- const ref = useRef(null);
18
- useLayoutEffect(() => {
19
- const timeline = ref.current?.timeline;
20
- if (!timeline)
21
- return;
22
- if (!Groups[id].has(timeline)) {
23
- Groups[id].set(timeline, { state: 'mounted' });
24
- }
25
- else {
26
- const entry = Groups[id].get(timeline);
27
- entry.state = 'mounted';
28
- }
29
- const targets = Array.from(Groups[id].entries());
30
- const target = targets.find(([_, data]) => data.state === 'unmounted');
31
- if (target && !timeline.mounted) {
32
- timeline.transition(target[0], transition);
33
- target[1].state = 'collected';
34
- }
35
- else if (!timeline.mounted) {
36
- ref.current?.trigger('mount');
37
- }
38
- timeline.mounted = true;
39
- return () => {
40
- const entry = Groups[id].get(timeline);
41
- entry.state = 'unmounted';
42
- setTimeout(() => entry.state = 'collected', 1);
43
- };
44
- }, []);
45
- return _jsx(Animatable, { ...props, group: id, manual: true, ref: combineRefs(ref, props.ref), children: children });
46
- }
47
- Morph.isLively = true;
48
- //# sourceMappingURL=morph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"morph.js","sourceRoot":"","sources":["../../src/layout/morph.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAmC,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,CAAC,MAAM,MAAM,GAIf,EAAE,CAAC;AAEP;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,EAMlD;IACf,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9D,IAAI,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC;QAAE,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;IAE5C,MAAM,GAAG,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAEhD,eAAe,CAAC,GAAG,EAAE;QACjB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAQ,CAAC;YAC9C,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QAC5B,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC;QAEvE,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC9B,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC3C,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,WAAW,CAAC;QAClC,CAAC;aACG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAEL,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAExB,OAAO,GAAG,EAAE;YACR,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAQ,CAAC;YAC9C,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;YAC1B,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,KAAC,UAAU,OAAK,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,QAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,YAC3E,QAAQ,GACA,CAAC;AAClB,CAAC;AAED,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC"}
@@ -1,21 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { Children } from "react";
4
- import Animatable from "../animatable";
5
- /**
6
- * Wrap around text to animate it.
7
- *
8
- * @see {@link https://lively.infinityfx.dev/docs/components/typable}
9
- */
10
- export default function Typable({ children, stagger = 1, staggerLimit = Number.MAX_VALUE, ...props }) {
11
- return _jsx(Animatable, { ...props, stagger: stagger * -1, staggerLimit: staggerLimit, children: Children.map(children, child => {
12
- if (typeof child !== 'string' && typeof child !== 'number')
13
- return child;
14
- return child
15
- .toString()
16
- .split('')
17
- .map(char => _jsx("span", { style: { whiteSpace: char === ' ' ? 'pre-wrap' : undefined }, children: char }));
18
- }) });
19
- }
20
- Typable.isLively = true;
21
- //# sourceMappingURL=typable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typable.js","sourceRoot":"","sources":["../../src/layout/typable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,UAA+B,MAAM,eAAe,CAAC;AAE5D;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,KAAK,EAAmB;IAEjH,OAAO,KAAC,UAAU,OAAK,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,YAC1E,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;YAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAEzE,OAAO,KAAK;iBACP,QAAQ,EAAE;iBACV,KAAK,CAAC,EAAE,CAAC;iBACT,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,eAAM,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,YAAG,IAAI,GAAQ,CAAC,CAAC;QACxG,CAAC,CAAC,GACO,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC"}
@@ -1,5 +0,0 @@
1
- import LayoutGroup from "./layout/layout-group";
2
- import Morph from "./layout/morph";
3
- import Typable from "./layout/typable";
4
- export { LayoutGroup, Morph, Typable };
5
- //# sourceMappingURL=layout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EACH,WAAW,EACX,KAAK,EACL,OAAO,EACV,CAAC"}
@@ -1 +0,0 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.es2023.intl.d.ts","../node_modules/typescript/lib/lib.esnext.array.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.string.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.object.d.ts","../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/tslib/tslib.d.ts","../node_modules/@types/react/global.d.ts","../node_modules/csstype/index.d.ts","../node_modules/@types/react/index.d.ts","../node_modules/@types/react/jsx-runtime.d.ts","../src/core/cache.ts","../src/core/utils.ts","../src/core/track.ts","../src/core/action.ts","../src/core/link.ts","../src/core/clip.ts","../src/hooks/use-trigger.ts","../src/core/timeline.ts","../src/animatable.tsx","../src/animate.tsx","../src/hooks/use-link.ts","../src/hooks/use-reduced-motion.ts","../src/hooks/use-scroll.ts","../src/hooks/use-path.ts","../src/hooks/use-viewport.ts","../src/hooks/use-visible.ts","../src/hooks/use-audio.ts","../src/hooks/use-spring.ts","../src/hooks.ts","../src/index.ts","../src/layout/morph.tsx","../src/layout/layout-group.tsx","../src/layout/typable.tsx","../src/layout.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/minimatch/index.d.ts","../node_modules/@types/glob/index.d.ts","../node_modules/@types/react-dom/index.d.ts","../node_modules/@types/resolve/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","17edc026abf73c5c2dd508652d63f68ec4efd9d4856e3469890d27598209feb5",{"version":"4af6b0c727b7a2896463d512fafd23634229adf69ac7c00e2ae15a09cb084fad","affectsGlobalScope":true},{"version":"9c00a480825408b6a24c63c1b71362232927247595d7c97659bc24dc68ae0757","affectsGlobalScope":true},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"4a882ffbb4ed09d9b7734f784aebb1dfe488d63725c40759165c5d9c657ca029",{"version":"36a2e4c9a67439aca5f91bb304611d5ae6e20d420503e96c230cf8fcdc948d94","affectsGlobalScope":true},"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","a305ee2f90e34e9e70aba9a9e9a154ce20c4d5cd1499cd21b8dc3617e1e5c810","42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","6a72b3d16fadf637354af566b7a3116bd9ae1bf82fa85748194b3882e20c9872","52c1a3fdd80165b67812bceca098e2db1813d95a5608b18210b68184562342e7","1825af831be2fe27a3fa623856a83ff35157198bc09280cd84ee00c25e780a76","8452afbcac66e3f8db08aab3219468c89bead4225ae22f7bda79651460cfba26","39644538dbe46560bb25c9b6790905fe59e913c4a501c77d447d8b9b21c9081f","a5c68267225c3b6f3071a915d4ccd162951aae82261dad851a958d67ea75452e","46ac9c11b5e6212e5156bb535756b60477ac624fc3bb532e551de6e6c46aa9ac","5ba6ee52b56c32cab54ddf22f9df9f3d7fe77c89b39d9a856df5b7fe78bc168d","c484a1f31d668a5251eaae8793d4c8f5178fceb79e4f79c04b652cffb679b481","b0fcfb391f7c9be72769287279ee7abec02afe97ea1c3d5149bf75a3584d94a9","689fd50b4138b903d4d8da8dc8f1bed8774cdbfc5e88126b45b14127bc6efcba","2e9d408dec35668f3826e2727dbe2d00911bf7a20098bc4c9d14100edab3f491","786ad2486cb2ade3053ed5a26156b0959948ee980e94e6abec39b1083bdd74f5","1395307a4ebd06ac6a42d5601212bcf6fafd04224aef2d768c6c08d1a984dd90","9cb80606efae65c3becb06fb24e807dd0a13189018a0f08ce6efd50814590608","beef36f7445ee01729a0fa35cd9a1b7e8be09e90bd9505308db48fa588afd924","f0e7ead8f0fa3e6fd8e388ca2a296f19a882c6ed878b3b495710ac7ecd675b2d","a45aeec17b5236108953988910bba0a01aa89d4f5445ef81636e7cbae5349357","af61ce607434278e95414e782453447cec403851a8beb0e3dc02e8d8a209d77d","d7dcf8f20df9be3094d0cb73a8e5cbf3e5a69615b1d794fe121f4d6be70aeefc","27fc90c97940f3dba18af3fa5df35a2974d440902fef3c6e7cb50778b7a797f9","4ad1d3c33ada1561eb545b889c51e5f1fa5d302048733fa304f1b78fc1df8c7c","56efa6c25db1b4e7d363f2f945e54a78ba3c2b6e7a3263b29fe77b64fc00a0f1","60944089907f8fb7c2ff36faeef7a2078a5d6ce0ed09f02981edcfea4ed29893","785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc","9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"3e4624c306340ad303cc536a07004e81336c3f088308a9e4a9f4c957a3cda2fd","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","025fc13211ed47d2798269017af3ec869122a050d5431a6ad3c1997900e65c58","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"249a2b90439cdfd51709539fbfa4dfe0791cbae6efce1e9b327ba8f8cd703f49","affectsGlobalScope":true},"40b991dc3365179e1365643589e168d7ea0588b4dd5bbb3a974ffefa7cb05e7f","bf057bb805c5e1c0e795ac7c759d40ebbe0e9894df9be3413bbdd8d1a2fc229e","74f2bb83d1ccf390f48681be57a30c09e85b4c7a801267746e382b2386fc667e","7bac475dcdd9f7e4e9da934d32c305bc889c4ce3c8ac0ef45a93a8d670fff607","5d357e7965026197a3152fa4e990fa7a4cbaf1578a17dff920ff1a71a325e198","8acf99b1c8682276a63ea5bb68433782715892726b97e4604a415e4e56bce41c",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"3b145a2351f5cf16abf999c8d5f4481c74dffdc54ec1e9a89992e2622e1226c5","a907bf91df26df2400858ef75f749498fb5cf00062bf90a737ac3949cc07978d","d270fd4b565eda11a0a737c181892316b7a1ace06c7988d0246219c3df11db06","70caef0271088abc5f5ae7ff6d84421d35bb192b690fbaa1b2ecf2b0ef01deb6",{"version":"59a638a504490fecaacf0020b9814b6abee37edb66047eb1ab9f7c2274bf1da0","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","8c4c1a64db28930732033c31418f817dcb9d09d706766707ae6d38f23faf0c53","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","12a70315c8281e46d65696086dd25827408e967b305a22276ae2779fe519e0fe","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","29d613c3964ea75b2b4e0d17098245c34529282e9cc72b7e4eeb2a7b12c27cb7",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","a381f079c4804442f179d742fdb2e495fe28d67a47cac673485f75ae2e77aeca","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true},"2af17363f8a062e3a8cd1b26030af0058b3f86e783f4fc6aa9f57247f240ebaa","06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","dfe08140492cdc135fb7fd9c4a652c05207b61a436906079b87da1d3111314bf","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","089e1f8603cbc35ab977c8dcc662eb754b82fca32ed1dfb16bd682726c2d5432","8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"82fc37849846a3a0264047621d5beb6ce2ddeb2f83bdee2c79523af3c3282d97","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","df1f0af64d4087d4032c57bf23d3d6199b9e276a29a6ad89794f0d2442d6b85e","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358"],"root":[[79,102]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationDir":"./types","emitDeclarationOnly":false,"esModuleInterop":true,"importHelpers":true,"jsx":4,"module":99,"noEmitHelpers":true,"noUncheckedIndexedAccess":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7},"fileIdsList":[[148],[119,120,148,155,156],[104,148],[107,148],[108,113,148],[109,119,120,127,136,147,148],[109,110,119,127,148],[111,148],[112,113,120,128,148],[113,136,144,148],[114,116,119,127,148],[115,148],[116,117,148],[118,119,148],[119,148],[119,120,121,136,147,148],[119,120,121,136,139,148],[148,152],[122,127,136,147,148],[119,120,122,123,127,136,144,147,148],[122,124,136,144,147,148],[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154],[119,125,148],[126,147,148],[116,119,127,136,148],[128,148],[129,148],[107,130,148],[131,146,148,152],[132,148],[133,148],[119,134,148],[134,135,148,150],[119,136,137,138,139,148],[136,138,148],[136,137,148],[139,148],[140,148],[119,142,143,148],[142,143,148],[113,127,136,144,148],[145,148],[127,146,148],[108,122,133,147,148],[113,148],[136,148,149],[148,150],[148,151],[108,113,119,121,130,136,147,148,150,152],[136,148,153],[77,148],[75,76,148],[74,77,78,79,80,84,85,86,148],[74,77,78,84,87,148],[74,78,81,84,148],[74,78,80,81,82,83,148],[74,78,84,148],[74,78,79,80,81,83,84,148],[74,78,79,80,82,84,148],[74,78,85,89,90,91,92,93,94,95,96,148],[74,77,78,83,89,148],[74,77,78,83,148],[74,77,78,148],[74,77,78,89,148],[74,77,78,85,93,148],[74,78,87,88,148],[74,78,99,100,101,148],[74,77,78,81,87,99,148],[74,77,78,80,81,86,87,148],[74,77,78,87,148]],"referencedMap":[[103,1],[157,2],[156,1],[104,3],[105,3],[107,4],[108,5],[109,6],[110,7],[111,8],[112,9],[113,10],[114,11],[115,12],[116,13],[117,13],[118,14],[119,15],[120,16],[121,17],[106,18],[154,1],[122,19],[123,20],[124,21],[155,22],[125,23],[126,24],[127,25],[128,26],[129,27],[130,28],[131,29],[132,30],[133,31],[134,32],[135,33],[136,34],[138,35],[137,36],[139,37],[140,38],[141,1],[142,39],[143,40],[144,41],[145,42],[146,43],[147,44],[148,45],[149,46],[150,47],[151,48],[152,49],[153,50],[158,51],[75,1],[77,52],[78,51],[159,1],[76,1],[74,1],[72,1],[73,1],[12,1],[13,1],[15,1],[14,1],[2,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[3,1],[24,1],[4,1],[25,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[59,1],[57,1],[58,1],[60,1],[61,1],[10,1],[62,1],[1,1],[63,1],[64,1],[11,1],[69,1],[66,1],[65,1],[70,1],[68,1],[71,1],[67,1],[87,53],[88,54],[82,55],[79,55],[84,56],[83,57],[86,58],[81,59],[80,55],[97,60],[95,61],[89,62],[92,63],[90,63],[91,64],[96,64],[85,63],[93,61],[94,65],[98,66],[102,67],[100,68],[99,69],[101,70]]},"version":"5.5.2"}
@@ -1,112 +0,0 @@
1
- import Clip, { AnimatableInitials, ClipProperties } from "./core/clip";
2
- import { Trigger } from "./hooks/use-trigger";
3
- import Timeline, { PlayOptions } from "./core/timeline";
4
- import { CachableKey } from "./core/cache";
5
- type StaticTrigger = 'mount' | 'unmount';
6
- export type AnimatableType<T extends string = any> = {
7
- play: (animation: T | 'animate', options?: PlayOptions, layer?: number) => number;
8
- trigger: (trigger: StaticTrigger, options?: PlayOptions) => number;
9
- timeline: Timeline;
10
- children: React.RefObject<AnimatableType | null>[];
11
- inherit: boolean | undefined;
12
- adaptive: boolean;
13
- group: string | undefined;
14
- id: string;
15
- };
16
- type SharedProps<T extends string = any> = {
17
- group?: string;
18
- animations?: {
19
- [key in T]: ClipProperties | Clip;
20
- };
21
- triggers?: ({
22
- name?: T | 'animate';
23
- on: Trigger | boolean | StaticTrigger;
24
- } & PlayOptions)[];
25
- animate?: ClipProperties | Clip;
26
- initial?: AnimatableInitials;
27
- /**
28
- * How much to stagger child elements' animations by in seconds.
29
- *
30
- * @default 0.1
31
- */
32
- stagger?: number;
33
- /**
34
- * Integer number, after which child elements no longer stagger their animation, but play all at once.
35
- *
36
- * @default 10
37
- */
38
- staggerLimit?: number;
39
- /**
40
- * Whether scale animations will cause artifacting to `border-radius` and/or child elements.
41
- *
42
- * @default true
43
- */
44
- deform?: boolean;
45
- disabled?: boolean;
46
- paused?: boolean;
47
- };
48
- export type AnimatableProps<T extends string = any> = {
49
- ref?: React.Ref<AnimatableType>;
50
- children: React.ReactNode;
51
- /**
52
- * A unique identifier within a [`LayoutGroup`](https://lively.infinityfx.dev/docs/components/layout-group) parent.
53
- */
54
- id?: string;
55
- /**
56
- * Where in the order of a cascade animation this component should play it's animations.
57
- */
58
- order?: number;
59
- /**
60
- * Whether to participate in cascade animations and inherit animation properties from a parent.
61
- *
62
- * @default false
63
- */
64
- inherit?: boolean;
65
- /**
66
- * Whether to **not** participate in cascading animations.
67
- *
68
- * @default false
69
- */
70
- passthrough?: boolean;
71
- /**
72
- * Whether to animate layout changes when this component is a child of a [`LayoutGroup`](https://lively.infinityfx.dev/docs/components/layout-group).
73
- *
74
- * @default false
75
- */
76
- adaptive?: boolean;
77
- /**
78
- * Which properties to keep track of for layout change animations.
79
- *
80
- * @default ['x', 'y', 'sx', 'sy', 'rotate', 'color', 'backgroundColor', 'borderRadius', 'opacity']
81
- */
82
- cachable?: CachableKey[];
83
- /**
84
- * Whether to disable automatic mount/unmount triggering.
85
- *
86
- * @default false
87
- */
88
- manual?: boolean;
89
- onAnimationEnd?: (animation: T | 'animate') => void;
90
- /**
91
- * Whether to observe layout changes within children, when this component is a child of a [`LayoutGroup`](https://lively.infinityfx.dev/docs/components/layout-group).
92
- *
93
- * @default false
94
- */
95
- traverseLayout?: boolean;
96
- } & SharedProps<T>;
97
- type AnimatableContext = {
98
- index?: number;
99
- add: (child: React.RefObject<AnimatableType | null>) => void;
100
- remove: (child: React.RefObject<AnimatableType | null>) => void;
101
- } & SharedProps;
102
- export declare const AnimatableContext: import("react").Context<AnimatableContext | null>;
103
- /**
104
- * Wrap around a react component to animate it.
105
- *
106
- * @see {@link https://lively.infinityfx.dev/docs/components/animatable}
107
- */
108
- declare function Animatable<T extends string>(props: AnimatableProps<T>): import("react/jsx-runtime").JSX.Element;
109
- declare namespace Animatable {
110
- var isLively: boolean;
111
- }
112
- export default Animatable;
@@ -1,19 +0,0 @@
1
- import { AnimatableProps } from "./animatable";
2
- import Clip, { ClipProperties } from "./core/clip";
3
- type AnimateProps = {
4
- animations?: (ClipProperties | Clip)[];
5
- /**
6
- * The number of levels to cascade down animations.
7
- */
8
- levels?: number;
9
- } & Omit<AnimatableProps, 'animations' | 'animate' | 'order'>;
10
- /**
11
- * Automated cascade animations.
12
- *
13
- * @see {@link https://lively.infinityfx.dev/docs/components/animate}
14
- */
15
- declare function Animate({ children, animations, levels, ...props }: AnimateProps): import("react/jsx-runtime").JSX.Element;
16
- declare namespace Animate {
17
- var isLively: boolean;
18
- }
19
- export default Animate;
@@ -1,15 +0,0 @@
1
- import type { CompositeType, DynamicProperties } from "./clip";
2
- import type Track from "./track";
3
- export default class Action {
4
- composite: CompositeType;
5
- commit: boolean;
6
- track: Track;
7
- animation: Animation;
8
- dynamic: DynamicProperties;
9
- onfinish: (() => void) | null;
10
- constructor(track: Track, keyframes: Keyframe[] | PropertyIndexedKeyframes, config: Omit<KeyframeAnimationOptions, 'composite'> & {
11
- composite: CompositeType;
12
- }, dynamic?: DynamicProperties);
13
- finish(): void;
14
- step(index: number): void;
15
- }
@@ -1,23 +0,0 @@
1
- import Clip, { AnimatableKey } from "./clip";
2
- import { TransitionOptions } from "./track";
3
- type PartialCachableKey = Exclude<AnimatableKey, 'scale' | 'translate'>;
4
- export type CachableKey = PartialCachableKey | 'x' | 'y' | 'sx' | 'sy';
5
- type CacheData = {
6
- [key in PartialCachableKey]?: string;
7
- } & {
8
- x: number;
9
- y: number;
10
- sx: number;
11
- sy: number;
12
- };
13
- export declare class StyleCache {
14
- element: HTMLElement | SVGElement;
15
- data: CacheData;
16
- computed: CSSStyleDeclaration;
17
- include: CachableKey[];
18
- constructor(element: HTMLElement | SVGElement, include?: CachableKey[]);
19
- read(): CacheData;
20
- update(): void;
21
- difference(from: CacheData | undefined, { duration, easing, reverse }: TransitionOptions): Clip[];
22
- }
23
- export {};