motion-v 0.2.6 → 0.3.1-beta.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/dist/cjs/index.js +5858 -0
- package/dist/es/animation/use-animate.mjs +31 -0
- package/dist/es/components/AnimatePresence.vue.mjs +71 -0
- package/dist/es/components/AnimatePresence.vue2.mjs +4 -0
- package/dist/es/components/Motion.vue.mjs +116 -0
- package/dist/es/components/Motion.vue2.mjs +4 -0
- package/dist/es/components/Primitive.mjs +29 -0
- package/dist/es/components/Slot.mjs +36 -0
- package/dist/es/components/context.mjs +6 -0
- package/dist/es/components/presence.mjs +16 -0
- package/dist/es/components/renderSlotFragments.mjs +13 -0
- package/dist/es/constants/index.mjs +20 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/GroupPlaybackControls.mjs +76 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animate/index.mjs +27 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animate/resolve-subjects.mjs +16 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animate/sequence.mjs +14 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animate/single-value.mjs +11 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animate/subject.mjs +38 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/AcceleratedAnimation.mjs +243 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/BaseAnimation.mjs +95 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/MainThreadAnimation.mjs +275 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/drivers/driver-frameloop.mjs +17 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/utils/accelerated-values.mjs +12 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/utils/can-animate.mjs +30 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/NativeAnimation.mjs +162 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs +31 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs +13 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/easing.mjs +37 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/index.mjs +20 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/attach-timeline.mjs +7 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs +9 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/linear.mjs +13 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/memo-supports.mjs +12 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/style.mjs +10 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/supports-flags.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/supports-linear-easing.mjs +12 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/supports-partial-keyframes.mjs +12 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/supports-waapi.mjs +5 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/inertia.mjs +67 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/keyframes.mjs +37 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/spring/find.mjs +83 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/spring/index.mjs +83 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/utils/calc-duration.mjs +15 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/utils/is-generator.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/utils/velocity.mjs +9 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/interfaces/motion-value.mjs +73 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs +59 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/optimized-appear/data-id.mjs +7 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs +7 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/sequence/create.mjs +153 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs +15 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/sequence/utils/edit.mjs +26 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/sequence/utils/sort.mjs +14 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/create-visual-element.mjs +43 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/default-transitions.mjs +33 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/get-value-transition.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/is-animatable.mjs +16 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/is-animation-controls.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/is-none.mjs +13 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/is-transition-defined.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/stagger.mjs +26 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/anticipate.mjs +5 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/back.mjs +11 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/circ.mjs +10 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/cubic-bezier.mjs +28 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/ease.mjs +9 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/modifiers/mirror.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/modifiers/reverse.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/steps.mjs +12 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/utils/create-generator-easing.mjs +14 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/utils/get-easing-for-segment.mjs +8 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/utils/is-bezier-definition.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/utils/is-easing-array.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/utils/map.mjs +35 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/batcher.mjs +75 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/frame.mjs +9 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/index-legacy.mjs +11 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/render-step.mjs +63 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/sync-time.mjs +21 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/motion/features/definitions.mjs +29 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs +8 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/projection/geometry/conversion.mjs +22 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/projection/geometry/models.mjs +9 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/projection/styles/scale-correction.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/projection/utils/measure.mjs +7 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/VisualElement.mjs +372 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/DOMKeyframesResolver.mjs +101 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/DOMVisualElement.mjs +21 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/resize/handle-element.mjs +62 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/resize/handle-window.mjs +31 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/resize/index.mjs +8 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/index.mjs +63 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/info.mjs +51 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/observe.mjs +18 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs +33 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs +38 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs +36 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs +23 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs +21 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs +39 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/supports.mjs +5 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/track.mjs +67 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs +31 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs +14 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/utils/resolve-element.mjs +23 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs +65 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs +12 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/defaults.mjs +25 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/dimensions.mjs +10 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/find.mjs +9 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/number-browser.mjs +41 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/number.mjs +18 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/test.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/transform.mjs +31 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/type-auto.mjs +7 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/type-int.mjs +8 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/viewport/index.mjs +37 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/HTMLVisualElement.mjs +55 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/utils/build-styles.mjs +42 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/utils/build-transform.mjs +47 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/utils/make-none-animatable.mjs +22 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/utils/render.mjs +9 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs +16 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/utils/transform.mjs +24 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/object/ObjectVisualElement.mjs +41 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/store.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/SVGVisualElement.mjs +45 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/build-attrs.mjs +46 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs +28 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/path.mjs +20 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/render.mjs +12 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs +16 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/transform-origin.mjs +12 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/KeyframesResolver.mjs +134 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/is-controlling-variants.mjs +13 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/is-variant-label.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/motion-values.mjs +37 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs +8 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/resolve-variants.mjs +25 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/setters.mjs +22 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/variant-props.mjs +14 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/GlobalConfig.mjs +7 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/array.mjs +13 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/clamp.mjs +10 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/delay.mjs +22 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/distance.mjs +10 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/errors.mjs +19 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/hsla-to-rgba.mjs +39 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/interpolate.mjs +49 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/is-browser.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/is-numerical-string.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/is-zero-value-string.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/memo.mjs +11 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/mix/color.mjs +44 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/mix/complex.mjs +84 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/mix/immediate.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/mix/index.mjs +12 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/mix/number.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/mix/visibility.mjs +12 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/noop.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/offsets/default.mjs +9 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/offsets/fill.mjs +12 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/offsets/time.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/pipe.mjs +5 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/progress.mjs +7 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/reduced-motion/index.mjs +18 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/reduced-motion/state.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/resolve-value.mjs +7 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/subscription-manager.mjs +32 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/time-conversion.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/transform.mjs +21 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/velocity-per-second.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/warn-once.mjs +10 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/wrap.mjs +7 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/index.mjs +282 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/color/hex.mjs +37 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/color/hsla.mjs +14 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/color/index.mjs +21 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/color/rgba.mjs +18 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/color/utils.mjs +21 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/complex/filter.mjs +27 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/complex/index.mjs +84 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/numbers/index.mjs +19 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/numbers/units.mjs +23 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/utils/color-regex.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/utils/float-regex.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/utils/is-nullish.mjs +6 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/utils/sanitize.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/utils/single-color-regex.mjs +4 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/use-will-change/add-will-change.mjs +10 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/use-will-change/is.mjs +7 -0
- package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/utils/is-motion-value.mjs +4 -0
- package/dist/es/external/.pnpm/hey-listen@1.0.8/external/hey-listen/dist/hey-listen.es.mjs +20 -0
- package/dist/es/features/events.mjs +69 -0
- package/dist/es/features/feature-manager.mjs +29 -0
- package/dist/es/features/feature.mjs +10 -0
- package/dist/es/features/gestures/base.mjs +19 -0
- package/dist/es/features/gestures/hover.mjs +42 -0
- package/dist/es/features/gestures/in-view.mjs +35 -0
- package/dist/es/features/gestures/press.mjs +37 -0
- package/dist/es/features/svg.mjs +31 -0
- package/dist/es/index.mjs +104 -0
- package/dist/es/state/event.mjs +6 -0
- package/dist/es/state/motion-state.mjs +175 -0
- package/dist/es/state/schedule.mjs +30 -0
- package/dist/es/state/style.mjs +117 -0
- package/dist/es/state/transform.mjs +68 -0
- package/dist/es/state/utils.mjs +119 -0
- package/dist/es/utils/createContext.mjs +25 -0
- package/dist/es/utils/events.mjs +8 -0
- package/dist/es/utils/motion-value.mjs +6 -0
- package/dist/es/utils/use-animation-frame.mjs +20 -0
- package/dist/es/utils/use-in-view.mjs +25 -0
- package/dist/es/value/use-combine-values.mjs +27 -0
- package/dist/es/value/use-computed.mjs +20 -0
- package/dist/es/value/use-motion-template.mjs +22 -0
- package/dist/es/value/use-scroll.mjs +56 -0
- package/dist/es/value/use-spring.mjs +59 -0
- package/dist/es/value/use-time.mjs +10 -0
- package/dist/es/value/use-transform.mjs +29 -0
- package/dist/src/animation/index.d.ts +1 -0
- package/dist/src/animation/use-animate.d.ts +8 -0
- package/dist/src/components/Motion.d.ts +3 -3
- package/dist/src/features/events.d.ts +1 -1
- package/dist/src/features/feature-manager.d.ts +9 -0
- package/dist/src/features/feature.d.ts +0 -7
- package/dist/src/features/index.d.ts +2 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/state/motion-state.d.ts +1 -1
- package/dist/src/state/utils.d.ts +1 -1
- package/dist/src/types/state.d.ts +3 -2
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/use-dom-ref.d.ts +1 -0
- package/dist/src/utils/use-in-view.d.ts +3 -0
- package/package.json +8 -7
- package/dist/index.js +0 -4011
- package/dist/index.umd.cjs +0 -1
- package/dist/src/components/usePrimitiveElement.d.ts +0 -5
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { isNumber, isCssVar } from "./utils.mjs";
|
|
2
|
+
import { isTransform, transformAlias, transformDefinitions, buildTransformTemplate } from "./transform.mjs";
|
|
3
|
+
import { isMotionValue } from "../utils/motion-value.mjs";
|
|
4
|
+
const style = {
|
|
5
|
+
get: (element, name) => {
|
|
6
|
+
let value = isCssVar(name) ? element.style.getPropertyValue(name) : getComputedStyle(element)[name];
|
|
7
|
+
if (!value && value !== "0") {
|
|
8
|
+
const definition = transformDefinitions.get(name);
|
|
9
|
+
if (definition)
|
|
10
|
+
value = definition.initialValue;
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
13
|
+
},
|
|
14
|
+
set: (element, name, value) => {
|
|
15
|
+
if (isCssVar(name)) {
|
|
16
|
+
element.style.setProperty(name, value);
|
|
17
|
+
} else {
|
|
18
|
+
element.style[name] = value;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
function createStyles(keyframes) {
|
|
23
|
+
var _a;
|
|
24
|
+
const initialKeyframes = {};
|
|
25
|
+
const transforms = [];
|
|
26
|
+
for (let key in keyframes) {
|
|
27
|
+
let value = keyframes[key];
|
|
28
|
+
value = isMotionValue(value) ? value.get() : value;
|
|
29
|
+
if (isTransform(key)) {
|
|
30
|
+
if (key in transformAlias) {
|
|
31
|
+
key = transformAlias[key];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
let initialKeyframe = Array.isArray(value) ? value[0] : value;
|
|
35
|
+
const definition = transformDefinitions.get(key);
|
|
36
|
+
if (definition) {
|
|
37
|
+
initialKeyframe = isNumber(value) ? (_a = definition.toDefaultUnit) == null ? void 0 : _a.call(definition, value) : value;
|
|
38
|
+
transforms.push([key, initialKeyframe]);
|
|
39
|
+
} else {
|
|
40
|
+
initialKeyframes[key] = initialKeyframe;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (transforms.length) {
|
|
44
|
+
initialKeyframes.transform = buildTransformTemplate(transforms);
|
|
45
|
+
}
|
|
46
|
+
return initialKeyframes;
|
|
47
|
+
}
|
|
48
|
+
const SVG_STYLE_TO_ATTRIBUTES = {
|
|
49
|
+
fill: true,
|
|
50
|
+
stroke: true,
|
|
51
|
+
strokeWidth: true,
|
|
52
|
+
opacity: true,
|
|
53
|
+
fillOpacity: true,
|
|
54
|
+
strokeOpacity: true,
|
|
55
|
+
strokeLinecap: true,
|
|
56
|
+
strokeLinejoin: true,
|
|
57
|
+
strokeDasharray: true,
|
|
58
|
+
strokeDashoffset: true,
|
|
59
|
+
cx: true,
|
|
60
|
+
cy: true,
|
|
61
|
+
r: true,
|
|
62
|
+
d: true,
|
|
63
|
+
x: true,
|
|
64
|
+
y: true,
|
|
65
|
+
x1: true,
|
|
66
|
+
y1: true,
|
|
67
|
+
x2: true,
|
|
68
|
+
y2: true,
|
|
69
|
+
points: true,
|
|
70
|
+
pathLength: true,
|
|
71
|
+
transform: true,
|
|
72
|
+
viewBox: true,
|
|
73
|
+
width: true,
|
|
74
|
+
height: true,
|
|
75
|
+
preserveAspectRatio: true,
|
|
76
|
+
clipPath: true,
|
|
77
|
+
filter: true,
|
|
78
|
+
mask: true,
|
|
79
|
+
stopColor: true,
|
|
80
|
+
stopOpacity: true,
|
|
81
|
+
gradientTransform: true,
|
|
82
|
+
gradientUnits: true,
|
|
83
|
+
spreadMethod: true,
|
|
84
|
+
markerEnd: true,
|
|
85
|
+
markerMid: true,
|
|
86
|
+
markerStart: true,
|
|
87
|
+
textAnchor: true,
|
|
88
|
+
dominantBaseline: true,
|
|
89
|
+
fontFamily: true,
|
|
90
|
+
fontSize: true,
|
|
91
|
+
fontWeight: true,
|
|
92
|
+
letterSpacing: true,
|
|
93
|
+
vectorEffect: true
|
|
94
|
+
};
|
|
95
|
+
function convertSvgStyleToAttributes(keyframes) {
|
|
96
|
+
const attributes = {};
|
|
97
|
+
const styleProps = {};
|
|
98
|
+
for (const key in keyframes) {
|
|
99
|
+
if (key in SVG_STYLE_TO_ATTRIBUTES) {
|
|
100
|
+
const attrKey = SVG_STYLE_TO_ATTRIBUTES[key];
|
|
101
|
+
const attrName = typeof attrKey === "string" ? attrKey : key;
|
|
102
|
+
const value = keyframes[key];
|
|
103
|
+
attributes[attrName] = isMotionValue(value) ? value.get() : value;
|
|
104
|
+
} else {
|
|
105
|
+
styleProps[key] = keyframes[key];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
attributes,
|
|
110
|
+
style: styleProps
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
export {
|
|
114
|
+
convertSvgStyleToAttributes,
|
|
115
|
+
createStyles,
|
|
116
|
+
style
|
|
117
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import "@vueuse/core";
|
|
2
|
+
import { noopReturn } from "./utils.mjs";
|
|
3
|
+
const rotation = {
|
|
4
|
+
syntax: "<angle>",
|
|
5
|
+
initialValue: "0deg",
|
|
6
|
+
toDefaultUnit: (v) => `${v}deg`
|
|
7
|
+
};
|
|
8
|
+
const baseTransformProperties = {
|
|
9
|
+
translate: {
|
|
10
|
+
syntax: "<length-percentage>",
|
|
11
|
+
initialValue: "0px",
|
|
12
|
+
toDefaultUnit: (v) => `${v}px`
|
|
13
|
+
},
|
|
14
|
+
rotate: rotation,
|
|
15
|
+
scale: {
|
|
16
|
+
syntax: "<number>",
|
|
17
|
+
initialValue: 1,
|
|
18
|
+
toDefaultUnit: noopReturn
|
|
19
|
+
},
|
|
20
|
+
skew: rotation
|
|
21
|
+
};
|
|
22
|
+
const order = ["translate", "scale", "rotate", "skew"];
|
|
23
|
+
const axes = ["", "X", "Y", "Z"];
|
|
24
|
+
const transformDefinitions = /* @__PURE__ */ new Map();
|
|
25
|
+
const transforms = ["transformPerspective", "x", "y", "z", "translateX", "translateY", "translateZ", "scale", "scaleX", "scaleY", "rotate", "rotateX", "rotateY", "rotateZ", "skew", "skewX", "skewY"];
|
|
26
|
+
order.forEach((name) => {
|
|
27
|
+
axes.forEach((axis) => {
|
|
28
|
+
transforms.push(name + axis);
|
|
29
|
+
transformDefinitions.set(
|
|
30
|
+
name + axis,
|
|
31
|
+
baseTransformProperties[name]
|
|
32
|
+
);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
const transformLookup = new Set(transforms);
|
|
36
|
+
const isTransform = (name) => transformLookup.has(name);
|
|
37
|
+
const transformAlias = {
|
|
38
|
+
x: "translateX",
|
|
39
|
+
y: "translateY",
|
|
40
|
+
z: "translateZ"
|
|
41
|
+
};
|
|
42
|
+
function compareTransformOrder([a], [b]) {
|
|
43
|
+
return transforms.indexOf(a) - transforms.indexOf(b);
|
|
44
|
+
}
|
|
45
|
+
function transformListToString(template, [name, value]) {
|
|
46
|
+
return `${template} ${name}(${value})`;
|
|
47
|
+
}
|
|
48
|
+
function buildTransformTemplate(transforms2) {
|
|
49
|
+
return transforms2.sort(compareTransformOrder).reduce(transformListToString, "").trim();
|
|
50
|
+
}
|
|
51
|
+
const transformResetValue = {
|
|
52
|
+
translate: [0, 0],
|
|
53
|
+
rotate: 0,
|
|
54
|
+
scale: 1,
|
|
55
|
+
skew: 0,
|
|
56
|
+
x: 0,
|
|
57
|
+
y: 0,
|
|
58
|
+
z: 0
|
|
59
|
+
};
|
|
60
|
+
export {
|
|
61
|
+
axes,
|
|
62
|
+
buildTransformTemplate,
|
|
63
|
+
compareTransformOrder,
|
|
64
|
+
isTransform,
|
|
65
|
+
transformAlias,
|
|
66
|
+
transformDefinitions,
|
|
67
|
+
transformResetValue
|
|
68
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
function resolveVariant(definition, variants, custom) {
|
|
2
|
+
if (typeof definition === "object") {
|
|
3
|
+
return definition;
|
|
4
|
+
} else if (definition && variants) {
|
|
5
|
+
const variant = variants[definition];
|
|
6
|
+
return typeof variant === "function" ? variant(custom) : variant;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
function hasChanged(a, b) {
|
|
10
|
+
if (typeof a !== typeof b)
|
|
11
|
+
return true;
|
|
12
|
+
if (Array.isArray(a) && Array.isArray(b))
|
|
13
|
+
return !shallowCompare(a, b);
|
|
14
|
+
return a !== b;
|
|
15
|
+
}
|
|
16
|
+
function shallowCompare(next, prev) {
|
|
17
|
+
const prevLength = prev.length;
|
|
18
|
+
if (prevLength !== next.length)
|
|
19
|
+
return false;
|
|
20
|
+
for (let i = 0; i < prevLength; i++) {
|
|
21
|
+
if (prev[i] !== next[i])
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
function addUniqueItem(array, item) {
|
|
27
|
+
!array.includes(item) && array.push(item);
|
|
28
|
+
}
|
|
29
|
+
function removeItem(array, item) {
|
|
30
|
+
const index = array.indexOf(item);
|
|
31
|
+
index !== -1 && array.splice(index, 1);
|
|
32
|
+
}
|
|
33
|
+
function getOptions(options, key) {
|
|
34
|
+
return options[key] ? { ...options, ...options[key] } : { ...options };
|
|
35
|
+
}
|
|
36
|
+
function isCssVar(name) {
|
|
37
|
+
return name == null ? void 0 : name.startsWith("--");
|
|
38
|
+
}
|
|
39
|
+
function noop() {
|
|
40
|
+
}
|
|
41
|
+
const noopReturn = (v) => v;
|
|
42
|
+
function isNumber(value) {
|
|
43
|
+
return typeof value === "number";
|
|
44
|
+
}
|
|
45
|
+
const svgElements = [
|
|
46
|
+
"animate",
|
|
47
|
+
"circle",
|
|
48
|
+
"defs",
|
|
49
|
+
"desc",
|
|
50
|
+
"ellipse",
|
|
51
|
+
"g",
|
|
52
|
+
"image",
|
|
53
|
+
"line",
|
|
54
|
+
"filter",
|
|
55
|
+
"marker",
|
|
56
|
+
"mask",
|
|
57
|
+
"metadata",
|
|
58
|
+
"path",
|
|
59
|
+
"pattern",
|
|
60
|
+
"polygon",
|
|
61
|
+
"polyline",
|
|
62
|
+
"rect",
|
|
63
|
+
"stop",
|
|
64
|
+
"svg",
|
|
65
|
+
"switch",
|
|
66
|
+
"symbol",
|
|
67
|
+
"text",
|
|
68
|
+
"tspan",
|
|
69
|
+
"use",
|
|
70
|
+
"view",
|
|
71
|
+
"clipPath",
|
|
72
|
+
"feBlend",
|
|
73
|
+
"feColorMatrix",
|
|
74
|
+
"feComponentTransfer",
|
|
75
|
+
"feComposite",
|
|
76
|
+
"feConvolveMatrix",
|
|
77
|
+
"feDiffuseLighting",
|
|
78
|
+
"feDisplacementMap",
|
|
79
|
+
"feDistantLight",
|
|
80
|
+
"feDropShadow",
|
|
81
|
+
"feFlood",
|
|
82
|
+
"feFuncA",
|
|
83
|
+
"feFuncB",
|
|
84
|
+
"feFuncG",
|
|
85
|
+
"feFuncR",
|
|
86
|
+
"feGaussianBlur",
|
|
87
|
+
"feImage",
|
|
88
|
+
"feMerge",
|
|
89
|
+
"feMergeNode",
|
|
90
|
+
"feMorphology",
|
|
91
|
+
"feOffset",
|
|
92
|
+
"fePointLight",
|
|
93
|
+
"feSpecularLighting",
|
|
94
|
+
"feSpotLight",
|
|
95
|
+
"feTile",
|
|
96
|
+
"feTurbulence",
|
|
97
|
+
"foreignObject",
|
|
98
|
+
"linearGradient",
|
|
99
|
+
"radialGradient",
|
|
100
|
+
"textPath"
|
|
101
|
+
];
|
|
102
|
+
const svgElementSet = new Set(svgElements);
|
|
103
|
+
function isSVGElement(as) {
|
|
104
|
+
return svgElementSet.has(as);
|
|
105
|
+
}
|
|
106
|
+
export {
|
|
107
|
+
addUniqueItem,
|
|
108
|
+
getOptions,
|
|
109
|
+
hasChanged,
|
|
110
|
+
isCssVar,
|
|
111
|
+
isNumber,
|
|
112
|
+
isSVGElement,
|
|
113
|
+
noop,
|
|
114
|
+
noopReturn,
|
|
115
|
+
removeItem,
|
|
116
|
+
resolveVariant,
|
|
117
|
+
shallowCompare,
|
|
118
|
+
svgElements
|
|
119
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { inject, provide } from "vue";
|
|
2
|
+
function createContext(providerComponentName, contextName) {
|
|
3
|
+
const symbolDescription = typeof providerComponentName === "string" && !contextName ? `${providerComponentName}Context` : contextName;
|
|
4
|
+
const injectionKey = Symbol(symbolDescription);
|
|
5
|
+
const injectContext = (fallback) => {
|
|
6
|
+
const context = inject(injectionKey, fallback);
|
|
7
|
+
if (context)
|
|
8
|
+
return context;
|
|
9
|
+
if (context === null)
|
|
10
|
+
return context;
|
|
11
|
+
throw new Error(
|
|
12
|
+
`Injection \`${injectionKey.toString()}\` not found. Component must be used within ${Array.isArray(providerComponentName) ? `one of the following components: ${providerComponentName.join(
|
|
13
|
+
", "
|
|
14
|
+
)}` : `\`${providerComponentName}\``}`
|
|
15
|
+
);
|
|
16
|
+
};
|
|
17
|
+
const provideContext = (contextValue) => {
|
|
18
|
+
provide(injectionKey, contextValue);
|
|
19
|
+
return contextValue;
|
|
20
|
+
};
|
|
21
|
+
return [injectContext, provideContext];
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
createContext
|
|
25
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { onBeforeUpdate, onUnmounted } from "vue";
|
|
2
|
+
import { frame, cancelFrame } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/frame.mjs";
|
|
3
|
+
function useAnimationFrame(callback) {
|
|
4
|
+
let initialTimestamp = 0;
|
|
5
|
+
const provideTimeSinceStart = ({ timestamp, delta }) => {
|
|
6
|
+
if (!initialTimestamp)
|
|
7
|
+
initialTimestamp = timestamp;
|
|
8
|
+
callback(timestamp - initialTimestamp, delta);
|
|
9
|
+
};
|
|
10
|
+
const cancel = () => cancelFrame(provideTimeSinceStart);
|
|
11
|
+
onBeforeUpdate(() => {
|
|
12
|
+
cancel();
|
|
13
|
+
frame.update(provideTimeSinceStart, true);
|
|
14
|
+
});
|
|
15
|
+
onUnmounted(() => cancel());
|
|
16
|
+
frame.update(provideTimeSinceStart, true);
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
useAnimationFrame
|
|
20
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ref, watch, isRef, unref } from "vue";
|
|
2
|
+
import { inView } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/viewport/index.mjs";
|
|
3
|
+
function useInView(domRef, options) {
|
|
4
|
+
const isInView = ref(false);
|
|
5
|
+
watch([domRef, () => isRef(options) ? options.value : options], (_v1, _v2) => {
|
|
6
|
+
const realOptions = unref(options) || {};
|
|
7
|
+
const { once } = realOptions;
|
|
8
|
+
if (!domRef.value || once && isInView.value) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const onEnter = () => {
|
|
12
|
+
isInView.value = true;
|
|
13
|
+
return once ? void 0 : () => {
|
|
14
|
+
isInView.value = false;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
return inView(domRef.value, onEnter, realOptions);
|
|
18
|
+
}, {
|
|
19
|
+
immediate: true
|
|
20
|
+
});
|
|
21
|
+
return isInView;
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
useInView
|
|
25
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { onUnmounted } from "vue";
|
|
2
|
+
import { motionValue } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/index.mjs";
|
|
3
|
+
import { cancelFrame, frame } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/frame.mjs";
|
|
4
|
+
function useCombineMotionValues(combineValues) {
|
|
5
|
+
const value = motionValue(combineValues());
|
|
6
|
+
const updateValue = () => value.set(combineValues());
|
|
7
|
+
const scheduleUpdate = () => frame.preRender(updateValue, false, true);
|
|
8
|
+
let subscriptions;
|
|
9
|
+
const subscribe = (values) => {
|
|
10
|
+
subscriptions = values.map((v) => v.on("change", scheduleUpdate));
|
|
11
|
+
};
|
|
12
|
+
const unsubscribe = () => {
|
|
13
|
+
subscriptions.forEach((unsubscribe2) => unsubscribe2());
|
|
14
|
+
cancelFrame(updateValue);
|
|
15
|
+
};
|
|
16
|
+
onUnmounted(() => {
|
|
17
|
+
unsubscribe();
|
|
18
|
+
});
|
|
19
|
+
return {
|
|
20
|
+
subscribe,
|
|
21
|
+
unsubscribe,
|
|
22
|
+
value
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
useCombineMotionValues
|
|
27
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useCombineMotionValues } from "./use-combine-values.mjs";
|
|
2
|
+
import { collectMotionValues } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/index.mjs";
|
|
3
|
+
import { onBeforeUpdate } from "vue";
|
|
4
|
+
function useComputed(computed) {
|
|
5
|
+
collectMotionValues.current = [];
|
|
6
|
+
const { value, subscribe, unsubscribe } = useCombineMotionValues(computed);
|
|
7
|
+
subscribe(collectMotionValues.current);
|
|
8
|
+
collectMotionValues.current = void 0;
|
|
9
|
+
onBeforeUpdate(() => {
|
|
10
|
+
unsubscribe();
|
|
11
|
+
collectMotionValues.current = [];
|
|
12
|
+
computed();
|
|
13
|
+
subscribe(collectMotionValues.current);
|
|
14
|
+
collectMotionValues.current = void 0;
|
|
15
|
+
});
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
useComputed
|
|
20
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useCombineMotionValues } from "./use-combine-values.mjs";
|
|
2
|
+
import { isMotionValue } from "../utils/motion-value.mjs";
|
|
3
|
+
function useMotionTemplate(fragments, ...values) {
|
|
4
|
+
const numFragments = fragments.length;
|
|
5
|
+
function buildValue() {
|
|
6
|
+
let output = "";
|
|
7
|
+
for (let i = 0; i < numFragments; i++) {
|
|
8
|
+
output += fragments[i];
|
|
9
|
+
const value2 = values[i];
|
|
10
|
+
if (value2) {
|
|
11
|
+
output += isMotionValue(value2) ? value2.get() : value2;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return output;
|
|
15
|
+
}
|
|
16
|
+
const { value, subscribe } = useCombineMotionValues(buildValue);
|
|
17
|
+
subscribe(values.filter(isMotionValue));
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
useMotionTemplate
|
|
22
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { onMounted, onUnmounted, watch } from "vue";
|
|
2
|
+
import { warning } from "../external/.pnpm/hey-listen@1.0.8/external/hey-listen/dist/hey-listen.es.mjs";
|
|
3
|
+
import { motionValue } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/index.mjs";
|
|
4
|
+
import { scroll } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/index.mjs";
|
|
5
|
+
function refWarning(name, ref) {
|
|
6
|
+
warning(
|
|
7
|
+
Boolean(!ref || ref.value),
|
|
8
|
+
`You have defined a ${name} options but the provided ref is not yet hydrated, probably because it's defined higher up the tree. Try calling useScroll() in the same component as the ref.`
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
function createScrollMotionValues() {
|
|
12
|
+
return {
|
|
13
|
+
scrollX: motionValue(0),
|
|
14
|
+
scrollY: motionValue(0),
|
|
15
|
+
scrollXProgress: motionValue(0),
|
|
16
|
+
scrollYProgress: motionValue(0)
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function useScroll({
|
|
20
|
+
container,
|
|
21
|
+
target,
|
|
22
|
+
...options
|
|
23
|
+
} = {}) {
|
|
24
|
+
const values = createScrollMotionValues();
|
|
25
|
+
let cleanup;
|
|
26
|
+
const setupScroll = () => {
|
|
27
|
+
cleanup == null ? void 0 : cleanup();
|
|
28
|
+
cleanup = scroll(
|
|
29
|
+
(_progress, { x, y }) => {
|
|
30
|
+
values.scrollX.set(x.current);
|
|
31
|
+
values.scrollXProgress.set(x.progress);
|
|
32
|
+
values.scrollY.set(y.current);
|
|
33
|
+
values.scrollYProgress.set(y.progress);
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
...options,
|
|
37
|
+
container: (container == null ? void 0 : container.value) ?? void 0,
|
|
38
|
+
target: (target == null ? void 0 : target.value) ?? void 0
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
};
|
|
42
|
+
onMounted(() => {
|
|
43
|
+
refWarning("target", target);
|
|
44
|
+
refWarning("container", container);
|
|
45
|
+
setupScroll();
|
|
46
|
+
});
|
|
47
|
+
onUnmounted(() => cleanup == null ? void 0 : cleanup());
|
|
48
|
+
watch(
|
|
49
|
+
() => [container == null ? void 0 : container.value, target == null ? void 0 : target.value, options.offset],
|
|
50
|
+
setupScroll
|
|
51
|
+
);
|
|
52
|
+
return values;
|
|
53
|
+
}
|
|
54
|
+
export {
|
|
55
|
+
useScroll
|
|
56
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { watch, onBeforeUnmount } from "vue";
|
|
2
|
+
import { animateValue } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/MainThreadAnimation.mjs";
|
|
3
|
+
import { motionValue } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/index.mjs";
|
|
4
|
+
import { frame, frameData } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/frame.mjs";
|
|
5
|
+
import { isMotionValue } from "../utils/motion-value.mjs";
|
|
6
|
+
function toNumber(v) {
|
|
7
|
+
if (typeof v === "number")
|
|
8
|
+
return v;
|
|
9
|
+
return parseFloat(v);
|
|
10
|
+
}
|
|
11
|
+
function useSpring(source, config = {}) {
|
|
12
|
+
let activeSpringAnimation = null;
|
|
13
|
+
const value = motionValue(
|
|
14
|
+
isMotionValue(source) ? toNumber(source.get()) : source
|
|
15
|
+
);
|
|
16
|
+
let latestValue = value.get();
|
|
17
|
+
let latestSetter = () => {
|
|
18
|
+
};
|
|
19
|
+
const stopAnimation = () => {
|
|
20
|
+
if (activeSpringAnimation) {
|
|
21
|
+
activeSpringAnimation.stop();
|
|
22
|
+
activeSpringAnimation = null;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const startAnimation = () => {
|
|
26
|
+
const animation = activeSpringAnimation;
|
|
27
|
+
if ((animation == null ? void 0 : animation.time) === 0) {
|
|
28
|
+
animation.sample(frameData.delta);
|
|
29
|
+
}
|
|
30
|
+
stopAnimation();
|
|
31
|
+
activeSpringAnimation = animateValue({
|
|
32
|
+
keyframes: [value.get(), latestValue],
|
|
33
|
+
velocity: value.getVelocity(),
|
|
34
|
+
type: "spring",
|
|
35
|
+
restDelta: 1e-3,
|
|
36
|
+
restSpeed: 0.01,
|
|
37
|
+
...config,
|
|
38
|
+
onUpdate: latestSetter
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
watch(() => JSON.stringify(config), () => {
|
|
42
|
+
const cleanup = value.attach((v, set) => {
|
|
43
|
+
latestValue = v;
|
|
44
|
+
latestSetter = set;
|
|
45
|
+
frame.update(startAnimation);
|
|
46
|
+
return value.get();
|
|
47
|
+
}, stopAnimation);
|
|
48
|
+
onBeforeUnmount(() => cleanup());
|
|
49
|
+
}, { immediate: true });
|
|
50
|
+
if (isMotionValue(source)) {
|
|
51
|
+
source.on("change", (v) => {
|
|
52
|
+
value.set(toNumber(v));
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
useSpring
|
|
59
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useAnimationFrame } from "../utils/use-animation-frame.mjs";
|
|
2
|
+
import { motionValue } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/index.mjs";
|
|
3
|
+
function useTime() {
|
|
4
|
+
const time = motionValue(0);
|
|
5
|
+
useAnimationFrame((t) => time.set(t));
|
|
6
|
+
return time;
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
useTime
|
|
10
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useComputed } from "./use-computed.mjs";
|
|
2
|
+
import { useCombineMotionValues } from "./use-combine-values.mjs";
|
|
3
|
+
import { transform } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/transform.mjs";
|
|
4
|
+
function useTransform(input, inputRangeOrTransformer, outputRange, options) {
|
|
5
|
+
if (typeof input === "function") {
|
|
6
|
+
return useComputed(input);
|
|
7
|
+
}
|
|
8
|
+
const transformer = typeof inputRangeOrTransformer === "function" ? inputRangeOrTransformer : transform(inputRangeOrTransformer, outputRange, options);
|
|
9
|
+
return Array.isArray(input) ? useListTransform(
|
|
10
|
+
input,
|
|
11
|
+
transformer
|
|
12
|
+
) : useListTransform([input], ([latest]) => transformer(latest));
|
|
13
|
+
}
|
|
14
|
+
function useListTransform(values, transformer) {
|
|
15
|
+
const latest = [];
|
|
16
|
+
const { value, subscribe } = useCombineMotionValues(() => {
|
|
17
|
+
latest.length = 0;
|
|
18
|
+
const numValues = values.length;
|
|
19
|
+
for (let i = 0; i < numValues; i++) {
|
|
20
|
+
latest[i] = values[i].get();
|
|
21
|
+
}
|
|
22
|
+
return transformer(latest);
|
|
23
|
+
});
|
|
24
|
+
subscribe(values);
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
useTransform
|
|
29
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-animate';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AnimationPlaybackControls } from 'framer-motion';
|
|
2
|
+
import { Ref, UnwrapRef } from 'vue';
|
|
3
|
+
import { createScopedAnimate } from 'framer-motion/dom';
|
|
4
|
+
type Scope = Ref<UnwrapRef<Element>> & {
|
|
5
|
+
animations: AnimationPlaybackControls[];
|
|
6
|
+
};
|
|
7
|
+
export declare function useAnimate<T extends Element = any>(): [Scope, ReturnType<typeof createScopedAnimate>];
|
|
8
|
+
export {};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { IntrinsicElementAttributes } from 'vue';
|
|
2
2
|
import { ElementType, Options, SVGAttributesWithMotionValues, SetMotionValueType } from '../types';
|
|
3
|
-
export interface MotionProps<T extends ElementType = 'div'> extends Options {
|
|
3
|
+
export interface MotionProps<T extends ElementType = 'div', K = unknown> extends Options<K> {
|
|
4
4
|
as?: T;
|
|
5
5
|
asChild?: boolean;
|
|
6
6
|
}
|
|
7
|
-
declare const _default: <T extends ElementType = "div">(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
8
|
-
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & Readonly<import('vue').ExtractPropTypes<{}>>, never>, never> & (Omit<SetMotionValueType<IntrinsicElementAttributes, keyof SVGAttributesWithMotionValues>[T], keyof Options
|
|
7
|
+
declare const _default: <T extends ElementType = "div", K = unknown>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
8
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & Readonly<import('vue').ExtractPropTypes<{}>>, never>, never> & (Omit<SetMotionValueType<IntrinsicElementAttributes, keyof SVGAttributesWithMotionValues>[T], "asChild" | keyof Options<any>> & MotionProps<T, K>)> & import('vue').PublicProps;
|
|
9
9
|
expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
|
|
10
10
|
attrs: any;
|
|
11
11
|
slots: {
|