motion-v 0.3.0 → 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 (411) hide show
  1. package/dist/cjs/index.js +5858 -1
  2. package/dist/es/animation/use-animate.mjs +25 -15
  3. package/dist/es/components/AnimatePresence.vue.mjs +57 -39
  4. package/dist/es/components/AnimatePresence.vue2.mjs +2 -2
  5. package/dist/es/components/Motion.vue.mjs +73 -55
  6. package/dist/es/components/Motion.vue2.mjs +2 -2
  7. package/dist/es/components/Primitive.mjs +15 -9
  8. package/dist/es/components/Slot.mjs +28 -19
  9. package/dist/es/components/context.mjs +4 -4
  10. package/dist/es/components/presence.mjs +13 -10
  11. package/dist/es/components/renderSlotFragments.mjs +10 -4
  12. package/dist/es/constants/index.mjs +5 -4
  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/{node_modules/.pnpm/framer-motion@11.11.11/node_modules → external/.pnpm/framer-motion@11.11.11/external}/framer-motion/dist/es/animation/animators/utils/accelerated-values.mjs +2 -2
  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/{node_modules/.pnpm/framer-motion@11.11.11/node_modules → external/.pnpm/framer-motion@11.11.11/external}/framer-motion/dist/es/motion/features/definitions.mjs +8 -6
  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/{node_modules/.pnpm/framer-motion@11.11.11/node_modules → external/.pnpm/framer-motion@11.11.11/external}/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs +2 -2
  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/{node_modules/.pnpm/framer-motion@11.11.11/node_modules → external/.pnpm/framer-motion@11.11.11/external}/framer-motion/dist/es/render/html/utils/transform.mjs +5 -4
  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/{node_modules/.pnpm/framer-motion@11.11.11/node_modules → external/.pnpm/framer-motion@11.11.11/external}/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs +2 -2
  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 +59 -43
  201. package/dist/es/features/feature-manager.mjs +18 -17
  202. package/dist/es/features/feature.mjs +4 -4
  203. package/dist/es/features/gestures/base.mjs +12 -7
  204. package/dist/es/features/gestures/hover.mjs +25 -16
  205. package/dist/es/features/gestures/in-view.mjs +21 -15
  206. package/dist/es/features/gestures/press.mjs +22 -13
  207. package/dist/es/features/svg.mjs +14 -13
  208. package/dist/es/index.mjs +102 -102
  209. package/dist/es/state/event.mjs +3 -3
  210. package/dist/es/state/motion-state.mjs +129 -88
  211. package/dist/es/state/schedule.mjs +23 -15
  212. package/dist/es/state/style.mjs +105 -81
  213. package/dist/es/state/transform.mjs +38 -29
  214. package/dist/es/state/utils.mjs +51 -45
  215. package/dist/es/utils/createContext.mjs +19 -11
  216. package/dist/es/utils/events.mjs +4 -4
  217. package/dist/es/utils/motion-value.mjs +3 -3
  218. package/dist/es/utils/use-animation-frame.mjs +17 -11
  219. package/dist/es/utils/use-in-view.mjs +20 -14
  220. package/dist/es/value/use-combine-values.mjs +22 -17
  221. package/dist/es/value/use-computed.mjs +17 -10
  222. package/dist/es/value/use-motion-template.mjs +17 -14
  223. package/dist/es/value/use-scroll.mjs +42 -33
  224. package/dist/es/value/use-spring.mjs +48 -28
  225. package/dist/es/value/use-time.mjs +7 -6
  226. package/dist/es/value/use-transform.mjs +24 -20
  227. package/package.json +2 -1
  228. package/dist/es/node_modules/.pnpm/@vueuse_shared@11.1.0_vue@3.4.38_typescript@5.5.4_/node_modules/@vueuse/shared/index.mjs +0 -6
  229. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/GroupPlaybackControls.mjs +0 -66
  230. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/index.mjs +0 -20
  231. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/resolve-subjects.mjs +0 -8
  232. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/sequence.mjs +0 -12
  233. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/single-value.mjs +0 -10
  234. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/subject.mjs +0 -30
  235. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/AcceleratedAnimation.mjs +0 -202
  236. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/BaseAnimation.mjs +0 -79
  237. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/MainThreadAnimation.mjs +0 -148
  238. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/drivers/driver-frameloop.mjs +0 -17
  239. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/utils/can-animate.mjs +0 -23
  240. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/NativeAnimation.mjs +0 -106
  241. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs +0 -24
  242. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs +0 -12
  243. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/easing.mjs +0 -27
  244. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/index.mjs +0 -17
  245. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/attach-timeline.mjs +0 -6
  246. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs +0 -8
  247. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/linear.mjs +0 -11
  248. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/memo-supports.mjs +0 -12
  249. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/style.mjs +0 -10
  250. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-flags.mjs +0 -6
  251. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-linear-easing.mjs +0 -12
  252. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-partial-keyframes.mjs +0 -12
  253. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-waapi.mjs +0 -5
  254. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/inertia.mjs +0 -37
  255. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/keyframes.mjs +0 -30
  256. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/spring/find.mjs +0 -55
  257. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/spring/index.mjs +0 -67
  258. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/utils/calc-duration.mjs +0 -13
  259. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/utils/is-generator.mjs +0 -6
  260. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/utils/velocity.mjs +0 -9
  261. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs +0 -46
  262. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs +0 -45
  263. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs +0 -6
  264. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs +0 -7
  265. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/create.mjs +0 -106
  266. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs +0 -7
  267. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/utils/edit.mjs +0 -22
  268. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/utils/sort.mjs +0 -6
  269. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/create-visual-element.mjs +0 -39
  270. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs +0 -22
  271. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/get-value-transition.mjs +0 -6
  272. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs +0 -7
  273. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs +0 -6
  274. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs +0 -6
  275. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs +0 -4
  276. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-none.mjs +0 -7
  277. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-transition-defined.mjs +0 -6
  278. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/stagger.mjs +0 -24
  279. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/anticipate.mjs +0 -5
  280. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/back.mjs +0 -9
  281. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/circ.mjs +0 -8
  282. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs +0 -18
  283. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/ease.mjs +0 -7
  284. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs +0 -4
  285. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs +0 -4
  286. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/steps.mjs +0 -11
  287. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/create-generator-easing.mjs +0 -13
  288. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/get-easing-for-segment.mjs +0 -8
  289. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/is-bezier-definition.mjs +0 -4
  290. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/is-easing-array.mjs +0 -4
  291. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/map.mjs +0 -32
  292. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/batcher.mjs +0 -39
  293. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/frame.mjs +0 -9
  294. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/index-legacy.mjs +0 -7
  295. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/render-step.mjs +0 -41
  296. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/sync-time.mjs +0 -15
  297. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs +0 -8
  298. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs +0 -21
  299. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/models.mjs +0 -8
  300. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs +0 -4
  301. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/utils/measure.mjs +0 -7
  302. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/VisualElement.mjs +0 -226
  303. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/DOMKeyframesResolver.mjs +0 -65
  304. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs +0 -19
  305. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/resize/handle-element.mjs +0 -46
  306. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/resize/handle-window.mjs +0 -23
  307. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/resize/index.mjs +0 -8
  308. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/index.mjs +0 -46
  309. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs +0 -38
  310. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/observe.mjs +0 -12
  311. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs +0 -17
  312. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs +0 -26
  313. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs +0 -25
  314. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs +0 -9
  315. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs +0 -23
  316. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/supports.mjs +0 -5
  317. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/track.mjs +0 -40
  318. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs +0 -4
  319. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs +0 -31
  320. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs +0 -5
  321. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs +0 -6
  322. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/resolve-element.mjs +0 -12
  323. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs +0 -52
  324. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs +0 -10
  325. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs +0 -24
  326. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs +0 -9
  327. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs +0 -8
  328. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs +0 -4
  329. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/number-browser.mjs +0 -41
  330. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs +0 -18
  331. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs +0 -4
  332. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/transform.mjs +0 -31
  333. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs +0 -7
  334. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs +0 -8
  335. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs +0 -25
  336. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs +0 -46
  337. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs +0 -29
  338. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs +0 -31
  339. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/make-none-animatable.mjs +0 -16
  340. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/render.mjs +0 -8
  341. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs +0 -12
  342. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/object/ObjectVisualElement.mjs +0 -37
  343. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/store.mjs +0 -4
  344. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs +0 -40
  345. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs +0 -26
  346. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs +0 -4
  347. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/path.mjs +0 -18
  348. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/render.mjs +0 -11
  349. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs +0 -15
  350. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs +0 -11
  351. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/KeyframesResolver.mjs +0 -76
  352. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs +0 -13
  353. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs +0 -6
  354. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs +0 -26
  355. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs +0 -8
  356. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs +0 -20
  357. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/setters.mjs +0 -18
  358. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/variant-props.mjs +0 -13
  359. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/GlobalConfig.mjs +0 -7
  360. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/array.mjs +0 -11
  361. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/clamp.mjs +0 -4
  362. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/delay.mjs +0 -17
  363. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/distance.mjs +0 -9
  364. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/errors.mjs +0 -12
  365. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs +0 -22
  366. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/interpolate.mjs +0 -38
  367. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/is-browser.mjs +0 -4
  368. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs +0 -4
  369. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs +0 -4
  370. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/memo.mjs +0 -7
  371. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/color.mjs +0 -29
  372. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/complex.mjs +0 -52
  373. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/immediate.mjs +0 -6
  374. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/index.mjs +0 -8
  375. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/number.mjs +0 -4
  376. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/visibility.mjs +0 -8
  377. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/noop.mjs +0 -4
  378. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/offsets/default.mjs +0 -8
  379. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/offsets/fill.mjs +0 -12
  380. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/offsets/time.mjs +0 -6
  381. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/pipe.mjs +0 -4
  382. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/progress.mjs +0 -7
  383. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs +0 -13
  384. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs +0 -5
  385. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/resolve-value.mjs +0 -5
  386. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/subscription-manager.mjs +0 -29
  387. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/time-conversion.mjs +0 -5
  388. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/transform.mjs +0 -12
  389. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs +0 -6
  390. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/warn-once.mjs +0 -7
  391. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/wrap.mjs +0 -7
  392. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/index.mjs +0 -210
  393. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/hex.mjs +0 -19
  394. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/hsla.mjs +0 -12
  395. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/index.mjs +0 -11
  396. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/rgba.mjs +0 -16
  397. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/utils.mjs +0 -18
  398. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/complex/filter.mjs +0 -24
  399. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/complex/index.mjs +0 -49
  400. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/numbers/index.mjs +0 -17
  401. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/numbers/units.mjs +0 -17
  402. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/color-regex.mjs +0 -4
  403. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/float-regex.mjs +0 -4
  404. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/is-nullish.mjs +0 -6
  405. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/sanitize.mjs +0 -4
  406. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/single-color-regex.mjs +0 -4
  407. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/use-will-change/add-will-change.mjs +0 -9
  408. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/use-will-change/is.mjs +0 -7
  409. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs +0 -4
  410. package/dist/es/node_modules/.pnpm/hey-listen@1.0.8/node_modules/hey-listen/dist/hey-listen.es.mjs +0 -13
  411. package/dist/src/components/usePrimitiveElement.d.ts +0 -5
@@ -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
+ };
@@ -0,0 +1,243 @@
1
+ import { anticipate } from "../../easing/anticipate.mjs";
2
+ import { backInOut } from "../../easing/back.mjs";
3
+ import { circInOut } from "../../easing/circ.mjs";
4
+ import { DOMKeyframesResolver } from "../../render/dom/DOMKeyframesResolver.mjs";
5
+ import { noop } from "../../utils/noop.mjs";
6
+ import { millisecondsToSeconds, secondsToMilliseconds } from "../../utils/time-conversion.mjs";
7
+ import { isGenerator } from "../generators/utils/is-generator.mjs";
8
+ import { BaseAnimation } from "./BaseAnimation.mjs";
9
+ import { MainThreadAnimation } from "./MainThreadAnimation.mjs";
10
+ import { acceleratedValues } from "./utils/accelerated-values.mjs";
11
+ import { startWaapiAnimation } from "./waapi/index.mjs";
12
+ import { isWaapiSupportedEasing } from "./waapi/easing.mjs";
13
+ import { attachTimeline } from "./waapi/utils/attach-timeline.mjs";
14
+ import { getFinalKeyframe } from "./waapi/utils/get-final-keyframe.mjs";
15
+ import { supportsLinearEasing } from "./waapi/utils/supports-linear-easing.mjs";
16
+ import { supportsWaapi } from "./waapi/utils/supports-waapi.mjs";
17
+ const sampleDelta = 10;
18
+ const maxDuration = 2e4;
19
+ function requiresPregeneratedKeyframes(options) {
20
+ return isGenerator(options.type) || options.type === "spring" || !isWaapiSupportedEasing(options.ease);
21
+ }
22
+ function pregenerateKeyframes(keyframes, options) {
23
+ const sampleAnimation = new MainThreadAnimation({
24
+ ...options,
25
+ keyframes,
26
+ repeat: 0,
27
+ delay: 0,
28
+ isGenerator: true
29
+ });
30
+ let state = { done: false, value: keyframes[0] };
31
+ const pregeneratedKeyframes = [];
32
+ let t = 0;
33
+ while (!state.done && t < maxDuration) {
34
+ state = sampleAnimation.sample(t);
35
+ pregeneratedKeyframes.push(state.value);
36
+ t += sampleDelta;
37
+ }
38
+ return {
39
+ times: void 0,
40
+ keyframes: pregeneratedKeyframes,
41
+ duration: t - sampleDelta,
42
+ ease: "linear"
43
+ };
44
+ }
45
+ const unsupportedEasingFunctions = {
46
+ anticipate,
47
+ backInOut,
48
+ circInOut
49
+ };
50
+ function isUnsupportedEase(key) {
51
+ return key in unsupportedEasingFunctions;
52
+ }
53
+ class AcceleratedAnimation extends BaseAnimation {
54
+ constructor(options) {
55
+ super(options);
56
+ const { name, motionValue, element, keyframes } = this.options;
57
+ this.resolver = new DOMKeyframesResolver(keyframes, (resolvedKeyframes, finalKeyframe) => this.onKeyframesResolved(resolvedKeyframes, finalKeyframe), name, motionValue, element);
58
+ this.resolver.scheduleResolve();
59
+ }
60
+ initPlayback(keyframes, finalKeyframe) {
61
+ var _a;
62
+ let { duration = 300, times, ease, type, motionValue, name, startTime } = this.options;
63
+ if (!((_a = motionValue.owner) === null || _a === void 0 ? void 0 : _a.current)) {
64
+ return false;
65
+ }
66
+ if (typeof ease === "string" && supportsLinearEasing() && isUnsupportedEase(ease)) {
67
+ ease = unsupportedEasingFunctions[ease];
68
+ }
69
+ if (requiresPregeneratedKeyframes(this.options)) {
70
+ const { onComplete, onUpdate, motionValue: motionValue2, element, ...options } = this.options;
71
+ const pregeneratedAnimation = pregenerateKeyframes(keyframes, options);
72
+ keyframes = pregeneratedAnimation.keyframes;
73
+ if (keyframes.length === 1) {
74
+ keyframes[1] = keyframes[0];
75
+ }
76
+ duration = pregeneratedAnimation.duration;
77
+ times = pregeneratedAnimation.times;
78
+ ease = pregeneratedAnimation.ease;
79
+ type = "keyframes";
80
+ }
81
+ const animation = startWaapiAnimation(motionValue.owner.current, name, keyframes, { ...this.options, duration, times, ease });
82
+ animation.startTime = startTime !== null && startTime !== void 0 ? startTime : this.calcStartTime();
83
+ if (this.pendingTimeline) {
84
+ attachTimeline(animation, this.pendingTimeline);
85
+ this.pendingTimeline = void 0;
86
+ } else {
87
+ animation.onfinish = () => {
88
+ const { onComplete } = this.options;
89
+ motionValue.set(getFinalKeyframe(keyframes, this.options, finalKeyframe));
90
+ onComplete && onComplete();
91
+ this.cancel();
92
+ this.resolveFinishedPromise();
93
+ };
94
+ }
95
+ return {
96
+ animation,
97
+ duration,
98
+ times,
99
+ type,
100
+ ease,
101
+ keyframes
102
+ };
103
+ }
104
+ get duration() {
105
+ const { resolved } = this;
106
+ if (!resolved)
107
+ return 0;
108
+ const { duration } = resolved;
109
+ return millisecondsToSeconds(duration);
110
+ }
111
+ get time() {
112
+ const { resolved } = this;
113
+ if (!resolved)
114
+ return 0;
115
+ const { animation } = resolved;
116
+ return millisecondsToSeconds(animation.currentTime || 0);
117
+ }
118
+ set time(newTime) {
119
+ const { resolved } = this;
120
+ if (!resolved)
121
+ return;
122
+ const { animation } = resolved;
123
+ animation.currentTime = secondsToMilliseconds(newTime);
124
+ }
125
+ get speed() {
126
+ const { resolved } = this;
127
+ if (!resolved)
128
+ return 1;
129
+ const { animation } = resolved;
130
+ return animation.playbackRate;
131
+ }
132
+ set speed(newSpeed) {
133
+ const { resolved } = this;
134
+ if (!resolved)
135
+ return;
136
+ const { animation } = resolved;
137
+ animation.playbackRate = newSpeed;
138
+ }
139
+ get state() {
140
+ const { resolved } = this;
141
+ if (!resolved)
142
+ return "idle";
143
+ const { animation } = resolved;
144
+ return animation.playState;
145
+ }
146
+ get startTime() {
147
+ const { resolved } = this;
148
+ if (!resolved)
149
+ return null;
150
+ const { animation } = resolved;
151
+ return animation.startTime;
152
+ }
153
+ /**
154
+ * Replace the default DocumentTimeline with another AnimationTimeline.
155
+ * Currently used for scroll animations.
156
+ */
157
+ attachTimeline(timeline) {
158
+ if (!this._resolved) {
159
+ this.pendingTimeline = timeline;
160
+ } else {
161
+ const { resolved } = this;
162
+ if (!resolved)
163
+ return noop;
164
+ const { animation } = resolved;
165
+ attachTimeline(animation, timeline);
166
+ }
167
+ return noop;
168
+ }
169
+ play() {
170
+ if (this.isStopped)
171
+ return;
172
+ const { resolved } = this;
173
+ if (!resolved)
174
+ return;
175
+ const { animation } = resolved;
176
+ if (animation.playState === "finished") {
177
+ this.updateFinishedPromise();
178
+ }
179
+ animation.play();
180
+ }
181
+ pause() {
182
+ const { resolved } = this;
183
+ if (!resolved)
184
+ return;
185
+ const { animation } = resolved;
186
+ animation.pause();
187
+ }
188
+ stop() {
189
+ this.resolver.cancel();
190
+ this.isStopped = true;
191
+ if (this.state === "idle")
192
+ return;
193
+ this.resolveFinishedPromise();
194
+ this.updateFinishedPromise();
195
+ const { resolved } = this;
196
+ if (!resolved)
197
+ return;
198
+ const { animation, keyframes, duration, type, ease, times } = resolved;
199
+ if (animation.playState === "idle" || animation.playState === "finished") {
200
+ return;
201
+ }
202
+ if (this.time) {
203
+ const { motionValue, onUpdate, onComplete, element, ...options } = this.options;
204
+ const sampleAnimation = new MainThreadAnimation({
205
+ ...options,
206
+ keyframes,
207
+ duration,
208
+ type,
209
+ ease,
210
+ times,
211
+ isGenerator: true
212
+ });
213
+ const sampleTime = secondsToMilliseconds(this.time);
214
+ motionValue.setWithVelocity(sampleAnimation.sample(sampleTime - sampleDelta).value, sampleAnimation.sample(sampleTime).value, sampleDelta);
215
+ }
216
+ const { onStop } = this.options;
217
+ onStop && onStop();
218
+ this.cancel();
219
+ }
220
+ complete() {
221
+ const { resolved } = this;
222
+ if (!resolved)
223
+ return;
224
+ resolved.animation.finish();
225
+ }
226
+ cancel() {
227
+ const { resolved } = this;
228
+ if (!resolved)
229
+ return;
230
+ resolved.animation.cancel();
231
+ }
232
+ static supports(options) {
233
+ const { motionValue, name, repeatDelay, repeatType, damping, type } = options;
234
+ return supportsWaapi() && name && acceleratedValues.has(name) && motionValue && motionValue.owner && motionValue.owner.current instanceof HTMLElement && /**
235
+ * If we're outputting values to onUpdate then we can't use WAAPI as there's
236
+ * no way to read the value from WAAPI every frame.
237
+ */
238
+ !motionValue.owner.getProps().onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
239
+ }
240
+ }
241
+ export {
242
+ AcceleratedAnimation
243
+ };
@@ -0,0 +1,95 @@
1
+ import { time } from "../../frameloop/sync-time.mjs";
2
+ import { flushKeyframeResolvers } from "../../render/utils/KeyframesResolver.mjs";
3
+ import { canAnimate } from "./utils/can-animate.mjs";
4
+ import { getFinalKeyframe } from "./waapi/utils/get-final-keyframe.mjs";
5
+ const MAX_RESOLVE_DELAY = 40;
6
+ class BaseAnimation {
7
+ constructor({ autoplay = true, delay = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", ...options }) {
8
+ this.isStopped = false;
9
+ this.hasAttemptedResolve = false;
10
+ this.createdAt = time.now();
11
+ this.options = {
12
+ autoplay,
13
+ delay,
14
+ type,
15
+ repeat,
16
+ repeatDelay,
17
+ repeatType,
18
+ ...options
19
+ };
20
+ this.updateFinishedPromise();
21
+ }
22
+ /**
23
+ * This method uses the createdAt and resolvedAt to calculate the
24
+ * animation startTime. *Ideally*, we would use the createdAt time as t=0
25
+ * as the following frame would then be the first frame of the animation in
26
+ * progress, which would feel snappier.
27
+ *
28
+ * However, if there's a delay (main thread work) between the creation of
29
+ * the animation and the first commited frame, we prefer to use resolvedAt
30
+ * to avoid a sudden jump into the animation.
31
+ */
32
+ calcStartTime() {
33
+ if (!this.resolvedAt)
34
+ return this.createdAt;
35
+ return this.resolvedAt - this.createdAt > MAX_RESOLVE_DELAY ? this.resolvedAt : this.createdAt;
36
+ }
37
+ /**
38
+ * A getter for resolved data. If keyframes are not yet resolved, accessing
39
+ * this.resolved will synchronously flush all pending keyframe resolvers.
40
+ * This is a deoptimisation, but at its worst still batches read/writes.
41
+ */
42
+ get resolved() {
43
+ if (!this._resolved && !this.hasAttemptedResolve) {
44
+ flushKeyframeResolvers();
45
+ }
46
+ return this._resolved;
47
+ }
48
+ /**
49
+ * A method to be called when the keyframes resolver completes. This method
50
+ * will check if its possible to run the animation and, if not, skip it.
51
+ * Otherwise, it will call initPlayback on the implementing class.
52
+ */
53
+ onKeyframesResolved(keyframes, finalKeyframe) {
54
+ this.resolvedAt = time.now();
55
+ this.hasAttemptedResolve = true;
56
+ const { name, type, velocity, delay, onComplete, onUpdate, isGenerator } = this.options;
57
+ if (!isGenerator && !canAnimate(keyframes, name, type, velocity)) {
58
+ if (!delay) {
59
+ onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(getFinalKeyframe(keyframes, this.options, finalKeyframe));
60
+ onComplete === null || onComplete === void 0 ? void 0 : onComplete();
61
+ this.resolveFinishedPromise();
62
+ return;
63
+ } else {
64
+ this.options.duration = 0;
65
+ }
66
+ }
67
+ const resolvedAnimation = this.initPlayback(keyframes, finalKeyframe);
68
+ if (resolvedAnimation === false)
69
+ return;
70
+ this._resolved = {
71
+ keyframes,
72
+ finalKeyframe,
73
+ ...resolvedAnimation
74
+ };
75
+ this.onPostResolved();
76
+ }
77
+ onPostResolved() {
78
+ }
79
+ /**
80
+ * Allows the returned animation to be awaited or promise-chained. Currently
81
+ * resolves when the animation finishes at all but in a future update could/should
82
+ * reject if its cancels.
83
+ */
84
+ then(resolve, reject) {
85
+ return this.currentFinishedPromise.then(resolve, reject);
86
+ }
87
+ updateFinishedPromise() {
88
+ this.currentFinishedPromise = new Promise((resolve) => {
89
+ this.resolveFinishedPromise = resolve;
90
+ });
91
+ }
92
+ }
93
+ export {
94
+ BaseAnimation
95
+ };
@@ -0,0 +1,275 @@
1
+ import { KeyframeResolver } from "../../render/utils/KeyframesResolver.mjs";
2
+ import { spring } from "../generators/spring/index.mjs";
3
+ import { inertia } from "../generators/inertia.mjs";
4
+ import { keyframes } from "../generators/keyframes.mjs";
5
+ import { BaseAnimation } from "./BaseAnimation.mjs";
6
+ import { pipe } from "../../utils/pipe.mjs";
7
+ import { mix } from "../../utils/mix/index.mjs";
8
+ import { calcGeneratorDuration } from "../generators/utils/calc-duration.mjs";
9
+ import { millisecondsToSeconds, secondsToMilliseconds } from "../../utils/time-conversion.mjs";
10
+ import { clamp } from "../../utils/clamp.mjs";
11
+ import { invariant } from "../../utils/errors.mjs";
12
+ import { frameloopDriver } from "./drivers/driver-frameloop.mjs";
13
+ import { getFinalKeyframe } from "./waapi/utils/get-final-keyframe.mjs";
14
+ import { isGenerator } from "../generators/utils/is-generator.mjs";
15
+ const generators = {
16
+ decay: inertia,
17
+ inertia,
18
+ tween: keyframes,
19
+ keyframes,
20
+ spring
21
+ };
22
+ const percentToProgress = (percent) => percent / 100;
23
+ class MainThreadAnimation extends BaseAnimation {
24
+ constructor(options) {
25
+ super(options);
26
+ this.holdTime = null;
27
+ this.cancelTime = null;
28
+ this.currentTime = 0;
29
+ this.playbackSpeed = 1;
30
+ this.pendingPlayState = "running";
31
+ this.startTime = null;
32
+ this.state = "idle";
33
+ this.stop = () => {
34
+ this.resolver.cancel();
35
+ this.isStopped = true;
36
+ if (this.state === "idle")
37
+ return;
38
+ this.teardown();
39
+ const { onStop } = this.options;
40
+ onStop && onStop();
41
+ };
42
+ const { name, motionValue, element, keyframes: keyframes2 } = this.options;
43
+ const KeyframeResolver$1 = (element === null || element === void 0 ? void 0 : element.KeyframeResolver) || KeyframeResolver;
44
+ const onResolved = (resolvedKeyframes, finalKeyframe) => this.onKeyframesResolved(resolvedKeyframes, finalKeyframe);
45
+ this.resolver = new KeyframeResolver$1(keyframes2, onResolved, name, motionValue, element);
46
+ this.resolver.scheduleResolve();
47
+ }
48
+ initPlayback(keyframes$1) {
49
+ const { type = "keyframes", repeat = 0, repeatDelay = 0, repeatType, velocity = 0 } = this.options;
50
+ const generatorFactory = isGenerator(type) ? type : generators[type] || keyframes;
51
+ let mapPercentToKeyframes;
52
+ let mirroredGenerator;
53
+ if (generatorFactory !== keyframes && typeof keyframes$1[0] !== "number") {
54
+ if (process.env.NODE_ENV !== "production") {
55
+ invariant(keyframes$1.length === 2, `Only two keyframes currently supported with spring and inertia animations. Trying to animate ${keyframes$1}`);
56
+ }
57
+ mapPercentToKeyframes = pipe(percentToProgress, mix(keyframes$1[0], keyframes$1[1]));
58
+ keyframes$1 = [0, 100];
59
+ }
60
+ const generator = generatorFactory({ ...this.options, keyframes: keyframes$1 });
61
+ if (repeatType === "mirror") {
62
+ mirroredGenerator = generatorFactory({
63
+ ...this.options,
64
+ keyframes: [...keyframes$1].reverse(),
65
+ velocity: -velocity
66
+ });
67
+ }
68
+ if (generator.calculatedDuration === null) {
69
+ generator.calculatedDuration = calcGeneratorDuration(generator);
70
+ }
71
+ const { calculatedDuration } = generator;
72
+ const resolvedDuration = calculatedDuration + repeatDelay;
73
+ const totalDuration = resolvedDuration * (repeat + 1) - repeatDelay;
74
+ return {
75
+ generator,
76
+ mirroredGenerator,
77
+ mapPercentToKeyframes,
78
+ calculatedDuration,
79
+ resolvedDuration,
80
+ totalDuration
81
+ };
82
+ }
83
+ onPostResolved() {
84
+ const { autoplay = true } = this.options;
85
+ this.play();
86
+ if (this.pendingPlayState === "paused" || !autoplay) {
87
+ this.pause();
88
+ } else {
89
+ this.state = this.pendingPlayState;
90
+ }
91
+ }
92
+ tick(timestamp, sample = false) {
93
+ const { resolved } = this;
94
+ if (!resolved) {
95
+ const { keyframes: keyframes3 } = this.options;
96
+ return { done: true, value: keyframes3[keyframes3.length - 1] };
97
+ }
98
+ const { finalKeyframe, generator, mirroredGenerator, mapPercentToKeyframes, keyframes: keyframes2, calculatedDuration, totalDuration, resolvedDuration } = resolved;
99
+ if (this.startTime === null)
100
+ return generator.next(0);
101
+ const { delay, repeat, repeatType, repeatDelay, onUpdate } = this.options;
102
+ if (this.speed > 0) {
103
+ this.startTime = Math.min(this.startTime, timestamp);
104
+ } else if (this.speed < 0) {
105
+ this.startTime = Math.min(timestamp - totalDuration / this.speed, this.startTime);
106
+ }
107
+ if (sample) {
108
+ this.currentTime = timestamp;
109
+ } else if (this.holdTime !== null) {
110
+ this.currentTime = this.holdTime;
111
+ } else {
112
+ this.currentTime = Math.round(timestamp - this.startTime) * this.speed;
113
+ }
114
+ const timeWithoutDelay = this.currentTime - delay * (this.speed >= 0 ? 1 : -1);
115
+ const isInDelayPhase = this.speed >= 0 ? timeWithoutDelay < 0 : timeWithoutDelay > totalDuration;
116
+ this.currentTime = Math.max(timeWithoutDelay, 0);
117
+ if (this.state === "finished" && this.holdTime === null) {
118
+ this.currentTime = totalDuration;
119
+ }
120
+ let elapsed = this.currentTime;
121
+ let frameGenerator = generator;
122
+ if (repeat) {
123
+ const progress = Math.min(this.currentTime, totalDuration) / resolvedDuration;
124
+ let currentIteration = Math.floor(progress);
125
+ let iterationProgress = progress % 1;
126
+ if (!iterationProgress && progress >= 1) {
127
+ iterationProgress = 1;
128
+ }
129
+ iterationProgress === 1 && currentIteration--;
130
+ currentIteration = Math.min(currentIteration, repeat + 1);
131
+ const isOddIteration = Boolean(currentIteration % 2);
132
+ if (isOddIteration) {
133
+ if (repeatType === "reverse") {
134
+ iterationProgress = 1 - iterationProgress;
135
+ if (repeatDelay) {
136
+ iterationProgress -= repeatDelay / resolvedDuration;
137
+ }
138
+ } else if (repeatType === "mirror") {
139
+ frameGenerator = mirroredGenerator;
140
+ }
141
+ }
142
+ elapsed = clamp(0, 1, iterationProgress) * resolvedDuration;
143
+ }
144
+ const state = isInDelayPhase ? { done: false, value: keyframes2[0] } : frameGenerator.next(elapsed);
145
+ if (mapPercentToKeyframes) {
146
+ state.value = mapPercentToKeyframes(state.value);
147
+ }
148
+ let { done } = state;
149
+ if (!isInDelayPhase && calculatedDuration !== null) {
150
+ done = this.speed >= 0 ? this.currentTime >= totalDuration : this.currentTime <= 0;
151
+ }
152
+ const isAnimationFinished = this.holdTime === null && (this.state === "finished" || this.state === "running" && done);
153
+ if (isAnimationFinished && finalKeyframe !== void 0) {
154
+ state.value = getFinalKeyframe(keyframes2, this.options, finalKeyframe);
155
+ }
156
+ if (onUpdate) {
157
+ onUpdate(state.value);
158
+ }
159
+ if (isAnimationFinished) {
160
+ this.finish();
161
+ }
162
+ return state;
163
+ }
164
+ get duration() {
165
+ const { resolved } = this;
166
+ return resolved ? millisecondsToSeconds(resolved.calculatedDuration) : 0;
167
+ }
168
+ get time() {
169
+ return millisecondsToSeconds(this.currentTime);
170
+ }
171
+ set time(newTime) {
172
+ newTime = secondsToMilliseconds(newTime);
173
+ this.currentTime = newTime;
174
+ if (this.holdTime !== null || this.speed === 0) {
175
+ this.holdTime = newTime;
176
+ } else if (this.driver) {
177
+ this.startTime = this.driver.now() - newTime / this.speed;
178
+ }
179
+ }
180
+ get speed() {
181
+ return this.playbackSpeed;
182
+ }
183
+ set speed(newSpeed) {
184
+ const hasChanged = this.playbackSpeed !== newSpeed;
185
+ this.playbackSpeed = newSpeed;
186
+ if (hasChanged) {
187
+ this.time = millisecondsToSeconds(this.currentTime);
188
+ }
189
+ }
190
+ play() {
191
+ if (!this.resolver.isScheduled) {
192
+ this.resolver.resume();
193
+ }
194
+ if (!this._resolved) {
195
+ this.pendingPlayState = "running";
196
+ return;
197
+ }
198
+ if (this.isStopped)
199
+ return;
200
+ const { driver = frameloopDriver, onPlay, startTime } = this.options;
201
+ if (!this.driver) {
202
+ this.driver = driver((timestamp) => this.tick(timestamp));
203
+ }
204
+ onPlay && onPlay();
205
+ const now = this.driver.now();
206
+ if (this.holdTime !== null) {
207
+ this.startTime = now - this.holdTime;
208
+ } else if (!this.startTime) {
209
+ this.startTime = startTime !== null && startTime !== void 0 ? startTime : this.calcStartTime();
210
+ } else if (this.state === "finished") {
211
+ this.startTime = now;
212
+ }
213
+ if (this.state === "finished") {
214
+ this.updateFinishedPromise();
215
+ }
216
+ this.cancelTime = this.startTime;
217
+ this.holdTime = null;
218
+ this.state = "running";
219
+ this.driver.start();
220
+ }
221
+ pause() {
222
+ var _a;
223
+ if (!this._resolved) {
224
+ this.pendingPlayState = "paused";
225
+ return;
226
+ }
227
+ this.state = "paused";
228
+ this.holdTime = (_a = this.currentTime) !== null && _a !== void 0 ? _a : 0;
229
+ }
230
+ complete() {
231
+ if (this.state !== "running") {
232
+ this.play();
233
+ }
234
+ this.pendingPlayState = this.state = "finished";
235
+ this.holdTime = null;
236
+ }
237
+ finish() {
238
+ this.teardown();
239
+ this.state = "finished";
240
+ const { onComplete } = this.options;
241
+ onComplete && onComplete();
242
+ }
243
+ cancel() {
244
+ if (this.cancelTime !== null) {
245
+ this.tick(this.cancelTime);
246
+ }
247
+ this.teardown();
248
+ this.updateFinishedPromise();
249
+ }
250
+ teardown() {
251
+ this.state = "idle";
252
+ this.stopDriver();
253
+ this.resolveFinishedPromise();
254
+ this.updateFinishedPromise();
255
+ this.startTime = this.cancelTime = null;
256
+ this.resolver.cancel();
257
+ }
258
+ stopDriver() {
259
+ if (!this.driver)
260
+ return;
261
+ this.driver.stop();
262
+ this.driver = void 0;
263
+ }
264
+ sample(time) {
265
+ this.startTime = 0;
266
+ return this.tick(time, true);
267
+ }
268
+ }
269
+ function animateValue(options) {
270
+ return new MainThreadAnimation(options);
271
+ }
272
+ export {
273
+ MainThreadAnimation,
274
+ animateValue
275
+ };
@@ -0,0 +1,17 @@
1
+ import { time } from "../../../frameloop/sync-time.mjs";
2
+ import { frame, cancelFrame, frameData } from "../../../frameloop/frame.mjs";
3
+ const frameloopDriver = (update) => {
4
+ const passTimestamp = ({ timestamp }) => update(timestamp);
5
+ return {
6
+ start: () => frame.update(passTimestamp, true),
7
+ stop: () => cancelFrame(passTimestamp),
8
+ /**
9
+ * If we're processing this frame we can use the
10
+ * framelocked timestamp to keep things in sync.
11
+ */
12
+ now: () => frameData.isProcessing ? frameData.timestamp : time.now()
13
+ };
14
+ };
15
+ export {
16
+ frameloopDriver
17
+ };
@@ -1,4 +1,4 @@
1
- const e = /* @__PURE__ */ new Set([
1
+ const acceleratedValues = /* @__PURE__ */ new Set([
2
2
  "opacity",
3
3
  "clipPath",
4
4
  "filter",
@@ -8,5 +8,5 @@ const e = /* @__PURE__ */ new Set([
8
8
  // "background-color"
9
9
  ]);
10
10
  export {
11
- e as acceleratedValues
11
+ acceleratedValues
12
12
  };