motion-start 0.0.3 → 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 +37 -29
- package/dist/animation/UseAnimatedState.svelte +26 -24
- package/dist/animation/UseAnimatedState.svelte.d.ts +5 -3
- package/dist/animation/UseAnimatedState.svelte.d.ts.map +1 -1
- package/dist/animation/UseAnimation.svelte.d.ts +1 -1
- package/dist/animation/animation-controls.d.ts +1 -1
- package/dist/animation/animation-controls.d.ts.map +1 -1
- package/dist/animation/animation-controls.js +12 -12
- package/dist/animation/use-animation.d.ts +1 -1
- package/dist/animation/utils/default-transitions.d.ts +1 -1
- package/dist/animation/utils/default-transitions.d.ts.map +1 -1
- package/dist/animation/utils/default-transitions.js +27 -37
- package/dist/animation/utils/easing.d.ts +2 -2
- package/dist/animation/utils/easing.d.ts.map +1 -1
- package/dist/animation/utils/easing.js +5 -6
- package/dist/animation/utils/transitions.d.ts +5 -5
- package/dist/animation/utils/transitions.d.ts.map +1 -1
- package/dist/animation/utils/transitions.js +55 -64
- package/dist/animation/utils/variant-resolvers.d.ts +1 -1
- package/dist/animation/utils/variant-resolvers.d.ts.map +1 -1
- package/dist/animation/utils/variant-resolvers.js +1 -5
- package/dist/components/AnimatePresence/AnimatePresence.svelte +16 -8
- package/dist/components/AnimatePresence/AnimatePresence.svelte.d.ts.map +1 -1
- package/dist/components/AnimatePresence/PresenceChild/PresenceChild.svelte +29 -23
- 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 +22 -15
- package/dist/components/AnimateSharedLayout/AnimateSharedLayout.svelte.d.ts +1 -1
- package/dist/components/AnimateSharedLayout/AnimateSharedLayout.svelte.d.ts.map +1 -1
- package/dist/components/AnimateSharedLayout/index.d.ts +1 -1
- package/dist/components/AnimateSharedLayout/index.d.ts.map +1 -1
- package/dist/components/AnimateSharedLayout/index.js +1 -0
- package/dist/components/AnimateSharedLayout/types.d.ts +5 -5
- package/dist/components/AnimateSharedLayout/types.d.ts.map +1 -1
- package/dist/components/AnimateSharedLayout/types.js +0 -1
- package/dist/components/AnimateSharedLayout/utils/batcher.d.ts +1 -1
- package/dist/components/AnimateSharedLayout/utils/batcher.d.ts.map +1 -1
- package/dist/components/AnimateSharedLayout/utils/batcher.js +21 -22
- package/dist/components/AnimateSharedLayout/utils/crossfader.d.ts +3 -3
- package/dist/components/AnimateSharedLayout/utils/crossfader.d.ts.map +1 -1
- package/dist/components/AnimateSharedLayout/utils/crossfader.js +40 -46
- package/dist/components/AnimateSharedLayout/utils/rotate.d.ts +1 -1
- package/dist/components/AnimateSharedLayout/utils/rotate.d.ts.map +1 -1
- package/dist/components/AnimateSharedLayout/utils/rotate.js +2 -1
- package/dist/components/AnimateSharedLayout/utils/stack.d.ts +2 -5
- package/dist/components/AnimateSharedLayout/utils/stack.d.ts.map +1 -1
- package/dist/components/AnimateSharedLayout/utils/stack.js +22 -22
- package/dist/components/LazyMotion/LazyMotion.svelte +9 -3
- package/dist/components/LazyMotion/LazyMotion.svelte.d.ts.map +1 -1
- package/dist/components/LazyMotion/types.d.ts +1 -1
- package/dist/components/LazyMotion/types.d.ts.map +1 -1
- package/dist/components/MotionConfig/MotionConfig.svelte +1 -0
- package/dist/components/MotionConfig/MotionConfig.svelte.d.ts.map +1 -1
- package/dist/components/MotionConfig/MotionConfigScaleCorrection.d.ts.map +1 -1
- package/dist/components/MotionConfig/MotionConfigScaleCorrection.js +7 -4
- package/dist/context/DOMcontext.d.ts +4 -3
- package/dist/context/DOMcontext.d.ts.map +1 -1
- package/dist/context/DOMcontext.js +1 -1
- package/dist/context/LayoutGroupContext.d.ts.map +1 -1
- package/dist/context/LayoutGroupContext.js +1 -0
- package/dist/context/LazyContext.d.ts +2 -2
- package/dist/context/LazyContext.d.ts.map +1 -1
- package/dist/context/LazyContext.js +4 -3
- package/dist/context/MotionConfigContext.d.ts.map +1 -1
- package/dist/context/MotionConfigContext.js +1 -0
- package/dist/context/MotionContext/MotionContext.svelte +3 -18
- package/dist/context/MotionContext/MotionContext.svelte.d.ts +2 -36
- package/dist/context/MotionContext/MotionContext.svelte.d.ts.map +1 -1
- package/dist/context/MotionContext/UseCreateMotionContext.svelte +2 -2
- package/dist/context/MotionContext/index.d.ts +4 -1
- package/dist/context/MotionContext/index.d.ts.map +1 -1
- package/dist/context/MotionContext/index.js +8 -1
- package/dist/context/PresenceContext.d.ts.map +1 -1
- package/dist/context/PresenceContext.js +1 -0
- package/dist/context/ScaleCorrectionProvider.svelte +1 -1
- package/dist/context/ScaleCorrectionProvider.svelte.d.ts +2 -2
- package/dist/context/ScaleCorrectionProvider.svelte.d.ts.map +1 -1
- package/dist/context/SharedLayoutContext.d.ts +3 -3
- package/dist/context/SharedLayoutContext.d.ts.map +1 -1
- package/dist/context/SharedLayoutContext.js +5 -3
- package/dist/events/UseDomEvent.svelte +23 -24
- package/dist/events/UseDomEvent.svelte.d.ts +5 -28
- package/dist/events/UseDomEvent.svelte.d.ts.map +1 -1
- package/dist/events/UsePointerEvent.svelte +3 -57
- package/dist/events/UsePointerEvent.svelte.d.ts +1 -3
- package/dist/events/UsePointerEvent.svelte.d.ts.map +1 -1
- package/dist/events/event-info.js +1 -1
- package/dist/events/types.d.ts +4 -3
- package/dist/events/types.d.ts.map +1 -1
- package/dist/events/use-dom-event.d.ts +2 -1
- package/dist/events/use-dom-event.d.ts.map +1 -1
- package/dist/events/use-dom-event.js +7 -1
- package/dist/events/use-pointer-event.d.ts +10 -5
- package/dist/events/use-pointer-event.d.ts.map +1 -1
- package/dist/events/use-pointer-event.js +35 -1
- package/dist/gestures/PanSession.d.ts.map +1 -1
- package/dist/gestures/PanSession.js +1 -2
- package/dist/gestures/UseHoverGesture.svelte +4 -2
- package/dist/gestures/UseHoverGesture.svelte.d.ts.map +1 -1
- package/dist/gestures/UsePanGesture.svelte +6 -5
- package/dist/gestures/UsePanGesture.svelte.d.ts.map +1 -1
- package/dist/gestures/UseTapGesture.svelte +6 -5
- package/dist/gestures/UseTapGesture.svelte.d.ts.map +1 -1
- package/dist/gestures/drag/UseDrag.svelte +10 -16
- 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/UseDragControls.svelte +1 -83
- package/dist/gestures/drag/UseDragControls.svelte.d.ts +7 -2
- package/dist/gestures/drag/UseDragControls.svelte.d.ts.map +1 -1
- package/dist/gestures/drag/VisualElementDragControls.d.ts.map +1 -1
- package/dist/gestures/drag/VisualElementDragControls.js +20 -11
- package/dist/gestures/drag/types.d.ts +12 -11
- package/dist/gestures/drag/types.d.ts.map +1 -1
- package/dist/gestures/drag/types.js +1 -2
- package/dist/gestures/drag/use-drag-controls.d.ts +3 -1
- package/dist/gestures/drag/use-drag-controls.d.ts.map +1 -1
- package/dist/gestures/drag/use-drag-controls.js +1 -1
- package/dist/gestures/drag/utils/constraints.d.ts +3 -3
- package/dist/gestures/drag/utils/constraints.d.ts.map +1 -1
- package/dist/gestures/drag/utils/constraints.js +11 -12
- package/dist/gestures/drag/utils/lock.js +1 -1
- package/dist/gestures/use-focus-gesture.d.ts +1 -1
- package/dist/gestures/use-focus-gesture.d.ts.map +1 -1
- package/dist/gestures/use-hover-gesture.d.ts +1 -1
- package/dist/gestures/use-hover-gesture.d.ts.map +1 -1
- package/dist/gestures/use-pan-gesture.d.ts +1 -1
- package/dist/gestures/use-pan-gesture.d.ts.map +1 -1
- package/dist/gestures/use-tap-gesture.d.ts +1 -1
- package/dist/gestures/use-tap-gesture.d.ts.map +1 -1
- package/dist/gestures/utils/is-node-or-child.d.ts.map +1 -1
- package/dist/gestures/utils/is-node-or-child.js +1 -0
- package/dist/index.d.ts +58 -59
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -41
- package/dist/motion/Motion.svelte +1 -0
- package/dist/motion/Motion.svelte.d.ts.map +1 -1
- package/dist/motion/MotionSSR.svelte +1 -1
- 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/animations.d.ts +11 -0
- package/dist/motion/features/animations.d.ts.map +1 -0
- package/dist/motion/features/drag.d.ts +11 -0
- package/dist/motion/features/drag.d.ts.map +1 -0
- package/dist/motion/features/gestures.d.ts +11 -0
- package/dist/motion/features/gestures.d.ts.map +1 -0
- package/dist/motion/features/layout/Animate.svelte +44 -39
- 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/layout/Measure.svelte +8 -6
- package/dist/motion/features/layout/Measure.svelte.d.ts.map +1 -1
- package/dist/motion/features/layout/index.d.ts +8 -0
- package/dist/motion/features/layout/index.d.ts.map +1 -0
- package/dist/motion/features/layout/index.js +1 -1
- package/dist/motion/features/types.d.ts +5 -3
- package/dist/motion/features/types.d.ts.map +1 -1
- package/dist/motion/index.d.ts +6 -6
- package/dist/motion/index.d.ts.map +1 -1
- package/dist/motion/index.js +4 -4
- package/dist/motion/types.d.ts +13 -9
- package/dist/motion/types.d.ts.map +1 -1
- package/dist/motion/types.js +1 -1
- package/dist/motion/utils/UseVisualState.svelte +22 -22
- package/dist/motion/utils/UseVisualState.svelte.d.ts +1 -1
- package/dist/motion/utils/UseVisualState.svelte.d.ts.map +1 -1
- package/dist/motion/utils/use-motion-ref.d.ts +4 -3
- package/dist/motion/utils/use-motion-ref.d.ts.map +1 -1
- package/dist/motion/utils/use-motion-ref.js +4 -6
- package/dist/motion/utils/use-visual-element.d.ts +5 -4
- package/dist/motion/utils/use-visual-element.d.ts.map +1 -1
- package/dist/motion/utils/use-visual-state.d.ts +6 -5
- package/dist/motion/utils/use-visual-state.d.ts.map +1 -1
- package/dist/motion/utils/use-visual-state.js +2 -1
- package/dist/render/dom/M-type.spec-d.js +2 -2
- package/dist/render/dom/{M.svelte → Motion-Proxy.svelte} +8 -2
- package/dist/render/dom/{M.svelte.d.ts → Motion-Proxy.svelte.d.ts} +5 -4
- package/dist/render/dom/Motion-Proxy.svelte.d.ts.map +1 -0
- package/dist/render/dom/Motion-type.spec-d.d.ts +2 -0
- package/dist/render/dom/Motion-type.spec-d.d.ts.map +1 -0
- package/dist/{motion/type.spec-d.js → render/dom/Motion-type.spec-d.js} +2 -2
- package/dist/render/dom/UseRender.svelte +5 -4
- package/dist/render/dom/UseRender.svelte.d.ts.map +1 -1
- package/dist/render/dom/featureBundle.d.ts +24 -0
- package/dist/render/dom/featureBundle.d.ts.map +1 -0
- package/dist/render/dom/featureBundle.js +5 -4
- package/dist/render/dom/motion-minimal.d.ts +942 -2
- package/dist/render/dom/motion-minimal.d.ts.map +1 -1
- package/dist/render/dom/motion-minimal.js +11 -7
- package/dist/render/dom/motion-proxy.d.ts +13 -195
- package/dist/render/dom/motion-proxy.d.ts.map +1 -1
- package/dist/render/dom/motion-proxy.js +9 -7
- package/dist/render/dom/motion.d.ts +974 -0
- package/dist/render/dom/motion.d.ts.map +1 -0
- package/dist/render/dom/motion.js +8 -4
- package/dist/render/dom/projection/convert-to-relative.d.ts.map +1 -1
- package/dist/render/dom/projection/default-scale-correctors.d.ts +5 -4
- package/dist/render/dom/projection/default-scale-correctors.d.ts.map +1 -1
- package/dist/render/dom/projection/default-scale-correctors.js +19 -19
- package/dist/render/dom/projection/scale-correction.d.ts +1 -1
- package/dist/render/dom/projection/scale-correction.d.ts.map +1 -1
- package/dist/render/dom/projection/scale-correction.js +2 -1
- package/dist/render/dom/projection/utils.d.ts +1 -1
- package/dist/render/dom/projection/utils.d.ts.map +1 -1
- package/dist/render/dom/projection/utils.js +2 -2
- package/dist/render/dom/svg-visual-element.d.ts +1 -1
- package/dist/render/dom/svg-visual-element.d.ts.map +1 -1
- package/dist/render/dom/svg-visual-element.js +11 -1
- package/dist/render/dom/use-render.d.ts +4 -8
- package/dist/render/dom/use-render.d.ts.map +1 -1
- package/dist/render/dom/use-render.js +4 -0
- package/dist/render/dom/utils/UseInitialMotionProps.svelte +14 -3
- package/dist/render/dom/utils/UseInitialMotionProps.svelte.d.ts +2 -1
- package/dist/render/dom/utils/UseInitialMotionProps.svelte.d.ts.map +1 -1
- package/dist/render/dom/utils/batch-layout.d.ts.map +1 -1
- package/dist/render/dom/utils/batch-layout.js +1 -0
- package/dist/render/dom/utils/create-config.d.ts +5 -11
- package/dist/render/dom/utils/create-config.d.ts.map +1 -1
- package/dist/render/dom/utils/create-config.js +7 -6
- package/dist/render/dom/utils/css-variables-conversion.d.ts +2 -2
- package/dist/render/dom/utils/css-variables-conversion.d.ts.map +1 -1
- package/dist/render/dom/utils/css-variables-conversion.js +8 -6
- package/dist/render/dom/utils/filter-props.d.ts.map +1 -1
- package/dist/render/dom/utils/filter-props.js +1 -0
- package/dist/render/dom/utils/is-svg-component.d.ts +2 -2
- package/dist/render/dom/utils/is-svg-component.d.ts.map +1 -1
- package/dist/render/dom/utils/is-svg-component.js +7 -3
- package/dist/render/dom/utils/unit-conversion.d.ts +2 -2
- package/dist/render/dom/utils/unit-conversion.d.ts.map +1 -1
- package/dist/render/dom/utils/unit-conversion.js +57 -74
- package/dist/render/dom/value-types/defaults.d.ts +1 -1
- package/dist/render/dom/value-types/defaults.d.ts.map +1 -1
- package/dist/render/dom/value-types/defaults.js +14 -5
- package/dist/render/dom/value-types/dimensions.d.ts +2 -1
- package/dist/render/dom/value-types/dimensions.d.ts.map +1 -1
- package/dist/render/dom/value-types/find.d.ts.map +1 -1
- package/dist/render/dom/value-types/find.js +2 -5
- package/dist/render/dom/value-types/get-as-type.js +1 -1
- package/dist/render/dom/value-types/type-int.d.ts.map +1 -1
- package/dist/render/dom/value-types/type-int.js +1 -2
- package/dist/render/html/UseHTMLProps.svelte +14 -2
- package/dist/render/html/UseHTMLProps.svelte.d.ts +3 -2
- package/dist/render/html/UseHTMLProps.svelte.d.ts.map +1 -1
- 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 +7 -20
- package/dist/render/html/UseStyle.svelte.d.ts +0 -5
- package/dist/render/html/UseStyle.svelte.d.ts.map +1 -1
- package/dist/render/html/config-motion.d.ts.map +1 -1
- package/dist/render/html/config-motion.js +1 -0
- package/dist/render/html/types.d.ts +16 -19
- package/dist/render/html/types.d.ts.map +1 -1
- package/dist/render/html/use-props.d.ts +12 -10
- package/dist/render/html/use-props.d.ts.map +1 -1
- package/dist/render/html/use-props.js +17 -2
- package/dist/render/html/utils/build-styles.d.ts.map +1 -1
- package/dist/render/html/utils/build-styles.js +1 -0
- package/dist/render/html/utils/build-transform.d.ts.map +1 -1
- package/dist/render/html/utils/build-transform.js +1 -0
- package/dist/render/html/utils/render.d.ts.map +1 -1
- package/dist/render/html/utils/render.js +1 -0
- package/dist/render/html/utils/scrape-motion-values.d.ts.map +1 -1
- package/dist/render/html/utils/scrape-motion-values.js +2 -0
- package/dist/render/html/visual-element.d.ts +2311 -5
- package/dist/render/html/visual-element.d.ts.map +1 -1
- package/dist/render/html/visual-element.js +21 -29
- package/dist/render/index.d.ts +2 -2
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +105 -45
- package/dist/render/svg/UseSVGProps.svelte +13 -9
- package/dist/render/svg/UseSVGProps.svelte.d.ts +5 -33
- package/dist/render/svg/UseSVGProps.svelte.d.ts.map +1 -1
- package/dist/render/svg/config-motion.d.ts +18 -2
- package/dist/render/svg/config-motion.d.ts.map +1 -1
- package/dist/render/svg/config-motion.js +3 -0
- package/dist/render/svg/types.d.ts +6 -20
- package/dist/render/svg/types.d.ts.map +1 -1
- package/dist/render/svg/utils/build-attrs.d.ts +7 -7
- package/dist/render/svg/utils/build-attrs.d.ts.map +1 -1
- package/dist/render/svg/utils/build-attrs.js +3 -7
- package/dist/render/svg/utils/create-render-state.d.ts +9 -1
- package/dist/render/svg/utils/create-render-state.d.ts.map +1 -1
- package/dist/render/svg/utils/create-render-state.js +1 -2
- package/dist/render/svg/utils/path.js +1 -1
- package/dist/render/svg/utils/render.d.ts +1 -1
- package/dist/render/svg/utils/render.d.ts.map +1 -1
- package/dist/render/svg/utils/scrape-motion-values.d.ts.map +1 -1
- package/dist/render/svg/utils/scrape-motion-values.js +2 -0
- package/dist/render/svg/utils/transform-origin.js +1 -1
- package/dist/render/svg/visual-element.d.ts +1 -1
- package/dist/render/svg/visual-element.d.ts.map +1 -1
- package/dist/render/svg/visual-element.js +10 -13
- package/dist/render/types.d.ts +17 -16
- package/dist/render/types.d.ts.map +1 -1
- package/dist/render/types.js +1 -4
- package/dist/render/utils/animation-state.d.ts +12 -6
- package/dist/render/utils/animation-state.d.ts.map +1 -1
- package/dist/render/utils/animation-state.js +49 -50
- package/dist/render/utils/animation.d.ts +4 -4
- package/dist/render/utils/animation.d.ts.map +1 -1
- package/dist/render/utils/animation.js +22 -34
- package/dist/render/utils/lifecycles.d.ts +6 -6
- package/dist/render/utils/lifecycles.d.ts.map +1 -1
- package/dist/render/utils/lifecycles.js +28 -33
- package/dist/render/utils/motion-values.d.ts.map +1 -1
- package/dist/render/utils/motion-values.js +4 -3
- package/dist/render/utils/setters.d.ts +4 -4
- package/dist/render/utils/setters.d.ts.map +1 -1
- package/dist/render/utils/setters.js +30 -21
- package/dist/render/utils/state.d.ts.map +1 -1
- package/dist/render/utils/variants.js +3 -3
- package/dist/types/geometry.d.ts +1 -0
- package/dist/types/geometry.d.ts.map +1 -1
- package/dist/types.d.ts +12 -12
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/geometry/delta-apply.d.ts +3 -3
- package/dist/utils/geometry/delta-apply.d.ts.map +1 -1
- package/dist/utils/geometry/delta-apply.js +5 -4
- package/dist/utils/geometry/delta-calc.js +1 -1
- package/dist/utils/geometry/index.d.ts +3 -3
- package/dist/utils/geometry/index.d.ts.map +1 -1
- package/dist/utils/geometry/index.js +6 -7
- package/dist/utils/is-ref-object.d.ts +3 -2
- package/dist/utils/is-ref-object.d.ts.map +1 -1
- package/dist/utils/is-ref-object.js +5 -2
- 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/utils/transform.d.ts +1 -1
- package/dist/utils/transform.d.ts.map +1 -1
- package/dist/utils/transform.js +7 -6
- package/dist/utils/use-force-update.d.ts +1 -1
- package/dist/utils/use-force-update.d.ts.map +1 -1
- package/dist/value/index.js +1 -1
- package/dist/value/scroll/use-element-scroll.d.ts +4 -3
- package/dist/value/scroll/use-element-scroll.d.ts.map +1 -1
- package/dist/value/scroll/use-element-scroll.js +7 -8
- package/dist/value/scroll/utils.d.ts +2 -2
- package/dist/value/scroll/utils.d.ts.map +1 -1
- package/dist/value/scroll/utils.js +20 -24
- package/dist/value/use-combine-values.d.ts +1 -1
- package/dist/value/use-combine-values.d.ts.map +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/dist/value/use-transform.d.ts.map +1 -1
- package/dist/value/use-transform.js +2 -1
- package/dist/value/use-velocity.d.ts +1 -1
- package/dist/value/use-velocity.d.ts.map +1 -1
- package/dist/value/use-velocity.js +1 -6
- package/package.json +91 -84
- package/dist/motion/type.spec-d.d.ts +0 -2
- package/dist/motion/type.spec-d.d.ts.map +0 -1
- package/dist/render/dom/M.svelte.d.ts.map +0 -1
- package/dist/render/dom/create-motion-class.js +0 -10
- package/dist/utils/use-constant.d.ts +0 -22
- package/dist/utils/use-constant.d.ts.map +0 -1
- package/dist/utils/use-constant.js +0 -9
- package/dist/utils/use-isomorphic-effect.d.ts +0 -7
- package/dist/utils/use-isomorphic-effect.d.ts.map +0 -1
- package/dist/utils/use-isomorphic-effect.js +0 -7
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { MotionValue } from "../../value";
|
|
2
1
|
/**
|
|
3
2
|
based on framer-motion@4.1.15,
|
|
4
3
|
Copyright (c) 2018 Framer B.V.
|
|
5
4
|
*/
|
|
6
5
|
import { animate, inertia } from 'popmotion';
|
|
7
|
-
import { __assign, __read, __rest, __spreadArray } from 'tslib';
|
|
8
6
|
import { getAnimatableNone } from '../../render/dom/value-types/animatable-none.js';
|
|
9
7
|
import { warning } from '../../utils/errors.js';
|
|
10
8
|
import { secondsToMilliseconds } from '../../utils/time-conversion.js';
|
|
@@ -17,16 +15,7 @@ import { isAnimatable } from './is-animatable.js';
|
|
|
17
15
|
* if any options are left.
|
|
18
16
|
*/
|
|
19
17
|
function isTransitionDefined(_a) {
|
|
20
|
-
_a
|
|
21
|
-
_a.delay;
|
|
22
|
-
_a.delayChildren;
|
|
23
|
-
_a.staggerChildren;
|
|
24
|
-
_a.staggerDirection;
|
|
25
|
-
_a.repeat;
|
|
26
|
-
_a.repeatType;
|
|
27
|
-
_a.repeatDelay;
|
|
28
|
-
_a.from;
|
|
29
|
-
var transition = __rest(_a, ["when", "delay", "delayChildren", "staggerChildren", "staggerDirection", "repeat", "repeatType", "repeatDelay", "from"]);
|
|
18
|
+
var { delay, when, delayChildren, staggerChildren, staggerDirection, repeat, repeatType, repeatDelay, from, ...transition } = _a;
|
|
30
19
|
return !!Object.keys(transition).length;
|
|
31
20
|
}
|
|
32
21
|
var legacyRepeatWarning = false;
|
|
@@ -34,44 +23,42 @@ var legacyRepeatWarning = false;
|
|
|
34
23
|
* Convert Framer Motion's Transition type into Popmotion-compatible options.
|
|
35
24
|
*/
|
|
36
25
|
function convertTransitionToAnimationOptions(_a) {
|
|
37
|
-
var
|
|
38
|
-
var options =
|
|
26
|
+
var { ease, times, yoyo, flip, loop, ...transition } = _a;
|
|
27
|
+
var options = Object.assign({}, transition);
|
|
39
28
|
if (times)
|
|
40
|
-
options
|
|
29
|
+
options.offset = times;
|
|
41
30
|
/**
|
|
42
31
|
* Convert any existing durations from seconds to milliseconds
|
|
43
32
|
*/
|
|
44
33
|
if (transition.duration)
|
|
45
|
-
options
|
|
34
|
+
options.duration = secondsToMilliseconds(transition.duration);
|
|
46
35
|
if (transition.repeatDelay)
|
|
47
36
|
options.repeatDelay = secondsToMilliseconds(transition.repeatDelay);
|
|
48
37
|
/**
|
|
49
38
|
* Map easing names to Popmotion's easing functions
|
|
50
39
|
*/
|
|
51
40
|
if (ease) {
|
|
52
|
-
options
|
|
53
|
-
? ease.map(easingDefinitionToFunction)
|
|
54
|
-
: easingDefinitionToFunction(ease);
|
|
41
|
+
options.ease = isEasingArray(ease) ? ease.map(easingDefinitionToFunction) : easingDefinitionToFunction(ease);
|
|
55
42
|
}
|
|
56
43
|
/**
|
|
57
44
|
* Support legacy transition API
|
|
58
45
|
*/
|
|
59
|
-
if (transition.type ===
|
|
60
|
-
options.type =
|
|
46
|
+
if (transition.type === 'tween')
|
|
47
|
+
options.type = 'keyframes';
|
|
61
48
|
/**
|
|
62
49
|
* TODO: These options are officially removed from the API.
|
|
63
50
|
*/
|
|
64
51
|
if (yoyo || loop || flip) {
|
|
65
|
-
warning(!legacyRepeatWarning,
|
|
52
|
+
warning(!legacyRepeatWarning, 'yoyo, loop and flip have been removed from the API. Replace with repeat and repeatType options.');
|
|
66
53
|
legacyRepeatWarning = true;
|
|
67
54
|
if (yoyo) {
|
|
68
|
-
options.repeatType =
|
|
55
|
+
options.repeatType = 'reverse';
|
|
69
56
|
}
|
|
70
57
|
else if (loop) {
|
|
71
|
-
options.repeatType =
|
|
58
|
+
options.repeatType = 'loop';
|
|
72
59
|
}
|
|
73
60
|
else if (flip) {
|
|
74
|
-
options.repeatType =
|
|
61
|
+
options.repeatType = 'mirror';
|
|
75
62
|
}
|
|
76
63
|
options.repeat = loop || yoyo || flip || transition.repeat;
|
|
77
64
|
}
|
|
@@ -80,8 +67,8 @@ function convertTransitionToAnimationOptions(_a) {
|
|
|
80
67
|
* a keyframes or spring animation, but does so by detecting velocity and other spring options.
|
|
81
68
|
* It'd be good to introduce a similar thing here.
|
|
82
69
|
*/
|
|
83
|
-
if (transition.type !==
|
|
84
|
-
options.type =
|
|
70
|
+
if (transition.type !== 'spring')
|
|
71
|
+
options.type = 'keyframes';
|
|
85
72
|
return options;
|
|
86
73
|
}
|
|
87
74
|
/**
|
|
@@ -94,7 +81,7 @@ function getDelayFromTransition(transition, key) {
|
|
|
94
81
|
}
|
|
95
82
|
function hydrateKeyframes(options) {
|
|
96
83
|
if (Array.isArray(options.to) && options.to[0] === null) {
|
|
97
|
-
options.to =
|
|
84
|
+
options.to = [...options.to];
|
|
98
85
|
options.to[0] = options.from;
|
|
99
86
|
}
|
|
100
87
|
return options;
|
|
@@ -109,9 +96,9 @@ function getPopmotionAnimationOptions(transition, options, key) {
|
|
|
109
96
|
* Get a default transition if none is determined to be defined.
|
|
110
97
|
*/
|
|
111
98
|
if (!isTransitionDefined(transition)) {
|
|
112
|
-
transition =
|
|
99
|
+
transition = Object.assign(Object.assign({}, transition), getDefaultTransition(key, options.to));
|
|
113
100
|
}
|
|
114
|
-
return
|
|
101
|
+
return Object.assign(Object.assign({}, options), convertTransitionToAnimationOptions(transition));
|
|
115
102
|
}
|
|
116
103
|
/**
|
|
117
104
|
*
|
|
@@ -121,73 +108,77 @@ function getAnimation(key, value, target, transition, onComplete) {
|
|
|
121
108
|
var valueTransition = getValueTransition(transition, key);
|
|
122
109
|
var origin = (_a = valueTransition.from) !== null && _a !== void 0 ? _a : value.get();
|
|
123
110
|
var isTargetAnimatable = isAnimatable(key, target);
|
|
124
|
-
if (origin ===
|
|
111
|
+
if (origin === 'none' && isTargetAnimatable && typeof target === 'string') {
|
|
125
112
|
/**
|
|
126
113
|
* If we're trying to animate from "none", try and get an animatable version
|
|
127
114
|
* of the target. This could be improved to work both ways.
|
|
128
115
|
*/
|
|
129
116
|
origin = getAnimatableNone(key, target);
|
|
130
117
|
}
|
|
131
|
-
else if (isZero(origin) && typeof target ===
|
|
118
|
+
else if (isZero(origin) && typeof target === 'string') {
|
|
132
119
|
origin = getZeroUnit(target);
|
|
133
120
|
}
|
|
134
|
-
else if (!Array.isArray(target) &&
|
|
135
|
-
isZero(target) &&
|
|
136
|
-
typeof origin === "string") {
|
|
121
|
+
else if (!Array.isArray(target) && isZero(target) && typeof origin === 'string') {
|
|
137
122
|
target = getZeroUnit(origin);
|
|
138
123
|
}
|
|
139
124
|
var isOriginAnimatable = isAnimatable(key, origin);
|
|
140
|
-
warning(isOriginAnimatable === isTargetAnimatable,
|
|
125
|
+
warning(isOriginAnimatable === isTargetAnimatable, 'You are trying to animate ' +
|
|
126
|
+
key +
|
|
127
|
+
' from "' +
|
|
128
|
+
origin +
|
|
129
|
+
'" to "' +
|
|
130
|
+
target +
|
|
131
|
+
'". ' +
|
|
132
|
+
origin +
|
|
133
|
+
' is not an animatable value - to enable this animation set ' +
|
|
134
|
+
origin +
|
|
135
|
+
' to a value animatable to ' +
|
|
136
|
+
target +
|
|
137
|
+
' via the `style` property.');
|
|
141
138
|
function start() {
|
|
142
139
|
var options = {
|
|
143
140
|
from: origin,
|
|
144
141
|
to: target,
|
|
145
142
|
velocity: value.getVelocity(),
|
|
146
143
|
onComplete: onComplete,
|
|
147
|
-
onUpdate:
|
|
144
|
+
onUpdate: (v) => value.set(v),
|
|
148
145
|
};
|
|
149
|
-
return valueTransition.type ===
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
onUpdate: function (v) {
|
|
146
|
+
return valueTransition.type === 'inertia' || valueTransition.type === 'decay'
|
|
147
|
+
? inertia(Object.assign(Object.assign({}, options), valueTransition))
|
|
148
|
+
: animate(Object.assign(Object.assign({}, getPopmotionAnimationOptions(valueTransition, options, key)), {
|
|
149
|
+
onUpdate: (v) => {
|
|
154
150
|
var _a;
|
|
155
151
|
options.onUpdate(v);
|
|
156
152
|
(_a = valueTransition.onUpdate) === null || _a === void 0 ? void 0 : _a.call(valueTransition, v);
|
|
157
|
-
},
|
|
153
|
+
},
|
|
154
|
+
onComplete: () => {
|
|
158
155
|
var _a;
|
|
159
156
|
options.onComplete();
|
|
160
157
|
(_a = valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition);
|
|
161
|
-
}
|
|
158
|
+
},
|
|
162
159
|
}));
|
|
163
160
|
}
|
|
164
161
|
function set() {
|
|
165
162
|
var _a;
|
|
166
163
|
value.set(target);
|
|
167
164
|
onComplete();
|
|
168
|
-
(_a = valueTransition === null || valueTransition === void 0 ? void 0 : valueTransition.onComplete) === null ||
|
|
169
|
-
|
|
165
|
+
(_a = valueTransition === null || valueTransition === void 0 ? void 0 : valueTransition.onComplete) === null ||
|
|
166
|
+
_a === void 0
|
|
167
|
+
? void 0
|
|
168
|
+
: _a.call(valueTransition);
|
|
169
|
+
return { stop: () => { } };
|
|
170
170
|
}
|
|
171
|
-
return !isOriginAnimatable ||
|
|
172
|
-
!isTargetAnimatable ||
|
|
173
|
-
valueTransition.type === false
|
|
174
|
-
? set
|
|
175
|
-
: start;
|
|
171
|
+
return !isOriginAnimatable || !isTargetAnimatable || valueTransition.type === false ? set : start;
|
|
176
172
|
}
|
|
177
173
|
function isZero(value) {
|
|
178
|
-
return (value === 0
|
|
179
|
-
(typeof value === "string" &&
|
|
180
|
-
parseFloat(value) === 0 &&
|
|
181
|
-
value.indexOf(" ") === -1));
|
|
174
|
+
return value === 0 || (typeof value === 'string' && Number.parseFloat(value) === 0 && value.indexOf(' ') === -1);
|
|
182
175
|
}
|
|
183
176
|
function getZeroUnit(potentialUnitType) {
|
|
184
|
-
return typeof potentialUnitType ===
|
|
185
|
-
? 0
|
|
186
|
-
: getAnimatableNone("", potentialUnitType);
|
|
177
|
+
return typeof potentialUnitType === 'number' ? 0 : getAnimatableNone('', potentialUnitType);
|
|
187
178
|
}
|
|
188
179
|
function getValueTransition(transition, key) {
|
|
189
|
-
|
|
190
|
-
return tran[key] || tran
|
|
180
|
+
const tran = transition;
|
|
181
|
+
return tran[key] || tran.default || tran;
|
|
191
182
|
}
|
|
192
183
|
/**
|
|
193
184
|
* Start animation on a MotionValue. This function is an interface between
|
|
@@ -199,22 +190,22 @@ function startAnimation(key, value, target, transition) {
|
|
|
199
190
|
if (transition === void 0) {
|
|
200
191
|
transition = {};
|
|
201
192
|
}
|
|
202
|
-
return value.start(
|
|
193
|
+
return value.start((onComplete) => {
|
|
203
194
|
var delayTimer;
|
|
204
195
|
var controls;
|
|
205
196
|
var animation = getAnimation(key, value, target, transition, onComplete);
|
|
206
197
|
var delay = getDelayFromTransition(transition, key);
|
|
207
|
-
var start =
|
|
198
|
+
var start = () => (controls = animation());
|
|
208
199
|
if (delay) {
|
|
209
200
|
delayTimer = setTimeout(start, secondsToMilliseconds(delay));
|
|
210
201
|
}
|
|
211
202
|
else {
|
|
212
203
|
start();
|
|
213
204
|
}
|
|
214
|
-
return
|
|
205
|
+
return () => {
|
|
215
206
|
clearTimeout(delayTimer);
|
|
216
207
|
controls === null || controls === void 0 ? void 0 : controls.stop();
|
|
217
208
|
};
|
|
218
209
|
});
|
|
219
210
|
}
|
|
220
|
-
export { convertTransitionToAnimationOptions, getDelayFromTransition, getPopmotionAnimationOptions, getValueTransition, getZeroUnit, hydrateKeyframes, isTransitionDefined, isZero, startAnimation };
|
|
211
|
+
export { convertTransitionToAnimationOptions, getDelayFromTransition, getPopmotionAnimationOptions, getValueTransition, getZeroUnit, hydrateKeyframes, isTransitionDefined, isZero, startAnimation, };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
based on framer-motion@4.1.17,
|
|
3
3
|
Copyright (c) 2018 Framer B.V.
|
|
4
4
|
*/
|
|
5
|
-
import { MotionValue } from
|
|
5
|
+
import type { MotionValue } from '../../value';
|
|
6
6
|
type VariantNameList = string[];
|
|
7
7
|
type VariantName = string | VariantNameList;
|
|
8
8
|
type UnresolvedVariant = VariantName | MotionValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variant-resolvers.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/animation/utils/variant-resolvers.ts"],"names":[],"mappings":"AAAA;;;EAGE;AACF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"variant-resolvers.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/animation/utils/variant-resolvers.ts"],"names":[],"mappings":"AAAA;;;EAGE;AACF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,KAAK,eAAe,GAAG,MAAM,EAAE,CAAC;AAChC,KAAK,WAAW,GAAG,MAAM,GAAG,eAAe,CAAC;AAC5C,KAAK,iBAAiB,GAAG,WAAW,GAAG,WAAW,CAAC;AACnD,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,KAAK,eAAe,CAAC;AAChG;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,MAAM,EAAE,CAAC"}
|
|
@@ -9,6 +9,11 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
9
9
|
isSharedLayout,
|
|
10
10
|
} from "../../context/SharedLayoutContext.js";
|
|
11
11
|
import PresenceChild from "./PresenceChild/PresenceChild.svelte";
|
|
12
|
+
import type { Writable } from "svelte/store";
|
|
13
|
+
import {
|
|
14
|
+
type SharedLayoutSyncMethods,
|
|
15
|
+
type SyncLayoutBatcher,
|
|
16
|
+
} from "../AnimateSharedLayout/types.js";
|
|
12
17
|
|
|
13
18
|
type $$Props = AnimatePresenceProps<ConditionalGeneric<T>>;
|
|
14
19
|
|
|
@@ -25,18 +30,18 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
25
30
|
$: _list = list !== undefined ? list : show ? [{ key: 1 }] : [];
|
|
26
31
|
|
|
27
32
|
const layoutContext =
|
|
28
|
-
getContext
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
getContext<Writable<SyncLayoutBatcher | SharedLayoutSyncMethods>>(
|
|
34
|
+
SharedLayoutContext,
|
|
35
|
+
) || SharedLayoutContext(isCustom);
|
|
31
36
|
|
|
32
37
|
$: forceRender = () => {
|
|
33
|
-
if (
|
|
38
|
+
if (isSharedLayout($layoutContext)) {
|
|
34
39
|
$layoutContext.forceUpdate();
|
|
35
40
|
}
|
|
36
41
|
_list = [..._list];
|
|
37
42
|
};
|
|
38
43
|
|
|
39
|
-
function getChildKey(child) {
|
|
44
|
+
function getChildKey(child: { key: number }) {
|
|
40
45
|
return child.key || "";
|
|
41
46
|
}
|
|
42
47
|
|
|
@@ -45,9 +50,12 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
45
50
|
$: filteredChildren = _list;
|
|
46
51
|
|
|
47
52
|
let presentChildren = filteredChildren;
|
|
48
|
-
let allChildren = new Map();
|
|
49
|
-
let exiting = new Set();
|
|
50
|
-
const updateChildLookup = (
|
|
53
|
+
let allChildren = new Map<string | number, { key: number }>();
|
|
54
|
+
let exiting = new Set<"" | number>();
|
|
55
|
+
const updateChildLookup = (
|
|
56
|
+
children: { key: number }[],
|
|
57
|
+
allChild: Map<string | number, { key: number }>,
|
|
58
|
+
) => {
|
|
51
59
|
children.forEach((child) => {
|
|
52
60
|
const key = getChildKey(child);
|
|
53
61
|
allChild.set(key, child);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimatePresence.svelte.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/components/AnimatePresence/AnimatePresence.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"AnimatePresence.svelte.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/components/AnimatePresence/AnimatePresence.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA8L3E,cAAM,iBAAiB,CAAC,CAAC,SAAS;IAAC,GAAG,EAAC,GAAG,CAAA;CAAC;IACvC,KAAK;IAGL,MAAM;;;IAGN,KAAK;;;;;IAGL,QAAQ;IACR,OAAO;CACV;AAED,UAAU,qBAAqB;IAC3B,KAAK,CAAC,SAAS;QAAC,GAAG,EAAC,GAAG,CAAA;KAAC,EAAE,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAE;QAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;KAAC,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;KAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACha,CAAC,CAAC,SAAS;QAAC,GAAG,EAAC,GAAG,CAAA;KAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG;QAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;KAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACvQ,YAAY,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;CACjE;AACD,QAAA,MAAM,eAAe,EAAE,qBAAmC,CAAC;AACzC,KAAK,eAAe,CAAC,CAAC,SAAS;IAAC,GAAG,EAAC,GAAG,CAAA;CAAC,IAAI,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,eAAe,eAAe,CAAC"}
|
|
@@ -1,45 +1,49 @@
|
|
|
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">
|
|
5
|
+
<script context="module" lang="ts" module>
|
|
5
6
|
let presenceId = 0;
|
|
6
7
|
function getPresenceId() {
|
|
7
8
|
const id = presenceId;
|
|
8
9
|
presenceId++;
|
|
9
10
|
return id;
|
|
10
11
|
}
|
|
11
|
-
function newChildrenMap() {
|
|
12
|
-
return new Map();
|
|
12
|
+
function newChildrenMap(): Map<number, boolean> {
|
|
13
|
+
return new Map<number, boolean>();
|
|
13
14
|
}
|
|
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
|
-
const memoContext = () => {
|
|
40
|
+
const memoContext = (flag?: boolean) => {
|
|
37
41
|
return {
|
|
38
42
|
id,
|
|
39
43
|
initial,
|
|
40
44
|
isPresent,
|
|
41
45
|
custom,
|
|
42
|
-
onExitComplete: (childId) => {
|
|
46
|
+
onExitComplete: (childId: number) => {
|
|
43
47
|
presenceChildren.set(childId, true);
|
|
44
48
|
let allComplete = true;
|
|
45
49
|
presenceChildren.forEach((isComplete) => {
|
|
@@ -48,7 +52,7 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
48
52
|
|
|
49
53
|
allComplete && onExitComplete?.();
|
|
50
54
|
},
|
|
51
|
-
register: (childId) => {
|
|
55
|
+
register: (childId: number) => {
|
|
52
56
|
presenceChildren.set(childId, false);
|
|
53
57
|
return () => presenceChildren.delete(childId);
|
|
54
58
|
},
|
|
@@ -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
|
-
const keyset = () => {
|
|
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
|
-
setDomContext("Presence",isCustom,context)
|
|
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"}
|
|
@@ -3,23 +3,30 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
3
3
|
|
|
4
4
|
<script lang="ts">
|
|
5
5
|
import { SharedLayoutContext } from "../../context/SharedLayoutContext.js";
|
|
6
|
-
import
|
|
6
|
+
import { Presence, type SharedLayoutProps } from "./index.js";
|
|
7
7
|
import { createBatcher } from "./utils/batcher.js";
|
|
8
8
|
|
|
9
9
|
import { getContext, onMount, setContext, tick } from "svelte";
|
|
10
|
-
import { get, writable } from "svelte/store";
|
|
10
|
+
import { get, writable, type Writable } from "svelte/store";
|
|
11
11
|
import { setDomContext } from "../../context/DOMcontext.js";
|
|
12
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
MotionContext,
|
|
14
|
+
type MotionContextProps,
|
|
15
|
+
} from "../../context/MotionContext/index.js";
|
|
13
16
|
import { snapshotViewportBox } from "../../render/dom/projection/utils.js";
|
|
14
17
|
import { resetRotate } from "./utils/rotate.js";
|
|
15
18
|
import { layoutStack } from "./utils/stack.js";
|
|
19
|
+
import PresenceChild from "../AnimatePresence/PresenceChild/PresenceChild.svelte";
|
|
20
|
+
import type { VisualElement } from "../../render/types.js";
|
|
16
21
|
|
|
17
22
|
type $$Props = SharedLayoutProps;
|
|
18
23
|
|
|
19
24
|
export let type: $$Props["type"] = undefined,
|
|
20
25
|
isCustom = false;
|
|
21
26
|
|
|
22
|
-
const context =
|
|
27
|
+
const context =
|
|
28
|
+
getContext<Writable<MotionContextProps>>(MotionContext) ||
|
|
29
|
+
MotionContext(isCustom);
|
|
23
30
|
|
|
24
31
|
/**
|
|
25
32
|
* Track whether the component has mounted. If it hasn't, the presence of added children
|
|
@@ -29,7 +36,7 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
29
36
|
/**
|
|
30
37
|
* A list of all the children in the shared layout
|
|
31
38
|
*/
|
|
32
|
-
let children = new Set();
|
|
39
|
+
let children = new Set<VisualElement>();
|
|
33
40
|
/**
|
|
34
41
|
* As animate components with a defined `layoutId` are added/removed to the tree,
|
|
35
42
|
* we store them in order. When one is added, it will animate out from the
|
|
@@ -59,7 +66,7 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
59
66
|
*/
|
|
60
67
|
let syncContext = {
|
|
61
68
|
...createBatcher(),
|
|
62
|
-
syncUpdate: (force) => scheduleUpdate(force),
|
|
69
|
+
syncUpdate: (force?: boolean) => scheduleUpdate(force),
|
|
63
70
|
forceUpdate: () => {
|
|
64
71
|
// By copying syncContext to itself, when this component re-renders it'll also re-render
|
|
65
72
|
// all children subscribed to the SharedLayout context.
|
|
@@ -71,8 +78,8 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
71
78
|
|
|
72
79
|
forced = true;
|
|
73
80
|
},
|
|
74
|
-
register: (child) => addChild(child),
|
|
75
|
-
remove: (child) => {
|
|
81
|
+
register: (child: VisualElement) => addChild(child),
|
|
82
|
+
remove: (child: VisualElement) => {
|
|
76
83
|
removeChild(child);
|
|
77
84
|
},
|
|
78
85
|
};
|
|
@@ -104,8 +111,8 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
104
111
|
* Create a handler which we can use to flush the children animations
|
|
105
112
|
*/
|
|
106
113
|
const handler = {
|
|
107
|
-
measureLayout: (child) => child.updateLayoutMeasurement(),
|
|
108
|
-
layoutReady: (child) => {
|
|
114
|
+
measureLayout: (child: any) => child.updateLayoutMeasurement(),
|
|
115
|
+
layoutReady: (child: VisualElement) => {
|
|
109
116
|
if (child.getLayoutId() !== undefined) {
|
|
110
117
|
const stack = getStack(child);
|
|
111
118
|
stack.animate(child, type === "crossfade");
|
|
@@ -172,25 +179,25 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
172
179
|
}
|
|
173
180
|
};
|
|
174
181
|
|
|
175
|
-
const addChild = (child) => {
|
|
182
|
+
const addChild = (child: VisualElement) => {
|
|
176
183
|
children.add(child);
|
|
177
184
|
addToStack(child);
|
|
178
185
|
|
|
179
186
|
child.presence = hasMounted ? Presence.Entering : Presence.Present;
|
|
180
187
|
};
|
|
181
188
|
|
|
182
|
-
const removeChild = (child) => {
|
|
189
|
+
const removeChild = (child: VisualElement) => {
|
|
183
190
|
scheduleUpdate();
|
|
184
191
|
children.delete(child);
|
|
185
192
|
removeFromStack(child);
|
|
186
193
|
};
|
|
187
194
|
|
|
188
|
-
const addToStack = (child) => {
|
|
195
|
+
const addToStack = (child: VisualElement) => {
|
|
189
196
|
const stack = getStack(child);
|
|
190
197
|
stack?.add(child);
|
|
191
198
|
};
|
|
192
199
|
|
|
193
|
-
const removeFromStack = (child) => {
|
|
200
|
+
const removeFromStack = (child: VisualElement) => {
|
|
194
201
|
const stack = getStack(child);
|
|
195
202
|
stack?.remove(child);
|
|
196
203
|
};
|
|
@@ -199,7 +206,7 @@ Copyright (c) 2018 Framer B.V. -->
|
|
|
199
206
|
* Return a stack of animate children based on the provided layoutId.
|
|
200
207
|
* Will create a stack if none currently exists with that layoutId.
|
|
201
208
|
*/
|
|
202
|
-
const getStack = (child) => {
|
|
209
|
+
const getStack = (child: VisualElement) => {
|
|
203
210
|
const id = child.getLayoutId();
|
|
204
211
|
if (id === undefined) return;
|
|
205
212
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type SharedLayoutProps } from "./index.js";
|
|
2
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
3
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
4
|
$$bindings?: Bindings;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimateSharedLayout.svelte.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/components/AnimateSharedLayout/AnimateSharedLayout.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"AnimateSharedLayout.svelte.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/components/AnimateSharedLayout/AnimateSharedLayout.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAqQ9D,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,mBAAmB;;;;;;cAAmF,CAAC;AAC3F,KAAK,mBAAmB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,eAAe,mBAAmB,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
based on framer-motion@4.1.17,
|
|
3
3
|
Copyright (c) 2018 Framer B.V.
|
|
4
4
|
*/
|
|
5
|
-
export type
|
|
5
|
+
export { type SharedLayoutProps, Presence } from './types.js';
|
|
6
6
|
/**
|
|
7
7
|
* Wrap several [#Motion] components with the \`layout\` or \`layoutId\` prop with this component, so that all react smoothly to the change of a single component.
|
|
8
8
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/components/AnimateSharedLayout/index.ts"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/motion-start/components/AnimateSharedLayout/index.ts"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,OAAO,EAAE,KAAK,iBAAiB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC9D;;;GAGG;AACH,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC"}
|