motion-v 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/dist/cjs/index.js +7637 -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/LayoutGroup.vue.mjs +39 -0
  6. package/dist/es/components/LayoutGroup.vue2.mjs +4 -0
  7. package/dist/es/components/Motion.vue.mjs +87 -57
  8. package/dist/es/components/Motion.vue2.mjs +2 -2
  9. package/dist/es/components/Primitive.mjs +15 -9
  10. package/dist/es/components/Slot.mjs +28 -19
  11. package/dist/es/components/context.mjs +15 -4
  12. package/dist/es/components/group.mjs +30 -0
  13. package/dist/es/components/presence.mjs +13 -10
  14. package/dist/es/components/renderSlotFragments.mjs +10 -4
  15. package/dist/es/components/use-force-update.mjs +11 -0
  16. package/dist/es/constants/index.mjs +13 -6
  17. package/dist/es/features/events.mjs +59 -43
  18. package/dist/es/features/feature-manager.mjs +20 -17
  19. package/dist/es/features/feature.mjs +4 -4
  20. package/dist/es/features/gestures/base.mjs +12 -7
  21. package/dist/es/features/gestures/hover.mjs +25 -16
  22. package/dist/es/features/gestures/in-view.mjs +21 -15
  23. package/dist/es/features/gestures/press.mjs +22 -13
  24. package/dist/es/features/layout/config.mjs +21 -0
  25. package/dist/es/features/layout/layout.mjs +74 -0
  26. package/dist/es/features/layout/utils.mjs +8 -0
  27. package/dist/es/features/svg.mjs +14 -13
  28. package/dist/es/index.mjs +119 -102
  29. package/dist/es/node_modules/.pnpm/@vueuse_shared@12.0.0_typescript@5.5.4/node_modules/@vueuse/shared/index.mjs +6 -0
  30. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/GroupPlaybackControls.mjs +38 -28
  31. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/index.mjs +22 -15
  32. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/resolve-subjects.mjs +13 -5
  33. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/sequence.mjs +11 -9
  34. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/single-value.mjs +8 -7
  35. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/subject.mjs +32 -24
  36. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/AcceleratedAnimation.mjs +178 -137
  37. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/BaseAnimation.mjs +53 -37
  38. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/MainThreadAnimation.mjs +227 -100
  39. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/drivers/driver-frameloop.mjs +8 -8
  40. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/utils/accelerated-values.mjs +2 -2
  41. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/utils/can-animate.mjs +26 -19
  42. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/NativeAnimation.mjs +112 -56
  43. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs +25 -18
  44. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs +10 -9
  45. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/easing.mjs +27 -17
  46. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/index.mjs +15 -12
  47. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/attach-timeline.mjs +4 -3
  48. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs +6 -5
  49. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/linear.mjs +10 -8
  50. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/memo-supports.mjs +7 -7
  51. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/style.mjs +6 -6
  52. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-flags.mjs +2 -2
  53. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-linear-easing.mjs +6 -6
  54. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-partial-keyframes.mjs +6 -6
  55. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-waapi.mjs +3 -3
  56. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/inertia.mjs +58 -28
  57. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/keyframes.mjs +28 -21
  58. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/spring/find.mjs +71 -43
  59. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/spring/index.mjs +64 -48
  60. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/utils/calc-duration.mjs +12 -10
  61. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/utils/is-generator.mjs +3 -3
  62. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/utils/velocity.mjs +6 -6
  63. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs +64 -37
  64. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs +48 -34
  65. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs +5 -4
  66. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs +4 -4
  67. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/create.mjs +133 -86
  68. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs +12 -4
  69. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/utils/edit.mjs +20 -16
  70. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/utils/sort.mjs +11 -3
  71. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/create-visual-element.mjs +19 -15
  72. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs +19 -8
  73. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/get-value-transition.mjs +3 -3
  74. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs +14 -5
  75. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs +3 -3
  76. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs +3 -3
  77. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs +4 -2
  78. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-none.mjs +10 -4
  79. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-transition-defined.mjs +3 -3
  80. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/stagger.mjs +18 -16
  81. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/anticipate.mjs +3 -3
  82. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/back.mjs +9 -7
  83. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/circ.mjs +8 -6
  84. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs +24 -14
  85. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/ease.mjs +7 -5
  86. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs +2 -2
  87. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs +2 -2
  88. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/steps.mjs +8 -7
  89. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/create-generator-easing.mjs +8 -7
  90. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/get-easing-for-segment.mjs +5 -5
  91. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/is-bezier-definition.mjs +2 -2
  92. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/is-easing-array.mjs +4 -2
  93. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/map.mjs +32 -29
  94. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/events/add-dom-event.mjs +7 -0
  95. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/batcher.mjs +57 -21
  96. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/frame.mjs +7 -7
  97. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/index-legacy.mjs +9 -5
  98. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/microtask.mjs +6 -0
  99. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/render-step.mjs +41 -19
  100. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/sync-time.mjs +16 -10
  101. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/motion/features/definitions.mjs +8 -6
  102. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs +5 -5
  103. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs +60 -0
  104. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs +14 -13
  105. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/copy.mjs +19 -0
  106. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs +81 -0
  107. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs +55 -0
  108. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs +40 -0
  109. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/models.mjs +18 -5
  110. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/utils.mjs +34 -0
  111. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs +13 -0
  112. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs +28 -0
  113. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs +1086 -0
  114. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/state.mjs +15 -0
  115. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/shared/stack.mjs +94 -0
  116. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs +26 -0
  117. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs +25 -0
  118. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs +6 -2
  119. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/transform.mjs +36 -0
  120. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs +6 -0
  121. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs +20 -0
  122. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/utils/measure.mjs +4 -4
  123. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/VisualElement.mjs +263 -117
  124. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/DOMKeyframesResolver.mjs +81 -45
  125. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs +13 -11
  126. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/resize/handle-element.mjs +49 -33
  127. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/resize/handle-window.mjs +22 -14
  128. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/resize/index.mjs +5 -5
  129. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/index.mjs +53 -36
  130. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs +29 -16
  131. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/observe.mjs +14 -8
  132. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs +25 -9
  133. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs +32 -20
  134. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs +32 -21
  135. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs +20 -6
  136. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs +2 -2
  137. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs +31 -15
  138. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/supports.mjs +3 -3
  139. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/track.mjs +60 -33
  140. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs +2 -2
  141. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs +21 -21
  142. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs +12 -3
  143. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs +3 -3
  144. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/resolve-element.mjs +20 -9
  145. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs +47 -34
  146. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs +9 -7
  147. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs +21 -20
  148. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs +8 -7
  149. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs +7 -6
  150. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs +4 -2
  151. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/number-browser.mjs +34 -34
  152. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs +14 -14
  153. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs +2 -2
  154. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/transform.mjs +28 -28
  155. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs +4 -4
  156. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs +4 -4
  157. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs +29 -17
  158. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs +41 -32
  159. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs +33 -20
  160. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs +36 -20
  161. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/make-none-animatable.mjs +18 -12
  162. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/render.mjs +6 -5
  163. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs +13 -9
  164. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/transform.mjs +5 -4
  165. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/object/ObjectVisualElement.mjs +24 -20
  166. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/store.mjs +2 -2
  167. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs +33 -28
  168. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs +40 -20
  169. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs +2 -2
  170. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs +2 -2
  171. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/path.mjs +12 -10
  172. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/render.mjs +9 -8
  173. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs +12 -11
  174. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs +8 -7
  175. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/KeyframesResolver.mjs +105 -47
  176. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs +4 -0
  177. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs +24 -0
  178. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs +9 -9
  179. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs +3 -3
  180. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs +31 -20
  181. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs +5 -5
  182. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs +19 -14
  183. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/setters.mjs +17 -13
  184. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/variant-props.mjs +5 -4
  185. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/GlobalConfig.mjs +4 -4
  186. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/array.mjs +9 -7
  187. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/clamp.mjs +8 -2
  188. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/delay.mjs +17 -12
  189. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/distance.mjs +7 -6
  190. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/errors.mjs +17 -10
  191. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs +32 -15
  192. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/interpolate.mjs +42 -31
  193. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/is-browser.mjs +2 -2
  194. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs +2 -2
  195. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs +2 -2
  196. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/memo.mjs +8 -4
  197. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/color.mjs +40 -25
  198. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/complex.mjs +73 -41
  199. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/immediate.mjs +3 -3
  200. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/index.mjs +9 -5
  201. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/number.mjs +4 -2
  202. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/visibility.mjs +9 -5
  203. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/noop.mjs +2 -2
  204. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/offsets/default.mjs +6 -5
  205. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/offsets/fill.mjs +8 -8
  206. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/offsets/time.mjs +3 -3
  207. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/pipe.mjs +3 -2
  208. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/progress.mjs +4 -4
  209. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs +15 -10
  210. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs +4 -3
  211. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/resolve-value.mjs +9 -3
  212. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/subscription-manager.mjs +18 -15
  213. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/time-conversion.mjs +4 -3
  214. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/transform.mjs +17 -8
  215. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs +3 -3
  216. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/warn-once.mjs +7 -4
  217. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/wrap.mjs +4 -4
  218. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/index.mjs +125 -53
  219. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/hex.mjs +32 -14
  220. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/hsla.mjs +11 -9
  221. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/index.mjs +18 -8
  222. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/rgba.mjs +15 -13
  223. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/utils.mjs +16 -13
  224. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/complex/filter.mjs +22 -19
  225. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/complex/index.mjs +71 -36
  226. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/numbers/index.mjs +14 -12
  227. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/numbers/units.mjs +19 -13
  228. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/color-regex.mjs +2 -2
  229. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/float-regex.mjs +2 -2
  230. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/is-nullish.mjs +3 -3
  231. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/sanitize.mjs +2 -2
  232. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/single-color-regex.mjs +2 -2
  233. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/use-will-change/add-will-change.mjs +7 -6
  234. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/use-will-change/is.mjs +4 -4
  235. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs +2 -2
  236. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs +9 -0
  237. package/dist/es/node_modules/.pnpm/hey-listen@1.0.8/node_modules/hey-listen/dist/hey-listen.es.mjs +17 -10
  238. package/dist/es/state/create-visual-element.mjs +9 -0
  239. package/dist/es/state/event.mjs +3 -3
  240. package/dist/es/state/motion-state.mjs +145 -91
  241. package/dist/es/state/schedule.mjs +23 -15
  242. package/dist/es/state/style.mjs +105 -81
  243. package/dist/es/state/transform.mjs +37 -29
  244. package/dist/es/state/utils.mjs +51 -45
  245. package/dist/es/utils/createContext.mjs +19 -11
  246. package/dist/es/utils/events.mjs +4 -4
  247. package/dist/es/utils/motion-value.mjs +3 -3
  248. package/dist/es/utils/use-animation-frame.mjs +17 -11
  249. package/dist/es/utils/use-in-view.mjs +20 -14
  250. package/dist/es/value/use-combine-values.mjs +22 -17
  251. package/dist/es/value/use-computed.mjs +17 -10
  252. package/dist/es/value/use-motion-template.mjs +17 -14
  253. package/dist/es/value/use-motion-value-event.mjs +11 -0
  254. package/dist/es/value/use-scroll.mjs +42 -33
  255. package/dist/es/value/use-spring.mjs +48 -28
  256. package/dist/es/value/use-time.mjs +7 -6
  257. package/dist/es/value/use-transform.mjs +24 -20
  258. package/dist/es/value/use-velocity.mjs +20 -0
  259. package/dist/src/components/LayoutGroup.d.ts +30 -0
  260. package/dist/src/components/context.d.ts +17 -0
  261. package/dist/src/components/group.d.ts +7 -0
  262. package/dist/src/components/use-force-update.d.ts +2 -0
  263. package/dist/src/features/index.d.ts +1 -0
  264. package/dist/src/features/layout/config.d.ts +8 -0
  265. package/dist/src/features/layout/layout.d.ts +10 -0
  266. package/dist/src/features/layout/types.d.ts +7 -0
  267. package/dist/src/features/layout/utils.d.ts +4 -0
  268. package/dist/src/index.d.ts +2 -0
  269. package/dist/src/state/create-visual-element.d.ts +1 -0
  270. package/dist/src/state/motion-state.d.ts +1 -2
  271. package/dist/src/types/state.d.ts +2 -1
  272. package/dist/src/value/index.d.ts +4 -0
  273. package/package.json +2 -1
  274. 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
  275. package/dist/src/components/usePrimitiveElement.d.ts +0 -5
@@ -1,53 +1,69 @@
1
- import { Feature as i } from "./feature.mjs";
2
- class h extends i {
1
+ import { Feature } from "./feature.mjs";
2
+ class EventFeature extends Feature {
3
3
  constructor() {
4
- super(...arguments), this.handlers = {};
4
+ super(...arguments);
5
+ this.handlers = {};
5
6
  }
6
7
  mount() {
7
- const r = this.state.getElement();
8
- r && (this.handlers.motionstart = (s) => {
9
- var t, e;
10
- const n = s.detail.target;
11
- (e = (t = this.state.getOptions()).onMotionStart) == null || e.call(t, n);
12
- }, this.handlers.motioncomplete = (s) => {
13
- var t, e;
14
- const n = s.detail.target;
15
- (e = (t = this.state.getOptions()).onMotionComplete) == null || e.call(t, n);
16
- }, this.handlers.hoverstart = (s) => {
17
- var t, e;
18
- const n = s.detail;
19
- (e = (t = this.state.getOptions()).onHoverStart) == null || e.call(t, n);
20
- }, this.handlers.hoverend = (s) => {
21
- var t, e;
22
- const n = s.detail;
23
- (e = (t = this.state.getOptions()).onHoverEnd) == null || e.call(t, n);
24
- }, this.handlers.pressstart = (s) => {
25
- var t, e;
26
- const n = s.detail;
27
- (e = (t = this.state.getOptions()).onPressStart) == null || e.call(t, n);
28
- }, this.handlers.pressend = (s) => {
29
- var t, e;
30
- const n = s.detail;
31
- (e = (t = this.state.getOptions()).onPressEnd) == null || e.call(t, n);
32
- }, this.handlers.viewenter = (s) => {
33
- var t, e;
34
- const n = s.detail.target;
35
- (e = (t = this.state.getOptions()).onViewEnter) == null || e.call(t, n);
36
- }, this.handlers.viewleave = (s) => {
37
- var t, e;
38
- const n = s.detail.target;
39
- (e = (t = this.state.getOptions()).onViewLeave) == null || e.call(t, n);
40
- }, Object.entries(this.handlers).forEach(([s, n]) => {
41
- r.addEventListener(s, n);
42
- }));
8
+ const element = this.state.element;
9
+ if (!element)
10
+ return;
11
+ this.handlers.motionstart = (event) => {
12
+ var _a, _b;
13
+ const target = event.detail.target;
14
+ (_b = (_a = this.state.getOptions()).onMotionStart) == null ? void 0 : _b.call(_a, target);
15
+ };
16
+ this.handlers.motioncomplete = (event) => {
17
+ var _a, _b;
18
+ const target = event.detail.target;
19
+ (_b = (_a = this.state.getOptions()).onMotionComplete) == null ? void 0 : _b.call(_a, target);
20
+ };
21
+ this.handlers.hoverstart = (event) => {
22
+ var _a, _b;
23
+ const e = event.detail;
24
+ (_b = (_a = this.state.getOptions()).onHoverStart) == null ? void 0 : _b.call(_a, e);
25
+ };
26
+ this.handlers.hoverend = (event) => {
27
+ var _a, _b;
28
+ const e = event.detail;
29
+ (_b = (_a = this.state.getOptions()).onHoverEnd) == null ? void 0 : _b.call(_a, e);
30
+ };
31
+ this.handlers.pressstart = (event) => {
32
+ var _a, _b;
33
+ const e = event.detail;
34
+ (_b = (_a = this.state.getOptions()).onPressStart) == null ? void 0 : _b.call(_a, e);
35
+ };
36
+ this.handlers.pressend = (event) => {
37
+ var _a, _b;
38
+ const e = event.detail;
39
+ (_b = (_a = this.state.getOptions()).onPressEnd) == null ? void 0 : _b.call(_a, e);
40
+ };
41
+ this.handlers.viewenter = (event) => {
42
+ var _a, _b;
43
+ const target = event.detail.target;
44
+ (_b = (_a = this.state.getOptions()).onViewEnter) == null ? void 0 : _b.call(_a, target);
45
+ };
46
+ this.handlers.viewleave = (event) => {
47
+ var _a, _b;
48
+ const target = event.detail.target;
49
+ (_b = (_a = this.state.getOptions()).onViewLeave) == null ? void 0 : _b.call(_a, target);
50
+ };
51
+ Object.entries(this.handlers).forEach(([event, handler]) => {
52
+ element.addEventListener(event, handler);
53
+ });
43
54
  }
44
55
  unmount() {
45
- const r = this.state.getElement();
46
- r && Object.entries(this.handlers).forEach(([s, n]) => {
47
- n && (r.removeEventListener(s, n), delete this.handlers[s]);
56
+ const element = this.state.element;
57
+ if (!element)
58
+ return;
59
+ Object.entries(this.handlers).forEach(([event, handler]) => {
60
+ if (handler) {
61
+ element.removeEventListener(event, handler);
62
+ delete this.handlers[event];
63
+ }
48
64
  });
49
65
  }
50
66
  }
51
67
  export {
52
- h as EventFeature
68
+ EventFeature
53
69
  };
@@ -1,28 +1,31 @@
1
- import { EventFeature as r } from "./events.mjs";
2
- import { SVGFeature as t } from "./svg.mjs";
3
- import { HoverGesture as o } from "./gestures/hover.mjs";
4
- import { PressGesture as u } from "./gestures/press.mjs";
5
- import { InViewGesture as n } from "./gestures/in-view.mjs";
6
- class p {
7
- constructor(e) {
8
- this.features = [], this.features = [
9
- new o(e),
10
- new u(e),
11
- new n(e),
12
- new t(e),
13
- new r(e)
1
+ import { EventFeature } from "./events.mjs";
2
+ import { SVGFeature } from "./svg.mjs";
3
+ import { LayoutFeature } from "./layout/layout.mjs";
4
+ import { HoverGesture } from "./gestures/hover.mjs";
5
+ import { PressGesture } from "./gestures/press.mjs";
6
+ import { InViewGesture } from "./gestures/in-view.mjs";
7
+ class FeatureManager {
8
+ constructor(state) {
9
+ this.features = [];
10
+ this.features = [
11
+ new HoverGesture(state),
12
+ new PressGesture(state),
13
+ new InViewGesture(state),
14
+ new SVGFeature(state),
15
+ new EventFeature(state),
16
+ new LayoutFeature(state)
14
17
  ];
15
18
  }
16
19
  mount() {
17
- this.features.forEach((e) => e.mount());
20
+ this.features.forEach((feature) => feature.mount());
18
21
  }
19
22
  unmount() {
20
- this.features.forEach((e) => e.unmount());
23
+ this.features.forEach((feature) => feature.unmount());
21
24
  }
22
25
  update() {
23
- this.features.forEach((e) => e.update());
26
+ this.features.forEach((feature) => feature.update());
24
27
  }
25
28
  }
26
29
  export {
27
- p as FeatureManager
30
+ FeatureManager
28
31
  };
@@ -1,10 +1,10 @@
1
- class s {
2
- constructor(t) {
3
- this.state = t;
1
+ class Feature {
2
+ constructor(state) {
3
+ this.state = state;
4
4
  }
5
5
  update() {
6
6
  }
7
7
  }
8
8
  export {
9
- s as Feature
9
+ Feature
10
10
  };
@@ -1,14 +1,19 @@
1
- import { Feature as s } from "../feature.mjs";
2
- class r extends s {
1
+ import { Feature } from "../feature.mjs";
2
+ class BaseGesture extends Feature {
3
3
  updateGestureSubscriptions() {
4
- const e = this.isActive();
5
- e && !this.removeGestureSubscriptions ? this.removeGestureSubscriptions = this.subscribeEvents() : !e && this.removeGestureSubscriptions && (this.removeGestureSubscriptions(), this.removeGestureSubscriptions = void 0);
4
+ const isActive = this.isActive();
5
+ if (isActive && !this.removeGestureSubscriptions) {
6
+ this.removeGestureSubscriptions = this.subscribeEvents();
7
+ } else if (!isActive && this.removeGestureSubscriptions) {
8
+ this.removeGestureSubscriptions();
9
+ this.removeGestureSubscriptions = void 0;
10
+ }
6
11
  }
7
12
  unmount() {
8
- var e;
9
- (e = this.removeGestureSubscriptions) == null || e.call(this);
13
+ var _a;
14
+ (_a = this.removeGestureSubscriptions) == null ? void 0 : _a.call(this);
10
15
  }
11
16
  }
12
17
  export {
13
- r as BaseGesture
18
+ BaseGesture
14
19
  };
@@ -1,23 +1,32 @@
1
- import { dispatchPointerEvent as i } from "../../utils/events.mjs";
2
- import { BaseGesture as u } from "./base.mjs";
3
- function o(s, r, e) {
4
- return (t) => {
5
- t.pointerType && t.pointerType !== "mouse" || (e(), i(s, r, t));
1
+ import { dispatchPointerEvent } from "../../utils/events.mjs";
2
+ import { BaseGesture } from "./base.mjs";
3
+ function mouseEvent(element, name, action) {
4
+ return (event) => {
5
+ if (event.pointerType && event.pointerType !== "mouse")
6
+ return;
7
+ action();
8
+ dispatchPointerEvent(element, name, event);
6
9
  };
7
10
  }
8
- class a extends u {
11
+ class HoverGesture extends BaseGesture {
9
12
  isActive() {
10
- return !!this.state.getOptions().hover;
13
+ return Boolean(this.state.getOptions().hover);
11
14
  }
12
- constructor(r) {
13
- super(r), this.subscribeEvents = () => {
14
- const e = this.state.getElement(), t = o(e, "hoverstart", () => {
15
- this.state.setActive("hover", !0);
16
- }), n = o(e, "hoverend", () => {
17
- this.state.setActive("hover", !1);
15
+ constructor(state) {
16
+ super(state);
17
+ this.subscribeEvents = () => {
18
+ const element = this.state.element;
19
+ const onEnter = mouseEvent(element, "hoverstart", () => {
20
+ this.state.setActive("hover", true);
18
21
  });
19
- return e.addEventListener("pointerenter", t), e.addEventListener("pointerleave", n), () => {
20
- e.removeEventListener("pointerenter", t), e.removeEventListener("pointerleave", n);
22
+ const onLeave = mouseEvent(element, "hoverend", () => {
23
+ this.state.setActive("hover", false);
24
+ });
25
+ element.addEventListener("pointerenter", onEnter);
26
+ element.addEventListener("pointerleave", onLeave);
27
+ return () => {
28
+ element.removeEventListener("pointerenter", onEnter);
29
+ element.removeEventListener("pointerleave", onLeave);
21
30
  };
22
31
  };
23
32
  }
@@ -29,5 +38,5 @@ class a extends u {
29
38
  }
30
39
  }
31
40
  export {
32
- a as HoverGesture
41
+ HoverGesture
33
42
  };
@@ -1,20 +1,26 @@
1
- import { dispatchPointerEvent as i } from "../../utils/events.mjs";
2
- import { inView as p } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs";
3
- import { BaseGesture as a } from "./base.mjs";
4
- class w extends a {
1
+ import { dispatchPointerEvent } from "../../utils/events.mjs";
2
+ import { inView } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs";
3
+ import { BaseGesture } from "./base.mjs";
4
+ class InViewGesture extends BaseGesture {
5
5
  isActive() {
6
- return !!this.state.getOptions().inView;
6
+ return Boolean(this.state.getOptions().inView);
7
7
  }
8
- constructor(s) {
9
- super(s), this.subscribeEvents = () => {
10
- var e;
11
- const t = this.state.getElement(), { once: n, ...r } = ((e = this.state.getOptions()) == null ? void 0 : e.inViewOptions) || {};
12
- return p(t, (o) => {
13
- if (this.state.setActive("inView", !0), i(t, "viewenter", o), !n)
14
- return (u) => {
15
- this.state.setActive("inView", !1), i(t, "viewleave", u);
8
+ constructor(state) {
9
+ super(state);
10
+ this.subscribeEvents = () => {
11
+ var _a;
12
+ const element = this.state.element;
13
+ const { once, ...viewOptions } = ((_a = this.state.getOptions()) == null ? void 0 : _a.inViewOptions) || {};
14
+ return inView(element, (enterEntry) => {
15
+ this.state.setActive("inView", true);
16
+ dispatchPointerEvent(element, "viewenter", enterEntry);
17
+ if (!once) {
18
+ return (leaveEntry) => {
19
+ this.state.setActive("inView", false);
20
+ dispatchPointerEvent(element, "viewleave", leaveEntry);
16
21
  };
17
- }, r);
22
+ }
23
+ }, viewOptions);
18
24
  };
19
25
  }
20
26
  mount() {
@@ -25,5 +31,5 @@ class w extends a {
25
31
  }
26
32
  }
27
33
  export {
28
- w as InViewGesture
34
+ InViewGesture
29
35
  };
@@ -1,18 +1,27 @@
1
- import { dispatchPointerEvent as r } from "../../utils/events.mjs";
2
- import { BaseGesture as o } from "./base.mjs";
3
- class d extends o {
1
+ import { dispatchPointerEvent } from "../../utils/events.mjs";
2
+ import { BaseGesture } from "./base.mjs";
3
+ class PressGesture extends BaseGesture {
4
4
  isActive() {
5
- return !!this.state.getOptions().press;
5
+ return Boolean(this.state.getOptions().press);
6
6
  }
7
- constructor(i) {
8
- super(i), this.subscribeEvents = () => {
9
- const e = this.state.getElement(), t = (s) => {
10
- this.state.setActive("press", !1), r(e, "pressend", s), window.removeEventListener("pointerup", t);
11
- }, n = (s) => {
12
- this.state.setActive("press", !0), r(e, "pressstart", s), window.addEventListener("pointerup", t);
7
+ constructor(state) {
8
+ super(state);
9
+ this.subscribeEvents = () => {
10
+ const element = this.state.element;
11
+ const onPointerUp = (event) => {
12
+ this.state.setActive("press", false);
13
+ dispatchPointerEvent(element, "pressend", event);
14
+ window.removeEventListener("pointerup", onPointerUp);
13
15
  };
14
- return e.addEventListener("pointerdown", n), () => {
15
- e.removeEventListener("pointerdown", n), window.removeEventListener("pointerup", t);
16
+ const onPointerDown = (event) => {
17
+ this.state.setActive("press", true);
18
+ dispatchPointerEvent(element, "pressstart", event);
19
+ window.addEventListener("pointerup", onPointerUp);
20
+ };
21
+ element.addEventListener("pointerdown", onPointerDown);
22
+ return () => {
23
+ element.removeEventListener("pointerdown", onPointerDown);
24
+ window.removeEventListener("pointerup", onPointerUp);
16
25
  };
17
26
  };
18
27
  }
@@ -24,5 +33,5 @@ class d extends o {
24
33
  }
25
34
  }
26
35
  export {
27
- d as PressGesture
36
+ PressGesture
28
37
  };
@@ -0,0 +1,21 @@
1
+ import { correctBorderRadius } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs";
2
+ import { correctBoxShadow } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs";
3
+ const defaultScaleCorrector = {
4
+ borderRadius: {
5
+ ...correctBorderRadius,
6
+ applyTo: [
7
+ "borderTopLeftRadius",
8
+ "borderTopRightRadius",
9
+ "borderBottomLeftRadius",
10
+ "borderBottomRightRadius"
11
+ ]
12
+ },
13
+ borderTopLeftRadius: correctBorderRadius,
14
+ borderTopRightRadius: correctBorderRadius,
15
+ borderBottomLeftRadius: correctBorderRadius,
16
+ borderBottomRightRadius: correctBorderRadius,
17
+ boxShadow: correctBoxShadow
18
+ };
19
+ export {
20
+ defaultScaleCorrector
21
+ };
@@ -0,0 +1,74 @@
1
+ import { Feature } from "../feature.mjs";
2
+ import { HTMLProjectionNode } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs";
3
+ import { getClosestProjectingNode } from "./utils.mjs";
4
+ import { onBeforeMount, onBeforeUpdate, onUpdated, onBeforeUnmount } from "vue";
5
+ import { addScaleCorrector } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs";
6
+ import { defaultScaleCorrector } from "./config.mjs";
7
+ import { globalProjectionState } from "../../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/state.mjs";
8
+ import { injectLayoutGroup } from "../../components/context.mjs";
9
+ class LayoutFeature extends Feature {
10
+ constructor(state) {
11
+ super(state);
12
+ const options = this.state.getOptions();
13
+ const visualElement = this.state.visualElement;
14
+ if (options.layout || options.layoutId) {
15
+ addScaleCorrector(defaultScaleCorrector);
16
+ this.layoutGroup = injectLayoutGroup({});
17
+ onBeforeMount(() => {
18
+ visualElement.projection = new HTMLProjectionNode(
19
+ visualElement.latestValues,
20
+ options["data-framer-portal-id"] ? void 0 : getClosestProjectingNode(visualElement.parent)
21
+ );
22
+ visualElement.projection.setOptions({
23
+ layout: options.layout,
24
+ layoutId: options.layoutId,
25
+ // TODO: drag
26
+ alwaysMeasureLayout: false,
27
+ visualElement,
28
+ animationType: typeof options.layout === "string" ? options.layout : "both",
29
+ // initialPromotionConfig
30
+ layoutRoot: options.layoutRoot,
31
+ layoutScroll: options.layoutScroll
32
+ });
33
+ });
34
+ onBeforeUpdate(() => {
35
+ var _a;
36
+ (_a = visualElement.projection) == null ? void 0 : _a.willUpdate();
37
+ });
38
+ onUpdated(() => {
39
+ var _a;
40
+ (_a = visualElement.projection) == null ? void 0 : _a.root.didUpdate();
41
+ });
42
+ onBeforeUnmount(() => {
43
+ var _a;
44
+ if (visualElement.projection) {
45
+ visualElement.projection.unmount();
46
+ if ((_a = this.layoutGroup) == null ? void 0 : _a.group)
47
+ this.layoutGroup.group.remove(visualElement.projection);
48
+ }
49
+ });
50
+ }
51
+ }
52
+ update() {
53
+ var _a;
54
+ (_a = this.state.visualElement.projection) == null ? void 0 : _a.setOptions(this.state.getOptions());
55
+ }
56
+ mount() {
57
+ var _a, _b;
58
+ const options = this.state.getOptions();
59
+ if (options.layout || options.layoutId) {
60
+ const projection = this.state.visualElement.projection;
61
+ if (projection) {
62
+ (_b = (_a = this.layoutGroup) == null ? void 0 : _a.group) == null ? void 0 : _b.add(projection);
63
+ }
64
+ globalProjectionState.hasEverUpdated = true;
65
+ projection == null ? void 0 : projection.mount(this.state.element);
66
+ projection == null ? void 0 : projection.root.didUpdate();
67
+ }
68
+ }
69
+ unmount() {
70
+ }
71
+ }
72
+ export {
73
+ LayoutFeature
74
+ };
@@ -0,0 +1,8 @@
1
+ function getClosestProjectingNode(visualElement) {
2
+ if (!visualElement)
3
+ return void 0;
4
+ return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
5
+ }
6
+ export {
7
+ getClosestProjectingNode
8
+ };
@@ -1,19 +1,20 @@
1
- import { Feature as i } from "./feature.mjs";
2
- import { frame as s } from "../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/frame.mjs";
3
- function o(e) {
4
- return e instanceof SVGElement && e.tagName !== "svg";
1
+ import { Feature } from "./feature.mjs";
2
+ import { frame } from "../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/frame.mjs";
3
+ function isSVGElement(element) {
4
+ return element instanceof SVGElement && element.tagName !== "svg";
5
5
  }
6
- class u extends i {
6
+ class SVGFeature extends Feature {
7
7
  mount() {
8
- const t = this.state.getElement();
9
- if (!o(t))
8
+ const instance = this.state.element;
9
+ if (!isSVGElement(instance)) {
10
10
  return;
11
- const n = this.state.visualElement;
12
- s.read(() => {
11
+ }
12
+ const visualElement = this.state.visualElement;
13
+ frame.read(() => {
13
14
  try {
14
- n.renderState.dimensions = typeof t.getBBox == "function" ? t.getBBox() : t.getBoundingClientRect();
15
- } catch {
16
- n.renderState.dimensions = {
15
+ visualElement.renderState.dimensions = typeof instance.getBBox === "function" ? instance.getBBox() : instance.getBoundingClientRect();
16
+ } catch (e) {
17
+ visualElement.renderState.dimensions = {
17
18
  x: 0,
18
19
  y: 0,
19
20
  width: 0,
@@ -26,5 +27,5 @@ class u extends i {
26
27
  }
27
28
  }
28
29
  export {
29
- u as SVGFeature
30
+ SVGFeature
30
31
  };