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.
Files changed (71) hide show
  1. package/LICENSE.md +0 -0
  2. package/README.md +0 -0
  3. package/dist/components/AnimatePresence/PresenceChild/PresenceChild.svelte +22 -16
  4. package/dist/components/AnimatePresence/PresenceChild/PresenceChild.svelte.d.ts +1 -26
  5. package/dist/components/AnimatePresence/PresenceChild/PresenceChild.svelte.d.ts.map +1 -1
  6. package/dist/components/AnimatePresence/PresenceChild/types.d.ts +3 -1
  7. package/dist/components/AnimatePresence/PresenceChild/types.d.ts.map +1 -1
  8. package/dist/components/AnimateSharedLayout/AnimateSharedLayout.svelte +1 -1
  9. package/dist/components/AnimateSharedLayout/types.d.ts.map +1 -1
  10. package/dist/events/UseDomEvent.svelte +23 -9
  11. package/dist/events/UseDomEvent.svelte.d.ts +4 -26
  12. package/dist/events/UseDomEvent.svelte.d.ts.map +1 -1
  13. package/dist/gestures/drag/UseDrag.svelte +8 -14
  14. package/dist/gestures/drag/UseDrag.svelte.d.ts +6 -30
  15. package/dist/gestures/drag/UseDrag.svelte.d.ts.map +1 -1
  16. package/dist/gestures/drag/VisualElementDragControls.d.ts.map +1 -1
  17. package/dist/gestures/drag/VisualElementDragControls.js +7 -3
  18. package/dist/index.d.ts +3 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -3
  21. package/dist/motion/features/Exit.svelte +10 -9
  22. package/dist/motion/features/Exit.svelte.d.ts +6 -30
  23. package/dist/motion/features/Exit.svelte.d.ts.map +1 -1
  24. package/dist/motion/features/layout/Animate.svelte +26 -22
  25. package/dist/motion/features/layout/Animate.svelte.d.ts +2 -1
  26. package/dist/motion/features/layout/Animate.svelte.d.ts.map +1 -1
  27. package/dist/motion/features/types.d.ts +2 -1
  28. package/dist/motion/features/types.d.ts.map +1 -1
  29. package/dist/motion/types.d.ts +1 -1
  30. package/dist/motion/types.d.ts.map +1 -1
  31. package/dist/render/dom/M-type.spec-d.js +2 -2
  32. package/dist/render/dom/Motion-Proxy.svelte +1 -2
  33. package/dist/render/dom/Motion-Proxy.svelte.d.ts.map +1 -1
  34. package/dist/render/dom/Motion-type.spec-d.js +2 -2
  35. package/dist/render/dom/UseRender.svelte +3 -2
  36. package/dist/render/dom/UseRender.svelte.d.ts.map +1 -1
  37. package/dist/render/dom/motion-minimal.d.ts +10 -2
  38. package/dist/render/dom/motion-minimal.d.ts.map +1 -1
  39. package/dist/render/dom/motion-minimal.js +3 -3
  40. package/dist/render/dom/motion.d.ts +10 -2
  41. package/dist/render/dom/motion.d.ts.map +1 -1
  42. package/dist/render/dom/motion.js +1 -1
  43. package/dist/render/html/UseHTMLProps.svelte +13 -18
  44. package/dist/render/html/UseHTMLProps.svelte.d.ts +37 -0
  45. package/dist/render/html/UseHTMLProps.svelte.d.ts.map +1 -0
  46. package/dist/render/html/UseInitialMotionValues.svelte +6 -5
  47. package/dist/render/html/UseInitialMotionValues.svelte.d.ts +6 -34
  48. package/dist/render/html/UseInitialMotionValues.svelte.d.ts.map +1 -1
  49. package/dist/render/html/UseStyle.svelte +4 -2
  50. package/dist/render/html/UseStyle.svelte.d.ts.map +1 -1
  51. package/dist/render/html/types.d.ts +9 -0
  52. package/dist/render/html/types.d.ts.map +1 -1
  53. package/dist/render/html/use-props.d.ts +6 -4
  54. package/dist/render/html/use-props.d.ts.map +1 -1
  55. package/dist/render/html/use-props.js +4 -2
  56. package/dist/render/html/visual-element.d.ts +9 -3
  57. package/dist/render/html/visual-element.d.ts.map +1 -1
  58. package/dist/render/svg/UseSVGProps.svelte +13 -9
  59. package/dist/render/svg/UseSVGProps.svelte.d.ts +5 -37
  60. package/dist/render/svg/UseSVGProps.svelte.d.ts.map +1 -1
  61. package/dist/render/utils/lifecycles.d.ts +1 -1
  62. package/dist/render/utils/lifecycles.d.ts.map +1 -1
  63. package/dist/render/utils/lifecycles.js +5 -5
  64. package/dist/render/utils/state.d.ts.map +1 -1
  65. package/dist/utils/subscription-manager.d.ts +1 -1
  66. package/dist/utils/subscription-manager.d.ts.map +1 -1
  67. package/dist/utils/subscription-manager.js +1 -1
  68. package/dist/value/use-spring.d.ts +2 -2
  69. package/dist/value/use-spring.d.ts.map +1 -1
  70. package/dist/value/use-spring.js +7 -12
  71. 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 { afterUpdate, setContext, tick } from "svelte";
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
- type $$Props = PresenceChildProps;
23
+ interface Props extends PresenceChildProps {}
23
24
 
24
- export let isPresent: $$Props["isPresent"],
25
- onExitComplete: $$Props["onExitComplete"] = undefined,
26
- initial: $$Props["initial"] = undefined,
27
- custom: $$Props["custom"] = undefined,
28
- presenceAffectsLayout: $$Props["presenceAffectsLayout"],
29
- isCustom: $$Props["isCustom"];
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
- $: refresh = presenceAffectsLayout ? undefined : isPresent;
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
- afterUpdate(() => {
63
+ $effect(() => {
60
64
  if (presenceAffectsLayout) {
61
65
  context.set(memoContext());
62
66
  }
63
67
  });
64
68
 
65
- $: context.set(memoContext(refresh));
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
- $: keyset(isPresent);
71
- $: tick().then(() => {
72
- !isPresent && !presenceChildren.size && onExitComplete?.();
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
- <slot />
84
+ {@render children?.()}
@@ -1,29 +1,4 @@
1
1
  import type { PresenceChildProps } from "./index.js";
2
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
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;AAwErD,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AACD,KAAK,gCAAgC,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,GACvD,CAAC,KAAK,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GACzB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,GAAG,GACH;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAClB,EAAE,CAAC,CAAC;AAId,QAAA,MAAM,aAAa;;;;;;cAAmF,CAAC;AACrF,KAAK,aAAa,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,eAAe,aAAa,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 { VariantLabels } from "../../../motion/types";
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;IAE/B,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,CAAA;CACpB"}
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: PresenceChild) => child.updateLayoutMeasurement(),
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;AACF,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
+ {"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
- type $$Props = UseDomEventProps;
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
- export let ref: $$Props["ref"],
31
- eventName: $$Props["eventName"],
32
- handler: $$Props["handler"] = undefined,
33
- options: $$Props["options"] = undefined;
34
+ let {
35
+ ref,
36
+ eventName,
37
+ handler = undefined,
38
+ options = undefined,
39
+ children,
40
+ }: Props = $props();
34
41
  let cleanup = () => {};
35
- const effect = (ref?:any, eventName?:any, handler?:any, options?:any) => {
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
- $: cleanup = effect(ref, eventName, handler, options);
60
+ $effect(() => {
61
+ cleanup = _cleanup(ref, eventName, handler, options);
62
+ });
49
63
  onDestroy(cleanup);
50
64
  </script>
51
65
 
52
- <slot />
66
+ {@render children?.()}
@@ -1,29 +1,7 @@
1
+ import { type Snippet } from "svelte";
1
2
  import { type UseDomEventProps } from "./use-dom-event.js";
2
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
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 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":"AAIA,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA4IxE,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AACD,KAAK,gCAAgC,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,GACvD,CAAC,KAAK,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GACzB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,GAAG,GACH;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAClB,EAAE,CAAC,CAAC;AAId,QAAA,MAAM,WAAW;;;;;;cAAmF,CAAC;AACnF,KAAK,WAAW,GAAG,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC;AACtD,eAAe,WAAW,CAAC"}
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
- export let visualElement, props, isCustom;
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
- let { dragControls: groupDragControls } = props;
35
- let { transformPagePoint } = get(mcc);
35
+ const { dragControls: groupDragControls } = $derived(props);
36
+ const { transformPagePoint } = $derived(fromStore(mcc).current);
36
37
 
37
- $: ({ dragControls: groupDragControls } = props);
38
- //let {transformPagePoint} = get($mcc);
39
- $: ({ transformPagePoint } = $mcc);
40
- dragControls.setProps({ ...props, transformPagePoint });
38
+ $effect(() => dragControls.setProps({ ...props, transformPagePoint }));
41
39
 
42
- //dragControls.setProps({ ...props, transformPagePoint })
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
- <slot />
50
+ {@render children?.()}
@@ -1,32 +1,8 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
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":"AAkEA,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AACD,KAAK,gCAAgC,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,GACvD,CAAC,KAAK,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GACzB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,GAAG,GACH;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAClB,EAAE,CAAC,CAAC;AAId,QAAA,MAAM,OAAO;;;;;;;;;;cAAmF,CAAC;AAC/E,KAAK,OAAO,GAAG,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC;AAC9C,eAAe,OAAO,CAAC"}
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,aAuBpB;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,CAUxB;IACF,OAAO,CAAC,YAAY,CAElB;IACF,OAAO,CAAC,cAAc,CAKpB;IACF,OAAO,CAAC,cAAc,CA4EpB;IACF,UAAU,aAKR;IACF,OAAO,CAAC,uBAAuB,CAO7B;IACF,UAAU,aAsCR;IACF,iBAAiB,aAAc,MAAM,IAAI,UAWvC;IACF,KAAK,kBAAmB,aAAa,KAAG,CAAC,MAAM,IAAI,CAAC,CA6ClD;CACF;AA0BD,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,CAAC"}
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)) { // @ts-expect-error
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]) { // @ts-expect-error
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) { // @ts-expect-error
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 { Motion, createDomMotionComponent } from './render/dom/motion.js';
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 { type PanInfo } from './gestures/PanSession.js';
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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/motion-start/index.ts"],"names":[],"mappings":"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"}
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 { Motion, createDomMotionComponent } from './render/dom/motion.js';
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
- export let props, visualElement, isCustom;
20
- $: ({ custom } = props);
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
- PresenceContext(isCustom);
25
- const presence = usePresence(isCustom);
25
+ PresenceContext(isCustom),
26
+ );
27
+ const presence = $derived(usePresence(isCustom));
26
28
 
27
- const effect = (pres: AlwaysPresent | Present | NotPresent) => {
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
- $: effect($presence);
40
+ $effect(() => _effect($presence));
40
41
  </script>
41
42
 
42
- <slot />
43
+ {@render children?.()}
@@ -1,32 +1,8 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
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":"AAqDA,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AACD,KAAK,gCAAgC,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,GACvD,CAAC,KAAK,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GACzB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,GAAG,GACH;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAClB,EAAE,CAAC,CAAC;AAId,QAAA,MAAM,IAAI;;;;;;;;;;cAAmF,CAAC;AAC5E,KAAK,IAAI,GAAG,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC;AACxC,eAAe,IAAI,CAAC"}
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: { [x: string]: { max: any }; x: any; y: any },
150
- origin: { [x: string]: any; x: any; y: any },
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: string,
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>