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,21 +1,31 @@
1
- import { ref as f, onUnmounted as m } from "vue";
2
- import { createScopedAnimate as s } from "../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/index.mjs";
3
- function p() {
4
- const o = f(null), e = new Proxy(o, {
5
- get(n, t) {
6
- if (typeof t == "string" || typeof t == "symbol")
7
- return t === "current" ? Reflect.get(n, "value") : Reflect.get(n, t);
1
+ import { ref, onUnmounted } from "vue";
2
+ import { createScopedAnimate } from "../node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/index.mjs";
3
+ function useAnimate() {
4
+ const dom = ref(null);
5
+ const domProxy = new Proxy(dom, {
6
+ get(target, key) {
7
+ if (typeof key === "string" || typeof key === "symbol") {
8
+ if (key === "current")
9
+ return Reflect.get(target, "value");
10
+ return Reflect.get(target, key);
11
+ }
12
+ return void 0;
8
13
  },
9
- set(n, t, r) {
10
- return t === "value" ? Reflect.set(n, t, (r == null ? void 0 : r.$el) || r) : t === "animations" ? Reflect.set(n, t, r) : !0;
14
+ set(target, key, value) {
15
+ if (key === "value")
16
+ return Reflect.set(target, key, (value == null ? void 0 : value.$el) || value);
17
+ if (key === "animations")
18
+ return Reflect.set(target, key, value);
19
+ return true;
11
20
  }
12
21
  });
13
- e.animations = [];
14
- const i = s(e);
15
- return m(() => {
16
- e.animations.forEach((n) => n.stop());
17
- }), [e, i];
22
+ domProxy.animations = [];
23
+ const animate = createScopedAnimate(domProxy);
24
+ onUnmounted(() => {
25
+ domProxy.animations.forEach((animation) => animation.stop());
26
+ });
27
+ return [domProxy, animate];
18
28
  }
19
29
  export {
20
- p as useAnimate
30
+ useAnimate
21
31
  };
@@ -1,53 +1,71 @@
1
- import { defineComponent as p, toRefs as v, openBlock as C, createBlock as A, resolveDynamicComponent as k, TransitionGroup as g, Transition as h, withCtx as y, renderSlot as B } from "vue";
2
- import { mountedStates as r } from "../state/motion-state.mjs";
3
- import { provideAnimatePresence as b, doneCallbacks as m, removeDoneCallback as i } from "./presence.mjs";
4
- const x = /* @__PURE__ */ p({
5
- name: "AnimatePresence",
6
- inheritAttrs: !0,
1
+ import { defineComponent, toRefs, openBlock, createBlock, resolveDynamicComponent, TransitionGroup, Transition, withCtx, renderSlot } from "vue";
2
+ import { mountedStates } from "../state/motion-state.mjs";
3
+ import { provideAnimatePresence, doneCallbacks, removeDoneCallback } from "./presence.mjs";
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ ...{
6
+ name: "AnimatePresence",
7
+ inheritAttrs: true
8
+ },
7
9
  __name: "AnimatePresence",
8
10
  props: {
9
11
  mode: { default: "sync" },
10
- initial: { type: Boolean, default: !0 },
11
- multiple: { type: Boolean, default: !1 },
12
+ initial: { type: Boolean, default: true },
13
+ multiple: { type: Boolean, default: false },
12
14
  as: {}
13
15
  },
14
- setup(u) {
15
- const l = u, { initial: c } = v(l);
16
- b({
17
- initial: c,
18
- safeUnmount(e) {
19
- return !m.has(e);
16
+ setup(__props) {
17
+ const props = __props;
18
+ const { initial } = toRefs(props);
19
+ provideAnimatePresence({
20
+ initial,
21
+ safeUnmount(el) {
22
+ return !doneCallbacks.has(el);
20
23
  }
21
24
  });
22
- function f(e) {
23
- const t = r.get(e);
24
- t && (i(e), t.setActive("exit", !1));
25
+ function enter(el) {
26
+ const state = mountedStates.get(el);
27
+ if (!state) {
28
+ return;
29
+ }
30
+ removeDoneCallback(el);
31
+ state.setActive("exit", false);
25
32
  }
26
- function d(e, t) {
27
- const n = r.get(e);
28
- if (!n)
29
- return t();
30
- i(e);
31
- function a(o) {
32
- var s;
33
- (s = o == null ? void 0 : o.detail) != null && s.isExit && (i(e), t(), e.isConnected || n.unmount());
33
+ function exit(el, done) {
34
+ const state = mountedStates.get(el);
35
+ if (!state) {
36
+ return done();
37
+ }
38
+ removeDoneCallback(el);
39
+ function doneCallback(e) {
40
+ var _a;
41
+ if ((_a = e == null ? void 0 : e.detail) == null ? void 0 : _a.isExit) {
42
+ removeDoneCallback(el);
43
+ done();
44
+ if (!el.isConnected) {
45
+ state.unmount();
46
+ }
47
+ }
34
48
  }
35
- m.set(e, a), e.addEventListener("motioncomplete", a), n.setActive("exit", !0);
49
+ doneCallbacks.set(el, doneCallback);
50
+ el.addEventListener("motioncomplete", doneCallback);
51
+ state.setActive("exit", true);
36
52
  }
37
- return (e, t) => (C(), A(k(e.multiple ? g : h), {
38
- tag: e.multiple ? e.as : void 0,
39
- css: !1,
40
- mode: e.mode === "wait" ? "out-in" : void 0,
41
- onEnter: f,
42
- onLeave: d
43
- }, {
44
- default: y(() => [
45
- B(e.$slots, "default")
46
- ]),
47
- _: 3
48
- }, 40, ["tag", "mode"]));
53
+ return (_ctx, _cache) => {
54
+ return openBlock(), createBlock(resolveDynamicComponent(_ctx.multiple ? TransitionGroup : Transition), {
55
+ tag: _ctx.multiple ? _ctx.as : void 0,
56
+ css: false,
57
+ mode: _ctx.mode === "wait" ? "out-in" : void 0,
58
+ onEnter: enter,
59
+ onLeave: exit
60
+ }, {
61
+ default: withCtx(() => [
62
+ renderSlot(_ctx.$slots, "default")
63
+ ]),
64
+ _: 3
65
+ }, 40, ["tag", "mode"]);
66
+ };
49
67
  }
50
68
  });
51
69
  export {
52
- x as default
70
+ _sfc_main as default
53
71
  };
@@ -1,4 +1,4 @@
1
- import f from "./AnimatePresence.vue.mjs";
1
+ import _sfc_main from "./AnimatePresence.vue.mjs";
2
2
  export {
3
- f as default
3
+ _sfc_main as default
4
4
  };
@@ -0,0 +1,39 @@
1
+ import { defineComponent, watch, renderSlot } from "vue";
2
+ import { injectLayoutGroup, provideLayoutGroup, shouldInheritId, shouldInheritGroup } from "./context.mjs";
3
+ import { nodeGroup } from "./group.mjs";
4
+ import { useForceUpdate } from "./use-force-update.mjs";
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "LayoutGroup",
7
+ props: {
8
+ id: {},
9
+ inherit: { type: [Boolean, String] }
10
+ },
11
+ setup(__props) {
12
+ const props = __props;
13
+ const layoutGroup = injectLayoutGroup(null);
14
+ const [forceRender, key] = useForceUpdate();
15
+ function generateId() {
16
+ const upstreamId = layoutGroup == null ? void 0 : layoutGroup.id;
17
+ return shouldInheritId(props.inherit) && upstreamId ? props.id ? `${upstreamId}-${props.id}` : upstreamId : props.id;
18
+ }
19
+ function generateGroup() {
20
+ return shouldInheritGroup(props.inherit) ? (layoutGroup == null ? void 0 : layoutGroup.group) || nodeGroup() : nodeGroup();
21
+ }
22
+ const memoizedContext = {
23
+ id: generateId(),
24
+ group: generateGroup(),
25
+ forceRender,
26
+ key
27
+ };
28
+ watch(key, () => {
29
+ memoizedContext.id = generateId();
30
+ });
31
+ provideLayoutGroup(memoizedContext);
32
+ return (_ctx, _cache) => {
33
+ return renderSlot(_ctx.$slots, "default");
34
+ };
35
+ }
36
+ });
37
+ export {
38
+ _sfc_main as default
39
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./LayoutGroup.vue.mjs";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -1,16 +1,18 @@
1
- import { defineComponent as f, mergeDefaults as v, ref as y, useAttrs as g, getCurrentInstance as h, onMounted as S, onUnmounted as M, onUpdated as F, openBlock as P, createBlock as b, unref as j, mergeProps as w, withCtx as C, renderSlot as V } from "vue";
2
- import { injectMotion as O, provideMotion as E } from "./context.mjs";
3
- import { createStyles as a, convertSvgStyleToAttributes as T } from "../state/style.mjs";
4
- import { Primitive as A } from "./Primitive.mjs";
5
- import { MotionState as B } from "../state/motion-state.mjs";
6
- import { isSVGElement as U } from "../state/utils.mjs";
7
- import { injectAnimatePresence as _ } from "./presence.mjs";
8
- import { isMotionValue as H } from "../utils/motion-value.mjs";
9
- const z = /* @__PURE__ */ f({
10
- name: "Motion",
11
- inheritAttrs: !1,
1
+ import { defineComponent, mergeDefaults, ref, useAttrs, getCurrentInstance, onMounted, onUnmounted, onUpdated, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot } from "vue";
2
+ import { injectMotion, injectLayoutGroup, provideMotion } from "./context.mjs";
3
+ import { convertSvgStyleToAttributes, createStyles } from "../state/style.mjs";
4
+ import { Primitive } from "./Primitive.mjs";
5
+ import { MotionState } from "../state/motion-state.mjs";
6
+ import { isSVGElement } from "../state/utils.mjs";
7
+ import { injectAnimatePresence } from "./presence.mjs";
8
+ import { isMotionValue } from "../utils/motion-value.mjs";
9
+ const _sfc_main = /* @__PURE__ */ defineComponent({
10
+ ...{
11
+ name: "Motion",
12
+ inheritAttrs: false
13
+ },
12
14
  __name: "Motion",
13
- props: /* @__PURE__ */ v({
15
+ props: /* @__PURE__ */ mergeDefaults({
14
16
  as: {},
15
17
  asChild: { type: Boolean },
16
18
  custom: {},
@@ -32,67 +34,95 @@ const z = /* @__PURE__ */ f({
32
34
  onPressStart: { type: Function },
33
35
  onPressEnd: { type: Function },
34
36
  onViewEnter: { type: Function },
35
- onViewLeave: { type: Function }
37
+ onViewLeave: { type: Function },
38
+ layout: { type: Boolean },
39
+ layoutId: {},
40
+ layoutScroll: { type: Boolean },
41
+ layoutRoot: { type: Boolean },
42
+ "data-framer-portal-id": {}
36
43
  }, {
37
44
  as: "div",
38
- asChild: !1,
45
+ asChild: false,
39
46
  initial: void 0,
40
47
  animate: void 0,
41
48
  hover: void 0,
42
- inView: void 0
49
+ inView: void 0,
50
+ layout: false,
51
+ layoutId: void 0,
52
+ layoutScroll: false,
53
+ layoutRoot: false
43
54
  }),
44
- setup(p) {
45
- const t = p, { initial: l, safeUnmount: u } = _({ initial: y(void 0), safeUnmount: () => !0 }), c = O(null), o = g(), e = new B(
55
+ setup(__props) {
56
+ const props = __props;
57
+ const { initial: presenceInitial, safeUnmount } = injectAnimatePresence({ initial: ref(void 0), safeUnmount: () => true });
58
+ const parentState = injectMotion(null);
59
+ const attrs = useAttrs();
60
+ const layoutGroup = injectLayoutGroup({});
61
+ const state = new MotionState(
46
62
  {
47
- ...o,
48
- ...t
63
+ ...attrs,
64
+ ...props
49
65
  },
50
- c
66
+ parentState
51
67
  );
52
- E(e);
53
- const i = h();
54
- S(() => {
55
- e.mount(i == null ? void 0 : i.vnode.el), e.update({
56
- ...o,
57
- ...t,
58
- style: { ...a(e.getTarget()), ...t.style }
68
+ provideMotion(state);
69
+ const instance = getCurrentInstance();
70
+ onMounted(() => {
71
+ state.mount(instance == null ? void 0 : instance.vnode.el);
72
+ state.update({
73
+ ...attrs,
74
+ ...props
59
75
  });
60
- }), M(() => {
61
- u(i == null ? void 0 : i.vnode.el) && e.unmount();
62
- }), F(() => {
63
- e.update({
64
- ...o,
65
- ...t,
66
- initial: l.value === !1 ? l.value : t.initial === !0 ? void 0 : t.initial
76
+ });
77
+ onUnmounted(() => {
78
+ if (safeUnmount(instance == null ? void 0 : instance.vnode.el))
79
+ state.unmount();
80
+ });
81
+ onUpdated(() => {
82
+ state.update({
83
+ ...attrs,
84
+ ...props,
85
+ initial: presenceInitial.value === false ? presenceInitial.value : props.initial === true ? void 0 : props.initial
67
86
  });
68
87
  });
69
- function m() {
70
- const n = { ...o };
71
- Object.keys(o).forEach((r) => {
72
- H(o[r]) && (n[r] = o[r].get());
88
+ function getProps() {
89
+ const attrsProps = { ...attrs };
90
+ Object.keys(attrs).forEach((key) => {
91
+ if (isMotionValue(attrs[key]))
92
+ attrsProps[key] = attrs[key].get();
73
93
  });
74
- let s = {
75
- ...t.style
94
+ let styleProps = {
95
+ ...props.style
76
96
  };
77
- if (!e.isMounted())
78
- if (U(t.as)) {
79
- const { attributes: r, style: d } = T(e.getTarget());
80
- Object.assign(n, r), Object.assign(s, d, t.style);
81
- } else
82
- Object.assign(s, t.style, e.getTarget());
83
- return s = a(s), n.style = a(s), n;
97
+ if (!state.isMounted()) {
98
+ if (isSVGElement(props.as)) {
99
+ const { attributes, style } = convertSvgStyleToAttributes(state.getTarget());
100
+ Object.assign(attrsProps, attributes);
101
+ Object.assign(styleProps, style, props.style);
102
+ } else {
103
+ Object.assign(styleProps, state.getTarget(), props.style);
104
+ }
105
+ }
106
+ styleProps = createStyles(styleProps);
107
+ attrsProps.style = styleProps;
108
+ return attrsProps;
84
109
  }
85
- return (n, s) => (P(), b(j(A), w({
86
- as: n.as,
87
- "as-child": n.asChild
88
- }, m()), {
89
- default: C(() => [
90
- V(n.$slots, "default")
91
- ]),
92
- _: 3
93
- }, 16, ["as", "as-child"]));
110
+ return (_ctx, _cache) => {
111
+ var _a, _b;
112
+ return openBlock(), createBlock(unref(Primitive), mergeProps({
113
+ as: _ctx.as,
114
+ "as-child": _ctx.asChild
115
+ }, getProps(), {
116
+ "data-layout-group-key": (_b = (_a = unref(layoutGroup)) == null ? void 0 : _a.key) == null ? void 0 : _b.value
117
+ }), {
118
+ default: withCtx(() => [
119
+ renderSlot(_ctx.$slots, "default")
120
+ ]),
121
+ _: 3
122
+ }, 16, ["as", "as-child", "data-layout-group-key"]);
123
+ };
94
124
  }
95
125
  });
96
126
  export {
97
- z as default
127
+ _sfc_main as default
98
128
  };
@@ -1,4 +1,4 @@
1
- import f from "./Motion.vue.mjs";
1
+ import _sfc_main from "./Motion.vue.mjs";
2
2
  export {
3
- f as default
3
+ _sfc_main as default
4
4
  };
@@ -1,23 +1,29 @@
1
- import { defineComponent as r, h as a } from "vue";
2
- import { Slot as f } from "./Slot.mjs";
3
- const d = r({
1
+ import { defineComponent, h } from "vue";
2
+ import { Slot } from "./Slot.mjs";
3
+ const Primitive = defineComponent({
4
4
  name: "Primitive",
5
- inheritAttrs: !1,
5
+ inheritAttrs: false,
6
6
  props: {
7
7
  asChild: {
8
8
  type: Boolean,
9
- default: !1
9
+ default: false
10
10
  },
11
11
  as: {
12
12
  type: [String, Object],
13
13
  default: "div"
14
14
  }
15
15
  },
16
- setup(t, { attrs: i, slots: n }) {
17
- const e = t.asChild ? "template" : t.as;
18
- return typeof e == "string" && ["area", "img", "input"].includes(e) ? () => a(e, i) : e !== "template" ? () => a(t.as, i, { default: n.default }) : () => a(f, i, { default: n.default });
16
+ setup(props, { attrs, slots }) {
17
+ const asTag = props.asChild ? "template" : props.as;
18
+ const SELF_CLOSING_TAGS = ["area", "img", "input"];
19
+ if (typeof asTag === "string" && SELF_CLOSING_TAGS.includes(asTag))
20
+ return () => h(asTag, attrs);
21
+ if (asTag !== "template") {
22
+ return () => h(props.as, attrs, { default: slots.default });
23
+ }
24
+ return () => h(Slot, attrs, { default: slots.default });
19
25
  }
20
26
  });
21
27
  export {
22
- d as Primitive
28
+ Primitive
23
29
  };
@@ -1,27 +1,36 @@
1
- import { defineComponent as m, Comment as d, mergeProps as c, cloneVNode as u } from "vue";
2
- import { renderSlotFragments as a } from "./renderSlotFragments.mjs";
3
- const x = m({
1
+ import { defineComponent, Comment, mergeProps, cloneVNode } from "vue";
2
+ import { renderSlotFragments } from "./renderSlotFragments.mjs";
3
+ const Slot = defineComponent({
4
4
  name: "PrimitiveSlot",
5
- inheritAttrs: !1,
6
- setup(h, { attrs: t, slots: i }) {
5
+ inheritAttrs: false,
6
+ setup(_, { attrs, slots }) {
7
7
  return () => {
8
- var f, l;
9
- if (!i.default)
8
+ var _a, _b;
9
+ if (!slots.default)
10
10
  return null;
11
- const e = a(i.default()), s = e.findIndex((o) => o.type !== d);
12
- if (s === -1)
13
- return e;
14
- const r = e[s];
15
- (f = r.props) == null || delete f.ref;
16
- const p = r.props ? c(t, r.props) : t;
17
- t.class && ((l = r.props) != null && l.class) && delete r.props.class;
18
- const n = u(r, p);
19
- for (const o in p)
20
- o.startsWith("on") && (n.props || (n.props = {}), n.props[o] = p[o]);
21
- return e.length === 1 ? n : (e[s] = n, e);
11
+ const childrens = renderSlotFragments(slots.default());
12
+ const firstNonCommentChildrenIndex = childrens.findIndex((child) => child.type !== Comment);
13
+ if (firstNonCommentChildrenIndex === -1)
14
+ return childrens;
15
+ const firstNonCommentChildren = childrens[firstNonCommentChildrenIndex];
16
+ (_a = firstNonCommentChildren.props) == null ? true : delete _a.ref;
17
+ const mergedProps = firstNonCommentChildren.props ? mergeProps(attrs, firstNonCommentChildren.props) : attrs;
18
+ if (attrs.class && ((_b = firstNonCommentChildren.props) == null ? void 0 : _b.class))
19
+ delete firstNonCommentChildren.props.class;
20
+ const cloned = cloneVNode(firstNonCommentChildren, mergedProps);
21
+ for (const prop in mergedProps) {
22
+ if (prop.startsWith("on")) {
23
+ cloned.props || (cloned.props = {});
24
+ cloned.props[prop] = mergedProps[prop];
25
+ }
26
+ }
27
+ if (childrens.length === 1)
28
+ return cloned;
29
+ childrens[firstNonCommentChildrenIndex] = cloned;
30
+ return childrens;
22
31
  };
23
32
  }
24
33
  });
25
34
  export {
26
- x as Slot
35
+ Slot
27
36
  };
@@ -1,6 +1,17 @@
1
- import { createContext as o } from "../utils/createContext.mjs";
2
- const [e, i] = o("Motion");
1
+ import { createContext } from "../utils/createContext.mjs";
2
+ const [injectMotion, provideMotion] = createContext("Motion");
3
+ const [injectLayoutGroup, provideLayoutGroup] = createContext("LayoutGroup");
4
+ function shouldInheritGroup(inherit) {
5
+ return inherit === true;
6
+ }
7
+ function shouldInheritId(inherit) {
8
+ return shouldInheritGroup(inherit === true) || inherit === "id";
9
+ }
3
10
  export {
4
- e as injectMotion,
5
- i as provideMotion
11
+ injectLayoutGroup,
12
+ injectMotion,
13
+ provideLayoutGroup,
14
+ provideMotion,
15
+ shouldInheritGroup,
16
+ shouldInheritId
6
17
  };
@@ -0,0 +1,30 @@
1
+ function notify(node) {
2
+ return !node.isLayoutDirty && node.willUpdate(false);
3
+ }
4
+ function nodeGroup() {
5
+ const nodes = /* @__PURE__ */ new Set();
6
+ const subscriptions = /* @__PURE__ */ new WeakMap();
7
+ const dirtyAll = () => nodes.forEach(notify);
8
+ return {
9
+ add: (node) => {
10
+ nodes.add(node);
11
+ subscriptions.set(
12
+ node,
13
+ node.addEventListener("willUpdate", dirtyAll)
14
+ );
15
+ },
16
+ remove: (node) => {
17
+ nodes.delete(node);
18
+ const unsubscribe = subscriptions.get(node);
19
+ if (unsubscribe) {
20
+ unsubscribe();
21
+ subscriptions.delete(node);
22
+ }
23
+ dirtyAll();
24
+ },
25
+ dirty: dirtyAll
26
+ };
27
+ }
28
+ export {
29
+ nodeGroup
30
+ };
@@ -1,13 +1,16 @@
1
- import { createContext as o } from "../utils/createContext.mjs";
2
- const t = /* @__PURE__ */ new Map();
3
- function r(e) {
4
- const n = t.get(e);
5
- n && e.removeEventListener("motioncomplete", n), t.delete(e);
1
+ import { createContext } from "../utils/createContext.mjs";
2
+ const doneCallbacks = /* @__PURE__ */ new Map();
3
+ function removeDoneCallback(element) {
4
+ const prevDoneCallback = doneCallbacks.get(element);
5
+ if (prevDoneCallback) {
6
+ element.removeEventListener("motioncomplete", prevDoneCallback);
7
+ }
8
+ doneCallbacks.delete(element);
6
9
  }
7
- const [a, i] = o("AnimatePresenceContext");
10
+ const [injectAnimatePresence, provideAnimatePresence] = createContext("AnimatePresenceContext");
8
11
  export {
9
- t as doneCallbacks,
10
- a as injectAnimatePresence,
11
- i as provideAnimatePresence,
12
- r as removeDoneCallback
12
+ doneCallbacks,
13
+ injectAnimatePresence,
14
+ provideAnimatePresence,
15
+ removeDoneCallback
13
16
  };
@@ -1,7 +1,13 @@
1
- import { Fragment as e } from "vue";
2
- function n(t) {
3
- return t ? t.flatMap((r) => r.type === e ? n(r.children) : [r]) : [];
1
+ import { Fragment } from "vue";
2
+ function renderSlotFragments(children) {
3
+ if (!children)
4
+ return [];
5
+ return children.flatMap((child) => {
6
+ if (child.type === Fragment)
7
+ return renderSlotFragments(child.children);
8
+ return [child];
9
+ });
4
10
  }
5
11
  export {
6
- n as renderSlotFragments
12
+ renderSlotFragments
7
13
  };
@@ -0,0 +1,11 @@
1
+ import { ref } from "vue";
2
+ function useForceUpdate() {
3
+ const key = ref(0);
4
+ function forceUpdate() {
5
+ key.value++;
6
+ }
7
+ return [forceUpdate, key];
8
+ }
9
+ export {
10
+ useForceUpdate
11
+ };
@@ -1,19 +1,26 @@
1
- const e = {
1
+ const components = {
2
2
  motion: [
3
3
  "Motion",
4
- "MotionPresence"
4
+ "MotionPresence",
5
+ "LayoutGroup"
5
6
  ]
6
- }, o = {
7
+ };
8
+ const utilities = {
7
9
  utilities: [
8
10
  "useTransform",
9
11
  "useTime",
10
12
  "useMotionTemplate",
11
13
  "useSpring",
12
14
  "useScroll",
13
- "useMotionValue"
15
+ "useMotionValue",
16
+ "useVelocity",
17
+ "useAnimate",
18
+ "useInView",
19
+ "useAnimationFrame",
20
+ "useMotionValueEvent"
14
21
  ]
15
22
  };
16
23
  export {
17
- e as components,
18
- o as utilities
24
+ components,
25
+ utilities
19
26
  };