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,31 +1,31 @@
1
- import { scale as t, alpha as s } from "../../../value/types/numbers/index.mjs";
2
- import { degrees as r, px as e, progressPercentage as a } from "../../../value/types/numbers/units.mjs";
3
- const n = {
4
- rotate: r,
5
- rotateX: r,
6
- rotateY: r,
7
- rotateZ: r,
8
- scale: t,
9
- scaleX: t,
10
- scaleY: t,
11
- scaleZ: t,
12
- skew: r,
13
- skewX: r,
14
- skewY: r,
15
- distance: e,
16
- translateX: e,
17
- translateY: e,
18
- translateZ: e,
19
- x: e,
20
- y: e,
21
- z: e,
22
- perspective: e,
23
- transformPerspective: e,
24
- opacity: s,
25
- originX: a,
26
- originY: a,
27
- originZ: e
1
+ import { scale, alpha } from "../../../value/types/numbers/index.mjs";
2
+ import { degrees, px, progressPercentage } from "../../../value/types/numbers/units.mjs";
3
+ const transformValueTypes = {
4
+ rotate: degrees,
5
+ rotateX: degrees,
6
+ rotateY: degrees,
7
+ rotateZ: degrees,
8
+ scale,
9
+ scaleX: scale,
10
+ scaleY: scale,
11
+ scaleZ: scale,
12
+ skew: degrees,
13
+ skewX: degrees,
14
+ skewY: degrees,
15
+ distance: px,
16
+ translateX: px,
17
+ translateY: px,
18
+ translateZ: px,
19
+ x: px,
20
+ y: px,
21
+ z: px,
22
+ perspective: px,
23
+ transformPerspective: px,
24
+ opacity: alpha,
25
+ originX: progressPercentage,
26
+ originY: progressPercentage,
27
+ originZ: px
28
28
  };
29
29
  export {
30
- n as transformValueTypes
30
+ transformValueTypes
31
31
  };
@@ -1,7 +1,7 @@
1
- const o = {
2
- test: (t) => t === "auto",
3
- parse: (t) => t
1
+ const auto = {
2
+ test: (v) => v === "auto",
3
+ parse: (v) => v
4
4
  };
5
5
  export {
6
- o as auto
6
+ auto
7
7
  };
@@ -1,8 +1,8 @@
1
- import { number as r } from "../../../value/types/numbers/index.mjs";
2
- const t = {
3
- ...r,
1
+ import { number } from "../../../value/types/numbers/index.mjs";
2
+ const int = {
3
+ ...number,
4
4
  transform: Math.round
5
5
  };
6
6
  export {
7
- t as int
7
+ int
8
8
  };
@@ -1,25 +1,37 @@
1
- import { resolveElements as d } from "../utils/resolve-element.mjs";
2
- const m = {
1
+ import { resolveElements } from "../utils/resolve-element.mjs";
2
+ const thresholds = {
3
3
  some: 0,
4
4
  all: 1
5
5
  };
6
- function b(i, a, { root: f, margin: l, amount: t = "some" } = {}) {
7
- const g = d(i), n = /* @__PURE__ */ new WeakMap(), h = (o) => {
8
- o.forEach((e) => {
9
- const r = n.get(e.target);
10
- if (e.isIntersecting !== !!r)
11
- if (e.isIntersecting) {
12
- const c = a(e);
13
- typeof c == "function" ? n.set(e.target, c) : s.unobserve(e.target);
14
- } else r && (r(e), n.delete(e.target));
6
+ function inView(elementOrSelector, onStart, { root, margin: rootMargin, amount = "some" } = {}) {
7
+ const elements = resolveElements(elementOrSelector);
8
+ const activeIntersections = /* @__PURE__ */ new WeakMap();
9
+ const onIntersectionChange = (entries) => {
10
+ entries.forEach((entry) => {
11
+ const onEnd = activeIntersections.get(entry.target);
12
+ if (entry.isIntersecting === Boolean(onEnd))
13
+ return;
14
+ if (entry.isIntersecting) {
15
+ const newOnEnd = onStart(entry);
16
+ if (typeof newOnEnd === "function") {
17
+ activeIntersections.set(entry.target, newOnEnd);
18
+ } else {
19
+ observer.unobserve(entry.target);
20
+ }
21
+ } else if (onEnd) {
22
+ onEnd(entry);
23
+ activeIntersections.delete(entry.target);
24
+ }
15
25
  });
16
- }, s = new IntersectionObserver(h, {
17
- root: f,
18
- rootMargin: l,
19
- threshold: typeof t == "number" ? t : m[t]
26
+ };
27
+ const observer = new IntersectionObserver(onIntersectionChange, {
28
+ root,
29
+ rootMargin,
30
+ threshold: typeof amount === "number" ? amount : thresholds[amount]
20
31
  });
21
- return g.forEach((o) => s.observe(o)), () => s.disconnect();
32
+ elements.forEach((element) => observer.observe(element));
33
+ return () => observer.disconnect();
22
34
  }
23
35
  export {
24
- b as inView
36
+ inView
25
37
  };
@@ -1,46 +1,55 @@
1
- import { buildHTMLStyles as s } from "./utils/build-styles.mjs";
2
- import { isCSSVariableName as n } from "../dom/utils/is-css-variable.mjs";
3
- import { transformProps as m } from "./utils/transform.mjs";
4
- import { scrapeMotionValuesFromProps as u } from "./utils/scrape-motion-values.mjs";
5
- import { renderHTML as l } from "./utils/render.mjs";
6
- import { getDefaultValueType as p } from "../dom/value-types/defaults.mjs";
7
- import { measureViewportBox as a } from "../../projection/utils/measure.mjs";
8
- import { DOMVisualElement as c } from "../dom/DOMVisualElement.mjs";
9
- import { isMotionValue as d } from "../../value/utils/is-motion-value.mjs";
10
- function f(i) {
11
- return window.getComputedStyle(i);
1
+ import { buildHTMLStyles } from "./utils/build-styles.mjs";
2
+ import { isCSSVariableName } from "../dom/utils/is-css-variable.mjs";
3
+ import { transformProps } from "./utils/transform.mjs";
4
+ import { scrapeMotionValuesFromProps } from "./utils/scrape-motion-values.mjs";
5
+ import { renderHTML } from "./utils/render.mjs";
6
+ import { getDefaultValueType } from "../dom/value-types/defaults.mjs";
7
+ import { measureViewportBox } from "../../projection/utils/measure.mjs";
8
+ import { DOMVisualElement } from "../dom/DOMVisualElement.mjs";
9
+ import { isMotionValue } from "../../value/utils/is-motion-value.mjs";
10
+ function getComputedStyle(element) {
11
+ return window.getComputedStyle(element);
12
12
  }
13
- class C extends c {
13
+ class HTMLVisualElement extends DOMVisualElement {
14
14
  constructor() {
15
- super(...arguments), this.type = "html", this.renderInstance = l;
15
+ super(...arguments);
16
+ this.type = "html";
17
+ this.renderInstance = renderHTML;
16
18
  }
17
- readValueFromInstance(e, t) {
18
- if (m.has(t)) {
19
- const r = p(t);
20
- return r && r.default || 0;
19
+ readValueFromInstance(instance, key) {
20
+ if (transformProps.has(key)) {
21
+ const defaultType = getDefaultValueType(key);
22
+ return defaultType ? defaultType.default || 0 : 0;
21
23
  } else {
22
- const r = f(e), o = (n(t) ? r.getPropertyValue(t) : r[t]) || 0;
23
- return typeof o == "string" ? o.trim() : o;
24
+ const computedStyle = getComputedStyle(instance);
25
+ const value = (isCSSVariableName(key) ? computedStyle.getPropertyValue(key) : computedStyle[key]) || 0;
26
+ return typeof value === "string" ? value.trim() : value;
24
27
  }
25
28
  }
26
- measureInstanceViewportBox(e, { transformPagePoint: t }) {
27
- return a(e, t);
29
+ measureInstanceViewportBox(instance, { transformPagePoint }) {
30
+ return measureViewportBox(instance, transformPagePoint);
28
31
  }
29
- build(e, t, r) {
30
- s(e, t, r.transformTemplate);
32
+ build(renderState, latestValues, props) {
33
+ buildHTMLStyles(renderState, latestValues, props.transformTemplate);
31
34
  }
32
- scrapeMotionValuesFromProps(e, t, r) {
33
- return u(e, t, r);
35
+ scrapeMotionValuesFromProps(props, prevProps, visualElement) {
36
+ return scrapeMotionValuesFromProps(props, prevProps, visualElement);
34
37
  }
35
38
  handleChildMotionValue() {
36
- this.childSubscription && (this.childSubscription(), delete this.childSubscription);
37
- const { children: e } = this.props;
38
- d(e) && (this.childSubscription = e.on("change", (t) => {
39
- this.current && (this.current.textContent = `${t}`);
40
- }));
39
+ if (this.childSubscription) {
40
+ this.childSubscription();
41
+ delete this.childSubscription;
42
+ }
43
+ const { children } = this.props;
44
+ if (isMotionValue(children)) {
45
+ this.childSubscription = children.on("change", (latest) => {
46
+ if (this.current)
47
+ this.current.textContent = `${latest}`;
48
+ });
49
+ }
41
50
  }
42
51
  }
43
52
  export {
44
- C as HTMLVisualElement,
45
- f as getComputedStyle
53
+ HTMLVisualElement,
54
+ getComputedStyle
46
55
  };
@@ -1,29 +1,42 @@
1
- import { buildTransform as p } from "./build-transform.mjs";
2
- import { isCSSVariableName as u } from "../../dom/utils/is-css-variable.mjs";
3
- import { transformProps as c } from "./transform.mjs";
4
- import { getValueAsType as g } from "../../dom/value-types/get-as-type.mjs";
5
- import { numberValueTypes as y } from "../../dom/value-types/number.mjs";
6
- function S(f, i, e) {
7
- const { style: o, vars: l, transformOrigin: t } = f;
8
- let m = !1, a = !1;
9
- for (const r in i) {
10
- const n = i[r];
11
- if (c.has(r)) {
12
- m = !0;
1
+ import { buildTransform } from "./build-transform.mjs";
2
+ import { isCSSVariableName } from "../../dom/utils/is-css-variable.mjs";
3
+ import { transformProps } from "./transform.mjs";
4
+ import { getValueAsType } from "../../dom/value-types/get-as-type.mjs";
5
+ import { numberValueTypes } from "../../dom/value-types/number.mjs";
6
+ function buildHTMLStyles(state, latestValues, transformTemplate) {
7
+ const { style, vars, transformOrigin } = state;
8
+ let hasTransform = false;
9
+ let hasTransformOrigin = false;
10
+ for (const key in latestValues) {
11
+ const value = latestValues[key];
12
+ if (transformProps.has(key)) {
13
+ hasTransform = true;
13
14
  continue;
14
- } else if (u(r)) {
15
- l[r] = n;
15
+ } else if (isCSSVariableName(key)) {
16
+ vars[key] = value;
16
17
  continue;
17
18
  } else {
18
- const s = g(n, y[r]);
19
- r.startsWith("origin") ? (a = !0, t[r] = s) : o[r] = s;
19
+ const valueAsType = getValueAsType(value, numberValueTypes[key]);
20
+ if (key.startsWith("origin")) {
21
+ hasTransformOrigin = true;
22
+ transformOrigin[key] = valueAsType;
23
+ } else {
24
+ style[key] = valueAsType;
25
+ }
20
26
  }
21
27
  }
22
- if (i.transform || (m || e ? o.transform = p(i, f.transform, e) : o.transform && (o.transform = "none")), a) {
23
- const { originX: r = "50%", originY: n = "50%", originZ: s = 0 } = t;
24
- o.transformOrigin = `${r} ${n} ${s}`;
28
+ if (!latestValues.transform) {
29
+ if (hasTransform || transformTemplate) {
30
+ style.transform = buildTransform(latestValues, state.transform, transformTemplate);
31
+ } else if (style.transform) {
32
+ style.transform = "none";
33
+ }
34
+ }
35
+ if (hasTransformOrigin) {
36
+ const { originX = "50%", originY = "50%", originZ = 0 } = transformOrigin;
37
+ style.transformOrigin = `${originX} ${originY} ${originZ}`;
25
38
  }
26
39
  }
27
40
  export {
28
- S as buildHTMLStyles
41
+ buildHTMLStyles
29
42
  };
@@ -1,31 +1,47 @@
1
- import { transformPropOrder as l } from "./transform.mjs";
2
- import { getValueAsType as m } from "../../dom/value-types/get-as-type.mjs";
3
- import { numberValueTypes as p } from "../../dom/value-types/number.mjs";
4
- const y = {
1
+ import { transformPropOrder } from "./transform.mjs";
2
+ import { getValueAsType } from "../../dom/value-types/get-as-type.mjs";
3
+ import { numberValueTypes } from "../../dom/value-types/number.mjs";
4
+ const translateAlias = {
5
5
  x: "translateX",
6
6
  y: "translateY",
7
7
  z: "translateZ",
8
8
  transformPerspective: "perspective"
9
- }, v = l.length;
10
- function A(u, i, s) {
11
- let e = "", o = !0;
12
- for (let a = 0; a < v; a++) {
13
- const t = l[a], r = u[t];
14
- if (r === void 0)
9
+ };
10
+ const numTransforms = transformPropOrder.length;
11
+ function buildTransform(latestValues, transform, transformTemplate) {
12
+ let transformString = "";
13
+ let transformIsDefault = true;
14
+ for (let i = 0; i < numTransforms; i++) {
15
+ const key = transformPropOrder[i];
16
+ const value = latestValues[key];
17
+ if (value === void 0)
15
18
  continue;
16
- let n = !0;
17
- if (typeof r == "number" ? n = r === (t.startsWith("scale") ? 1 : 0) : n = parseFloat(r) === 0, !n || s) {
18
- const f = m(r, p[t]);
19
- if (!n) {
20
- o = !1;
21
- const c = y[t] || t;
22
- e += `${c}(${f}) `;
19
+ let valueIsDefault = true;
20
+ if (typeof value === "number") {
21
+ valueIsDefault = value === (key.startsWith("scale") ? 1 : 0);
22
+ } else {
23
+ valueIsDefault = parseFloat(value) === 0;
24
+ }
25
+ if (!valueIsDefault || transformTemplate) {
26
+ const valueAsType = getValueAsType(value, numberValueTypes[key]);
27
+ if (!valueIsDefault) {
28
+ transformIsDefault = false;
29
+ const transformName = translateAlias[key] || key;
30
+ transformString += `${transformName}(${valueAsType}) `;
31
+ }
32
+ if (transformTemplate) {
33
+ transform[key] = valueAsType;
23
34
  }
24
- s && (i[t] = f);
25
35
  }
26
36
  }
27
- return e = e.trim(), s ? e = s(i, o ? "" : e) : o && (e = "none"), e;
37
+ transformString = transformString.trim();
38
+ if (transformTemplate) {
39
+ transformString = transformTemplate(transform, transformIsDefault ? "" : transformString);
40
+ } else if (transformIsDefault) {
41
+ transformString = "none";
42
+ }
43
+ return transformString;
28
44
  }
29
45
  export {
30
- A as buildTransform
46
+ buildTransform
31
47
  };
@@ -1,16 +1,22 @@
1
- import { analyseComplexValue as l } from "../../../value/types/complex/index.mjs";
2
- import { getAnimatableNone as m } from "../../dom/value-types/animatable-none.mjs";
3
- const f = /* @__PURE__ */ new Set(["auto", "none", "0"]);
4
- function g(e, i, o) {
5
- let n = 0, a;
6
- for (; n < e.length && !a; ) {
7
- const t = e[n];
8
- typeof t == "string" && !f.has(t) && l(t).values.length && (a = e[n]), n++;
1
+ import { analyseComplexValue } from "../../../value/types/complex/index.mjs";
2
+ import { getAnimatableNone } from "../../dom/value-types/animatable-none.mjs";
3
+ const invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
4
+ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
5
+ let i = 0;
6
+ let animatableTemplate = void 0;
7
+ while (i < unresolvedKeyframes.length && !animatableTemplate) {
8
+ const keyframe = unresolvedKeyframes[i];
9
+ if (typeof keyframe === "string" && !invalidTemplates.has(keyframe) && analyseComplexValue(keyframe).values.length) {
10
+ animatableTemplate = unresolvedKeyframes[i];
11
+ }
12
+ i++;
13
+ }
14
+ if (animatableTemplate && name) {
15
+ for (const noneIndex of noneKeyframeIndexes) {
16
+ unresolvedKeyframes[noneIndex] = getAnimatableNone(name, animatableTemplate);
17
+ }
9
18
  }
10
- if (a && o)
11
- for (const t of i)
12
- e[t] = m(o, a);
13
19
  }
14
20
  export {
15
- g as makeNoneKeyframesAnimatable
21
+ makeNoneKeyframesAnimatable
16
22
  };
@@ -1,8 +1,9 @@
1
- function y(t, { style: o, vars: e }, r, s) {
2
- Object.assign(t.style, o, s && s.getProjectionStyles(r));
3
- for (const n in e)
4
- t.style.setProperty(n, e[n]);
1
+ function renderHTML(element, { style, vars }, styleProp, projection) {
2
+ Object.assign(element.style, style, projection && projection.getProjectionStyles(styleProp));
3
+ for (const key in vars) {
4
+ element.style.setProperty(key, vars[key]);
5
+ }
5
6
  }
6
7
  export {
7
- y as renderHTML
8
+ renderHTML
8
9
  };
@@ -1,12 +1,16 @@
1
- import { isForcedMotionValue as u } from "../../../motion/utils/is-forced-motion-value.mjs";
2
- import { isMotionValue as s } from "../../../value/utils/is-motion-value.mjs";
3
- function c(n, l, e) {
4
- var i;
5
- const { style: t } = n, r = {};
6
- for (const o in t)
7
- (s(t[o]) || l.style && s(l.style[o]) || u(o, n) || ((i = e == null ? void 0 : e.getValue(o)) === null || i === void 0 ? void 0 : i.liveStyle) !== void 0) && (r[o] = t[o]);
8
- return r;
1
+ import { isForcedMotionValue } from "../../../motion/utils/is-forced-motion-value.mjs";
2
+ import { isMotionValue } from "../../../value/utils/is-motion-value.mjs";
3
+ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4
+ var _a;
5
+ const { style } = props;
6
+ const newValues = {};
7
+ for (const key in style) {
8
+ if (isMotionValue(style[key]) || prevProps.style && isMotionValue(prevProps.style[key]) || isForcedMotionValue(key, props) || ((_a = visualElement === null || visualElement === void 0 ? void 0 : visualElement.getValue(key)) === null || _a === void 0 ? void 0 : _a.liveStyle) !== void 0) {
9
+ newValues[key] = style[key];
10
+ }
11
+ }
12
+ return newValues;
9
13
  }
10
14
  export {
11
- c as scrapeMotionValuesFromProps
15
+ scrapeMotionValuesFromProps
12
16
  };
@@ -1,4 +1,4 @@
1
- const t = [
1
+ const transformPropOrder = [
2
2
  "transformPerspective",
3
3
  "x",
4
4
  "y",
@@ -16,8 +16,9 @@ const t = [
16
16
  "skew",
17
17
  "skewX",
18
18
  "skewY"
19
- ], e = new Set(t);
19
+ ];
20
+ const transformProps = new Set(transformPropOrder);
20
21
  export {
21
- t as transformPropOrder,
22
- e as transformProps
22
+ transformPropOrder,
23
+ transformProps
23
24
  };
@@ -1,37 +1,41 @@
1
- import { createBox as o } from "../../projection/geometry/models.mjs";
2
- import { VisualElement as s } from "../VisualElement.mjs";
3
- function u(n, e) {
4
- return n in e;
1
+ import { createBox } from "../../projection/geometry/models.mjs";
2
+ import { VisualElement } from "../VisualElement.mjs";
3
+ function isObjectKey(key, object) {
4
+ return key in object;
5
5
  }
6
- class c extends s {
6
+ class ObjectVisualElement extends VisualElement {
7
7
  constructor() {
8
- super(...arguments), this.type = "object";
9
- }
10
- readValueFromInstance(e, t) {
11
- if (u(t, e)) {
12
- const r = e[t];
13
- if (typeof r == "string" || typeof r == "number")
14
- return r;
8
+ super(...arguments);
9
+ this.type = "object";
10
+ }
11
+ readValueFromInstance(instance, key) {
12
+ if (isObjectKey(key, instance)) {
13
+ const value = instance[key];
14
+ if (typeof value === "string" || typeof value === "number") {
15
+ return value;
16
+ }
15
17
  }
18
+ return void 0;
16
19
  }
17
20
  getBaseTargetFromProps() {
21
+ return void 0;
18
22
  }
19
- removeValueFromRenderState(e, t) {
20
- delete t.output[e];
23
+ removeValueFromRenderState(key, renderState) {
24
+ delete renderState.output[key];
21
25
  }
22
26
  measureInstanceViewportBox() {
23
- return o();
27
+ return createBox();
24
28
  }
25
- build(e, t) {
26
- Object.assign(e.output, t);
29
+ build(renderState, latestValues) {
30
+ Object.assign(renderState.output, latestValues);
27
31
  }
28
- renderInstance(e, { output: t }) {
29
- Object.assign(e, t);
32
+ renderInstance(instance, { output }) {
33
+ Object.assign(instance, output);
30
34
  }
31
35
  sortInstanceNodePosition() {
32
36
  return 0;
33
37
  }
34
38
  }
35
39
  export {
36
- c as ObjectVisualElement
40
+ ObjectVisualElement
37
41
  };
@@ -1,4 +1,4 @@
1
- const e = /* @__PURE__ */ new WeakMap();
1
+ const visualElementStore = /* @__PURE__ */ new WeakMap();
2
2
  export {
3
- e as visualElementStore
3
+ visualElementStore
4
4
  };
@@ -1,40 +1,45 @@
1
- import { scrapeMotionValuesFromProps as s } from "./utils/scrape-motion-values.mjs";
2
- import { DOMVisualElement as a } from "../dom/DOMVisualElement.mjs";
3
- import { buildSVGAttrs as m } from "./utils/build-attrs.mjs";
4
- import { camelToDash as i } from "../dom/utils/camel-to-dash.mjs";
5
- import { camelCaseAttributes as p } from "./utils/camel-case-attrs.mjs";
6
- import { transformProps as u } from "../html/utils/transform.mjs";
7
- import { renderSVG as n } from "./utils/render.mjs";
8
- import { getDefaultValueType as l } from "../dom/value-types/defaults.mjs";
9
- import { createBox as f } from "../../projection/geometry/models.mjs";
10
- import { isSVGTag as V } from "./utils/is-svg-tag.mjs";
11
- class A extends a {
1
+ import { scrapeMotionValuesFromProps } from "./utils/scrape-motion-values.mjs";
2
+ import { DOMVisualElement } from "../dom/DOMVisualElement.mjs";
3
+ import { buildSVGAttrs } from "./utils/build-attrs.mjs";
4
+ import { camelToDash } from "../dom/utils/camel-to-dash.mjs";
5
+ import { camelCaseAttributes } from "./utils/camel-case-attrs.mjs";
6
+ import { transformProps } from "../html/utils/transform.mjs";
7
+ import { renderSVG } from "./utils/render.mjs";
8
+ import { getDefaultValueType } from "../dom/value-types/defaults.mjs";
9
+ import { createBox } from "../../projection/geometry/models.mjs";
10
+ import { isSVGTag } from "./utils/is-svg-tag.mjs";
11
+ class SVGVisualElement extends DOMVisualElement {
12
12
  constructor() {
13
- super(...arguments), this.type = "svg", this.isSVGTag = !1, this.measureInstanceViewportBox = f;
13
+ super(...arguments);
14
+ this.type = "svg";
15
+ this.isSVGTag = false;
16
+ this.measureInstanceViewportBox = createBox;
14
17
  }
15
- getBaseTargetFromProps(t, r) {
16
- return t[r];
18
+ getBaseTargetFromProps(props, key) {
19
+ return props[key];
17
20
  }
18
- readValueFromInstance(t, r) {
19
- if (u.has(r)) {
20
- const e = l(r);
21
- return e && e.default || 0;
21
+ readValueFromInstance(instance, key) {
22
+ if (transformProps.has(key)) {
23
+ const defaultType = getDefaultValueType(key);
24
+ return defaultType ? defaultType.default || 0 : 0;
22
25
  }
23
- return r = p.has(r) ? r : i(r), t.getAttribute(r);
26
+ key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
27
+ return instance.getAttribute(key);
24
28
  }
25
- scrapeMotionValuesFromProps(t, r, e) {
26
- return s(t, r, e);
29
+ scrapeMotionValuesFromProps(props, prevProps, visualElement) {
30
+ return scrapeMotionValuesFromProps(props, prevProps, visualElement);
27
31
  }
28
- build(t, r, e) {
29
- m(t, r, this.isSVGTag, e.transformTemplate);
32
+ build(renderState, latestValues, props) {
33
+ buildSVGAttrs(renderState, latestValues, this.isSVGTag, props.transformTemplate);
30
34
  }
31
- renderInstance(t, r, e, o) {
32
- n(t, r, e, o);
35
+ renderInstance(instance, renderState, styleProp, projection) {
36
+ renderSVG(instance, renderState, styleProp, projection);
33
37
  }
34
- mount(t) {
35
- this.isSVGTag = V(t.tagName), super.mount(t);
38
+ mount(instance) {
39
+ this.isSVGTag = isSVGTag(instance.tagName);
40
+ super.mount(instance);
36
41
  }
37
42
  }
38
43
  export {
39
- A as SVGVisualElement
44
+ SVGVisualElement
40
45
  };