motion-start 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +0 -0
- package/README.md +0 -0
- package/dist/components/AnimatePresence/PresenceChild/PresenceChild.svelte +22 -16
- package/dist/components/AnimatePresence/PresenceChild/PresenceChild.svelte.d.ts +1 -26
- package/dist/components/AnimatePresence/PresenceChild/PresenceChild.svelte.d.ts.map +1 -1
- package/dist/components/AnimatePresence/PresenceChild/types.d.ts +3 -1
- package/dist/components/AnimatePresence/PresenceChild/types.d.ts.map +1 -1
- package/dist/components/AnimateSharedLayout/AnimateSharedLayout.svelte +1 -1
- package/dist/components/AnimateSharedLayout/types.d.ts.map +1 -1
- package/dist/events/UseDomEvent.svelte +23 -9
- package/dist/events/UseDomEvent.svelte.d.ts +4 -26
- package/dist/events/UseDomEvent.svelte.d.ts.map +1 -1
- package/dist/gestures/drag/UseDrag.svelte +8 -14
- package/dist/gestures/drag/UseDrag.svelte.d.ts +6 -30
- package/dist/gestures/drag/UseDrag.svelte.d.ts.map +1 -1
- package/dist/gestures/drag/VisualElementDragControls.d.ts.map +1 -1
- package/dist/gestures/drag/VisualElementDragControls.js +7 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/motion/features/Exit.svelte +10 -9
- package/dist/motion/features/Exit.svelte.d.ts +6 -30
- package/dist/motion/features/Exit.svelte.d.ts.map +1 -1
- package/dist/motion/features/layout/Animate.svelte +26 -22
- package/dist/motion/features/layout/Animate.svelte.d.ts +2 -1
- package/dist/motion/features/layout/Animate.svelte.d.ts.map +1 -1
- package/dist/motion/features/types.d.ts +2 -1
- package/dist/motion/features/types.d.ts.map +1 -1
- package/dist/motion/types.d.ts +1 -1
- package/dist/motion/types.d.ts.map +1 -1
- package/dist/render/dom/M-type.spec-d.js +2 -2
- package/dist/render/dom/Motion-Proxy.svelte +1 -2
- package/dist/render/dom/Motion-Proxy.svelte.d.ts.map +1 -1
- package/dist/render/dom/Motion-type.spec-d.js +2 -2
- package/dist/render/dom/UseRender.svelte +3 -2
- package/dist/render/dom/UseRender.svelte.d.ts.map +1 -1
- package/dist/render/dom/motion-minimal.d.ts +10 -2
- package/dist/render/dom/motion-minimal.d.ts.map +1 -1
- package/dist/render/dom/motion-minimal.js +3 -3
- package/dist/render/dom/motion.d.ts +10 -2
- package/dist/render/dom/motion.d.ts.map +1 -1
- package/dist/render/dom/motion.js +1 -1
- package/dist/render/html/UseHTMLProps.svelte +13 -18
- package/dist/render/html/UseHTMLProps.svelte.d.ts +37 -0
- package/dist/render/html/UseHTMLProps.svelte.d.ts.map +1 -0
- package/dist/render/html/UseInitialMotionValues.svelte +6 -5
- package/dist/render/html/UseInitialMotionValues.svelte.d.ts +6 -34
- package/dist/render/html/UseInitialMotionValues.svelte.d.ts.map +1 -1
- package/dist/render/html/UseStyle.svelte +4 -2
- package/dist/render/html/UseStyle.svelte.d.ts.map +1 -1
- package/dist/render/html/types.d.ts +9 -0
- package/dist/render/html/types.d.ts.map +1 -1
- package/dist/render/html/use-props.d.ts +6 -4
- package/dist/render/html/use-props.d.ts.map +1 -1
- package/dist/render/html/use-props.js +4 -2
- package/dist/render/html/visual-element.d.ts +9 -3
- package/dist/render/html/visual-element.d.ts.map +1 -1
- package/dist/render/svg/UseSVGProps.svelte +13 -9
- package/dist/render/svg/UseSVGProps.svelte.d.ts +5 -37
- package/dist/render/svg/UseSVGProps.svelte.d.ts.map +1 -1
- package/dist/render/utils/lifecycles.d.ts +1 -1
- package/dist/render/utils/lifecycles.d.ts.map +1 -1
- package/dist/render/utils/lifecycles.js +5 -5
- package/dist/render/utils/state.d.ts.map +1 -1
- package/dist/utils/subscription-manager.d.ts +1 -1
- package/dist/utils/subscription-manager.d.ts.map +1 -1
- package/dist/utils/subscription-manager.js +1 -1
- package/dist/value/use-spring.d.ts +2 -2
- package/dist/value/use-spring.d.ts.map +1 -1
- package/dist/value/use-spring.js +7 -12
- package/package.json +91 -94
package/LICENSE.md
CHANGED
|
File without changes
|
package/README.md
CHANGED
|
File without changes
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<!-- based on framer-motion@4.0.3,
|
|
2
2
|
Copyright (c) 2018 Framer B.V. -->
|
|
3
|
+
<svelte:options runes />
|
|
3
4
|
|
|
4
|
-
<script context="module" lang="ts">
|
|
5
|
+
<script context="module" lang="ts" module>
|
|
5
6
|
let presenceId = 0;
|
|
6
7
|
function getPresenceId() {
|
|
7
8
|
const id = presenceId;
|
|
@@ -14,24 +15,27 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
14
15
|
</script>
|
|
15
16
|
|
|
16
17
|
<script lang="ts">
|
|
17
|
-
import {
|
|
18
|
+
import { setContext, tick } from "svelte";
|
|
18
19
|
import { setDomContext } from "../../../context/DOMcontext.js";
|
|
19
20
|
import { PresenceContext } from "../../../context/PresenceContext.js";
|
|
20
21
|
import type { PresenceChildProps } from "./index.js";
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
interface Props extends PresenceChildProps {}
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
let {
|
|
26
|
+
isPresent,
|
|
27
|
+
onExitComplete = undefined,
|
|
28
|
+
initial = undefined,
|
|
29
|
+
custom = undefined,
|
|
30
|
+
presenceAffectsLayout,
|
|
31
|
+
isCustom,
|
|
32
|
+
children,
|
|
33
|
+
}: Props = $props();
|
|
30
34
|
|
|
31
35
|
const presenceChildren = newChildrenMap();
|
|
32
36
|
const id = getPresenceId();
|
|
33
37
|
|
|
34
|
-
|
|
38
|
+
const refresh = $derived(presenceAffectsLayout ? undefined : isPresent);
|
|
35
39
|
|
|
36
40
|
const memoContext = (flag?: boolean) => {
|
|
37
41
|
return {
|
|
@@ -56,23 +60,25 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
56
60
|
};
|
|
57
61
|
let context = PresenceContext();
|
|
58
62
|
|
|
59
|
-
|
|
63
|
+
$effect(() => {
|
|
60
64
|
if (presenceAffectsLayout) {
|
|
61
65
|
context.set(memoContext());
|
|
62
66
|
}
|
|
63
67
|
});
|
|
64
68
|
|
|
65
|
-
|
|
69
|
+
$effect(() => context.set(memoContext(refresh)));
|
|
66
70
|
|
|
67
71
|
const keyset = (flag?: boolean) => {
|
|
68
72
|
presenceChildren.forEach((_, key) => presenceChildren.set(key, false));
|
|
69
73
|
};
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
74
|
+
$effect(() => {
|
|
75
|
+
keyset(isPresent);
|
|
76
|
+
tick().then(() => {
|
|
77
|
+
!isPresent && !presenceChildren.size && onExitComplete?.();
|
|
78
|
+
});
|
|
73
79
|
});
|
|
74
80
|
setContext(PresenceContext, context);
|
|
75
81
|
setDomContext("Presence", isCustom, context);
|
|
76
82
|
</script>
|
|
77
83
|
|
|
78
|
-
|
|
84
|
+
{@render children?.()}
|
|
@@ -1,29 +1,4 @@
|
|
|
1
1
|
import type { PresenceChildProps } from "./index.js";
|
|
2
|
-
|
|
3
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
-
$$bindings?: Bindings;
|
|
5
|
-
} & Exports;
|
|
6
|
-
(internal: unknown, props: Props & {
|
|
7
|
-
$$events?: Events;
|
|
8
|
-
$$slots?: Slots;
|
|
9
|
-
}): Exports & {
|
|
10
|
-
$set?: any;
|
|
11
|
-
$on?: any;
|
|
12
|
-
};
|
|
13
|
-
z_$$bindings?: Bindings;
|
|
14
|
-
}
|
|
15
|
-
type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
|
|
16
|
-
default: any;
|
|
17
|
-
} ? Props extends Record<string, never> ? any : {
|
|
18
|
-
children?: any;
|
|
19
|
-
} : {});
|
|
20
|
-
declare const PresenceChild: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<PresenceChildProps, {
|
|
21
|
-
default: {};
|
|
22
|
-
}>, {
|
|
23
|
-
[evt: string]: CustomEvent<any>;
|
|
24
|
-
}, {
|
|
25
|
-
default: {};
|
|
26
|
-
}, {}, string>;
|
|
27
|
-
type PresenceChild = InstanceType<typeof PresenceChild>;
|
|
2
|
+
declare const PresenceChild: import("svelte").Component<PresenceChildProps, {}, "">;
|
|
28
3
|
export default PresenceChild;
|
|
29
4
|
//# sourceMappingURL=PresenceChild.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresenceChild.svelte.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/motion-start/components/AnimatePresence/PresenceChild/PresenceChild.svelte.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"PresenceChild.svelte.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/motion-start/components/AnimatePresence/PresenceChild/PresenceChild.svelte.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA8ErD,QAAA,MAAM,aAAa,wDAAsC,CAAC;AAC1D,eAAe,aAAa,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { VariantLabels } from '../../../motion/types';
|
|
2
3
|
export interface PresenceChildProps {
|
|
4
|
+
children?: Snippet;
|
|
3
5
|
isPresent: boolean;
|
|
4
6
|
onExitComplete?: () => void;
|
|
5
7
|
initial?: false | VariantLabels;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/motion-start/components/AnimatePresence/PresenceChild/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,MAAM,WAAW,kBAAkB;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/motion-start/components/AnimatePresence/PresenceChild/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC;IAChC,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,qBAAqB,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -111,7 +111,7 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
111
111
|
* Create a handler which we can use to flush the children animations
|
|
112
112
|
*/
|
|
113
113
|
const handler = {
|
|
114
|
-
measureLayout: (child:
|
|
114
|
+
measureLayout: (child: any) => child.updateLayoutMeasurement(),
|
|
115
115
|
layoutReady: (child: VisualElement) => {
|
|
116
116
|
if (child.getLayoutId() !== undefined) {
|
|
117
117
|
const stack = getStack(child);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/components/AnimateSharedLayout/types.ts"],"names":[],"mappings":"AAAA;;;EAGE;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/components/AnimateSharedLayout/types.ts"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C;;GAEG;AACH,oBAAY,QAAQ;IACnB,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,OAAO,IAAI;CACX;AACD;;GAEG;AACH,oBAAY,gBAAgB;IAC3B,IAAI,IAAI;IACR,IAAI,IAAI;CACR;AACD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IAEH;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;CAC9B;AACD,MAAM,WAAW,2BAA2B;IAC3C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,aAAa,CAAC;CAC3B;AACD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,MAAM,CAAC,EAAE,aAAa,CAAC;CACvB;AACD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAChD;AACD;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IACjE,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CACvC;AAED;;;EAGE;AAEF;;GAEG"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
<!-- based on framer-motion@4.0.3,
|
|
2
2
|
Copyright (c) 2018 Framer B.V. -->
|
|
3
|
+
<svelte:options runes />
|
|
4
|
+
|
|
3
5
|
<script lang="ts">
|
|
4
|
-
import { onDestroy } from "svelte";
|
|
6
|
+
import { onDestroy, type Snippet } from "svelte";
|
|
5
7
|
import { addDomEvent, type UseDomEventProps } from "./use-dom-event.js";
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
interface Props extends UseDomEventProps {
|
|
10
|
+
children?: Snippet;
|
|
11
|
+
}
|
|
8
12
|
|
|
9
13
|
/**
|
|
10
14
|
* Attaches an event listener directly to the provided DOM element.
|
|
@@ -27,12 +31,20 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
27
31
|
*
|
|
28
32
|
* @public
|
|
29
33
|
*/
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
let {
|
|
35
|
+
ref,
|
|
36
|
+
eventName,
|
|
37
|
+
handler = undefined,
|
|
38
|
+
options = undefined,
|
|
39
|
+
children,
|
|
40
|
+
}: Props = $props();
|
|
34
41
|
let cleanup = () => {};
|
|
35
|
-
const
|
|
42
|
+
const _cleanup = (
|
|
43
|
+
ref?: any,
|
|
44
|
+
eventName?: any,
|
|
45
|
+
handler?: any,
|
|
46
|
+
options?: any,
|
|
47
|
+
) => {
|
|
36
48
|
cleanup();
|
|
37
49
|
if (!ref) {
|
|
38
50
|
return () => {};
|
|
@@ -45,8 +57,10 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
45
57
|
return () => {};
|
|
46
58
|
};
|
|
47
59
|
|
|
48
|
-
|
|
60
|
+
$effect(() => {
|
|
61
|
+
cleanup = _cleanup(ref, eventName, handler, options);
|
|
62
|
+
});
|
|
49
63
|
onDestroy(cleanup);
|
|
50
64
|
</script>
|
|
51
65
|
|
|
52
|
-
|
|
66
|
+
{@render children?.()}
|
|
@@ -1,29 +1,7 @@
|
|
|
1
|
+
import { type Snippet } from "svelte";
|
|
1
2
|
import { type UseDomEventProps } from "./use-dom-event.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
} & Exports;
|
|
6
|
-
(internal: unknown, props: Props & {
|
|
7
|
-
$$events?: Events;
|
|
8
|
-
$$slots?: Slots;
|
|
9
|
-
}): Exports & {
|
|
10
|
-
$set?: any;
|
|
11
|
-
$on?: any;
|
|
12
|
-
};
|
|
13
|
-
z_$$bindings?: Bindings;
|
|
14
|
-
}
|
|
15
|
-
type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
|
|
16
|
-
default: any;
|
|
17
|
-
} ? Props extends Record<string, never> ? any : {
|
|
18
|
-
children?: any;
|
|
19
|
-
} : {});
|
|
20
|
-
declare const UseDomEvent: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<UseDomEventProps, {
|
|
21
|
-
default: {};
|
|
22
|
-
}>, {
|
|
23
|
-
[evt: string]: CustomEvent<any>;
|
|
24
|
-
}, {
|
|
25
|
-
default: {};
|
|
26
|
-
}, {}, string>;
|
|
27
|
-
type UseDomEvent = InstanceType<typeof UseDomEvent>;
|
|
3
|
+
declare const UseDomEvent: import("svelte").Component<UseDomEventProps & {
|
|
4
|
+
children?: Snippet;
|
|
5
|
+
}, {}, "">;
|
|
28
6
|
export default UseDomEvent;
|
|
29
7
|
//# sourceMappingURL=UseDomEvent.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseDomEvent.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/motion-start/events/UseDomEvent.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UseDomEvent.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/motion-start/events/UseDomEvent.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAsExE,QAAA,MAAM,WAAW;eA/DF,OAAO;UA+DiC,CAAC;AACxD,eAAe,WAAW,CAAC"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
<!-- based on framer-motion@4.1.11,
|
|
2
2
|
Copyright (c) 2018 Framer B.V. -->
|
|
3
|
+
<svelte:options runes />
|
|
3
4
|
|
|
4
5
|
<script lang="ts">
|
|
5
6
|
import { getContext, onDestroy, onMount } from "svelte";
|
|
6
|
-
import { get, type Writable } from "svelte/store";
|
|
7
|
+
import { fromStore, get, type Writable } from "svelte/store";
|
|
7
8
|
import {
|
|
8
9
|
MotionConfigContext,
|
|
9
10
|
type MotionConfigContextObject,
|
|
10
11
|
} from "../../context/MotionConfigContext.js";
|
|
11
12
|
import { VisualElementDragControls } from "./VisualElementDragControls.js";
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
let { visualElement, props, isCustom, children } = $props();
|
|
14
15
|
|
|
15
16
|
const mcc =
|
|
16
17
|
getContext<Writable<MotionConfigContextObject>>(MotionConfigContext) ||
|
|
@@ -31,19 +32,12 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
31
32
|
cleanup = groupDragControls.subscribe(dragControls);
|
|
32
33
|
}
|
|
33
34
|
};
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
const { dragControls: groupDragControls } = $derived(props);
|
|
36
|
+
const { transformPagePoint } = $derived(fromStore(mcc).current);
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
//let {transformPagePoint} = get($mcc);
|
|
39
|
-
$: ({ transformPagePoint } = $mcc);
|
|
40
|
-
dragControls.setProps({ ...props, transformPagePoint });
|
|
38
|
+
$effect(() => dragControls.setProps({ ...props, transformPagePoint }));
|
|
41
39
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
$: dragControls.setProps({ ...props, transformPagePoint });
|
|
45
|
-
|
|
46
|
-
$: dragEffect(dragControls);
|
|
40
|
+
$effect(() => dragEffect(dragControls));
|
|
47
41
|
|
|
48
42
|
onDestroy(() => {
|
|
49
43
|
if (cleanup) {
|
|
@@ -53,4 +47,4 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
53
47
|
onMount(() => dragControls.mount(visualElement));
|
|
54
48
|
</script>
|
|
55
49
|
|
|
56
|
-
|
|
50
|
+
{@render children?.()}
|
|
@@ -1,32 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
$$slots?: Slots;
|
|
8
|
-
}): Exports & {
|
|
9
|
-
$set?: any;
|
|
10
|
-
$on?: any;
|
|
11
|
-
};
|
|
12
|
-
z_$$bindings?: Bindings;
|
|
13
|
-
}
|
|
14
|
-
type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
|
|
15
|
-
default: any;
|
|
16
|
-
} ? Props extends Record<string, never> ? any : {
|
|
17
|
-
children?: any;
|
|
18
|
-
} : {});
|
|
19
|
-
declare const UseDrag: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
|
|
20
|
-
visualElement: any;
|
|
21
|
-
props: any;
|
|
22
|
-
isCustom: any;
|
|
23
|
-
}, {
|
|
24
|
-
default: {};
|
|
25
|
-
}>, {
|
|
26
|
-
[evt: string]: CustomEvent<any>;
|
|
27
|
-
}, {
|
|
28
|
-
default: {};
|
|
29
|
-
}, {}, string>;
|
|
30
|
-
type UseDrag = InstanceType<typeof UseDrag>;
|
|
1
|
+
declare const UseDrag: import("svelte").Component<{
|
|
2
|
+
visualElement: unknown;
|
|
3
|
+
props: unknown;
|
|
4
|
+
isCustom: unknown;
|
|
5
|
+
children: unknown;
|
|
6
|
+
}, {}, "">;
|
|
31
7
|
export default UseDrag;
|
|
32
8
|
//# sourceMappingURL=UseDrag.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseDrag.svelte.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/gestures/drag/UseDrag.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UseDrag.svelte.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/gestures/drag/UseDrag.svelte.ts"],"names":[],"mappings":"AA4DA,QAAA,MAAM,OAAO;mBA7CiD,OAAO;WAAS,OAAO;cAAY,OAAO;cAAY,OAAO;UA6CxE,CAAC;AACpD,eAAe,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisualElementDragControls.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/gestures/drag/VisualElementDragControls.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAa,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,SAAS,CAAC;AAGnE,UAAU,iBAAiB;IAC1B,aAAa,EAAE,aAAa,CAAC;CAC7B;AACD,MAAM,WAAW,kBAAkB;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AACD,UAAU,iBAAkB,SAAQ,cAAc;IACjD,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;CACtC;AAED,MAAM,MAAM,8BAA8B,GAAG,CAAC,EAAE,eAAe,EAAE,wBAAwB,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC;AAyCrH,QAAA,IAAI,mBAAmB,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,yBAAyB,CAAiB,CAAC;AAMrG,cAAM,yBAAyB;IAC9B;;;;OAIG;IACH,UAAU,UAAS;IACnB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAA8B;IACtD;;;;OAIG;IACH,OAAO,CAAC,WAAW,CAAsC;IACzD;;;;OAIG;IACH,OAAO,CAAC,OAAO,CAAa;IAC5B;;;;OAIG;IACH,OAAO,CAAC,KAAK,CAAuC;IACpD;;OAEG;IACH,OAAO,CAAC,aAAa,CAA6B;IAClD;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAAS;IACtC;;OAEG;IACH,OAAO,CAAC,YAAY,CAAC,CAAM;IAC3B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc,CAGpB;IACF,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,cAAc,CAAqB;IAC3C;;OAEG;IACH,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC;;OAEG;IACH,OAAO,CAAC,cAAc,CAAC,CAAY;gBAEvB,EAAE,aAAa,EAAE,EAAE,iBAAiB;IAKhD;;;;OAIG;IACH,KAAK,gBACS,YAAY,qCAC6B,kBAAkB,UAyIvE;IACF,sBAAsB,
|
|
1
|
+
{"version":3,"file":"VisualElementDragControls.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/gestures/drag/VisualElementDragControls.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAa,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,SAAS,CAAC;AAGnE,UAAU,iBAAiB;IAC1B,aAAa,EAAE,aAAa,CAAC;CAC7B;AACD,MAAM,WAAW,kBAAkB;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AACD,UAAU,iBAAkB,SAAQ,cAAc;IACjD,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;CACtC;AAED,MAAM,MAAM,8BAA8B,GAAG,CAAC,EAAE,eAAe,EAAE,wBAAwB,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC;AAyCrH,QAAA,IAAI,mBAAmB,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,yBAAyB,CAAiB,CAAC;AAMrG,cAAM,yBAAyB;IAC9B;;;;OAIG;IACH,UAAU,UAAS;IACnB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAA8B;IACtD;;;;OAIG;IACH,OAAO,CAAC,WAAW,CAAsC;IACzD;;;;OAIG;IACH,OAAO,CAAC,OAAO,CAAa;IAC5B;;;;OAIG;IACH,OAAO,CAAC,KAAK,CAAuC;IACpD;;OAEG;IACH,OAAO,CAAC,aAAa,CAA6B;IAClD;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAAS;IACtC;;OAEG;IACH,OAAO,CAAC,YAAY,CAAC,CAAM;IAC3B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc,CAGpB;IACF,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,cAAc,CAAqB;IAC3C;;OAEG;IACH,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC;;OAEG;IACH,OAAO,CAAC,cAAc,CAAC,CAAY;gBAEvB,EAAE,aAAa,EAAE,EAAE,iBAAiB;IAKhD;;;;OAIG;IACH,KAAK,gBACS,YAAY,qCAC6B,kBAAkB,UAyIvE;IACF,sBAAsB,aAwBpB;IACF,OAAO,CAAC,qBAAqB,CAqB3B;IACF,OAAO,CAAC,UAAU,CAahB;IACF,OAAO,CAAC,IAAI,CAWV;IACF,YAAY,UAAW,OAAO,aAkB5B;IACF;;OAEG;IACH,OAAO,CAAC,UAAU,CAOhB;IACF,OAAO,CAAC,qBAAqB,CAM3B;IACF,OAAO,CAAC,uBAAuB,CAmB7B;IACF,QAAQ,gHAQL,iBAAiB,GAAG,WAAW,UAUhC;IACF;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB,CAWxB;IACF,OAAO,CAAC,YAAY,CAElB;IACF,OAAO,CAAC,cAAc,CAKpB;IACF,OAAO,CAAC,cAAc,CA6EpB;IACF,UAAU,aAKR;IACF,OAAO,CAAC,uBAAuB,CAO7B;IACF,UAAU,aAsCR;IACF,iBAAiB,aAAc,MAAM,IAAI,UAYvC;IACF,KAAK,kBAAmB,aAAa,KAAG,CAAC,MAAM,IAAI,CAAC,CA6ClD;CACF;AA0BD,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -325,7 +325,8 @@ class VisualElementDragControls {
|
|
|
325
325
|
*/
|
|
326
326
|
if (this.constraints && !this.hasMutatedConstraints) {
|
|
327
327
|
eachAxis((axis) => {
|
|
328
|
-
if (this.getAxisMotionValue(axis)) {
|
|
328
|
+
if (this.getAxisMotionValue(axis)) {
|
|
329
|
+
// @ts-expect-error
|
|
329
330
|
this.constraints[axis] = rebaseAxisConstraints(layout[axis], this.constraints[axis]);
|
|
330
331
|
}
|
|
331
332
|
});
|
|
@@ -501,7 +502,8 @@ class VisualElementDragControls {
|
|
|
501
502
|
value: (axis) => {
|
|
502
503
|
var _a = this.props, layout = _a.layout, layoutId = _a.layoutId;
|
|
503
504
|
var dragKey = '_drag' + axis.toUpperCase(); // @ts-expect-error
|
|
504
|
-
if (this.props[dragKey]) {
|
|
505
|
+
if (this.props[dragKey]) {
|
|
506
|
+
// @ts-expect-error
|
|
505
507
|
return this.props[dragKey];
|
|
506
508
|
}
|
|
507
509
|
else if (!layout && layoutId === undefined) {
|
|
@@ -544,7 +546,8 @@ class VisualElementDragControls {
|
|
|
544
546
|
var constraints = this.constraints || {};
|
|
545
547
|
if (isRelative && Object.keys(constraints).length && this.isLayoutDrag()) {
|
|
546
548
|
var projectionParent = this.visualElement.getProjectionParent();
|
|
547
|
-
if (projectionParent) {
|
|
549
|
+
if (projectionParent) {
|
|
550
|
+
// @ts-expect-error
|
|
548
551
|
var relativeConstraints_1 = calcRelativeOffset(projectionParent.projection.targetFinal, constraints);
|
|
549
552
|
eachAxis((axis) => {
|
|
550
553
|
var _a = relativeConstraints_1[axis], min = _a.min, max = _a.max; // @ts-expect-error
|
|
@@ -666,6 +669,7 @@ class VisualElementDragControls {
|
|
|
666
669
|
writable: true,
|
|
667
670
|
value: (onReady) => {
|
|
668
671
|
this.cancelLayout = batchLayout((read, write) => {
|
|
672
|
+
// @ts-expect-error
|
|
669
673
|
var ancestors = collectProjectingAncestors(_this.visualElement);
|
|
670
674
|
write(() => ancestors.forEach((element) => element.resetTransform()));
|
|
671
675
|
read(() => updateLayoutMeasurement(this.visualElement));
|
package/dist/index.d.ts
CHANGED
|
@@ -20,8 +20,8 @@ export { AnimatePresence } from './components/AnimatePresence/index.js';
|
|
|
20
20
|
export { AnimateSharedLayout } from './components/AnimateSharedLayout/index.js';
|
|
21
21
|
export { LazyMotion } from './components/LazyMotion/index.js';
|
|
22
22
|
export { MotionConfig } from './components/MotionConfig/index.js';
|
|
23
|
-
export {
|
|
24
|
-
export { M } from './render/dom/motion-minimal.js';
|
|
23
|
+
export { motion, createDomMotionComponent, motion as Motion } from './render/dom/motion.js';
|
|
24
|
+
export { m, m as M } from './render/dom/motion-minimal.js';
|
|
25
25
|
/**
|
|
26
26
|
* Features
|
|
27
27
|
*/
|
|
@@ -52,7 +52,7 @@ export { useAnimation } from './animation/use-animation.js';
|
|
|
52
52
|
export { useIsPresent, usePresence } from './components/AnimatePresence/use-presence.js';
|
|
53
53
|
export { createCrossfader } from './components/AnimateSharedLayout/utils/crossfader.js';
|
|
54
54
|
export { UseDomEvent } from './events/use-dom-event.js';
|
|
55
|
-
export {
|
|
55
|
+
export type { PanInfo } from './gestures/PanSession.js';
|
|
56
56
|
export { DragControls, useDragControls } from './gestures/drag/use-drag-controls.js';
|
|
57
57
|
export type { FocusHandlers, HoverHandlers, PanHandlers, TapHandlers, TapInfo } from './gestures/types.js';
|
|
58
58
|
export { createMotionComponent } from './motion/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/motion-start/index.ts"],"names":[],"mappings":"AAAA;;;EAGE;AACF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAItF;;;EAGE;AACF;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/motion-start/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -21,8 +21,8 @@ export { AnimatePresence } from './components/AnimatePresence/index.js';
|
|
|
21
21
|
export { AnimateSharedLayout } from './components/AnimateSharedLayout/index.js';
|
|
22
22
|
export { LazyMotion } from './components/LazyMotion/index.js';
|
|
23
23
|
export { MotionConfig } from './components/MotionConfig/index.js';
|
|
24
|
-
export {
|
|
25
|
-
export { M } from './render/dom/motion-minimal.js';
|
|
24
|
+
export { motion, createDomMotionComponent, motion as Motion } from './render/dom/motion.js';
|
|
25
|
+
export { m, m as M } from './render/dom/motion-minimal.js';
|
|
26
26
|
/**
|
|
27
27
|
* Features
|
|
28
28
|
*/
|
|
@@ -52,7 +52,6 @@ export { useAnimation } from './animation/use-animation.js';
|
|
|
52
52
|
export { useIsPresent, usePresence } from './components/AnimatePresence/use-presence.js';
|
|
53
53
|
export { createCrossfader } from './components/AnimateSharedLayout/utils/crossfader.js';
|
|
54
54
|
export { UseDomEvent } from './events/use-dom-event.js';
|
|
55
|
-
export {} from './gestures/PanSession.js';
|
|
56
55
|
export { DragControls, useDragControls } from './gestures/drag/use-drag-controls.js';
|
|
57
56
|
export { createMotionComponent } from './motion/index.js';
|
|
58
57
|
export { isValidMotionProp } from './motion/utils/valid-prop.js';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<!-- based on framer-motion@4.0.3,
|
|
2
2
|
Copyright (c) 2018 Framer B.V. -->
|
|
3
|
+
<svelte:options runes />
|
|
3
4
|
|
|
4
5
|
<script lang="ts">
|
|
5
6
|
import { getContext } from "svelte";
|
|
@@ -16,15 +17,16 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
16
17
|
import { AnimationType } from "../../render/utils/types.js";
|
|
17
18
|
import type { Writable } from "svelte/store";
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
let { props, visualElement, isCustom, children } = $props();
|
|
21
|
+
const { custom } = $derived(props);
|
|
21
22
|
|
|
22
|
-
const presenceContext =
|
|
23
|
+
const presenceContext = $derived(
|
|
23
24
|
getContext<Writable<PresenceContextProps>>(PresenceContext) ||
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
PresenceContext(isCustom),
|
|
26
|
+
);
|
|
27
|
+
const presence = $derived(usePresence(isCustom));
|
|
26
28
|
|
|
27
|
-
const
|
|
29
|
+
const _effect = (pres: AlwaysPresent | Present | NotPresent) => {
|
|
28
30
|
const [isPresent, onExitComplete] = pres;
|
|
29
31
|
|
|
30
32
|
const animation = visualElement.animationState?.setActive(
|
|
@@ -34,9 +36,8 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
34
36
|
);
|
|
35
37
|
|
|
36
38
|
!isPresent && animation?.then(onExitComplete);
|
|
37
|
-
return "";
|
|
38
39
|
};
|
|
39
|
-
|
|
40
|
+
$effect(() => _effect($presence));
|
|
40
41
|
</script>
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
{@render children?.()}
|
|
@@ -1,32 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
$$slots?: Slots;
|
|
8
|
-
}): Exports & {
|
|
9
|
-
$set?: any;
|
|
10
|
-
$on?: any;
|
|
11
|
-
};
|
|
12
|
-
z_$$bindings?: Bindings;
|
|
13
|
-
}
|
|
14
|
-
type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
|
|
15
|
-
default: any;
|
|
16
|
-
} ? Props extends Record<string, never> ? any : {
|
|
17
|
-
children?: any;
|
|
18
|
-
} : {});
|
|
19
|
-
declare const Exit: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
|
|
20
|
-
props: any;
|
|
21
|
-
visualElement: any;
|
|
22
|
-
isCustom: any;
|
|
23
|
-
}, {
|
|
24
|
-
default: {};
|
|
25
|
-
}>, {
|
|
26
|
-
[evt: string]: CustomEvent<any>;
|
|
27
|
-
}, {
|
|
28
|
-
default: {};
|
|
29
|
-
}, {}, string>;
|
|
30
|
-
type Exit = InstanceType<typeof Exit>;
|
|
1
|
+
declare const Exit: import("svelte").Component<{
|
|
2
|
+
props: unknown;
|
|
3
|
+
visualElement: unknown;
|
|
4
|
+
isCustom: unknown;
|
|
5
|
+
children: unknown;
|
|
6
|
+
}, {}, "">;
|
|
31
7
|
export default Exit;
|
|
32
8
|
//# sourceMappingURL=Exit.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Exit.svelte.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/motion/features/Exit.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Exit.svelte.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/motion/features/Exit.svelte.ts"],"names":[],"mappings":"AAsDA,QAAA,MAAM,IAAI;WAhC4C,OAAO;mBAAiB,OAAO;cAAY,OAAO;cAAY,OAAO;UAgC3E,CAAC;AACjD,eAAe,IAAI,CAAC"}
|
|
@@ -39,8 +39,9 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
39
39
|
import { axisBox } from "../../../utils/geometry/index.js";
|
|
40
40
|
import { tweenAxis } from "./utils";
|
|
41
41
|
import type { Axis, AxisBox2D } from "../../../types/geometry.js";
|
|
42
|
+
import type { VisualElement } from "../../../render/types.js";
|
|
42
43
|
|
|
43
|
-
export let visualElement,
|
|
44
|
+
export let visualElement: VisualElement,
|
|
44
45
|
//initial = undefined,
|
|
45
46
|
//style = undefined,
|
|
46
47
|
//transformTemplate = undefined,
|
|
@@ -125,29 +126,11 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
125
126
|
y: undefined,
|
|
126
127
|
} as any satisfies AxisBox2D;
|
|
127
128
|
|
|
128
|
-
let unsubLayoutReady: () => void;
|
|
129
|
-
|
|
130
129
|
let isAnimatingTree = false;
|
|
131
130
|
|
|
132
|
-
onMount(() => {
|
|
133
|
-
visualElement.animateMotionValue = startAnimation;
|
|
134
|
-
visualElement.enableLayoutProjection();
|
|
135
|
-
unsubLayoutReady = visualElement.onLayoutUpdate(animateF);
|
|
136
|
-
visualElement.layoutSafeToRemove = function () {
|
|
137
|
-
safeToRemove();
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
addScaleCorrection(defaultScaleCorrectors);
|
|
141
|
-
});
|
|
142
|
-
|
|
143
|
-
onDestroy(() => {
|
|
144
|
-
unsubLayoutReady();
|
|
145
|
-
eachAxis((axis) => stopAxisAnimation[axis]?.());
|
|
146
|
-
});
|
|
147
|
-
|
|
148
131
|
const animateF = (
|
|
149
|
-
target:
|
|
150
|
-
origin:
|
|
132
|
+
target: AxisBox2D,
|
|
133
|
+
origin: AxisBox2D,
|
|
151
134
|
{
|
|
152
135
|
originBox,
|
|
153
136
|
targetBox,
|
|
@@ -233,7 +216,7 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
233
216
|
* API to accept more custom animations like
|
|
234
217
|
*/
|
|
235
218
|
const animateAxis = (
|
|
236
|
-
axis:
|
|
219
|
+
axis: "x" | "y",
|
|
237
220
|
target: Axis,
|
|
238
221
|
origin: Axis,
|
|
239
222
|
{ transition: _transition } = {} as any,
|
|
@@ -312,4 +295,25 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
312
295
|
|
|
313
296
|
return animation;
|
|
314
297
|
};
|
|
298
|
+
|
|
299
|
+
const subLayoutReady = () => {
|
|
300
|
+
visualElement.animateMotionValue = startAnimation;
|
|
301
|
+
visualElement.enableLayoutProjection();
|
|
302
|
+
const unsubLayoutReady = visualElement.onLayoutUpdate(animateF);
|
|
303
|
+
visualElement.layoutSafeToRemove = function () {
|
|
304
|
+
safeToRemove();
|
|
305
|
+
};
|
|
306
|
+
|
|
307
|
+
addScaleCorrection(defaultScaleCorrectors);
|
|
308
|
+
|
|
309
|
+
return () => {
|
|
310
|
+
unsubLayoutReady();
|
|
311
|
+
eachAxis((axis) => stopAxisAnimation[axis]?.());
|
|
312
|
+
};
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
onMount(subLayoutReady);
|
|
316
|
+
// beforeUpdate(subLayoutReady);
|
|
317
|
+
|
|
318
|
+
// afterUpdate(subLayoutReady);
|
|
315
319
|
</script>
|