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.
Files changed (244) hide show
  1. package/dist/cjs/index.js +5858 -0
  2. package/dist/es/animation/use-animate.mjs +31 -0
  3. package/dist/es/components/AnimatePresence.vue.mjs +71 -0
  4. package/dist/es/components/AnimatePresence.vue2.mjs +4 -0
  5. package/dist/es/components/Motion.vue.mjs +116 -0
  6. package/dist/es/components/Motion.vue2.mjs +4 -0
  7. package/dist/es/components/Primitive.mjs +29 -0
  8. package/dist/es/components/Slot.mjs +36 -0
  9. package/dist/es/components/context.mjs +6 -0
  10. package/dist/es/components/presence.mjs +16 -0
  11. package/dist/es/components/renderSlotFragments.mjs +13 -0
  12. package/dist/es/constants/index.mjs +20 -0
  13. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/GroupPlaybackControls.mjs +76 -0
  14. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animate/index.mjs +27 -0
  15. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animate/resolve-subjects.mjs +16 -0
  16. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animate/sequence.mjs +14 -0
  17. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animate/single-value.mjs +11 -0
  18. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animate/subject.mjs +38 -0
  19. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/AcceleratedAnimation.mjs +243 -0
  20. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/BaseAnimation.mjs +95 -0
  21. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/MainThreadAnimation.mjs +275 -0
  22. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/drivers/driver-frameloop.mjs +17 -0
  23. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/utils/accelerated-values.mjs +12 -0
  24. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/utils/can-animate.mjs +30 -0
  25. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/NativeAnimation.mjs +162 -0
  26. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs +31 -0
  27. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs +13 -0
  28. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/easing.mjs +37 -0
  29. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/index.mjs +20 -0
  30. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/attach-timeline.mjs +7 -0
  31. 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
  32. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/linear.mjs +13 -0
  33. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/memo-supports.mjs +12 -0
  34. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/style.mjs +10 -0
  35. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/supports-flags.mjs +6 -0
  36. 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
  37. 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
  38. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animators/waapi/utils/supports-waapi.mjs +5 -0
  39. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/inertia.mjs +67 -0
  40. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/keyframes.mjs +37 -0
  41. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/spring/find.mjs +83 -0
  42. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/spring/index.mjs +83 -0
  43. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/utils/calc-duration.mjs +15 -0
  44. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/utils/is-generator.mjs +6 -0
  45. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/generators/utils/velocity.mjs +9 -0
  46. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/interfaces/motion-value.mjs +73 -0
  47. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs +59 -0
  48. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/optimized-appear/data-id.mjs +7 -0
  49. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs +7 -0
  50. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/sequence/create.mjs +153 -0
  51. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs +15 -0
  52. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/sequence/utils/edit.mjs +26 -0
  53. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/sequence/utils/sort.mjs +14 -0
  54. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/create-visual-element.mjs +43 -0
  55. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/default-transitions.mjs +33 -0
  56. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/get-value-transition.mjs +6 -0
  57. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/is-animatable.mjs +16 -0
  58. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/is-animation-controls.mjs +6 -0
  59. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs +6 -0
  60. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs +6 -0
  61. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/is-none.mjs +13 -0
  62. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/is-transition-defined.mjs +6 -0
  63. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/utils/stagger.mjs +26 -0
  64. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/anticipate.mjs +5 -0
  65. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/back.mjs +11 -0
  66. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/circ.mjs +10 -0
  67. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/cubic-bezier.mjs +28 -0
  68. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/ease.mjs +9 -0
  69. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/modifiers/mirror.mjs +4 -0
  70. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/modifiers/reverse.mjs +4 -0
  71. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/steps.mjs +12 -0
  72. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/utils/create-generator-easing.mjs +14 -0
  73. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/utils/get-easing-for-segment.mjs +8 -0
  74. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/utils/is-bezier-definition.mjs +4 -0
  75. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/utils/is-easing-array.mjs +6 -0
  76. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/easing/utils/map.mjs +35 -0
  77. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/batcher.mjs +75 -0
  78. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/frame.mjs +9 -0
  79. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/index-legacy.mjs +11 -0
  80. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/render-step.mjs +63 -0
  81. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/frameloop/sync-time.mjs +21 -0
  82. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/motion/features/definitions.mjs +29 -0
  83. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs +8 -0
  84. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/projection/geometry/conversion.mjs +22 -0
  85. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/projection/geometry/models.mjs +9 -0
  86. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/projection/styles/scale-correction.mjs +4 -0
  87. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/projection/utils/measure.mjs +7 -0
  88. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/VisualElement.mjs +372 -0
  89. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/DOMKeyframesResolver.mjs +101 -0
  90. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/DOMVisualElement.mjs +21 -0
  91. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/resize/handle-element.mjs +62 -0
  92. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/resize/handle-window.mjs +31 -0
  93. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/resize/index.mjs +8 -0
  94. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/index.mjs +63 -0
  95. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/info.mjs +51 -0
  96. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/observe.mjs +18 -0
  97. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs +33 -0
  98. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs +38 -0
  99. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs +36 -0
  100. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs +23 -0
  101. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs +21 -0
  102. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs +39 -0
  103. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/supports.mjs +5 -0
  104. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/scroll/track.mjs +67 -0
  105. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs +4 -0
  106. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs +31 -0
  107. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs +14 -0
  108. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs +6 -0
  109. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/utils/resolve-element.mjs +23 -0
  110. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs +65 -0
  111. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs +12 -0
  112. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/defaults.mjs +25 -0
  113. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/dimensions.mjs +10 -0
  114. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/find.mjs +9 -0
  115. 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
  116. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/number-browser.mjs +41 -0
  117. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/number.mjs +18 -0
  118. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/test.mjs +4 -0
  119. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/transform.mjs +31 -0
  120. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/type-auto.mjs +7 -0
  121. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/value-types/type-int.mjs +8 -0
  122. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/dom/viewport/index.mjs +37 -0
  123. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/HTMLVisualElement.mjs +55 -0
  124. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/utils/build-styles.mjs +42 -0
  125. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/utils/build-transform.mjs +47 -0
  126. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/utils/make-none-animatable.mjs +22 -0
  127. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/utils/render.mjs +9 -0
  128. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs +16 -0
  129. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/html/utils/transform.mjs +24 -0
  130. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/object/ObjectVisualElement.mjs +41 -0
  131. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/store.mjs +4 -0
  132. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/SVGVisualElement.mjs +45 -0
  133. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/build-attrs.mjs +46 -0
  134. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs +28 -0
  135. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs +4 -0
  136. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/path.mjs +20 -0
  137. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/render.mjs +12 -0
  138. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs +16 -0
  139. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/svg/utils/transform-origin.mjs +12 -0
  140. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/KeyframesResolver.mjs +134 -0
  141. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/is-controlling-variants.mjs +13 -0
  142. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/is-variant-label.mjs +6 -0
  143. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/motion-values.mjs +37 -0
  144. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs +8 -0
  145. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/resolve-variants.mjs +25 -0
  146. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/setters.mjs +22 -0
  147. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/render/utils/variant-props.mjs +14 -0
  148. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/GlobalConfig.mjs +7 -0
  149. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/array.mjs +13 -0
  150. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/clamp.mjs +10 -0
  151. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/delay.mjs +22 -0
  152. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/distance.mjs +10 -0
  153. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/errors.mjs +19 -0
  154. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/hsla-to-rgba.mjs +39 -0
  155. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/interpolate.mjs +49 -0
  156. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/is-browser.mjs +4 -0
  157. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/is-numerical-string.mjs +4 -0
  158. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/is-zero-value-string.mjs +4 -0
  159. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/memo.mjs +11 -0
  160. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/mix/color.mjs +44 -0
  161. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/mix/complex.mjs +84 -0
  162. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/mix/immediate.mjs +6 -0
  163. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/mix/index.mjs +12 -0
  164. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/mix/number.mjs +6 -0
  165. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/mix/visibility.mjs +12 -0
  166. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/noop.mjs +4 -0
  167. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/offsets/default.mjs +9 -0
  168. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/offsets/fill.mjs +12 -0
  169. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/offsets/time.mjs +6 -0
  170. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/pipe.mjs +5 -0
  171. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/progress.mjs +7 -0
  172. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/reduced-motion/index.mjs +18 -0
  173. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/reduced-motion/state.mjs +6 -0
  174. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/resolve-value.mjs +7 -0
  175. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/subscription-manager.mjs +32 -0
  176. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/time-conversion.mjs +6 -0
  177. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/transform.mjs +21 -0
  178. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/velocity-per-second.mjs +6 -0
  179. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/warn-once.mjs +10 -0
  180. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/utils/wrap.mjs +7 -0
  181. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/index.mjs +282 -0
  182. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/color/hex.mjs +37 -0
  183. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/color/hsla.mjs +14 -0
  184. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/color/index.mjs +21 -0
  185. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/color/rgba.mjs +18 -0
  186. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/color/utils.mjs +21 -0
  187. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/complex/filter.mjs +27 -0
  188. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/complex/index.mjs +84 -0
  189. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/numbers/index.mjs +19 -0
  190. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/numbers/units.mjs +23 -0
  191. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/utils/color-regex.mjs +4 -0
  192. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/utils/float-regex.mjs +4 -0
  193. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/utils/is-nullish.mjs +6 -0
  194. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/utils/sanitize.mjs +4 -0
  195. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/types/utils/single-color-regex.mjs +4 -0
  196. 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
  197. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/use-will-change/is.mjs +7 -0
  198. package/dist/es/external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/value/utils/is-motion-value.mjs +4 -0
  199. package/dist/es/external/.pnpm/hey-listen@1.0.8/external/hey-listen/dist/hey-listen.es.mjs +20 -0
  200. package/dist/es/features/events.mjs +69 -0
  201. package/dist/es/features/feature-manager.mjs +29 -0
  202. package/dist/es/features/feature.mjs +10 -0
  203. package/dist/es/features/gestures/base.mjs +19 -0
  204. package/dist/es/features/gestures/hover.mjs +42 -0
  205. package/dist/es/features/gestures/in-view.mjs +35 -0
  206. package/dist/es/features/gestures/press.mjs +37 -0
  207. package/dist/es/features/svg.mjs +31 -0
  208. package/dist/es/index.mjs +104 -0
  209. package/dist/es/state/event.mjs +6 -0
  210. package/dist/es/state/motion-state.mjs +175 -0
  211. package/dist/es/state/schedule.mjs +30 -0
  212. package/dist/es/state/style.mjs +117 -0
  213. package/dist/es/state/transform.mjs +68 -0
  214. package/dist/es/state/utils.mjs +119 -0
  215. package/dist/es/utils/createContext.mjs +25 -0
  216. package/dist/es/utils/events.mjs +8 -0
  217. package/dist/es/utils/motion-value.mjs +6 -0
  218. package/dist/es/utils/use-animation-frame.mjs +20 -0
  219. package/dist/es/utils/use-in-view.mjs +25 -0
  220. package/dist/es/value/use-combine-values.mjs +27 -0
  221. package/dist/es/value/use-computed.mjs +20 -0
  222. package/dist/es/value/use-motion-template.mjs +22 -0
  223. package/dist/es/value/use-scroll.mjs +56 -0
  224. package/dist/es/value/use-spring.mjs +59 -0
  225. package/dist/es/value/use-time.mjs +10 -0
  226. package/dist/es/value/use-transform.mjs +29 -0
  227. package/dist/src/animation/index.d.ts +1 -0
  228. package/dist/src/animation/use-animate.d.ts +8 -0
  229. package/dist/src/components/Motion.d.ts +3 -3
  230. package/dist/src/features/events.d.ts +1 -1
  231. package/dist/src/features/feature-manager.d.ts +9 -0
  232. package/dist/src/features/feature.d.ts +0 -7
  233. package/dist/src/features/index.d.ts +2 -1
  234. package/dist/src/index.d.ts +3 -0
  235. package/dist/src/state/motion-state.d.ts +1 -1
  236. package/dist/src/state/utils.d.ts +1 -1
  237. package/dist/src/types/state.d.ts +3 -2
  238. package/dist/src/utils/index.d.ts +2 -0
  239. package/dist/src/utils/use-dom-ref.d.ts +1 -0
  240. package/dist/src/utils/use-in-view.d.ts +3 -0
  241. package/package.json +8 -7
  242. package/dist/index.js +0 -4011
  243. package/dist/index.umd.cjs +0 -1
  244. package/dist/src/components/usePrimitiveElement.d.ts +0 -5
@@ -0,0 +1,31 @@
1
+ import { ref, onUnmounted } from "vue";
2
+ import { createScopedAnimate } from "../external/.pnpm/framer-motion@11.11.11/external/framer-motion/dist/es/animation/animate/index.mjs";
3
+ function useAnimate() {
4
+ const dom = ref(null);
5
+ const domProxy = new Proxy(dom, {
6
+ get(target, key) {
7
+ if (typeof key === "string" || typeof key === "symbol") {
8
+ if (key === "current")
9
+ return Reflect.get(target, "value");
10
+ return Reflect.get(target, key);
11
+ }
12
+ return void 0;
13
+ },
14
+ set(target, key, value) {
15
+ if (key === "value")
16
+ return Reflect.set(target, key, (value == null ? void 0 : value.$el) || value);
17
+ if (key === "animations")
18
+ return Reflect.set(target, key, value);
19
+ return true;
20
+ }
21
+ });
22
+ domProxy.animations = [];
23
+ const animate = createScopedAnimate(domProxy);
24
+ onUnmounted(() => {
25
+ domProxy.animations.forEach((animation) => animation.stop());
26
+ });
27
+ return [domProxy, animate];
28
+ }
29
+ export {
30
+ useAnimate
31
+ };
@@ -0,0 +1,71 @@
1
+ import { defineComponent, toRefs, openBlock, createBlock, resolveDynamicComponent, TransitionGroup, Transition, withCtx, renderSlot } from "vue";
2
+ import { mountedStates } from "../state/motion-state.mjs";
3
+ import { provideAnimatePresence, doneCallbacks, removeDoneCallback } from "./presence.mjs";
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ ...{
6
+ name: "AnimatePresence",
7
+ inheritAttrs: true
8
+ },
9
+ __name: "AnimatePresence",
10
+ props: {
11
+ mode: { default: "sync" },
12
+ initial: { type: Boolean, default: true },
13
+ multiple: { type: Boolean, default: false },
14
+ as: {}
15
+ },
16
+ setup(__props) {
17
+ const props = __props;
18
+ const { initial } = toRefs(props);
19
+ provideAnimatePresence({
20
+ initial,
21
+ safeUnmount(el) {
22
+ return !doneCallbacks.has(el);
23
+ }
24
+ });
25
+ function enter(el) {
26
+ const state = mountedStates.get(el);
27
+ if (!state) {
28
+ return;
29
+ }
30
+ removeDoneCallback(el);
31
+ state.setActive("exit", false);
32
+ }
33
+ function exit(el, done) {
34
+ const state = mountedStates.get(el);
35
+ if (!state) {
36
+ return done();
37
+ }
38
+ removeDoneCallback(el);
39
+ function doneCallback(e) {
40
+ var _a;
41
+ if ((_a = e == null ? void 0 : e.detail) == null ? void 0 : _a.isExit) {
42
+ removeDoneCallback(el);
43
+ done();
44
+ if (!el.isConnected) {
45
+ state.unmount();
46
+ }
47
+ }
48
+ }
49
+ doneCallbacks.set(el, doneCallback);
50
+ el.addEventListener("motioncomplete", doneCallback);
51
+ state.setActive("exit", true);
52
+ }
53
+ return (_ctx, _cache) => {
54
+ return openBlock(), createBlock(resolveDynamicComponent(_ctx.multiple ? TransitionGroup : Transition), {
55
+ tag: _ctx.multiple ? _ctx.as : void 0,
56
+ css: false,
57
+ mode: _ctx.mode === "wait" ? "out-in" : void 0,
58
+ onEnter: enter,
59
+ onLeave: exit
60
+ }, {
61
+ default: withCtx(() => [
62
+ renderSlot(_ctx.$slots, "default")
63
+ ]),
64
+ _: 3
65
+ }, 40, ["tag", "mode"]);
66
+ };
67
+ }
68
+ });
69
+ export {
70
+ _sfc_main as default
71
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./AnimatePresence.vue.mjs";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,116 @@
1
+ import { defineComponent, mergeDefaults, ref, useAttrs, getCurrentInstance, onMounted, onUnmounted, onUpdated, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot } from "vue";
2
+ import { injectMotion, provideMotion } from "./context.mjs";
3
+ import { createStyles, convertSvgStyleToAttributes } from "../state/style.mjs";
4
+ import { Primitive } from "./Primitive.mjs";
5
+ import { MotionState } from "../state/motion-state.mjs";
6
+ import { isSVGElement } from "../state/utils.mjs";
7
+ import { injectAnimatePresence } from "./presence.mjs";
8
+ import { isMotionValue } from "../utils/motion-value.mjs";
9
+ const _sfc_main = /* @__PURE__ */ defineComponent({
10
+ ...{
11
+ name: "Motion",
12
+ inheritAttrs: false
13
+ },
14
+ __name: "Motion",
15
+ props: /* @__PURE__ */ mergeDefaults({
16
+ as: {},
17
+ asChild: { type: Boolean },
18
+ custom: {},
19
+ inViewOptions: {},
20
+ inView: {},
21
+ press: {},
22
+ hover: {},
23
+ initial: { type: [String, Object, Boolean] },
24
+ animate: {},
25
+ exit: {},
26
+ variants: {},
27
+ style: {},
28
+ transformTemplate: { type: Function },
29
+ transition: {},
30
+ onMotionStart: { type: Function },
31
+ onMotionComplete: { type: Function },
32
+ onHoverStart: { type: Function },
33
+ onHoverEnd: { type: Function },
34
+ onPressStart: { type: Function },
35
+ onPressEnd: { type: Function },
36
+ onViewEnter: { type: Function },
37
+ onViewLeave: { type: Function }
38
+ }, {
39
+ as: "div",
40
+ asChild: false,
41
+ initial: void 0,
42
+ animate: void 0,
43
+ hover: void 0,
44
+ inView: void 0
45
+ }),
46
+ setup(__props) {
47
+ const props = __props;
48
+ const { initial: presenceInitial, safeUnmount } = injectAnimatePresence({ initial: ref(void 0), safeUnmount: () => true });
49
+ const parentState = injectMotion(null);
50
+ const attrs = useAttrs();
51
+ const state = new MotionState(
52
+ {
53
+ ...attrs,
54
+ ...props
55
+ },
56
+ parentState
57
+ );
58
+ provideMotion(state);
59
+ const instance = getCurrentInstance();
60
+ onMounted(() => {
61
+ state.mount(instance == null ? void 0 : instance.vnode.el);
62
+ state.update({
63
+ ...attrs,
64
+ ...props,
65
+ style: { ...createStyles(state.getTarget()), ...props.style }
66
+ });
67
+ });
68
+ onUnmounted(() => {
69
+ if (safeUnmount(instance == null ? void 0 : instance.vnode.el))
70
+ state.unmount();
71
+ });
72
+ onUpdated(() => {
73
+ state.update({
74
+ ...attrs,
75
+ ...props,
76
+ initial: presenceInitial.value === false ? presenceInitial.value : props.initial === true ? void 0 : props.initial
77
+ });
78
+ });
79
+ function getProps() {
80
+ const attrsProps = { ...attrs };
81
+ Object.keys(attrs).forEach((key) => {
82
+ if (isMotionValue(attrs[key]))
83
+ attrsProps[key] = attrs[key].get();
84
+ });
85
+ let styleProps = {
86
+ ...props.style
87
+ };
88
+ if (!state.isMounted()) {
89
+ if (isSVGElement(props.as)) {
90
+ const { attributes, style } = convertSvgStyleToAttributes(state.getTarget());
91
+ Object.assign(attrsProps, attributes);
92
+ Object.assign(styleProps, style, props.style);
93
+ } else {
94
+ Object.assign(styleProps, props.style, state.getTarget());
95
+ }
96
+ }
97
+ styleProps = createStyles(styleProps);
98
+ attrsProps.style = createStyles(styleProps);
99
+ return attrsProps;
100
+ }
101
+ return (_ctx, _cache) => {
102
+ return openBlock(), createBlock(unref(Primitive), mergeProps({
103
+ as: _ctx.as,
104
+ "as-child": _ctx.asChild
105
+ }, getProps()), {
106
+ default: withCtx(() => [
107
+ renderSlot(_ctx.$slots, "default")
108
+ ]),
109
+ _: 3
110
+ }, 16, ["as", "as-child"]);
111
+ };
112
+ }
113
+ });
114
+ export {
115
+ _sfc_main as default
116
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./Motion.vue.mjs";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,29 @@
1
+ import { defineComponent, h } from "vue";
2
+ import { Slot } from "./Slot.mjs";
3
+ const Primitive = defineComponent({
4
+ name: "Primitive",
5
+ inheritAttrs: false,
6
+ props: {
7
+ asChild: {
8
+ type: Boolean,
9
+ default: false
10
+ },
11
+ as: {
12
+ type: [String, Object],
13
+ default: "div"
14
+ }
15
+ },
16
+ setup(props, { attrs, slots }) {
17
+ const asTag = props.asChild ? "template" : props.as;
18
+ const SELF_CLOSING_TAGS = ["area", "img", "input"];
19
+ if (typeof asTag === "string" && SELF_CLOSING_TAGS.includes(asTag))
20
+ return () => h(asTag, attrs);
21
+ if (asTag !== "template") {
22
+ return () => h(props.as, attrs, { default: slots.default });
23
+ }
24
+ return () => h(Slot, attrs, { default: slots.default });
25
+ }
26
+ });
27
+ export {
28
+ Primitive
29
+ };
@@ -0,0 +1,36 @@
1
+ import { defineComponent, Comment, mergeProps, cloneVNode } from "vue";
2
+ import { renderSlotFragments } from "./renderSlotFragments.mjs";
3
+ const Slot = defineComponent({
4
+ name: "PrimitiveSlot",
5
+ inheritAttrs: false,
6
+ setup(_, { attrs, slots }) {
7
+ return () => {
8
+ var _a, _b;
9
+ if (!slots.default)
10
+ return null;
11
+ const childrens = renderSlotFragments(slots.default());
12
+ const firstNonCommentChildrenIndex = childrens.findIndex((child) => child.type !== Comment);
13
+ if (firstNonCommentChildrenIndex === -1)
14
+ return childrens;
15
+ const firstNonCommentChildren = childrens[firstNonCommentChildrenIndex];
16
+ (_a = firstNonCommentChildren.props) == null ? true : delete _a.ref;
17
+ const mergedProps = firstNonCommentChildren.props ? mergeProps(attrs, firstNonCommentChildren.props) : attrs;
18
+ if (attrs.class && ((_b = firstNonCommentChildren.props) == null ? void 0 : _b.class))
19
+ delete firstNonCommentChildren.props.class;
20
+ const cloned = cloneVNode(firstNonCommentChildren, mergedProps);
21
+ for (const prop in mergedProps) {
22
+ if (prop.startsWith("on")) {
23
+ cloned.props || (cloned.props = {});
24
+ cloned.props[prop] = mergedProps[prop];
25
+ }
26
+ }
27
+ if (childrens.length === 1)
28
+ return cloned;
29
+ childrens[firstNonCommentChildrenIndex] = cloned;
30
+ return childrens;
31
+ };
32
+ }
33
+ });
34
+ export {
35
+ Slot
36
+ };
@@ -0,0 +1,6 @@
1
+ import { createContext } from "../utils/createContext.mjs";
2
+ const [injectMotion, provideMotion] = createContext("Motion");
3
+ export {
4
+ injectMotion,
5
+ provideMotion
6
+ };
@@ -0,0 +1,16 @@
1
+ import { createContext } from "../utils/createContext.mjs";
2
+ const doneCallbacks = /* @__PURE__ */ new Map();
3
+ function removeDoneCallback(element) {
4
+ const prevDoneCallback = doneCallbacks.get(element);
5
+ if (prevDoneCallback) {
6
+ element.removeEventListener("motioncomplete", prevDoneCallback);
7
+ }
8
+ doneCallbacks.delete(element);
9
+ }
10
+ const [injectAnimatePresence, provideAnimatePresence] = createContext("AnimatePresenceContext");
11
+ export {
12
+ doneCallbacks,
13
+ injectAnimatePresence,
14
+ provideAnimatePresence,
15
+ removeDoneCallback
16
+ };
@@ -0,0 +1,13 @@
1
+ import { Fragment } from "vue";
2
+ function renderSlotFragments(children) {
3
+ if (!children)
4
+ return [];
5
+ return children.flatMap((child) => {
6
+ if (child.type === Fragment)
7
+ return renderSlotFragments(child.children);
8
+ return [child];
9
+ });
10
+ }
11
+ export {
12
+ renderSlotFragments
13
+ };
@@ -0,0 +1,20 @@
1
+ const components = {
2
+ motion: [
3
+ "Motion",
4
+ "MotionPresence"
5
+ ]
6
+ };
7
+ const utilities = {
8
+ utilities: [
9
+ "useTransform",
10
+ "useTime",
11
+ "useMotionTemplate",
12
+ "useSpring",
13
+ "useScroll",
14
+ "useMotionValue"
15
+ ]
16
+ };
17
+ export {
18
+ components,
19
+ utilities
20
+ };
@@ -0,0 +1,76 @@
1
+ import { supportsScrollTimeline } from "../render/dom/scroll/supports.mjs";
2
+ class GroupPlaybackControls {
3
+ constructor(animations) {
4
+ this.stop = () => this.runAll("stop");
5
+ this.animations = animations.filter(Boolean);
6
+ }
7
+ then(onResolve, onReject) {
8
+ return Promise.all(this.animations).then(onResolve).catch(onReject);
9
+ }
10
+ /**
11
+ * TODO: Filter out cancelled or stopped animations before returning
12
+ */
13
+ getAll(propName) {
14
+ return this.animations[0][propName];
15
+ }
16
+ setAll(propName, newValue) {
17
+ for (let i = 0; i < this.animations.length; i++) {
18
+ this.animations[i][propName] = newValue;
19
+ }
20
+ }
21
+ attachTimeline(timeline, fallback) {
22
+ const subscriptions = this.animations.map((animation) => {
23
+ if (supportsScrollTimeline() && animation.attachTimeline) {
24
+ return animation.attachTimeline(timeline);
25
+ } else {
26
+ return fallback(animation);
27
+ }
28
+ });
29
+ return () => {
30
+ subscriptions.forEach((cancel, i) => {
31
+ cancel && cancel();
32
+ this.animations[i].stop();
33
+ });
34
+ };
35
+ }
36
+ get time() {
37
+ return this.getAll("time");
38
+ }
39
+ set time(time) {
40
+ this.setAll("time", time);
41
+ }
42
+ get speed() {
43
+ return this.getAll("speed");
44
+ }
45
+ set speed(speed) {
46
+ this.setAll("speed", speed);
47
+ }
48
+ get startTime() {
49
+ return this.getAll("startTime");
50
+ }
51
+ get duration() {
52
+ let max = 0;
53
+ for (let i = 0; i < this.animations.length; i++) {
54
+ max = Math.max(max, this.animations[i].duration);
55
+ }
56
+ return max;
57
+ }
58
+ runAll(methodName) {
59
+ this.animations.forEach((controls) => controls[methodName]());
60
+ }
61
+ play() {
62
+ this.runAll("play");
63
+ }
64
+ pause() {
65
+ this.runAll("pause");
66
+ }
67
+ cancel() {
68
+ this.runAll("cancel");
69
+ }
70
+ complete() {
71
+ this.runAll("complete");
72
+ }
73
+ }
74
+ export {
75
+ GroupPlaybackControls
76
+ };
@@ -0,0 +1,27 @@
1
+ import { GroupPlaybackControls } from "../GroupPlaybackControls.mjs";
2
+ import { animateSequence } from "./sequence.mjs";
3
+ import { animateSubject } from "./subject.mjs";
4
+ function isSequence(value) {
5
+ return Array.isArray(value) && Array.isArray(value[0]);
6
+ }
7
+ function createScopedAnimate(scope) {
8
+ function scopedAnimate(subjectOrSequence, optionsOrKeyframes, options) {
9
+ let animations = [];
10
+ if (isSequence(subjectOrSequence)) {
11
+ animations = animateSequence(subjectOrSequence, optionsOrKeyframes, scope);
12
+ } else {
13
+ animations = animateSubject(subjectOrSequence, optionsOrKeyframes, options, scope);
14
+ }
15
+ const animation = new GroupPlaybackControls(animations);
16
+ if (scope) {
17
+ scope.animations.push(animation);
18
+ }
19
+ return animation;
20
+ }
21
+ return scopedAnimate;
22
+ }
23
+ const animate = createScopedAnimate();
24
+ export {
25
+ animate,
26
+ createScopedAnimate
27
+ };
@@ -0,0 +1,16 @@
1
+ import { resolveElements } from "../../render/dom/utils/resolve-element.mjs";
2
+ import { isDOMKeyframes } from "../utils/is-dom-keyframes.mjs";
3
+ function resolveSubjects(subject, keyframes, scope, selectorCache) {
4
+ if (typeof subject === "string" && isDOMKeyframes(keyframes)) {
5
+ return resolveElements(subject, scope, selectorCache);
6
+ } else if (subject instanceof NodeList) {
7
+ return Array.from(subject);
8
+ } else if (Array.isArray(subject)) {
9
+ return subject;
10
+ } else {
11
+ return [subject];
12
+ }
13
+ }
14
+ export {
15
+ resolveSubjects
16
+ };
@@ -0,0 +1,14 @@
1
+ import { spring } from "../generators/spring/index.mjs";
2
+ import { createAnimationsFromSequence } from "../sequence/create.mjs";
3
+ import { animateSubject } from "./subject.mjs";
4
+ function animateSequence(sequence, options, scope) {
5
+ const animations = [];
6
+ const animationDefinitions = createAnimationsFromSequence(sequence, options, scope, { spring });
7
+ animationDefinitions.forEach(({ keyframes, transition }, subject) => {
8
+ animations.push(...animateSubject(subject, keyframes, transition));
9
+ });
10
+ return animations;
11
+ }
12
+ export {
13
+ animateSequence
14
+ };
@@ -0,0 +1,11 @@
1
+ import { animateMotionValue } from "../interfaces/motion-value.mjs";
2
+ import { motionValue } from "../../value/index.mjs";
3
+ import { isMotionValue } from "../../value/utils/is-motion-value.mjs";
4
+ function animateSingleValue(value, keyframes, options) {
5
+ const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
6
+ motionValue$1.start(animateMotionValue("", motionValue$1, keyframes, options));
7
+ return motionValue$1.animation;
8
+ }
9
+ export {
10
+ animateSingleValue
11
+ };
@@ -0,0 +1,38 @@
1
+ import { visualElementStore } from "../../render/store.mjs";
2
+ import { invariant } from "../../utils/errors.mjs";
3
+ import { isMotionValue } from "../../value/utils/is-motion-value.mjs";
4
+ import { animateTarget } from "../interfaces/visual-element-target.mjs";
5
+ import { createDOMVisualElement, createObjectVisualElement } from "../utils/create-visual-element.mjs";
6
+ import { isDOMKeyframes } from "../utils/is-dom-keyframes.mjs";
7
+ import { resolveSubjects } from "./resolve-subjects.mjs";
8
+ import { animateSingleValue } from "./single-value.mjs";
9
+ function isSingleValue(subject, keyframes) {
10
+ return isMotionValue(subject) || typeof subject === "number" || typeof subject === "string" && !isDOMKeyframes(keyframes);
11
+ }
12
+ function animateSubject(subject, keyframes, options, scope) {
13
+ const animations = [];
14
+ if (isSingleValue(subject, keyframes)) {
15
+ animations.push(animateSingleValue(subject, isDOMKeyframes(keyframes) ? keyframes.default || keyframes : keyframes, options ? options.default || options : options));
16
+ } else {
17
+ const subjects = resolveSubjects(subject, keyframes, scope);
18
+ const numSubjects = subjects.length;
19
+ invariant(Boolean(numSubjects), "No valid elements provided.");
20
+ for (let i = 0; i < numSubjects; i++) {
21
+ const thisSubject = subjects[i];
22
+ const createVisualElement = thisSubject instanceof Element ? createDOMVisualElement : createObjectVisualElement;
23
+ if (!visualElementStore.has(thisSubject)) {
24
+ createVisualElement(thisSubject);
25
+ }
26
+ const visualElement = visualElementStore.get(thisSubject);
27
+ const transition = { ...options };
28
+ if ("delay" in transition && typeof transition.delay === "function") {
29
+ transition.delay = transition.delay(i, numSubjects);
30
+ }
31
+ animations.push(...animateTarget(visualElement, { ...keyframes, transition }, {}));
32
+ }
33
+ }
34
+ return animations;
35
+ }
36
+ export {
37
+ animateSubject
38
+ };