motion-v 0.5.2-beta.1 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/dist/cjs/index.js +1788 -1539
  2. package/dist/es/animation/use-animate.mjs +1 -1
  3. package/dist/es/components/LayoutGroup.vue.mjs +2 -7
  4. package/dist/es/components/Motion.vue.mjs +47 -30
  5. package/dist/es/components/Primitive.mjs +14 -6
  6. package/dist/es/components/{AnimatePresence.vue.mjs → animate-presence/AnimatePresence.vue.mjs} +34 -15
  7. package/dist/es/components/{use-pop-layout.mjs → animate-presence/use-pop-layout.mjs} +8 -5
  8. package/dist/es/components/group.mjs +5 -2
  9. package/dist/es/components/presence.mjs +0 -2
  10. package/dist/es/components/utils.mjs +7 -0
  11. package/dist/es/constants/index.mjs +2 -1
  12. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animate/index.mjs +2 -1
  13. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animate/resolve-subjects.mjs +2 -1
  14. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animate/subject.mjs +1 -1
  15. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/AcceleratedAnimation.mjs +7 -7
  16. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/MainThreadAnimation.mjs +8 -8
  17. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/utils/can-animate.mjs +2 -2
  18. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/waapi/NativeAnimation.mjs +29 -89
  19. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs +4 -4
  20. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs +2 -1
  21. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/waapi/index.mjs +2 -1
  22. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/waapi/utils/supports-partial-keyframes.mjs +2 -1
  23. package/dist/es/external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/animation/animators/waapi/utils/supports-waapi.mjs +6 -0
  24. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/generators/spring/find.mjs +2 -2
  25. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/generators/spring/index.mjs +7 -6
  26. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/interfaces/motion-value.mjs +6 -5
  27. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs +6 -5
  28. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/sequence/create.mjs +8 -8
  29. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/utils/default-transitions.mjs +1 -1
  30. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/easing/cubic-bezier.mjs +2 -2
  31. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/easing/utils/map.mjs +6 -6
  32. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/frameloop/frame.mjs +2 -2
  33. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs +1 -1
  34. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/animation/mix-values.mjs +3 -3
  35. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/node/create-projection-node.mjs +15 -15
  36. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/VisualElement.mjs +12 -12
  37. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/DOMKeyframesResolver.mjs +4 -3
  38. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/resize/handle-element.mjs +2 -1
  39. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/scroll/index.mjs +4 -4
  40. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/scroll/info.mjs +2 -1
  41. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs +6 -5
  42. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs +1 -1
  43. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs +1 -14
  44. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/viewport/index.mjs +3 -2
  45. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/html/HTMLVisualElement.mjs +6 -6
  46. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/html/utils/build-styles.mjs +2 -2
  47. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/html/utils/build-transform.mjs +1 -1
  48. package/dist/es/external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/render/html/utils/keys-position.mjs +13 -0
  49. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/svg/SVGVisualElement.mjs +6 -6
  50. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs +1 -1
  51. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/utils/motion-values.mjs +1 -1
  52. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/delay.mjs +2 -1
  53. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/interpolate.mjs +8 -5
  54. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/mix/color.mjs +1 -1
  55. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/mix/complex.mjs +1 -1
  56. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/offsets/fill.mjs +2 -1
  57. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/index.mjs +2 -2
  58. package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion/dist/es/animation/GroupPlaybackControls.mjs → motion-dom@11.16.4/external/motion-dom/dist/es/animation/controls/BaseGroup.mjs} +6 -6
  59. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/animation/controls/Group.mjs +9 -0
  60. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs +17 -0
  61. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/animation/waapi/NativeAnimationControls.mjs +81 -0
  62. package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion/dist/es/animation/animators/waapi → motion-dom@11.16.4/external/motion-dom/dist/es/animation/waapi/utils}/easing.mjs +3 -3
  63. package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion/dist/es/animation/animators → motion-dom@11.16.4/external/motion-dom/dist/es/animation}/waapi/utils/linear.mjs +2 -1
  64. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/gestures/drag/state/is-active.mjs +11 -0
  65. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/gestures/hover.mjs +30 -0
  66. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/gestures/press/index.mjs +51 -0
  67. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs +13 -0
  68. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/gestures/press/utils/keyboard.mjs +32 -0
  69. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/gestures/press/utils/state.mjs +4 -0
  70. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs +12 -0
  71. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs +10 -0
  72. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/gestures/utils/setup.mjs +15 -0
  73. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/utils/resolve-elements.mjs +17 -0
  74. package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion/dist/es/animation/animators/waapi/utils/supports-linear-easing.mjs → motion-dom@11.16.4/external/motion-dom/dist/es/utils/supports/linear-easing.mjs} +1 -1
  75. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/utils/supports/memo.mjs +13 -0
  76. package/dist/es/external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/utils/supports/scroll-timeline.mjs +6 -0
  77. package/dist/es/features/gestures/drag/VisualElementDragControls.mjs +2 -2
  78. package/dist/es/features/gestures/drag/index.mjs +2 -2
  79. package/dist/es/features/gestures/hover/index.mjs +3 -2
  80. package/dist/es/features/gestures/in-view/index.mjs +2 -2
  81. package/dist/es/features/gestures/pan/PanSession.mjs +3 -3
  82. package/dist/es/features/gestures/pan/index.mjs +3 -3
  83. package/dist/es/features/gestures/press/index.mjs +3 -2
  84. package/dist/es/features/layout/config.mjs +2 -2
  85. package/dist/es/features/layout/layout.mjs +19 -10
  86. package/dist/es/features/layout/projection.mjs +19 -3
  87. package/dist/es/features/svg.mjs +1 -1
  88. package/dist/es/index.mjs +37 -37
  89. package/dist/es/state/animate-variants-children.mjs +6 -4
  90. package/dist/es/state/create-visual-element.mjs +2 -2
  91. package/dist/es/state/motion-state.mjs +59 -26
  92. package/dist/es/state/utils.mjs +0 -9
  93. package/dist/es/utils/use-animation-frame.mjs +1 -1
  94. package/dist/es/utils/use-in-view.mjs +1 -1
  95. package/dist/es/value/use-combine-values.mjs +2 -2
  96. package/dist/es/value/use-computed.mjs +1 -1
  97. package/dist/es/value/use-scroll.mjs +2 -2
  98. package/dist/es/value/use-spring.mjs +3 -3
  99. package/dist/es/value/use-time.mjs +1 -1
  100. package/dist/es/value/use-transform.mjs +1 -1
  101. package/dist/es/value/use-velocity.mjs +2 -2
  102. package/dist/src/animation/types.d.ts +0 -12
  103. package/dist/src/components/LayoutGroup.d.ts +1 -10
  104. package/dist/src/components/Motion.d.ts +1 -1
  105. package/dist/src/components/Primitive.d.ts +14 -5
  106. package/dist/src/components/Slot.d.ts +1 -1
  107. package/dist/src/components/animate-presence/AnimatePresence.d.ts +21 -0
  108. package/dist/src/components/animate-presence/index.d.ts +2 -0
  109. package/dist/src/components/{type.d.ts → animate-presence/types.d.ts} +2 -0
  110. package/dist/src/components/{use-pop-layout.d.ts → animate-presence/use-pop-layout.d.ts} +3 -2
  111. package/dist/src/components/animate-presence/use-presence.d.ts +2 -0
  112. package/dist/src/components/context.d.ts +1 -0
  113. package/dist/src/components/group.d.ts +1 -0
  114. package/dist/src/components/hooks/use-motion-elm.d.ts +13 -0
  115. package/dist/src/components/index.d.ts +2 -0
  116. package/dist/src/components/motion-config/MotionConfig.d.ts +2 -23
  117. package/dist/src/components/presence.d.ts +3 -5
  118. package/dist/src/components/utils.d.ts +7 -0
  119. package/dist/src/features/gestures/base.d.ts +0 -2
  120. package/dist/src/index.d.ts +1 -3
  121. package/dist/src/state/animate-variants-children.d.ts +1 -1
  122. package/dist/src/state/event.d.ts +1 -1
  123. package/dist/src/state/motion-state.d.ts +9 -6
  124. package/dist/src/state/utils.d.ts +2 -2
  125. package/dist/src/types/index.d.ts +0 -1
  126. package/dist/src/types/state.d.ts +8 -5
  127. package/dist/src/types/transform.d.ts +0 -24
  128. package/dist/src/utils/use-dom-ref.d.ts +2 -1
  129. package/dist/src/utils/use-in-view.d.ts +1 -1
  130. package/package.json +10 -5
  131. package/dist/es/external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/animation/animators/waapi/utils/memo-supports.mjs +0 -12
  132. package/dist/es/external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/animation/animators/waapi/utils/supports-waapi.mjs +0 -5
  133. package/dist/es/external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/easing/utils/create-generator-easing.mjs +0 -14
  134. package/dist/es/external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/render/dom/scroll/supports.mjs +0 -5
  135. package/dist/es/state/schedule.mjs +0 -30
  136. package/dist/src/animation/animation-controls.d.ts +0 -7
  137. package/dist/src/components/AnimatePresence.d.ts +0 -46
  138. package/dist/src/state/schedule.d.ts +0 -3
  139. package/dist/es/components/{AnimatePresence.vue2.mjs → animate-presence/AnimatePresence.vue2.mjs} +0 -0
  140. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animate/sequence.mjs +0 -0
  141. package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animate/single-value.mjs +1 -1
  142. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/BaseAnimation.mjs +0 -0
  143. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/drivers/driver-frameloop.mjs +0 -0
  144. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/utils/accelerated-values.mjs +0 -0
  145. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs +0 -0
  146. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/animators/waapi/utils/style.mjs +0 -0
  147. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/generators/inertia.mjs +0 -0
  148. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/generators/keyframes.mjs +0 -0
  149. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/generators/spring/defaults.mjs +0 -0
  150. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/generators/utils/velocity.mjs +0 -0
  151. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/optimized-appear/data-id.mjs +0 -0
  152. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs +0 -0
  153. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/sequence/utils/calc-repeat-duration.mjs +0 -0
  154. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs +0 -0
  155. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/sequence/utils/edit.mjs +0 -0
  156. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/sequence/utils/normalize-times.mjs +0 -0
  157. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/sequence/utils/sort.mjs +0 -0
  158. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/utils/create-visual-element.mjs +0 -0
  159. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/utils/is-animatable.mjs +0 -0
  160. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/utils/is-animation-controls.mjs +0 -0
  161. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs +0 -0
  162. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs +0 -0
  163. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/utils/is-none.mjs +0 -0
  164. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/utils/is-transition-defined.mjs +0 -0
  165. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/animation/utils/stagger.mjs +0 -0
  166. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/easing/anticipate.mjs +0 -0
  167. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/easing/back.mjs +0 -0
  168. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/easing/circ.mjs +0 -0
  169. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/easing/ease.mjs +0 -0
  170. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/easing/modifiers/mirror.mjs +0 -0
  171. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/easing/modifiers/reverse.mjs +0 -0
  172. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/easing/steps.mjs +0 -0
  173. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/easing/utils/get-easing-for-segment.mjs +0 -0
  174. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/easing/utils/is-easing-array.mjs +0 -0
  175. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/events/add-dom-event.mjs +0 -0
  176. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/frameloop/batcher.mjs +0 -0
  177. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/frameloop/index-legacy.mjs +0 -0
  178. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/frameloop/microtask.mjs +0 -0
  179. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/frameloop/render-step.mjs +0 -0
  180. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/frameloop/sync-time.mjs +0 -0
  181. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/motion/features/definitions.mjs +0 -0
  182. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/geometry/conversion.mjs +0 -0
  183. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/geometry/copy.mjs +0 -0
  184. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/geometry/delta-apply.mjs +0 -0
  185. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/geometry/delta-calc.mjs +0 -0
  186. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/geometry/delta-remove.mjs +0 -0
  187. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/geometry/models.mjs +0 -0
  188. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/geometry/utils.mjs +0 -0
  189. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs +0 -0
  190. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs +0 -0
  191. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/node/state.mjs +0 -0
  192. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/shared/stack.mjs +0 -0
  193. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/styles/scale-border-radius.mjs +0 -0
  194. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs +0 -0
  195. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/styles/scale-correction.mjs +0 -0
  196. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/styles/transform.mjs +0 -0
  197. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/utils/each-axis.mjs +0 -0
  198. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/utils/has-transform.mjs +0 -0
  199. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/projection/utils/measure.mjs +0 -0
  200. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/DOMVisualElement.mjs +0 -0
  201. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/resize/handle-window.mjs +0 -0
  202. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/resize/index.mjs +0 -0
  203. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/scroll/observe.mjs +0 -0
  204. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs +0 -0
  205. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs +0 -0
  206. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs +0 -0
  207. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs +0 -0
  208. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs +0 -0
  209. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/scroll/track.mjs +0 -0
  210. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs +0 -0
  211. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs +0 -0
  212. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs +0 -0
  213. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs +0 -0
  214. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/value-types/defaults.mjs +0 -0
  215. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/value-types/dimensions.mjs +0 -0
  216. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/value-types/find.mjs +0 -0
  217. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs +0 -0
  218. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/value-types/number-browser.mjs +0 -0
  219. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/value-types/number.mjs +0 -0
  220. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/value-types/test.mjs +0 -0
  221. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/value-types/transform.mjs +0 -0
  222. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/value-types/type-auto.mjs +0 -0
  223. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/dom/value-types/type-int.mjs +0 -0
  224. /package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion/dist/es/render/html/utils/transform.mjs → framer-motion@11.16.6/external/framer-motion/dist/es/render/html/utils/keys-transform.mjs} +0 -0
  225. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/html/utils/make-none-animatable.mjs +0 -0
  226. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/html/utils/render.mjs +0 -0
  227. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs +0 -0
  228. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/object/ObjectVisualElement.mjs +0 -0
  229. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/store.mjs +0 -0
  230. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/svg/utils/build-attrs.mjs +0 -0
  231. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs +0 -0
  232. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs +0 -0
  233. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/svg/utils/path.mjs +0 -0
  234. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/svg/utils/render.mjs +0 -0
  235. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/svg/utils/transform-origin.mjs +0 -0
  236. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/utils/KeyframesResolver.mjs +0 -0
  237. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/utils/compare-by-depth.mjs +0 -0
  238. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/utils/flat-tree.mjs +0 -0
  239. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/utils/is-controlling-variants.mjs +0 -0
  240. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/utils/is-variant-label.mjs +0 -0
  241. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs +0 -0
  242. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/utils/resolve-variants.mjs +0 -0
  243. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/utils/setters.mjs +0 -0
  244. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/render/utils/variant-props.mjs +0 -0
  245. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/GlobalConfig.mjs +0 -0
  246. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/array.mjs +0 -0
  247. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/clamp.mjs +0 -0
  248. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/distance.mjs +0 -0
  249. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/hsla-to-rgba.mjs +0 -0
  250. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/is-browser.mjs +0 -0
  251. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/is-numerical-string.mjs +0 -0
  252. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/is-zero-value-string.mjs +0 -0
  253. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/mix/immediate.mjs +0 -0
  254. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/mix/index.mjs +0 -0
  255. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/mix/number.mjs +0 -0
  256. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/mix/visibility.mjs +0 -0
  257. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/offsets/default.mjs +0 -0
  258. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/offsets/time.mjs +0 -0
  259. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/pipe.mjs +0 -0
  260. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/reduced-motion/index.mjs +0 -0
  261. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/reduced-motion/state.mjs +0 -0
  262. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/resolve-value.mjs +0 -0
  263. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/subscription-manager.mjs +0 -0
  264. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/transform.mjs +0 -0
  265. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/velocity-per-second.mjs +0 -0
  266. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/warn-once.mjs +0 -0
  267. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/utils/wrap.mjs +0 -0
  268. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/color/hex.mjs +0 -0
  269. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/color/hsla.mjs +0 -0
  270. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/color/index.mjs +0 -0
  271. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/color/rgba.mjs +0 -0
  272. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/color/utils.mjs +0 -0
  273. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/complex/filter.mjs +0 -0
  274. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/complex/index.mjs +0 -0
  275. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/numbers/index.mjs +0 -0
  276. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/numbers/units.mjs +0 -0
  277. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/utils/color-regex.mjs +0 -0
  278. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/utils/float-regex.mjs +0 -0
  279. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/utils/is-nullish.mjs +0 -0
  280. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/utils/sanitize.mjs +0 -0
  281. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/types/utils/single-color-regex.mjs +0 -0
  282. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/use-will-change/add-will-change.mjs +0 -0
  283. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/use-will-change/is.mjs +0 -0
  284. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/utils/is-motion-value.mjs +0 -0
  285. /package/dist/es/external/.pnpm/{framer-motion@11.15.0 → framer-motion@11.16.6}/external/framer-motion/dist/es/value/utils/resolve-motion-value.mjs +0 -0
  286. /package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion → motion-dom@11.16.4/external/motion-dom}/dist/es/animation/generators/utils/calc-duration.mjs +0 -0
  287. /package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion → motion-dom@11.16.4/external/motion-dom}/dist/es/animation/generators/utils/is-generator.mjs +0 -0
  288. /package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion → motion-dom@11.16.4/external/motion-dom}/dist/es/animation/utils/get-value-transition.mjs +0 -0
  289. /package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion/dist/es/animation/animators → motion-dom@11.16.4/external/motion-dom/dist/es/animation}/waapi/utils/attach-timeline.mjs +0 -0
  290. /package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion/dist/es/easing → motion-dom@11.16.4/external/motion-dom/dist/es}/utils/is-bezier-definition.mjs +0 -0
  291. /package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion/dist/es/animation/animators/waapi/utils/supports-flags.mjs → motion-dom@11.16.4/external/motion-dom/dist/es/utils/supports/flags.mjs} +0 -0
  292. /package/dist/es/external/.pnpm/{motion-utils@11.14.3 → motion-utils@11.16.0}/external/motion-utils/dist/es/errors.mjs +0 -0
  293. /package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion/dist/es/utils → motion-utils@11.16.0/external/motion-utils/dist/es}/memo.mjs +0 -0
  294. /package/dist/es/external/.pnpm/{motion-utils@11.14.3 → motion-utils@11.16.0}/external/motion-utils/dist/es/noop.mjs +0 -0
  295. /package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion/dist/es/utils → motion-utils@11.16.0/external/motion-utils/dist/es}/progress.mjs +0 -0
  296. /package/dist/es/external/.pnpm/{framer-motion@11.15.0/external/framer-motion/dist/es/utils → motion-utils@11.16.0/external/motion-utils/dist/es}/time-conversion.mjs +0 -0
@@ -1,11 +1,11 @@
1
- import { supportsScrollTimeline } from "../render/dom/scroll/supports.mjs";
2
- class GroupPlaybackControls {
1
+ import { supportsScrollTimeline } from "../../utils/supports/scroll-timeline.mjs";
2
+ class BaseGroupPlaybackControls {
3
3
  constructor(animations) {
4
4
  this.stop = () => this.runAll("stop");
5
5
  this.animations = animations.filter(Boolean);
6
6
  }
7
- then(onResolve, onReject) {
8
- return Promise.all(this.animations).then(onResolve).catch(onReject);
7
+ get finished() {
8
+ return Promise.all(this.animations.map((animation) => "finished" in animation ? animation.finished : animation));
9
9
  }
10
10
  /**
11
11
  * TODO: Filter out cancelled or stopped animations before returning
@@ -22,7 +22,7 @@ class GroupPlaybackControls {
22
22
  const subscriptions = this.animations.map((animation) => {
23
23
  if (supportsScrollTimeline() && animation.attachTimeline) {
24
24
  return animation.attachTimeline(timeline);
25
- } else {
25
+ } else if (typeof fallback === "function") {
26
26
  return fallback(animation);
27
27
  }
28
28
  });
@@ -75,5 +75,5 @@ class GroupPlaybackControls {
75
75
  }
76
76
  }
77
77
  export {
78
- GroupPlaybackControls
78
+ BaseGroupPlaybackControls
79
79
  };
@@ -0,0 +1,9 @@
1
+ import { BaseGroupPlaybackControls } from "./BaseGroup.mjs";
2
+ class GroupPlaybackControls extends BaseGroupPlaybackControls {
3
+ then(onResolve, onReject) {
4
+ return Promise.all(this.animations).then(onResolve).catch(onReject);
5
+ }
6
+ }
7
+ export {
8
+ GroupPlaybackControls
9
+ };
@@ -0,0 +1,17 @@
1
+ import "../../../../../../../../motion-utils@11.16.0/external/motion-utils/dist/es/errors.mjs";
2
+ import { millisecondsToSeconds } from "../../../../../../../../motion-utils@11.16.0/external/motion-utils/dist/es/time-conversion.mjs";
3
+ import { calcGeneratorDuration, maxGeneratorDuration } from "./calc-duration.mjs";
4
+ function createGeneratorEasing(options, scale = 100, createGenerator) {
5
+ const generator = createGenerator({ ...options, keyframes: [0, scale] });
6
+ const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
7
+ return {
8
+ type: "keyframes",
9
+ ease: (progress) => {
10
+ return generator.next(duration * progress).value / scale;
11
+ },
12
+ duration: millisecondsToSeconds(duration)
13
+ };
14
+ }
15
+ export {
16
+ createGeneratorEasing
17
+ };
@@ -0,0 +1,81 @@
1
+ import "../../../../../../../motion-utils@11.16.0/external/motion-utils/dist/es/errors.mjs";
2
+ import { noop } from "../../../../../../../motion-utils@11.16.0/external/motion-utils/dist/es/noop.mjs";
3
+ import { millisecondsToSeconds, secondsToMilliseconds } from "../../../../../../../motion-utils@11.16.0/external/motion-utils/dist/es/time-conversion.mjs";
4
+ import { attachTimeline } from "./utils/attach-timeline.mjs";
5
+ class NativeAnimationControls {
6
+ constructor(animation) {
7
+ this.animation = animation;
8
+ }
9
+ get duration() {
10
+ var _a, _b, _c;
11
+ const durationInMs = ((_b = (_a = this.animation) === null || _a === void 0 ? void 0 : _a.effect) === null || _b === void 0 ? void 0 : _b.getComputedTiming().duration) || ((_c = this.options) === null || _c === void 0 ? void 0 : _c.duration) || 300;
12
+ return millisecondsToSeconds(Number(durationInMs));
13
+ }
14
+ get time() {
15
+ var _a;
16
+ if (this.animation) {
17
+ return millisecondsToSeconds(((_a = this.animation) === null || _a === void 0 ? void 0 : _a.currentTime) || 0);
18
+ }
19
+ return 0;
20
+ }
21
+ set time(newTime) {
22
+ if (this.animation) {
23
+ this.animation.currentTime = secondsToMilliseconds(newTime);
24
+ }
25
+ }
26
+ get speed() {
27
+ return this.animation ? this.animation.playbackRate : 1;
28
+ }
29
+ set speed(newSpeed) {
30
+ if (this.animation) {
31
+ this.animation.playbackRate = newSpeed;
32
+ }
33
+ }
34
+ get state() {
35
+ return this.animation ? this.animation.playState : "finished";
36
+ }
37
+ get startTime() {
38
+ return this.animation ? this.animation.startTime : null;
39
+ }
40
+ get finished() {
41
+ return this.animation ? this.animation.finished : Promise.resolve();
42
+ }
43
+ play() {
44
+ this.animation && this.animation.play();
45
+ }
46
+ pause() {
47
+ this.animation && this.animation.pause();
48
+ }
49
+ stop() {
50
+ if (!this.animation || this.state === "idle" || this.state === "finished") {
51
+ return;
52
+ }
53
+ if (this.animation.commitStyles) {
54
+ this.animation.commitStyles();
55
+ }
56
+ this.cancel();
57
+ }
58
+ flatten() {
59
+ var _a;
60
+ if (!this.animation)
61
+ return;
62
+ (_a = this.animation.effect) === null || _a === void 0 ? void 0 : _a.updateTiming({ easing: "linear" });
63
+ }
64
+ attachTimeline(timeline) {
65
+ if (this.animation)
66
+ attachTimeline(this.animation, timeline);
67
+ return noop;
68
+ }
69
+ complete() {
70
+ this.animation && this.animation.finish();
71
+ }
72
+ cancel() {
73
+ try {
74
+ this.animation && this.animation.cancel();
75
+ } catch (e) {
76
+ }
77
+ }
78
+ }
79
+ export {
80
+ NativeAnimationControls
81
+ };
@@ -1,6 +1,6 @@
1
- import { isBezierDefinition } from "../../../easing/utils/is-bezier-definition.mjs";
2
- import { generateLinearEasing } from "./utils/linear.mjs";
3
- import { supportsLinearEasing } from "./utils/supports-linear-easing.mjs";
1
+ import { isBezierDefinition } from "../../../utils/is-bezier-definition.mjs";
2
+ import { supportsLinearEasing } from "../../../utils/supports/linear-easing.mjs";
3
+ import { generateLinearEasing } from "./linear.mjs";
4
4
  function isWaapiSupportedEasing(easing) {
5
5
  return Boolean(typeof easing === "function" && supportsLinearEasing() || !easing || typeof easing === "string" && (easing in supportedWaapiEasing || supportsLinearEasing()) || isBezierDefinition(easing) || Array.isArray(easing) && easing.every(isWaapiSupportedEasing));
6
6
  }
@@ -1,4 +1,5 @@
1
- import { progress } from "../../../../utils/progress.mjs";
1
+ import "../../../../../../../../motion-utils@11.16.0/external/motion-utils/dist/es/errors.mjs";
2
+ import { progress } from "../../../../../../../../motion-utils@11.16.0/external/motion-utils/dist/es/progress.mjs";
2
3
  const generateLinearEasing = (easing, duration, resolution = 10) => {
3
4
  let points = "";
4
5
  const numPoints = Math.max(Math.round(duration / resolution), 2);
@@ -0,0 +1,11 @@
1
+ const isDragging = {
2
+ x: false,
3
+ y: false
4
+ };
5
+ function isDragActive() {
6
+ return isDragging.y;
7
+ }
8
+ export {
9
+ isDragActive,
10
+ isDragging
11
+ };
@@ -0,0 +1,30 @@
1
+ import { isDragActive } from "./drag/state/is-active.mjs";
2
+ import { setupGesture } from "./utils/setup.mjs";
3
+ function filterEvents(callback) {
4
+ return (event) => {
5
+ if (event.pointerType === "touch" || isDragActive())
6
+ return;
7
+ callback(event);
8
+ };
9
+ }
10
+ function hover(elementOrSelector, onHoverStart, options = {}) {
11
+ const [elements, eventOptions, cancel] = setupGesture(elementOrSelector, options);
12
+ const onPointerEnter = filterEvents((enterEvent) => {
13
+ const { target } = enterEvent;
14
+ const onHoverEnd = onHoverStart(enterEvent);
15
+ if (typeof onHoverEnd !== "function" || !target)
16
+ return;
17
+ const onPointerLeave = filterEvents((leaveEvent) => {
18
+ onHoverEnd(leaveEvent);
19
+ target.removeEventListener("pointerleave", onPointerLeave);
20
+ });
21
+ target.addEventListener("pointerleave", onPointerLeave, eventOptions);
22
+ });
23
+ elements.forEach((element) => {
24
+ element.addEventListener("pointerenter", onPointerEnter, eventOptions);
25
+ });
26
+ return cancel;
27
+ }
28
+ export {
29
+ hover
30
+ };
@@ -0,0 +1,51 @@
1
+ import { isDragActive } from "../drag/state/is-active.mjs";
2
+ import { isNodeOrChild } from "../utils/is-node-or-child.mjs";
3
+ import { isPrimaryPointer } from "../utils/is-primary-pointer.mjs";
4
+ import { setupGesture } from "../utils/setup.mjs";
5
+ import { isElementKeyboardAccessible } from "./utils/is-keyboard-accessible.mjs";
6
+ import { enableKeyboardPress } from "./utils/keyboard.mjs";
7
+ import { isPressing } from "./utils/state.mjs";
8
+ function isValidPressEvent(event) {
9
+ return isPrimaryPointer(event) && !isDragActive();
10
+ }
11
+ function press(elementOrSelector, onPressStart, options = {}) {
12
+ const [elements, eventOptions, cancelEvents] = setupGesture(elementOrSelector, options);
13
+ const startPress = (startEvent) => {
14
+ const element = startEvent.currentTarget;
15
+ if (!isValidPressEvent(startEvent) || isPressing.has(element))
16
+ return;
17
+ isPressing.add(element);
18
+ const onPressEnd = onPressStart(startEvent);
19
+ const onPointerEnd = (endEvent, success) => {
20
+ window.removeEventListener("pointerup", onPointerUp);
21
+ window.removeEventListener("pointercancel", onPointerCancel);
22
+ if (!isValidPressEvent(endEvent) || !isPressing.has(element)) {
23
+ return;
24
+ }
25
+ isPressing.delete(element);
26
+ if (typeof onPressEnd === "function") {
27
+ onPressEnd(endEvent, { success });
28
+ }
29
+ };
30
+ const onPointerUp = (upEvent) => {
31
+ onPointerEnd(upEvent, options.useGlobalTarget || isNodeOrChild(element, upEvent.target));
32
+ };
33
+ const onPointerCancel = (cancelEvent) => {
34
+ onPointerEnd(cancelEvent, false);
35
+ };
36
+ window.addEventListener("pointerup", onPointerUp, eventOptions);
37
+ window.addEventListener("pointercancel", onPointerCancel, eventOptions);
38
+ };
39
+ elements.forEach((element) => {
40
+ if (!isElementKeyboardAccessible(element) && element.getAttribute("tabindex") === null) {
41
+ element.tabIndex = 0;
42
+ }
43
+ const target = options.useGlobalTarget ? window : element;
44
+ target.addEventListener("pointerdown", startPress, eventOptions);
45
+ element.addEventListener("focus", (event) => enableKeyboardPress(event, eventOptions), eventOptions);
46
+ });
47
+ return cancelEvents;
48
+ }
49
+ export {
50
+ press
51
+ };
@@ -0,0 +1,13 @@
1
+ const focusableElements = /* @__PURE__ */ new Set([
2
+ "BUTTON",
3
+ "INPUT",
4
+ "SELECT",
5
+ "TEXTAREA",
6
+ "A"
7
+ ]);
8
+ function isElementKeyboardAccessible(element) {
9
+ return focusableElements.has(element.tagName) || element.tabIndex !== -1;
10
+ }
11
+ export {
12
+ isElementKeyboardAccessible
13
+ };
@@ -0,0 +1,32 @@
1
+ import { isPressing } from "./state.mjs";
2
+ function filterEvents(callback) {
3
+ return (event) => {
4
+ if (event.key !== "Enter")
5
+ return;
6
+ callback(event);
7
+ };
8
+ }
9
+ function firePointerEvent(target, type) {
10
+ target.dispatchEvent(new PointerEvent("pointer" + type, { isPrimary: true, bubbles: true }));
11
+ }
12
+ const enableKeyboardPress = (focusEvent, eventOptions) => {
13
+ const element = focusEvent.currentTarget;
14
+ if (!element)
15
+ return;
16
+ const handleKeydown = filterEvents(() => {
17
+ if (isPressing.has(element))
18
+ return;
19
+ firePointerEvent(element, "down");
20
+ const handleKeyup = filterEvents(() => {
21
+ firePointerEvent(element, "up");
22
+ });
23
+ const handleBlur = () => firePointerEvent(element, "cancel");
24
+ element.addEventListener("keyup", handleKeyup, eventOptions);
25
+ element.addEventListener("blur", handleBlur, eventOptions);
26
+ });
27
+ element.addEventListener("keydown", handleKeydown, eventOptions);
28
+ element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
29
+ };
30
+ export {
31
+ enableKeyboardPress
32
+ };
@@ -0,0 +1,4 @@
1
+ const isPressing = /* @__PURE__ */ new WeakSet();
2
+ export {
3
+ isPressing
4
+ };
@@ -0,0 +1,12 @@
1
+ const isNodeOrChild = (parent, child) => {
2
+ if (!child) {
3
+ return false;
4
+ } else if (parent === child) {
5
+ return true;
6
+ } else {
7
+ return isNodeOrChild(parent, child.parentElement);
8
+ }
9
+ };
10
+ export {
11
+ isNodeOrChild
12
+ };
@@ -0,0 +1,10 @@
1
+ const isPrimaryPointer = (event) => {
2
+ if (event.pointerType === "mouse") {
3
+ return typeof event.button !== "number" || event.button <= 0;
4
+ } else {
5
+ return event.isPrimary !== false;
6
+ }
7
+ };
8
+ export {
9
+ isPrimaryPointer
10
+ };
@@ -0,0 +1,15 @@
1
+ import { resolveElements } from "../../utils/resolve-elements.mjs";
2
+ function setupGesture(elementOrSelector, options) {
3
+ const elements = resolveElements(elementOrSelector);
4
+ const gestureAbortController = new AbortController();
5
+ const eventOptions = {
6
+ passive: true,
7
+ ...options,
8
+ signal: gestureAbortController.signal
9
+ };
10
+ const cancel = () => gestureAbortController.abort();
11
+ return [elements, eventOptions, cancel];
12
+ }
13
+ export {
14
+ setupGesture
15
+ };
@@ -0,0 +1,17 @@
1
+ function resolveElements(elementOrSelector, scope, selectorCache) {
2
+ var _a;
3
+ if (elementOrSelector instanceof Element) {
4
+ return [elementOrSelector];
5
+ } else if (typeof elementOrSelector === "string") {
6
+ let root = document;
7
+ if (scope) {
8
+ root = scope.current;
9
+ }
10
+ const elements = (_a = selectorCache === null || selectorCache === void 0 ? void 0 : selectorCache[elementOrSelector]) !== null && _a !== void 0 ? _a : root.querySelectorAll(elementOrSelector);
11
+ return elements ? Array.from(elements) : [];
12
+ }
13
+ return Array.from(elementOrSelector);
14
+ }
15
+ export {
16
+ resolveElements
17
+ };
@@ -1,4 +1,4 @@
1
- import { memoSupports } from "./memo-supports.mjs";
1
+ import { memoSupports } from "./memo.mjs";
2
2
  const supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
3
3
  try {
4
4
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -0,0 +1,13 @@
1
+ import "../../../../../../../motion-utils@11.16.0/external/motion-utils/dist/es/errors.mjs";
2
+ import { memo } from "../../../../../../../motion-utils@11.16.0/external/motion-utils/dist/es/memo.mjs";
3
+ import { supportsFlags } from "./flags.mjs";
4
+ function memoSupports(callback, supportsFlag) {
5
+ const memoized = memo(callback);
6
+ return () => {
7
+ var _a;
8
+ return (_a = supportsFlags[supportsFlag]) !== null && _a !== void 0 ? _a : memoized();
9
+ };
10
+ }
11
+ export {
12
+ memoSupports
13
+ };
@@ -0,0 +1,6 @@
1
+ import "../../../../../../../motion-utils@11.16.0/external/motion-utils/dist/es/errors.mjs";
2
+ import { memo } from "../../../../../../../motion-utils@11.16.0/external/motion-utils/dist/es/memo.mjs";
3
+ const supportsScrollTimeline = memo(() => window.ScrollTimeline !== void 0);
4
+ export {
5
+ supportsScrollTimeline
6
+ };
@@ -12,12 +12,12 @@ import { percent } from "../../../value/types/numbers/units.mjs";
12
12
  import { addValueToWillChange } from "../../../value/use-will-change/add-will-change.mjs";
13
13
  import { measurePageBox } from "../../../projection/utils/measure.mjs";
14
14
  import { convertBoxToBoundingBox, convertBoundingBoxToBox } from "../../../projection/conversion.mjs";
15
- import { animateMotionValue } from "../../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/animation/interfaces/motion-value.mjs";
15
+ import { animateMotionValue } from "../../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/animation/interfaces/motion-value.mjs";
16
16
  import { mixNumber } from "../../../utils/mix/number.mjs";
17
17
  import { invariant } from "hey-listen";
18
18
  import { isPresent } from "../../../state/utils/is-present.mjs";
19
19
  import { getContextWindow } from "../../../utils/get-context-window.mjs";
20
- import { frame } from "../../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/frameloop/frame.mjs";
20
+ import { frame } from "../../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/frameloop/frame.mjs";
21
21
  const elementDragControls = /* @__PURE__ */ new WeakMap();
22
22
  class VisualElementDragControls {
23
23
  constructor(visualElement) {
@@ -1,7 +1,7 @@
1
1
  import { Feature } from "../../feature.mjs";
2
2
  import { VisualElementDragControls } from "./VisualElementDragControls.mjs";
3
- import { noop } from "../../../external/.pnpm/motion-utils@11.14.3/external/motion-utils/dist/es/noop.mjs";
4
- import "../../../external/.pnpm/motion-utils@11.14.3/external/motion-utils/dist/es/errors.mjs";
3
+ import { noop } from "../../../external/.pnpm/motion-utils@11.16.0/external/motion-utils/dist/es/noop.mjs";
4
+ import "../../../external/.pnpm/motion-utils@11.16.0/external/motion-utils/dist/es/errors.mjs";
5
5
  class DragGesture extends Feature {
6
6
  constructor(state) {
7
7
  super(state);
@@ -1,6 +1,7 @@
1
1
  import { Feature } from "../../feature.mjs";
2
- import { hover } from "motion-dom";
3
- import { frame } from "../../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/frameloop/frame.mjs";
2
+ import "../../../external/.pnpm/motion-utils@11.16.0/external/motion-utils/dist/es/errors.mjs";
3
+ import { hover } from "../../../external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/gestures/hover.mjs";
4
+ import { frame } from "../../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/frameloop/frame.mjs";
4
5
  import { extractEventInfo } from "../press/index.mjs";
5
6
  function handleHoverEvent(state, event, lifecycle) {
6
7
  const props = state.options;
@@ -1,6 +1,6 @@
1
1
  import { Feature } from "../../feature.mjs";
2
- import { inView } from "../../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/render/dom/viewport/index.mjs";
3
- import { frame } from "../../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/frameloop/frame.mjs";
2
+ import { inView } from "../../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/render/dom/viewport/index.mjs";
3
+ import { frame } from "../../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/frameloop/frame.mjs";
4
4
  function handleHoverEvent(state, entry, lifecycle) {
5
5
  const props = state.options;
6
6
  if (props.inView) {
@@ -1,8 +1,8 @@
1
1
  import { addPointerEvent } from "../../../events/add-pointer-event.mjs";
2
2
  import { extractEventInfo } from "../../../events/event-info.mjs";
3
- import { distance2D } from "../../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/utils/distance.mjs";
4
- import { frame, cancelFrame, frameData } from "../../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/frameloop/frame.mjs";
5
- import { pipe } from "../../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/utils/pipe.mjs";
3
+ import { distance2D } from "../../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/utils/distance.mjs";
4
+ import { frame, cancelFrame, frameData } from "../../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/frameloop/frame.mjs";
5
+ import { pipe } from "../../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/utils/pipe.mjs";
6
6
  import { secondsToMilliseconds, millisecondsToSeconds } from "../../../utils/time-conversion.mjs";
7
7
  import { isPrimaryPointer } from "../../../events/utils/is-primary-pointer.mjs";
8
8
  class PanSession {
@@ -1,9 +1,9 @@
1
1
  import { PanSession } from "./PanSession.mjs";
2
2
  import { addPointerEvent } from "../../../events/add-pointer-event.mjs";
3
3
  import { Feature } from "../../feature.mjs";
4
- import { noop } from "../../../external/.pnpm/motion-utils@11.14.3/external/motion-utils/dist/es/noop.mjs";
5
- import "../../../external/.pnpm/motion-utils@11.14.3/external/motion-utils/dist/es/errors.mjs";
6
- import { frame } from "../../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/frameloop/frame.mjs";
4
+ import { noop } from "../../../external/.pnpm/motion-utils@11.16.0/external/motion-utils/dist/es/noop.mjs";
5
+ import "../../../external/.pnpm/motion-utils@11.16.0/external/motion-utils/dist/es/errors.mjs";
6
+ import { frame } from "../../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/frameloop/frame.mjs";
7
7
  import { getContextWindow } from "../../../utils/get-context-window.mjs";
8
8
  function asyncHandler(handler) {
9
9
  return (event, info) => {
@@ -1,6 +1,7 @@
1
1
  import { Feature } from "../../feature.mjs";
2
- import { press } from "motion-dom";
3
- import { frame } from "../../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/frameloop/frame.mjs";
2
+ import "../../../external/.pnpm/motion-utils@11.16.0/external/motion-utils/dist/es/errors.mjs";
3
+ import { press } from "../../../external/.pnpm/motion-dom@11.16.4/external/motion-dom/dist/es/gestures/press/index.mjs";
4
+ import { frame } from "../../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/frameloop/frame.mjs";
4
5
  function extractEventInfo(event) {
5
6
  return {
6
7
  point: {
@@ -1,5 +1,5 @@
1
- import { correctBorderRadius } from "../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/projection/styles/scale-border-radius.mjs";
2
- import { correctBoxShadow } from "../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs";
1
+ import { correctBorderRadius } from "../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/projection/styles/scale-border-radius.mjs";
2
+ import { correctBoxShadow } from "../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs";
3
3
  const defaultScaleCorrector = {
4
4
  borderRadius: {
5
5
  ...correctBorderRadius,
@@ -1,15 +1,14 @@
1
1
  import { Feature } from "../feature.mjs";
2
- import { addScaleCorrector } from "../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/projection/styles/scale-correction.mjs";
2
+ import { addScaleCorrector } from "../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/projection/styles/scale-correction.mjs";
3
3
  import { defaultScaleCorrector } from "./config.mjs";
4
- import { globalProjectionState } from "../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/projection/node/state.mjs";
4
+ import { globalProjectionState } from "../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/projection/node/state.mjs";
5
5
  class LayoutFeature extends Feature {
6
6
  constructor(state) {
7
7
  super(state);
8
8
  addScaleCorrector(defaultScaleCorrector);
9
9
  }
10
10
  beforeUpdate() {
11
- var _a;
12
- (_a = this.state.visualElement.projection) == null ? void 0 : _a.willUpdate();
11
+ this.state.willUpdate("beforeUpdate");
13
12
  }
14
13
  update() {
15
14
  var _a;
@@ -31,15 +30,25 @@ class LayoutFeature extends Feature {
31
30
  }
32
31
  }
33
32
  beforeUnmount() {
33
+ const projection = this.state.visualElement.projection;
34
+ if (projection) {
35
+ this.state.willUpdate("beforeUnmount");
36
+ if (this.state.options.layoutId) {
37
+ projection.isPresent = false;
38
+ projection.relegate();
39
+ } else if (this.state.options.layout) {
40
+ this.state.isSafeToRemove = true;
41
+ }
42
+ }
34
43
  }
35
44
  unmount() {
45
+ var _a, _b;
46
+ const layoutGroup = this.state.options.layoutGroup;
36
47
  const projection = this.state.visualElement.projection;
37
- if (projection) {
38
- projection.root.didUpdate();
39
- projection.finishAnimation();
40
- const layoutGroup = this.state.options.layoutGroup;
41
- if (layoutGroup == null ? void 0 : layoutGroup.group)
42
- layoutGroup.group.remove(projection);
48
+ if ((layoutGroup == null ? void 0 : layoutGroup.group) && projection)
49
+ layoutGroup.group.remove(projection);
50
+ if (this.state.options.layoutId || this.state.options.layout) {
51
+ (_b = (_a = this.state.visualElement.projection) == null ? void 0 : _a.root) == null ? void 0 : _b.didUpdate();
43
52
  }
44
53
  }
45
54
  }
@@ -1,8 +1,9 @@
1
1
  import { Feature } from "../feature.mjs";
2
- import { HTMLProjectionNode } from "../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs";
2
+ import { HTMLProjectionNode } from "../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs";
3
3
  import { getClosestProjectingNode } from "./utils.mjs";
4
- import { addScaleCorrector } from "../../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/projection/styles/scale-correction.mjs";
4
+ import { addScaleCorrector } from "../../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/projection/styles/scale-correction.mjs";
5
5
  import { defaultScaleCorrector } from "./config.mjs";
6
+ import { doneCallbacks } from "../../components/presence.mjs";
6
7
  class ProjectionFeature extends Feature {
7
8
  constructor(state) {
8
9
  super(state);
@@ -14,6 +15,7 @@ class ProjectionFeature extends Feature {
14
15
  this.state.visualElement.latestValues,
15
16
  options["data-framer-portal-id"] ? void 0 : getClosestProjectingNode(this.state.visualElement.parent)
16
17
  );
18
+ this.state.visualElement.projection.isPresent = true;
17
19
  this.state.visualElement.projection.setOptions({
18
20
  layout: options.layout,
19
21
  layoutId: options.layoutId,
@@ -24,7 +26,21 @@ class ProjectionFeature extends Feature {
24
26
  // initialPromotionConfig
25
27
  layoutRoot: options.layoutRoot,
26
28
  layoutScroll: options.layoutScroll,
27
- crossfade: options.crossfade
29
+ crossfade: options.crossfade,
30
+ onExitComplete: () => {
31
+ var _a;
32
+ if (!((_a = this.state.visualElement.projection) == null ? void 0 : _a.isPresent)) {
33
+ const done = doneCallbacks.get(this.state.element);
34
+ this.state.isSafeToRemove = true;
35
+ if (done) {
36
+ done({
37
+ detail: {
38
+ isExit: true
39
+ }
40
+ }, true);
41
+ }
42
+ }
43
+ }
28
44
  });
29
45
  }
30
46
  beforeMount() {
@@ -1,5 +1,5 @@
1
1
  import { Feature } from "./feature.mjs";
2
- import { frame } from "../external/.pnpm/framer-motion@11.15.0/external/framer-motion/dist/es/frameloop/frame.mjs";
2
+ import { frame } from "../external/.pnpm/framer-motion@11.16.6/external/framer-motion/dist/es/frameloop/frame.mjs";
3
3
  function isSVGElement(element) {
4
4
  return element instanceof SVGElement && element.tagName !== "svg";
5
5
  }