motion-v 0.3.0 → 0.4.0
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/dist/cjs/index.js +7637 -1
- package/dist/es/animation/use-animate.mjs +25 -15
- package/dist/es/components/AnimatePresence.vue.mjs +57 -39
- package/dist/es/components/AnimatePresence.vue2.mjs +2 -2
- package/dist/es/components/LayoutGroup.vue.mjs +39 -0
- package/dist/es/components/LayoutGroup.vue2.mjs +4 -0
- package/dist/es/components/Motion.vue.mjs +87 -57
- package/dist/es/components/Motion.vue2.mjs +2 -2
- package/dist/es/components/Primitive.mjs +15 -9
- package/dist/es/components/Slot.mjs +28 -19
- package/dist/es/components/context.mjs +15 -4
- package/dist/es/components/group.mjs +30 -0
- package/dist/es/components/presence.mjs +13 -10
- package/dist/es/components/renderSlotFragments.mjs +10 -4
- package/dist/es/components/use-force-update.mjs +11 -0
- package/dist/es/constants/index.mjs +13 -6
- package/dist/es/features/events.mjs +59 -43
- package/dist/es/features/feature-manager.mjs +20 -17
- package/dist/es/features/feature.mjs +4 -4
- package/dist/es/features/gestures/base.mjs +12 -7
- package/dist/es/features/gestures/hover.mjs +25 -16
- package/dist/es/features/gestures/in-view.mjs +21 -15
- package/dist/es/features/gestures/press.mjs +22 -13
- package/dist/es/features/layout/config.mjs +21 -0
- package/dist/es/features/layout/layout.mjs +74 -0
- package/dist/es/features/layout/utils.mjs +8 -0
- package/dist/es/features/svg.mjs +14 -13
- package/dist/es/index.mjs +119 -102
- package/dist/es/node_modules/.pnpm/@vueuse_shared@12.0.0_typescript@5.5.4/node_modules/@vueuse/shared/index.mjs +6 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/GroupPlaybackControls.mjs +38 -28
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/index.mjs +22 -15
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/resolve-subjects.mjs +13 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/sequence.mjs +11 -9
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/single-value.mjs +8 -7
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/subject.mjs +32 -24
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/AcceleratedAnimation.mjs +178 -137
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/BaseAnimation.mjs +53 -37
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/MainThreadAnimation.mjs +227 -100
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/drivers/driver-frameloop.mjs +8 -8
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/utils/accelerated-values.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/utils/can-animate.mjs +26 -19
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/NativeAnimation.mjs +112 -56
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs +25 -18
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs +10 -9
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/easing.mjs +27 -17
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/index.mjs +15 -12
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/attach-timeline.mjs +4 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs +6 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/linear.mjs +10 -8
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/memo-supports.mjs +7 -7
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/style.mjs +6 -6
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-flags.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-linear-easing.mjs +6 -6
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-partial-keyframes.mjs +6 -6
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-waapi.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/inertia.mjs +58 -28
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/keyframes.mjs +28 -21
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/spring/find.mjs +71 -43
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/spring/index.mjs +64 -48
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/utils/calc-duration.mjs +12 -10
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/utils/is-generator.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/utils/velocity.mjs +6 -6
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs +64 -37
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs +48 -34
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs +5 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs +4 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/create.mjs +133 -86
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs +12 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/utils/edit.mjs +20 -16
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/utils/sort.mjs +11 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/create-visual-element.mjs +19 -15
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs +19 -8
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/get-value-transition.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs +14 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs +4 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-none.mjs +10 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-transition-defined.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/stagger.mjs +18 -16
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/anticipate.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/back.mjs +9 -7
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/circ.mjs +8 -6
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs +24 -14
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/ease.mjs +7 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/steps.mjs +8 -7
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/create-generator-easing.mjs +8 -7
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/get-easing-for-segment.mjs +5 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/is-bezier-definition.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/is-easing-array.mjs +4 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/map.mjs +32 -29
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/events/add-dom-event.mjs +7 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/batcher.mjs +57 -21
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/frame.mjs +7 -7
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/index-legacy.mjs +9 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/microtask.mjs +6 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/render-step.mjs +41 -19
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/sync-time.mjs +16 -10
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/motion/features/definitions.mjs +8 -6
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs +5 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs +60 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs +14 -13
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/copy.mjs +19 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs +81 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs +55 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs +40 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/models.mjs +18 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/utils.mjs +34 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs +13 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs +28 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs +1086 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/state.mjs +15 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/shared/stack.mjs +94 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs +26 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs +25 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs +6 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/transform.mjs +36 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs +6 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs +20 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/utils/measure.mjs +4 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/VisualElement.mjs +263 -117
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/DOMKeyframesResolver.mjs +81 -45
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs +13 -11
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/resize/handle-element.mjs +49 -33
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/resize/handle-window.mjs +22 -14
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/resize/index.mjs +5 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/index.mjs +53 -36
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs +29 -16
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/observe.mjs +14 -8
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs +25 -9
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs +32 -20
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs +32 -21
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs +20 -6
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs +31 -15
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/supports.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/track.mjs +60 -33
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs +21 -21
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs +12 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/resolve-element.mjs +20 -9
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs +47 -34
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs +9 -7
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs +21 -20
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs +8 -7
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs +7 -6
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs +4 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/number-browser.mjs +34 -34
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs +14 -14
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/transform.mjs +28 -28
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs +4 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs +4 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs +29 -17
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs +41 -32
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs +33 -20
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs +36 -20
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/make-none-animatable.mjs +18 -12
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/render.mjs +6 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs +13 -9
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/transform.mjs +5 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/object/ObjectVisualElement.mjs +24 -20
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/store.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs +33 -28
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs +40 -20
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/path.mjs +12 -10
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/render.mjs +9 -8
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs +12 -11
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs +8 -7
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/KeyframesResolver.mjs +105 -47
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs +4 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs +24 -0
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs +9 -9
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs +31 -20
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs +5 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs +19 -14
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/setters.mjs +17 -13
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/variant-props.mjs +5 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/GlobalConfig.mjs +4 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/array.mjs +9 -7
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/clamp.mjs +8 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/delay.mjs +17 -12
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/distance.mjs +7 -6
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/errors.mjs +17 -10
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs +32 -15
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/interpolate.mjs +42 -31
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/is-browser.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/memo.mjs +8 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/color.mjs +40 -25
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/complex.mjs +73 -41
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/immediate.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/index.mjs +9 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/number.mjs +4 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/visibility.mjs +9 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/noop.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/offsets/default.mjs +6 -5
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/offsets/fill.mjs +8 -8
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/offsets/time.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/pipe.mjs +3 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/progress.mjs +4 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs +15 -10
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs +4 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/resolve-value.mjs +9 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/subscription-manager.mjs +18 -15
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/time-conversion.mjs +4 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/transform.mjs +17 -8
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/warn-once.mjs +7 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/wrap.mjs +4 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/index.mjs +125 -53
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/hex.mjs +32 -14
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/hsla.mjs +11 -9
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/index.mjs +18 -8
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/rgba.mjs +15 -13
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/utils.mjs +16 -13
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/complex/filter.mjs +22 -19
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/complex/index.mjs +71 -36
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/numbers/index.mjs +14 -12
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/numbers/units.mjs +19 -13
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/color-regex.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/float-regex.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/is-nullish.mjs +3 -3
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/sanitize.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/single-color-regex.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/use-will-change/add-will-change.mjs +7 -6
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/use-will-change/is.mjs +4 -4
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs +2 -2
- package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs +9 -0
- package/dist/es/node_modules/.pnpm/hey-listen@1.0.8/node_modules/hey-listen/dist/hey-listen.es.mjs +17 -10
- package/dist/es/state/create-visual-element.mjs +9 -0
- package/dist/es/state/event.mjs +3 -3
- package/dist/es/state/motion-state.mjs +145 -91
- package/dist/es/state/schedule.mjs +23 -15
- package/dist/es/state/style.mjs +105 -81
- package/dist/es/state/transform.mjs +37 -29
- package/dist/es/state/utils.mjs +51 -45
- package/dist/es/utils/createContext.mjs +19 -11
- package/dist/es/utils/events.mjs +4 -4
- package/dist/es/utils/motion-value.mjs +3 -3
- package/dist/es/utils/use-animation-frame.mjs +17 -11
- package/dist/es/utils/use-in-view.mjs +20 -14
- package/dist/es/value/use-combine-values.mjs +22 -17
- package/dist/es/value/use-computed.mjs +17 -10
- package/dist/es/value/use-motion-template.mjs +17 -14
- package/dist/es/value/use-motion-value-event.mjs +11 -0
- package/dist/es/value/use-scroll.mjs +42 -33
- package/dist/es/value/use-spring.mjs +48 -28
- package/dist/es/value/use-time.mjs +7 -6
- package/dist/es/value/use-transform.mjs +24 -20
- package/dist/es/value/use-velocity.mjs +20 -0
- package/dist/src/components/LayoutGroup.d.ts +30 -0
- package/dist/src/components/context.d.ts +17 -0
- package/dist/src/components/group.d.ts +7 -0
- package/dist/src/components/use-force-update.d.ts +2 -0
- package/dist/src/features/index.d.ts +1 -0
- package/dist/src/features/layout/config.d.ts +8 -0
- package/dist/src/features/layout/layout.d.ts +10 -0
- package/dist/src/features/layout/types.d.ts +7 -0
- package/dist/src/features/layout/utils.d.ts +4 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/state/create-visual-element.d.ts +1 -0
- package/dist/src/state/motion-state.d.ts +1 -2
- package/dist/src/types/state.d.ts +2 -1
- package/dist/src/value/index.d.ts +4 -0
- package/package.json +2 -1
- package/dist/es/node_modules/.pnpm/@vueuse_shared@11.1.0_vue@3.4.38_typescript@5.5.4_/node_modules/@vueuse/shared/index.mjs +0 -6
- package/dist/src/components/usePrimitiveElement.d.ts +0 -5
|
@@ -1,53 +1,69 @@
|
|
|
1
|
-
import { Feature
|
|
2
|
-
class
|
|
1
|
+
import { Feature } from "./feature.mjs";
|
|
2
|
+
class EventFeature extends Feature {
|
|
3
3
|
constructor() {
|
|
4
|
-
super(...arguments)
|
|
4
|
+
super(...arguments);
|
|
5
|
+
this.handlers = {};
|
|
5
6
|
}
|
|
6
7
|
mount() {
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
var
|
|
22
|
-
const
|
|
23
|
-
(
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
8
|
+
const element = this.state.element;
|
|
9
|
+
if (!element)
|
|
10
|
+
return;
|
|
11
|
+
this.handlers.motionstart = (event) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const target = event.detail.target;
|
|
14
|
+
(_b = (_a = this.state.getOptions()).onMotionStart) == null ? void 0 : _b.call(_a, target);
|
|
15
|
+
};
|
|
16
|
+
this.handlers.motioncomplete = (event) => {
|
|
17
|
+
var _a, _b;
|
|
18
|
+
const target = event.detail.target;
|
|
19
|
+
(_b = (_a = this.state.getOptions()).onMotionComplete) == null ? void 0 : _b.call(_a, target);
|
|
20
|
+
};
|
|
21
|
+
this.handlers.hoverstart = (event) => {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
const e = event.detail;
|
|
24
|
+
(_b = (_a = this.state.getOptions()).onHoverStart) == null ? void 0 : _b.call(_a, e);
|
|
25
|
+
};
|
|
26
|
+
this.handlers.hoverend = (event) => {
|
|
27
|
+
var _a, _b;
|
|
28
|
+
const e = event.detail;
|
|
29
|
+
(_b = (_a = this.state.getOptions()).onHoverEnd) == null ? void 0 : _b.call(_a, e);
|
|
30
|
+
};
|
|
31
|
+
this.handlers.pressstart = (event) => {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
const e = event.detail;
|
|
34
|
+
(_b = (_a = this.state.getOptions()).onPressStart) == null ? void 0 : _b.call(_a, e);
|
|
35
|
+
};
|
|
36
|
+
this.handlers.pressend = (event) => {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
const e = event.detail;
|
|
39
|
+
(_b = (_a = this.state.getOptions()).onPressEnd) == null ? void 0 : _b.call(_a, e);
|
|
40
|
+
};
|
|
41
|
+
this.handlers.viewenter = (event) => {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
const target = event.detail.target;
|
|
44
|
+
(_b = (_a = this.state.getOptions()).onViewEnter) == null ? void 0 : _b.call(_a, target);
|
|
45
|
+
};
|
|
46
|
+
this.handlers.viewleave = (event) => {
|
|
47
|
+
var _a, _b;
|
|
48
|
+
const target = event.detail.target;
|
|
49
|
+
(_b = (_a = this.state.getOptions()).onViewLeave) == null ? void 0 : _b.call(_a, target);
|
|
50
|
+
};
|
|
51
|
+
Object.entries(this.handlers).forEach(([event, handler]) => {
|
|
52
|
+
element.addEventListener(event, handler);
|
|
53
|
+
});
|
|
43
54
|
}
|
|
44
55
|
unmount() {
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
56
|
+
const element = this.state.element;
|
|
57
|
+
if (!element)
|
|
58
|
+
return;
|
|
59
|
+
Object.entries(this.handlers).forEach(([event, handler]) => {
|
|
60
|
+
if (handler) {
|
|
61
|
+
element.removeEventListener(event, handler);
|
|
62
|
+
delete this.handlers[event];
|
|
63
|
+
}
|
|
48
64
|
});
|
|
49
65
|
}
|
|
50
66
|
}
|
|
51
67
|
export {
|
|
52
|
-
|
|
68
|
+
EventFeature
|
|
53
69
|
};
|
|
@@ -1,28 +1,31 @@
|
|
|
1
|
-
import { EventFeature
|
|
2
|
-
import { SVGFeature
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
new
|
|
12
|
-
new
|
|
13
|
-
new
|
|
1
|
+
import { EventFeature } from "./events.mjs";
|
|
2
|
+
import { SVGFeature } from "./svg.mjs";
|
|
3
|
+
import { LayoutFeature } from "./layout/layout.mjs";
|
|
4
|
+
import { HoverGesture } from "./gestures/hover.mjs";
|
|
5
|
+
import { PressGesture } from "./gestures/press.mjs";
|
|
6
|
+
import { InViewGesture } from "./gestures/in-view.mjs";
|
|
7
|
+
class FeatureManager {
|
|
8
|
+
constructor(state) {
|
|
9
|
+
this.features = [];
|
|
10
|
+
this.features = [
|
|
11
|
+
new HoverGesture(state),
|
|
12
|
+
new PressGesture(state),
|
|
13
|
+
new InViewGesture(state),
|
|
14
|
+
new SVGFeature(state),
|
|
15
|
+
new EventFeature(state),
|
|
16
|
+
new LayoutFeature(state)
|
|
14
17
|
];
|
|
15
18
|
}
|
|
16
19
|
mount() {
|
|
17
|
-
this.features.forEach((
|
|
20
|
+
this.features.forEach((feature) => feature.mount());
|
|
18
21
|
}
|
|
19
22
|
unmount() {
|
|
20
|
-
this.features.forEach((
|
|
23
|
+
this.features.forEach((feature) => feature.unmount());
|
|
21
24
|
}
|
|
22
25
|
update() {
|
|
23
|
-
this.features.forEach((
|
|
26
|
+
this.features.forEach((feature) => feature.update());
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
29
|
export {
|
|
27
|
-
|
|
30
|
+
FeatureManager
|
|
28
31
|
};
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
import { Feature
|
|
2
|
-
class
|
|
1
|
+
import { Feature } from "../feature.mjs";
|
|
2
|
+
class BaseGesture extends Feature {
|
|
3
3
|
updateGestureSubscriptions() {
|
|
4
|
-
const
|
|
5
|
-
|
|
4
|
+
const isActive = this.isActive();
|
|
5
|
+
if (isActive && !this.removeGestureSubscriptions) {
|
|
6
|
+
this.removeGestureSubscriptions = this.subscribeEvents();
|
|
7
|
+
} else if (!isActive && this.removeGestureSubscriptions) {
|
|
8
|
+
this.removeGestureSubscriptions();
|
|
9
|
+
this.removeGestureSubscriptions = void 0;
|
|
10
|
+
}
|
|
6
11
|
}
|
|
7
12
|
unmount() {
|
|
8
|
-
var
|
|
9
|
-
(
|
|
13
|
+
var _a;
|
|
14
|
+
(_a = this.removeGestureSubscriptions) == null ? void 0 : _a.call(this);
|
|
10
15
|
}
|
|
11
16
|
}
|
|
12
17
|
export {
|
|
13
|
-
|
|
18
|
+
BaseGesture
|
|
14
19
|
};
|
|
@@ -1,23 +1,32 @@
|
|
|
1
|
-
import { dispatchPointerEvent
|
|
2
|
-
import { BaseGesture
|
|
3
|
-
function
|
|
4
|
-
return (
|
|
5
|
-
|
|
1
|
+
import { dispatchPointerEvent } from "../../utils/events.mjs";
|
|
2
|
+
import { BaseGesture } from "./base.mjs";
|
|
3
|
+
function mouseEvent(element, name, action) {
|
|
4
|
+
return (event) => {
|
|
5
|
+
if (event.pointerType && event.pointerType !== "mouse")
|
|
6
|
+
return;
|
|
7
|
+
action();
|
|
8
|
+
dispatchPointerEvent(element, name, event);
|
|
6
9
|
};
|
|
7
10
|
}
|
|
8
|
-
class
|
|
11
|
+
class HoverGesture extends BaseGesture {
|
|
9
12
|
isActive() {
|
|
10
|
-
return
|
|
13
|
+
return Boolean(this.state.getOptions().hover);
|
|
11
14
|
}
|
|
12
|
-
constructor(
|
|
13
|
-
super(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
this.state.setActive("hover",
|
|
15
|
+
constructor(state) {
|
|
16
|
+
super(state);
|
|
17
|
+
this.subscribeEvents = () => {
|
|
18
|
+
const element = this.state.element;
|
|
19
|
+
const onEnter = mouseEvent(element, "hoverstart", () => {
|
|
20
|
+
this.state.setActive("hover", true);
|
|
18
21
|
});
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
const onLeave = mouseEvent(element, "hoverend", () => {
|
|
23
|
+
this.state.setActive("hover", false);
|
|
24
|
+
});
|
|
25
|
+
element.addEventListener("pointerenter", onEnter);
|
|
26
|
+
element.addEventListener("pointerleave", onLeave);
|
|
27
|
+
return () => {
|
|
28
|
+
element.removeEventListener("pointerenter", onEnter);
|
|
29
|
+
element.removeEventListener("pointerleave", onLeave);
|
|
21
30
|
};
|
|
22
31
|
};
|
|
23
32
|
}
|
|
@@ -29,5 +38,5 @@ class a extends u {
|
|
|
29
38
|
}
|
|
30
39
|
}
|
|
31
40
|
export {
|
|
32
|
-
|
|
41
|
+
HoverGesture
|
|
33
42
|
};
|
|
@@ -1,20 +1,26 @@
|
|
|
1
|
-
import { dispatchPointerEvent
|
|
2
|
-
import { inView
|
|
3
|
-
import { BaseGesture
|
|
4
|
-
class
|
|
1
|
+
import { dispatchPointerEvent } from "../../utils/events.mjs";
|
|
2
|
+
import { inView } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs";
|
|
3
|
+
import { BaseGesture } from "./base.mjs";
|
|
4
|
+
class InViewGesture extends BaseGesture {
|
|
5
5
|
isActive() {
|
|
6
|
-
return
|
|
6
|
+
return Boolean(this.state.getOptions().inView);
|
|
7
7
|
}
|
|
8
|
-
constructor(
|
|
9
|
-
super(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
constructor(state) {
|
|
9
|
+
super(state);
|
|
10
|
+
this.subscribeEvents = () => {
|
|
11
|
+
var _a;
|
|
12
|
+
const element = this.state.element;
|
|
13
|
+
const { once, ...viewOptions } = ((_a = this.state.getOptions()) == null ? void 0 : _a.inViewOptions) || {};
|
|
14
|
+
return inView(element, (enterEntry) => {
|
|
15
|
+
this.state.setActive("inView", true);
|
|
16
|
+
dispatchPointerEvent(element, "viewenter", enterEntry);
|
|
17
|
+
if (!once) {
|
|
18
|
+
return (leaveEntry) => {
|
|
19
|
+
this.state.setActive("inView", false);
|
|
20
|
+
dispatchPointerEvent(element, "viewleave", leaveEntry);
|
|
16
21
|
};
|
|
17
|
-
|
|
22
|
+
}
|
|
23
|
+
}, viewOptions);
|
|
18
24
|
};
|
|
19
25
|
}
|
|
20
26
|
mount() {
|
|
@@ -25,5 +31,5 @@ class w extends a {
|
|
|
25
31
|
}
|
|
26
32
|
}
|
|
27
33
|
export {
|
|
28
|
-
|
|
34
|
+
InViewGesture
|
|
29
35
|
};
|
|
@@ -1,18 +1,27 @@
|
|
|
1
|
-
import { dispatchPointerEvent
|
|
2
|
-
import { BaseGesture
|
|
3
|
-
class
|
|
1
|
+
import { dispatchPointerEvent } from "../../utils/events.mjs";
|
|
2
|
+
import { BaseGesture } from "./base.mjs";
|
|
3
|
+
class PressGesture extends BaseGesture {
|
|
4
4
|
isActive() {
|
|
5
|
-
return
|
|
5
|
+
return Boolean(this.state.getOptions().press);
|
|
6
6
|
}
|
|
7
|
-
constructor(
|
|
8
|
-
super(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
this.state.setActive("press",
|
|
7
|
+
constructor(state) {
|
|
8
|
+
super(state);
|
|
9
|
+
this.subscribeEvents = () => {
|
|
10
|
+
const element = this.state.element;
|
|
11
|
+
const onPointerUp = (event) => {
|
|
12
|
+
this.state.setActive("press", false);
|
|
13
|
+
dispatchPointerEvent(element, "pressend", event);
|
|
14
|
+
window.removeEventListener("pointerup", onPointerUp);
|
|
13
15
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
const onPointerDown = (event) => {
|
|
17
|
+
this.state.setActive("press", true);
|
|
18
|
+
dispatchPointerEvent(element, "pressstart", event);
|
|
19
|
+
window.addEventListener("pointerup", onPointerUp);
|
|
20
|
+
};
|
|
21
|
+
element.addEventListener("pointerdown", onPointerDown);
|
|
22
|
+
return () => {
|
|
23
|
+
element.removeEventListener("pointerdown", onPointerDown);
|
|
24
|
+
window.removeEventListener("pointerup", onPointerUp);
|
|
16
25
|
};
|
|
17
26
|
};
|
|
18
27
|
}
|
|
@@ -24,5 +33,5 @@ class d extends o {
|
|
|
24
33
|
}
|
|
25
34
|
}
|
|
26
35
|
export {
|
|
27
|
-
|
|
36
|
+
PressGesture
|
|
28
37
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { correctBorderRadius } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs";
|
|
2
|
+
import { correctBoxShadow } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs";
|
|
3
|
+
const defaultScaleCorrector = {
|
|
4
|
+
borderRadius: {
|
|
5
|
+
...correctBorderRadius,
|
|
6
|
+
applyTo: [
|
|
7
|
+
"borderTopLeftRadius",
|
|
8
|
+
"borderTopRightRadius",
|
|
9
|
+
"borderBottomLeftRadius",
|
|
10
|
+
"borderBottomRightRadius"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
borderTopLeftRadius: correctBorderRadius,
|
|
14
|
+
borderTopRightRadius: correctBorderRadius,
|
|
15
|
+
borderBottomLeftRadius: correctBorderRadius,
|
|
16
|
+
borderBottomRightRadius: correctBorderRadius,
|
|
17
|
+
boxShadow: correctBoxShadow
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
defaultScaleCorrector
|
|
21
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Feature } from "../feature.mjs";
|
|
2
|
+
import { HTMLProjectionNode } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs";
|
|
3
|
+
import { getClosestProjectingNode } from "./utils.mjs";
|
|
4
|
+
import { onBeforeMount, onBeforeUpdate, onUpdated, onBeforeUnmount } from "vue";
|
|
5
|
+
import { addScaleCorrector } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs";
|
|
6
|
+
import { defaultScaleCorrector } from "./config.mjs";
|
|
7
|
+
import { globalProjectionState } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/state.mjs";
|
|
8
|
+
import { injectLayoutGroup } from "../../components/context.mjs";
|
|
9
|
+
class LayoutFeature extends Feature {
|
|
10
|
+
constructor(state) {
|
|
11
|
+
super(state);
|
|
12
|
+
const options = this.state.getOptions();
|
|
13
|
+
const visualElement = this.state.visualElement;
|
|
14
|
+
if (options.layout || options.layoutId) {
|
|
15
|
+
addScaleCorrector(defaultScaleCorrector);
|
|
16
|
+
this.layoutGroup = injectLayoutGroup({});
|
|
17
|
+
onBeforeMount(() => {
|
|
18
|
+
visualElement.projection = new HTMLProjectionNode(
|
|
19
|
+
visualElement.latestValues,
|
|
20
|
+
options["data-framer-portal-id"] ? void 0 : getClosestProjectingNode(visualElement.parent)
|
|
21
|
+
);
|
|
22
|
+
visualElement.projection.setOptions({
|
|
23
|
+
layout: options.layout,
|
|
24
|
+
layoutId: options.layoutId,
|
|
25
|
+
// TODO: drag
|
|
26
|
+
alwaysMeasureLayout: false,
|
|
27
|
+
visualElement,
|
|
28
|
+
animationType: typeof options.layout === "string" ? options.layout : "both",
|
|
29
|
+
// initialPromotionConfig
|
|
30
|
+
layoutRoot: options.layoutRoot,
|
|
31
|
+
layoutScroll: options.layoutScroll
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
onBeforeUpdate(() => {
|
|
35
|
+
var _a;
|
|
36
|
+
(_a = visualElement.projection) == null ? void 0 : _a.willUpdate();
|
|
37
|
+
});
|
|
38
|
+
onUpdated(() => {
|
|
39
|
+
var _a;
|
|
40
|
+
(_a = visualElement.projection) == null ? void 0 : _a.root.didUpdate();
|
|
41
|
+
});
|
|
42
|
+
onBeforeUnmount(() => {
|
|
43
|
+
var _a;
|
|
44
|
+
if (visualElement.projection) {
|
|
45
|
+
visualElement.projection.unmount();
|
|
46
|
+
if ((_a = this.layoutGroup) == null ? void 0 : _a.group)
|
|
47
|
+
this.layoutGroup.group.remove(visualElement.projection);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
update() {
|
|
53
|
+
var _a;
|
|
54
|
+
(_a = this.state.visualElement.projection) == null ? void 0 : _a.setOptions(this.state.getOptions());
|
|
55
|
+
}
|
|
56
|
+
mount() {
|
|
57
|
+
var _a, _b;
|
|
58
|
+
const options = this.state.getOptions();
|
|
59
|
+
if (options.layout || options.layoutId) {
|
|
60
|
+
const projection = this.state.visualElement.projection;
|
|
61
|
+
if (projection) {
|
|
62
|
+
(_b = (_a = this.layoutGroup) == null ? void 0 : _a.group) == null ? void 0 : _b.add(projection);
|
|
63
|
+
}
|
|
64
|
+
globalProjectionState.hasEverUpdated = true;
|
|
65
|
+
projection == null ? void 0 : projection.mount(this.state.element);
|
|
66
|
+
projection == null ? void 0 : projection.root.didUpdate();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
unmount() {
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export {
|
|
73
|
+
LayoutFeature
|
|
74
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
function getClosestProjectingNode(visualElement) {
|
|
2
|
+
if (!visualElement)
|
|
3
|
+
return void 0;
|
|
4
|
+
return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
getClosestProjectingNode
|
|
8
|
+
};
|
package/dist/es/features/svg.mjs
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { Feature
|
|
2
|
-
import { frame
|
|
3
|
-
function
|
|
4
|
-
return
|
|
1
|
+
import { Feature } from "./feature.mjs";
|
|
2
|
+
import { frame } from "../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/frame.mjs";
|
|
3
|
+
function isSVGElement(element) {
|
|
4
|
+
return element instanceof SVGElement && element.tagName !== "svg";
|
|
5
5
|
}
|
|
6
|
-
class
|
|
6
|
+
class SVGFeature extends Feature {
|
|
7
7
|
mount() {
|
|
8
|
-
const
|
|
9
|
-
if (!
|
|
8
|
+
const instance = this.state.element;
|
|
9
|
+
if (!isSVGElement(instance)) {
|
|
10
10
|
return;
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
}
|
|
12
|
+
const visualElement = this.state.visualElement;
|
|
13
|
+
frame.read(() => {
|
|
13
14
|
try {
|
|
14
|
-
|
|
15
|
-
} catch {
|
|
16
|
-
|
|
15
|
+
visualElement.renderState.dimensions = typeof instance.getBBox === "function" ? instance.getBBox() : instance.getBoundingClientRect();
|
|
16
|
+
} catch (e) {
|
|
17
|
+
visualElement.renderState.dimensions = {
|
|
17
18
|
x: 0,
|
|
18
19
|
y: 0,
|
|
19
20
|
width: 0,
|
|
@@ -26,5 +27,5 @@ class u extends i {
|
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
export {
|
|
29
|
-
|
|
30
|
+
SVGFeature
|
|
30
31
|
};
|