@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,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"}