framer-motion 12.23.25 → 12.23.27

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 (490) hide show
  1. package/dist/cjs/client.js +2 -1
  2. package/dist/cjs/client.js.map +1 -0
  3. package/dist/cjs/debug.js +1 -0
  4. package/dist/cjs/debug.js.map +1 -0
  5. package/dist/cjs/dom-mini.js +1 -0
  6. package/dist/cjs/dom-mini.js.map +1 -0
  7. package/dist/cjs/dom.js +86 -1
  8. package/dist/cjs/dom.js.map +1 -0
  9. package/dist/cjs/{feature-bundle-DUrrFqHS.js → feature-bundle-kvRbMDEA.js} +86 -87
  10. package/dist/cjs/feature-bundle-kvRbMDEA.js.map +1 -0
  11. package/dist/cjs/index.js +2 -1
  12. package/dist/cjs/index.js.map +1 -0
  13. package/dist/cjs/m.js +86 -1
  14. package/dist/cjs/m.js.map +1 -0
  15. package/dist/cjs/mini.js +1 -0
  16. package/dist/cjs/mini.js.map +1 -0
  17. package/dist/dom.js +1 -1
  18. package/dist/es/animation/animate/index.mjs +1 -0
  19. package/dist/es/animation/animate/index.mjs.map +1 -0
  20. package/dist/es/animation/animate/resolve-subjects.mjs +1 -0
  21. package/dist/es/animation/animate/resolve-subjects.mjs.map +1 -0
  22. package/dist/es/animation/animate/sequence.mjs +1 -0
  23. package/dist/es/animation/animate/sequence.mjs.map +1 -0
  24. package/dist/es/animation/animate/single-value.mjs +1 -0
  25. package/dist/es/animation/animate/single-value.mjs.map +1 -0
  26. package/dist/es/animation/animate/subject.mjs +1 -0
  27. package/dist/es/animation/animate/subject.mjs.map +1 -0
  28. package/dist/es/animation/animators/waapi/animate-elements.mjs +1 -0
  29. package/dist/es/animation/animators/waapi/animate-elements.mjs.map +1 -0
  30. package/dist/es/animation/animators/waapi/animate-sequence.mjs +1 -0
  31. package/dist/es/animation/animators/waapi/animate-sequence.mjs.map +1 -0
  32. package/dist/es/animation/animators/waapi/animate-style.mjs +1 -0
  33. package/dist/es/animation/animators/waapi/animate-style.mjs.map +1 -0
  34. package/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs +1 -0
  35. package/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs.map +1 -0
  36. package/dist/es/animation/hooks/animation-controls.mjs +1 -0
  37. package/dist/es/animation/hooks/animation-controls.mjs.map +1 -0
  38. package/dist/es/animation/hooks/use-animate-style.mjs +1 -0
  39. package/dist/es/animation/hooks/use-animate-style.mjs.map +1 -0
  40. package/dist/es/animation/hooks/use-animate.mjs +1 -0
  41. package/dist/es/animation/hooks/use-animate.mjs.map +1 -0
  42. package/dist/es/animation/hooks/use-animated-state.mjs +1 -0
  43. package/dist/es/animation/hooks/use-animated-state.mjs.map +1 -0
  44. package/dist/es/animation/hooks/use-animation.mjs +1 -0
  45. package/dist/es/animation/hooks/use-animation.mjs.map +1 -0
  46. package/dist/es/animation/interfaces/motion-value.mjs +1 -0
  47. package/dist/es/animation/interfaces/motion-value.mjs.map +1 -0
  48. package/dist/es/animation/interfaces/visual-element-target.mjs +1 -0
  49. package/dist/es/animation/interfaces/visual-element-target.mjs.map +1 -0
  50. package/dist/es/animation/interfaces/visual-element-variant.mjs +1 -0
  51. package/dist/es/animation/interfaces/visual-element-variant.mjs.map +1 -0
  52. package/dist/es/animation/interfaces/visual-element.mjs +1 -0
  53. package/dist/es/animation/interfaces/visual-element.mjs.map +1 -0
  54. package/dist/es/animation/optimized-appear/data-id.mjs +1 -0
  55. package/dist/es/animation/optimized-appear/data-id.mjs.map +1 -0
  56. package/dist/es/animation/optimized-appear/get-appear-id.mjs +1 -0
  57. package/dist/es/animation/optimized-appear/get-appear-id.mjs.map +1 -0
  58. package/dist/es/animation/optimized-appear/handoff.mjs +1 -0
  59. package/dist/es/animation/optimized-appear/handoff.mjs.map +1 -0
  60. package/dist/es/animation/optimized-appear/start.mjs +1 -0
  61. package/dist/es/animation/optimized-appear/start.mjs.map +1 -0
  62. package/dist/es/animation/optimized-appear/store-id.mjs +1 -0
  63. package/dist/es/animation/optimized-appear/store-id.mjs.map +1 -0
  64. package/dist/es/animation/optimized-appear/store.mjs +1 -0
  65. package/dist/es/animation/optimized-appear/store.mjs.map +1 -0
  66. package/dist/es/animation/sequence/create.mjs +1 -0
  67. package/dist/es/animation/sequence/create.mjs.map +1 -0
  68. package/dist/es/animation/sequence/utils/calc-repeat-duration.mjs +1 -0
  69. package/dist/es/animation/sequence/utils/calc-repeat-duration.mjs.map +1 -0
  70. package/dist/es/animation/sequence/utils/calc-time.mjs +1 -0
  71. package/dist/es/animation/sequence/utils/calc-time.mjs.map +1 -0
  72. package/dist/es/animation/sequence/utils/edit.mjs +1 -0
  73. package/dist/es/animation/sequence/utils/edit.mjs.map +1 -0
  74. package/dist/es/animation/sequence/utils/normalize-times.mjs +1 -0
  75. package/dist/es/animation/sequence/utils/normalize-times.mjs.map +1 -0
  76. package/dist/es/animation/sequence/utils/sort.mjs +1 -0
  77. package/dist/es/animation/sequence/utils/sort.mjs.map +1 -0
  78. package/dist/es/animation/utils/calc-child-stagger.mjs +1 -0
  79. package/dist/es/animation/utils/calc-child-stagger.mjs.map +1 -0
  80. package/dist/es/animation/utils/create-visual-element.mjs +1 -0
  81. package/dist/es/animation/utils/create-visual-element.mjs.map +1 -0
  82. package/dist/es/animation/utils/default-transitions.mjs +1 -0
  83. package/dist/es/animation/utils/default-transitions.mjs.map +1 -0
  84. package/dist/es/animation/utils/is-animation-controls.mjs +1 -0
  85. package/dist/es/animation/utils/is-animation-controls.mjs.map +1 -0
  86. package/dist/es/animation/utils/is-dom-keyframes.mjs +1 -0
  87. package/dist/es/animation/utils/is-dom-keyframes.mjs.map +1 -0
  88. package/dist/es/animation/utils/is-keyframes-target.mjs +1 -0
  89. package/dist/es/animation/utils/is-keyframes-target.mjs.map +1 -0
  90. package/dist/es/animation/utils/is-transition-defined.mjs +1 -0
  91. package/dist/es/animation/utils/is-transition-defined.mjs.map +1 -0
  92. package/dist/es/client.mjs +1 -0
  93. package/dist/es/client.mjs.map +1 -0
  94. package/dist/es/components/AnimatePresence/PopChild.mjs +1 -0
  95. package/dist/es/components/AnimatePresence/PopChild.mjs.map +1 -0
  96. package/dist/es/components/AnimatePresence/PresenceChild.mjs +1 -0
  97. package/dist/es/components/AnimatePresence/PresenceChild.mjs.map +1 -0
  98. package/dist/es/components/AnimatePresence/index.mjs +1 -0
  99. package/dist/es/components/AnimatePresence/index.mjs.map +1 -0
  100. package/dist/es/components/AnimatePresence/use-presence-data.mjs +1 -0
  101. package/dist/es/components/AnimatePresence/use-presence-data.mjs.map +1 -0
  102. package/dist/es/components/AnimatePresence/use-presence.mjs +1 -0
  103. package/dist/es/components/AnimatePresence/use-presence.mjs.map +1 -0
  104. package/dist/es/components/AnimatePresence/utils.mjs +1 -0
  105. package/dist/es/components/AnimatePresence/utils.mjs.map +1 -0
  106. package/dist/es/components/AnimateSharedLayout.mjs +1 -0
  107. package/dist/es/components/AnimateSharedLayout.mjs.map +1 -0
  108. package/dist/es/components/LayoutGroup/index.mjs +1 -0
  109. package/dist/es/components/LayoutGroup/index.mjs.map +1 -0
  110. package/dist/es/components/LazyMotion/index.mjs +1 -0
  111. package/dist/es/components/LazyMotion/index.mjs.map +1 -0
  112. package/dist/es/components/MotionConfig/index.mjs +1 -0
  113. package/dist/es/components/MotionConfig/index.mjs.map +1 -0
  114. package/dist/es/components/Reorder/Group.mjs +1 -0
  115. package/dist/es/components/Reorder/Group.mjs.map +1 -0
  116. package/dist/es/components/Reorder/Item.mjs +1 -0
  117. package/dist/es/components/Reorder/Item.mjs.map +1 -0
  118. package/dist/es/components/Reorder/namespace.mjs +1 -0
  119. package/dist/es/components/Reorder/namespace.mjs.map +1 -0
  120. package/dist/es/components/Reorder/utils/check-reorder.mjs +1 -0
  121. package/dist/es/components/Reorder/utils/check-reorder.mjs.map +1 -0
  122. package/dist/es/context/DeprecatedLayoutGroupContext.mjs +1 -0
  123. package/dist/es/context/DeprecatedLayoutGroupContext.mjs.map +1 -0
  124. package/dist/es/context/LayoutGroupContext.mjs +1 -0
  125. package/dist/es/context/LayoutGroupContext.mjs.map +1 -0
  126. package/dist/es/context/LazyContext.mjs +1 -0
  127. package/dist/es/context/LazyContext.mjs.map +1 -0
  128. package/dist/es/context/MotionConfigContext.mjs +1 -0
  129. package/dist/es/context/MotionConfigContext.mjs.map +1 -0
  130. package/dist/es/context/MotionContext/create.mjs +1 -0
  131. package/dist/es/context/MotionContext/create.mjs.map +1 -0
  132. package/dist/es/context/MotionContext/index.mjs +1 -0
  133. package/dist/es/context/MotionContext/index.mjs.map +1 -0
  134. package/dist/es/context/MotionContext/utils.mjs +1 -0
  135. package/dist/es/context/MotionContext/utils.mjs.map +1 -0
  136. package/dist/es/context/PresenceContext.mjs +1 -0
  137. package/dist/es/context/PresenceContext.mjs.map +1 -0
  138. package/dist/es/context/ReorderContext.mjs +1 -0
  139. package/dist/es/context/ReorderContext.mjs.map +1 -0
  140. package/dist/es/context/SwitchLayoutGroupContext.mjs +1 -0
  141. package/dist/es/context/SwitchLayoutGroupContext.mjs.map +1 -0
  142. package/dist/es/debug.mjs +1 -0
  143. package/dist/es/debug.mjs.map +1 -0
  144. package/dist/es/dom-mini.mjs +1 -0
  145. package/dist/es/dom-mini.mjs.map +1 -0
  146. package/dist/es/dom.mjs +1 -0
  147. package/dist/es/dom.mjs.map +1 -0
  148. package/dist/es/events/add-dom-event.mjs +1 -0
  149. package/dist/es/events/add-dom-event.mjs.map +1 -0
  150. package/dist/es/events/add-pointer-event.mjs +1 -0
  151. package/dist/es/events/add-pointer-event.mjs.map +1 -0
  152. package/dist/es/events/event-info.mjs +1 -0
  153. package/dist/es/events/event-info.mjs.map +1 -0
  154. package/dist/es/events/use-dom-event.mjs +1 -0
  155. package/dist/es/events/use-dom-event.mjs.map +1 -0
  156. package/dist/es/gestures/drag/VisualElementDragControls.mjs +1 -0
  157. package/dist/es/gestures/drag/VisualElementDragControls.mjs.map +1 -0
  158. package/dist/es/gestures/drag/index.mjs +1 -0
  159. package/dist/es/gestures/drag/index.mjs.map +1 -0
  160. package/dist/es/gestures/drag/use-drag-controls.mjs +1 -0
  161. package/dist/es/gestures/drag/use-drag-controls.mjs.map +1 -0
  162. package/dist/es/gestures/drag/utils/constraints.mjs +1 -0
  163. package/dist/es/gestures/drag/utils/constraints.mjs.map +1 -0
  164. package/dist/es/gestures/focus.mjs +1 -0
  165. package/dist/es/gestures/focus.mjs.map +1 -0
  166. package/dist/es/gestures/hover.mjs +1 -0
  167. package/dist/es/gestures/hover.mjs.map +1 -0
  168. package/dist/es/gestures/pan/PanSession.mjs +1 -0
  169. package/dist/es/gestures/pan/PanSession.mjs.map +1 -0
  170. package/dist/es/gestures/pan/index.mjs +1 -0
  171. package/dist/es/gestures/pan/index.mjs.map +1 -0
  172. package/dist/es/gestures/press.mjs +1 -0
  173. package/dist/es/gestures/press.mjs.map +1 -0
  174. package/dist/es/index.mjs +1 -0
  175. package/dist/es/index.mjs.map +1 -0
  176. package/dist/es/m.mjs +1 -0
  177. package/dist/es/m.mjs.map +1 -0
  178. package/dist/es/mini.mjs +1 -0
  179. package/dist/es/mini.mjs.map +1 -0
  180. package/dist/es/motion/features/Feature.mjs +1 -0
  181. package/dist/es/motion/features/Feature.mjs.map +1 -0
  182. package/dist/es/motion/features/animation/exit.mjs +1 -0
  183. package/dist/es/motion/features/animation/exit.mjs.map +1 -0
  184. package/dist/es/motion/features/animation/index.mjs +1 -0
  185. package/dist/es/motion/features/animation/index.mjs.map +1 -0
  186. package/dist/es/motion/features/animations.mjs +1 -0
  187. package/dist/es/motion/features/animations.mjs.map +1 -0
  188. package/dist/es/motion/features/definitions.mjs +1 -0
  189. package/dist/es/motion/features/definitions.mjs.map +1 -0
  190. package/dist/es/motion/features/drag.mjs +1 -0
  191. package/dist/es/motion/features/drag.mjs.map +1 -0
  192. package/dist/es/motion/features/gestures.mjs +1 -0
  193. package/dist/es/motion/features/gestures.mjs.map +1 -0
  194. package/dist/es/motion/features/layout/MeasureLayout.mjs +1 -20
  195. package/dist/es/motion/features/layout/MeasureLayout.mjs.map +1 -0
  196. package/dist/es/motion/features/layout.mjs +1 -0
  197. package/dist/es/motion/features/layout.mjs.map +1 -0
  198. package/dist/es/motion/features/load-features.mjs +1 -0
  199. package/dist/es/motion/features/load-features.mjs.map +1 -0
  200. package/dist/es/motion/features/viewport/index.mjs +1 -0
  201. package/dist/es/motion/features/viewport/index.mjs.map +1 -0
  202. package/dist/es/motion/features/viewport/observers.mjs +1 -0
  203. package/dist/es/motion/features/viewport/observers.mjs.map +1 -0
  204. package/dist/es/motion/index.mjs +1 -0
  205. package/dist/es/motion/index.mjs.map +1 -0
  206. package/dist/es/motion/utils/is-forced-motion-value.mjs +1 -0
  207. package/dist/es/motion/utils/is-forced-motion-value.mjs.map +1 -0
  208. package/dist/es/motion/utils/is-motion-component.mjs +1 -0
  209. package/dist/es/motion/utils/is-motion-component.mjs.map +1 -0
  210. package/dist/es/motion/utils/symbol.mjs +1 -0
  211. package/dist/es/motion/utils/symbol.mjs.map +1 -0
  212. package/dist/es/motion/utils/unwrap-motion-component.mjs +1 -0
  213. package/dist/es/motion/utils/unwrap-motion-component.mjs.map +1 -0
  214. package/dist/es/motion/utils/use-motion-ref.mjs +1 -0
  215. package/dist/es/motion/utils/use-motion-ref.mjs.map +1 -0
  216. package/dist/es/motion/utils/use-visual-element.mjs +1 -0
  217. package/dist/es/motion/utils/use-visual-element.mjs.map +1 -0
  218. package/dist/es/motion/utils/use-visual-state.mjs +1 -0
  219. package/dist/es/motion/utils/use-visual-state.mjs.map +1 -0
  220. package/dist/es/motion/utils/valid-prop.mjs +1 -0
  221. package/dist/es/motion/utils/valid-prop.mjs.map +1 -0
  222. package/dist/es/projection/animation/mix-values.mjs +1 -0
  223. package/dist/es/projection/animation/mix-values.mjs.map +1 -0
  224. package/dist/es/projection/geometry/conversion.mjs +1 -0
  225. package/dist/es/projection/geometry/conversion.mjs.map +1 -0
  226. package/dist/es/projection/geometry/copy.mjs +1 -0
  227. package/dist/es/projection/geometry/copy.mjs.map +1 -0
  228. package/dist/es/projection/geometry/delta-apply.mjs +1 -0
  229. package/dist/es/projection/geometry/delta-apply.mjs.map +1 -0
  230. package/dist/es/projection/geometry/delta-calc.mjs +1 -0
  231. package/dist/es/projection/geometry/delta-calc.mjs.map +1 -0
  232. package/dist/es/projection/geometry/delta-remove.mjs +1 -0
  233. package/dist/es/projection/geometry/delta-remove.mjs.map +1 -0
  234. package/dist/es/projection/geometry/models.mjs +1 -0
  235. package/dist/es/projection/geometry/models.mjs.map +1 -0
  236. package/dist/es/projection/geometry/utils.mjs +1 -0
  237. package/dist/es/projection/geometry/utils.mjs.map +1 -0
  238. package/dist/es/projection/node/DocumentProjectionNode.mjs +1 -0
  239. package/dist/es/projection/node/DocumentProjectionNode.mjs.map +1 -0
  240. package/dist/es/projection/node/HTMLProjectionNode.mjs +1 -0
  241. package/dist/es/projection/node/HTMLProjectionNode.mjs.map +1 -0
  242. package/dist/es/projection/node/create-projection-node.mjs +1 -0
  243. package/dist/es/projection/node/create-projection-node.mjs.map +1 -0
  244. package/dist/es/projection/node/group.mjs +1 -0
  245. package/dist/es/projection/node/group.mjs.map +1 -0
  246. package/dist/es/projection/node/state.mjs +1 -0
  247. package/dist/es/projection/node/state.mjs.map +1 -0
  248. package/dist/es/projection/shared/stack.mjs +1 -0
  249. package/dist/es/projection/shared/stack.mjs.map +1 -0
  250. package/dist/es/projection/styles/scale-border-radius.mjs +1 -0
  251. package/dist/es/projection/styles/scale-border-radius.mjs.map +1 -0
  252. package/dist/es/projection/styles/scale-box-shadow.mjs +1 -0
  253. package/dist/es/projection/styles/scale-box-shadow.mjs.map +1 -0
  254. package/dist/es/projection/styles/scale-correction.mjs +19 -1
  255. package/dist/es/projection/styles/scale-correction.mjs.map +1 -0
  256. package/dist/es/projection/styles/transform.mjs +1 -0
  257. package/dist/es/projection/styles/transform.mjs.map +1 -0
  258. package/dist/es/projection/use-instant-layout-transition.mjs +1 -0
  259. package/dist/es/projection/use-instant-layout-transition.mjs.map +1 -0
  260. package/dist/es/projection/use-reset-projection.mjs +1 -0
  261. package/dist/es/projection/use-reset-projection.mjs.map +1 -0
  262. package/dist/es/projection/utils/each-axis.mjs +1 -0
  263. package/dist/es/projection/utils/each-axis.mjs.map +1 -0
  264. package/dist/es/projection/utils/has-transform.mjs +1 -0
  265. package/dist/es/projection/utils/has-transform.mjs.map +1 -0
  266. package/dist/es/projection/utils/measure.mjs +1 -0
  267. package/dist/es/projection/utils/measure.mjs.map +1 -0
  268. package/dist/es/projection.mjs +1 -0
  269. package/dist/es/projection.mjs.map +1 -0
  270. package/dist/es/render/VisualElement.mjs +1 -0
  271. package/dist/es/render/VisualElement.mjs.map +1 -0
  272. package/dist/es/render/components/create-proxy.mjs +1 -0
  273. package/dist/es/render/components/create-proxy.mjs.map +1 -0
  274. package/dist/es/render/components/m/create.mjs +1 -0
  275. package/dist/es/render/components/m/create.mjs.map +1 -0
  276. package/dist/es/render/components/m/elements.mjs +1 -0
  277. package/dist/es/render/components/m/elements.mjs.map +1 -0
  278. package/dist/es/render/components/m/proxy.mjs +1 -0
  279. package/dist/es/render/components/m/proxy.mjs.map +1 -0
  280. package/dist/es/render/components/motion/create.mjs +1 -0
  281. package/dist/es/render/components/motion/create.mjs.map +1 -0
  282. package/dist/es/render/components/motion/elements.mjs +1 -0
  283. package/dist/es/render/components/motion/elements.mjs.map +1 -0
  284. package/dist/es/render/components/motion/feature-bundle.mjs +1 -0
  285. package/dist/es/render/components/motion/feature-bundle.mjs.map +1 -0
  286. package/dist/es/render/components/motion/proxy.mjs +1 -0
  287. package/dist/es/render/components/motion/proxy.mjs.map +1 -0
  288. package/dist/es/render/dom/DOMVisualElement.mjs +1 -0
  289. package/dist/es/render/dom/DOMVisualElement.mjs.map +1 -0
  290. package/dist/es/render/dom/create-visual-element.mjs +1 -0
  291. package/dist/es/render/dom/create-visual-element.mjs.map +1 -0
  292. package/dist/es/render/dom/features-animation.mjs +1 -0
  293. package/dist/es/render/dom/features-animation.mjs.map +1 -0
  294. package/dist/es/render/dom/features-max.mjs +1 -0
  295. package/dist/es/render/dom/features-max.mjs.map +1 -0
  296. package/dist/es/render/dom/features-min.mjs +1 -0
  297. package/dist/es/render/dom/features-min.mjs.map +1 -0
  298. package/dist/es/render/dom/scroll/attach-animation.mjs +1 -0
  299. package/dist/es/render/dom/scroll/attach-animation.mjs.map +1 -0
  300. package/dist/es/render/dom/scroll/attach-function.mjs +1 -0
  301. package/dist/es/render/dom/scroll/attach-function.mjs.map +1 -0
  302. package/dist/es/render/dom/scroll/index.mjs +1 -0
  303. package/dist/es/render/dom/scroll/index.mjs.map +1 -0
  304. package/dist/es/render/dom/scroll/info.mjs +1 -0
  305. package/dist/es/render/dom/scroll/info.mjs.map +1 -0
  306. package/dist/es/render/dom/scroll/offsets/edge.mjs +1 -0
  307. package/dist/es/render/dom/scroll/offsets/edge.mjs.map +1 -0
  308. package/dist/es/render/dom/scroll/offsets/index.mjs +1 -0
  309. package/dist/es/render/dom/scroll/offsets/index.mjs.map +1 -0
  310. package/dist/es/render/dom/scroll/offsets/inset.mjs +1 -0
  311. package/dist/es/render/dom/scroll/offsets/inset.mjs.map +1 -0
  312. package/dist/es/render/dom/scroll/offsets/offset.mjs +1 -0
  313. package/dist/es/render/dom/scroll/offsets/offset.mjs.map +1 -0
  314. package/dist/es/render/dom/scroll/offsets/presets.mjs +1 -0
  315. package/dist/es/render/dom/scroll/offsets/presets.mjs.map +1 -0
  316. package/dist/es/render/dom/scroll/on-scroll-handler.mjs +1 -0
  317. package/dist/es/render/dom/scroll/on-scroll-handler.mjs.map +1 -0
  318. package/dist/es/render/dom/scroll/track.mjs +1 -0
  319. package/dist/es/render/dom/scroll/track.mjs.map +1 -0
  320. package/dist/es/render/dom/scroll/utils/get-timeline.mjs +1 -0
  321. package/dist/es/render/dom/scroll/utils/get-timeline.mjs.map +1 -0
  322. package/dist/es/render/dom/use-render.mjs +1 -0
  323. package/dist/es/render/dom/use-render.mjs.map +1 -0
  324. package/dist/es/render/dom/utils/camel-to-dash.mjs +1 -0
  325. package/dist/es/render/dom/utils/camel-to-dash.mjs.map +1 -0
  326. package/dist/es/render/dom/utils/filter-props.mjs +1 -0
  327. package/dist/es/render/dom/utils/filter-props.mjs.map +1 -0
  328. package/dist/es/render/dom/utils/is-svg-component.mjs +1 -0
  329. package/dist/es/render/dom/utils/is-svg-component.mjs.map +1 -0
  330. package/dist/es/render/dom/viewport/index.mjs +1 -0
  331. package/dist/es/render/dom/viewport/index.mjs.map +1 -0
  332. package/dist/es/render/html/HTMLVisualElement.mjs +1 -0
  333. package/dist/es/render/html/HTMLVisualElement.mjs.map +1 -0
  334. package/dist/es/render/html/use-html-visual-state.mjs +1 -0
  335. package/dist/es/render/html/use-html-visual-state.mjs.map +1 -0
  336. package/dist/es/render/html/use-props.mjs +1 -0
  337. package/dist/es/render/html/use-props.mjs.map +1 -0
  338. package/dist/es/render/html/utils/build-styles.mjs +1 -0
  339. package/dist/es/render/html/utils/build-styles.mjs.map +1 -0
  340. package/dist/es/render/html/utils/build-transform.mjs +1 -0
  341. package/dist/es/render/html/utils/build-transform.mjs.map +1 -0
  342. package/dist/es/render/html/utils/create-render-state.mjs +1 -0
  343. package/dist/es/render/html/utils/create-render-state.mjs.map +1 -0
  344. package/dist/es/render/html/utils/render.mjs +1 -0
  345. package/dist/es/render/html/utils/render.mjs.map +1 -0
  346. package/dist/es/render/html/utils/scrape-motion-values.mjs +1 -0
  347. package/dist/es/render/html/utils/scrape-motion-values.mjs.map +1 -0
  348. package/dist/es/render/object/ObjectVisualElement.mjs +1 -0
  349. package/dist/es/render/object/ObjectVisualElement.mjs.map +1 -0
  350. package/dist/es/render/store.mjs +1 -0
  351. package/dist/es/render/store.mjs.map +1 -0
  352. package/dist/es/render/svg/SVGVisualElement.mjs +1 -0
  353. package/dist/es/render/svg/SVGVisualElement.mjs.map +1 -0
  354. package/dist/es/render/svg/lowercase-elements.mjs +1 -0
  355. package/dist/es/render/svg/lowercase-elements.mjs.map +1 -0
  356. package/dist/es/render/svg/use-props.mjs +1 -0
  357. package/dist/es/render/svg/use-props.mjs.map +1 -0
  358. package/dist/es/render/svg/use-svg-visual-state.mjs +1 -0
  359. package/dist/es/render/svg/use-svg-visual-state.mjs.map +1 -0
  360. package/dist/es/render/svg/utils/build-attrs.mjs +1 -0
  361. package/dist/es/render/svg/utils/build-attrs.mjs.map +1 -0
  362. package/dist/es/render/svg/utils/camel-case-attrs.mjs +1 -0
  363. package/dist/es/render/svg/utils/camel-case-attrs.mjs.map +1 -0
  364. package/dist/es/render/svg/utils/create-render-state.mjs +1 -0
  365. package/dist/es/render/svg/utils/create-render-state.mjs.map +1 -0
  366. package/dist/es/render/svg/utils/is-svg-tag.mjs +1 -0
  367. package/dist/es/render/svg/utils/is-svg-tag.mjs.map +1 -0
  368. package/dist/es/render/svg/utils/path.mjs +1 -0
  369. package/dist/es/render/svg/utils/path.mjs.map +1 -0
  370. package/dist/es/render/svg/utils/render.mjs +1 -0
  371. package/dist/es/render/svg/utils/render.mjs.map +1 -0
  372. package/dist/es/render/svg/utils/scrape-motion-values.mjs +1 -0
  373. package/dist/es/render/svg/utils/scrape-motion-values.mjs.map +1 -0
  374. package/dist/es/render/utils/animation-state.mjs +1 -0
  375. package/dist/es/render/utils/animation-state.mjs.map +1 -0
  376. package/dist/es/render/utils/compare-by-depth.mjs +1 -0
  377. package/dist/es/render/utils/compare-by-depth.mjs.map +1 -0
  378. package/dist/es/render/utils/flat-tree.mjs +1 -0
  379. package/dist/es/render/utils/flat-tree.mjs.map +1 -0
  380. package/dist/es/render/utils/get-variant-context.mjs +1 -0
  381. package/dist/es/render/utils/get-variant-context.mjs.map +1 -0
  382. package/dist/es/render/utils/is-controlling-variants.mjs +1 -0
  383. package/dist/es/render/utils/is-controlling-variants.mjs.map +1 -0
  384. package/dist/es/render/utils/is-variant-label.mjs +1 -0
  385. package/dist/es/render/utils/is-variant-label.mjs.map +1 -0
  386. package/dist/es/render/utils/motion-values.mjs +1 -0
  387. package/dist/es/render/utils/motion-values.mjs.map +1 -0
  388. package/dist/es/render/utils/resolve-dynamic-variants.mjs +1 -0
  389. package/dist/es/render/utils/resolve-dynamic-variants.mjs.map +1 -0
  390. package/dist/es/render/utils/resolve-variants.mjs +1 -0
  391. package/dist/es/render/utils/resolve-variants.mjs.map +1 -0
  392. package/dist/es/render/utils/setters.mjs +1 -0
  393. package/dist/es/render/utils/setters.mjs.map +1 -0
  394. package/dist/es/render/utils/variant-props.mjs +1 -0
  395. package/dist/es/render/utils/variant-props.mjs.map +1 -0
  396. package/dist/es/utils/delay.mjs +1 -0
  397. package/dist/es/utils/delay.mjs.map +1 -0
  398. package/dist/es/utils/distance.mjs +1 -0
  399. package/dist/es/utils/distance.mjs.map +1 -0
  400. package/dist/es/utils/get-context-window.mjs +1 -0
  401. package/dist/es/utils/get-context-window.mjs.map +1 -0
  402. package/dist/es/utils/is-browser.mjs +1 -0
  403. package/dist/es/utils/is-browser.mjs.map +1 -0
  404. package/dist/es/utils/is-ref-object.mjs +1 -0
  405. package/dist/es/utils/is-ref-object.mjs.map +1 -0
  406. package/dist/es/utils/reduced-motion/index.mjs +1 -0
  407. package/dist/es/utils/reduced-motion/index.mjs.map +1 -0
  408. package/dist/es/utils/reduced-motion/state.mjs +1 -0
  409. package/dist/es/utils/reduced-motion/state.mjs.map +1 -0
  410. package/dist/es/utils/reduced-motion/use-reduced-motion-config.mjs +1 -0
  411. package/dist/es/utils/reduced-motion/use-reduced-motion-config.mjs.map +1 -0
  412. package/dist/es/utils/reduced-motion/use-reduced-motion.mjs +1 -0
  413. package/dist/es/utils/reduced-motion/use-reduced-motion.mjs.map +1 -0
  414. package/dist/es/utils/shallow-compare.mjs +1 -0
  415. package/dist/es/utils/shallow-compare.mjs.map +1 -0
  416. package/dist/es/utils/use-animation-frame.mjs +1 -0
  417. package/dist/es/utils/use-animation-frame.mjs.map +1 -0
  418. package/dist/es/utils/use-composed-ref.mjs +1 -0
  419. package/dist/es/utils/use-composed-ref.mjs.map +1 -0
  420. package/dist/es/utils/use-constant.mjs +1 -0
  421. package/dist/es/utils/use-constant.mjs.map +1 -0
  422. package/dist/es/utils/use-cycle.mjs +1 -0
  423. package/dist/es/utils/use-cycle.mjs.map +1 -0
  424. package/dist/es/utils/use-force-update.mjs +1 -0
  425. package/dist/es/utils/use-force-update.mjs.map +1 -0
  426. package/dist/es/utils/use-in-view.mjs +1 -0
  427. package/dist/es/utils/use-in-view.mjs.map +1 -0
  428. package/dist/es/utils/use-instant-transition.mjs +1 -0
  429. package/dist/es/utils/use-instant-transition.mjs.map +1 -0
  430. package/dist/es/utils/use-is-mounted.mjs +1 -0
  431. package/dist/es/utils/use-is-mounted.mjs.map +1 -0
  432. package/dist/es/utils/use-isomorphic-effect.mjs +1 -0
  433. package/dist/es/utils/use-isomorphic-effect.mjs.map +1 -0
  434. package/dist/es/utils/use-motion-value-event.mjs +1 -0
  435. package/dist/es/utils/use-motion-value-event.mjs.map +1 -0
  436. package/dist/es/utils/use-page-in-view.mjs +1 -0
  437. package/dist/es/utils/use-page-in-view.mjs.map +1 -0
  438. package/dist/es/utils/use-unmount-effect.mjs +1 -0
  439. package/dist/es/utils/use-unmount-effect.mjs.map +1 -0
  440. package/dist/es/value/scroll/use-element-scroll.mjs +1 -0
  441. package/dist/es/value/scroll/use-element-scroll.mjs.map +1 -0
  442. package/dist/es/value/scroll/use-viewport-scroll.mjs +1 -0
  443. package/dist/es/value/scroll/use-viewport-scroll.mjs.map +1 -0
  444. package/dist/es/value/use-combine-values.mjs +1 -0
  445. package/dist/es/value/use-combine-values.mjs.map +1 -0
  446. package/dist/es/value/use-computed.mjs +1 -0
  447. package/dist/es/value/use-computed.mjs.map +1 -0
  448. package/dist/es/value/use-inverted-scale.mjs +1 -0
  449. package/dist/es/value/use-inverted-scale.mjs.map +1 -0
  450. package/dist/es/value/use-motion-template.mjs +1 -0
  451. package/dist/es/value/use-motion-template.mjs.map +1 -0
  452. package/dist/es/value/use-motion-value.mjs +1 -0
  453. package/dist/es/value/use-motion-value.mjs.map +1 -0
  454. package/dist/es/value/use-scroll.mjs +1 -0
  455. package/dist/es/value/use-scroll.mjs.map +1 -0
  456. package/dist/es/value/use-spring.mjs +1 -0
  457. package/dist/es/value/use-spring.mjs.map +1 -0
  458. package/dist/es/value/use-time.mjs +1 -0
  459. package/dist/es/value/use-time.mjs.map +1 -0
  460. package/dist/es/value/use-transform.mjs +1 -0
  461. package/dist/es/value/use-transform.mjs.map +1 -0
  462. package/dist/es/value/use-velocity.mjs +1 -0
  463. package/dist/es/value/use-velocity.mjs.map +1 -0
  464. package/dist/es/value/use-will-change/WillChangeMotionValue.mjs +1 -0
  465. package/dist/es/value/use-will-change/WillChangeMotionValue.mjs.map +1 -0
  466. package/dist/es/value/use-will-change/add-will-change.mjs +1 -0
  467. package/dist/es/value/use-will-change/add-will-change.mjs.map +1 -0
  468. package/dist/es/value/use-will-change/index.mjs +1 -0
  469. package/dist/es/value/use-will-change/index.mjs.map +1 -0
  470. package/dist/es/value/use-will-change/is.mjs +1 -0
  471. package/dist/es/value/use-will-change/is.mjs.map +1 -0
  472. package/dist/es/value/utils/resolve-motion-value.mjs +1 -0
  473. package/dist/es/value/utils/resolve-motion-value.mjs.map +1 -0
  474. package/dist/framer-motion.dev.js +85 -87
  475. package/dist/framer-motion.js +1 -1
  476. package/dist/size-rollup-animate.js +2 -1
  477. package/dist/size-rollup-animate.js.map +1 -0
  478. package/dist/size-rollup-dom-animation-assets.js +1 -1
  479. package/dist/size-rollup-dom-animation.js +1 -1
  480. package/dist/size-rollup-dom-max-assets.js +1 -1
  481. package/dist/size-rollup-dom-max.js +1 -1
  482. package/dist/size-rollup-m.js +2 -1
  483. package/dist/size-rollup-m.js.map +1 -0
  484. package/dist/size-rollup-motion.js +2 -1
  485. package/dist/size-rollup-motion.js.map +1 -0
  486. package/dist/size-rollup-scroll.js +1 -0
  487. package/dist/size-rollup-scroll.js.map +1 -0
  488. package/dist/size-rollup-waapi-animate.js +1 -0
  489. package/dist/size-rollup-waapi-animate.js.map +1 -0
  490. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-props.mjs","sources":["../../../../../src/render/dom/utils/filter-props.ts"],"sourcesContent":["import type { MotionProps } from \"../../../motion/types\"\nimport { isValidMotionProp } from \"../../../motion/utils/valid-prop\"\n\nlet shouldForward = (key: string) => !isValidMotionProp(key)\n\nexport type IsValidProp = (key: string) => boolean\n\nexport function loadExternalIsValidProp(isValidProp?: IsValidProp) {\n if (typeof isValidProp !== \"function\") return\n\n // Explicitly filter our events\n shouldForward = (key: string) =>\n key.startsWith(\"on\") ? !isValidMotionProp(key) : isValidProp(key)\n}\n\n/**\n * Emotion and Styled Components both allow users to pass through arbitrary props to their components\n * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which\n * of these should be passed to the underlying DOM node.\n *\n * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props\n * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props\n * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of\n * `@emotion/is-prop-valid`, however to fix this problem we need to use it.\n *\n * By making it an optionalDependency we can offer this functionality only in the situations where it's\n * actually required.\n */\ntry {\n /**\n * We attempt to import this package but require won't be defined in esm environments, in that case\n * isPropValid will have to be provided via `MotionContext`. In a 6.0.0 this should probably be removed\n * in favour of explicit injection.\n */\n loadExternalIsValidProp(require(\"@emotion/is-prop-valid\").default)\n} catch {\n // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\n\nexport function filterProps(\n props: MotionProps,\n isDom: boolean,\n forwardMotionProps: boolean\n) {\n const filteredProps: MotionProps = {}\n\n for (const key in props) {\n /**\n * values is considered a valid prop by Emotion, so if it's present\n * this will be rendered out to the DOM unless explicitly filtered.\n *\n * We check the type as it could be used with the `feColorMatrix`\n * element, which we support.\n */\n if (key === \"values\" && typeof props.values === \"object\") continue\n\n if (\n shouldForward(key) ||\n (forwardMotionProps === true && isValidMotionProp(key)) ||\n (!isDom && !isValidMotionProp(key)) ||\n // If trying to use native HTML drag events, forward drag listeners\n (props[\"draggable\" as keyof MotionProps] &&\n key.startsWith(\"onDrag\"))\n ) {\n filteredProps[key as keyof MotionProps] =\n props[key as keyof MotionProps]\n }\n }\n\n return filteredProps\n}\n"],"names":[],"mappings":";;AAGA,IAAI,aAAa,GAAG,CAAC,GAAW,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;AAItD,SAAU,uBAAuB,CAAC,WAAyB,EAAA;IAC7D,IAAI,OAAO,WAAW,KAAK,UAAU;QAAE,OAAM;;IAG7C,aAAa,GAAG,CAAC,GAAW,KACxB,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;AACzE,CAAC;AAED;;;;;;;;;;;;AAYG;AACH,IAAI;AACA;;;;AAIG;IACH,uBAAuB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAA;AACtE,CAAC;AAAC,MAAM;;AAER,CAAC;SAEe,WAAW,CACvB,KAAkB,EAClB,KAAc,EACd,kBAA2B,EAAA;IAE3B,MAAM,aAAa,GAAgB,EAAE,CAAA;AAErC,IAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACrB;;;;;;AAMG;QACH,IAAI,GAAG,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAQ;QAElE,IACI,aAAa,CAAC,GAAG,CAAC;aACjB,kBAAkB,KAAK,IAAI,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;aACtD,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;;aAElC,KAAK,CAAC,WAAgC,CAAC;AACpC,gBAAA,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAC/B;YACE,aAAa,CAAC,GAAwB,CAAC;gBACnC,KAAK,CAAC,GAAwB,CAAC,CAAA;SACtC;KACJ;AAED,IAAA,OAAO,aAAa,CAAA;AACxB;;;;"}
@@ -28,3 +28,4 @@ function isSVGComponent(Component) {
28
28
  }
29
29
 
30
30
  export { isSVGComponent };
31
+ //# sourceMappingURL=is-svg-component.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-svg-component.mjs","sources":["../../../../../src/render/dom/utils/is-svg-component.ts"],"sourcesContent":["import * as React from \"react\"\nimport { lowercaseSVGElements } from \"../../svg/lowercase-elements\"\n\nexport function isSVGComponent(Component: string | React.ComponentType<any>) {\n if (\n /**\n * If it's not a string, it's a custom React component. Currently we only support\n * HTML custom React components.\n */\n typeof Component !== \"string\" ||\n /**\n * If it contains a dash, the element is a custom HTML webcomponent.\n */\n Component.includes(\"-\")\n ) {\n return false\n } else if (\n /**\n * If it's in our list of lowercase SVG tags, it's an SVG component\n */\n lowercaseSVGElements.indexOf(Component) > -1 ||\n /**\n * If it contains a capital letter, it's an SVG component\n */\n /[A-Z]/u.test(Component)\n ) {\n return true\n }\n\n return false\n}\n"],"names":[],"mappings":";;AAGM,SAAU,cAAc,CAAC,SAA4C,EAAA;AACvE,IAAA;AACI;;;AAGG;IACH,OAAO,SAAS,KAAK,QAAQ;AAC7B;;AAEG;AACH,QAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EACzB;AACE,QAAA,OAAO,KAAK,CAAA;KACf;AAAM,SAAA;AACH;;AAEG;AACH,IAAA,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC5C;;AAEG;AACH,QAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAC1B;AACE,QAAA,OAAO,IAAI,CAAA;KACd;AAED,IAAA,OAAO,KAAK,CAAA;AAChB;;;;"}
@@ -41,3 +41,4 @@ function inView(elementOrSelector, onStart, { root, margin: rootMargin, amount =
41
41
  }
42
42
 
43
43
  export { inView };
44
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../src/render/dom/viewport/index.ts"],"sourcesContent":["import { ElementOrSelector, resolveElements } from \"motion-dom\"\n\nexport type ViewChangeHandler = (entry: IntersectionObserverEntry) => void\n\ntype MarginValue = `${number}${\"px\" | \"%\"}`\ntype MarginType =\n | MarginValue\n | `${MarginValue} ${MarginValue}`\n | `${MarginValue} ${MarginValue} ${MarginValue}`\n | `${MarginValue} ${MarginValue} ${MarginValue} ${MarginValue}`\n\nexport interface InViewOptions {\n root?: Element | Document\n margin?: MarginType\n amount?: \"some\" | \"all\" | number\n}\n\nconst thresholds = {\n some: 0,\n all: 1,\n}\n\nexport function inView(\n elementOrSelector: ElementOrSelector,\n onStart: (\n element: Element,\n entry: IntersectionObserverEntry\n ) => void | ViewChangeHandler,\n { root, margin: rootMargin, amount = \"some\" }: InViewOptions = {}\n): VoidFunction {\n const elements = resolveElements(elementOrSelector)\n\n const activeIntersections = new WeakMap<Element, ViewChangeHandler>()\n\n const onIntersectionChange: IntersectionObserverCallback = (entries) => {\n entries.forEach((entry) => {\n const onEnd = activeIntersections.get(entry.target)\n\n /**\n * If there's no change to the intersection, we don't need to\n * do anything here.\n */\n if (entry.isIntersecting === Boolean(onEnd)) return\n\n if (entry.isIntersecting) {\n const newOnEnd = onStart(entry.target, entry)\n if (typeof newOnEnd === \"function\") {\n activeIntersections.set(entry.target, newOnEnd)\n } else {\n observer.unobserve(entry.target)\n }\n } else if (typeof onEnd === \"function\") {\n onEnd(entry)\n activeIntersections.delete(entry.target)\n }\n })\n }\n\n const observer = new IntersectionObserver(onIntersectionChange, {\n root,\n rootMargin,\n threshold: typeof amount === \"number\" ? amount : thresholds[amount],\n })\n\n elements.forEach((element) => observer.observe(element))\n\n return () => observer.disconnect()\n}\n"],"names":[],"mappings":";;AAiBA,MAAM,UAAU,GAAG;AACf,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,GAAG,EAAE,CAAC;CACT,CAAA;SAEe,MAAM,CAClB,iBAAoC,EACpC,OAG6B,EAC7B,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,KAAoB,EAAE,EAAA;AAEjE,IAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAA;AAEnD,IAAA,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAA8B,CAAA;AAErE,IAAA,MAAM,oBAAoB,GAAiC,CAAC,OAAO,KAAI;AACnE,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;YACtB,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAEnD;;;AAGG;AACH,YAAA,IAAI,KAAK,CAAC,cAAc,KAAK,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAM;AAEnD,YAAA,IAAI,KAAK,CAAC,cAAc,EAAE;gBACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAC7C,gBAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;oBAChC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;iBAClD;qBAAM;AACH,oBAAA,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;iBACnC;aACJ;AAAM,iBAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;gBACpC,KAAK,CAAC,KAAK,CAAC,CAAA;AACZ,gBAAA,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;aAC3C;AACL,SAAC,CAAC,CAAA;AACN,KAAC,CAAA;AAED,IAAA,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,oBAAoB,EAAE;QAC5D,IAAI;QACJ,UAAU;AACV,QAAA,SAAS,EAAE,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AACtE,KAAA,CAAC,CAAA;AAEF,IAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;AAExD,IAAA,OAAO,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAA;AACtC;;;;"}
@@ -40,3 +40,4 @@ class HTMLVisualElement extends DOMVisualElement {
40
40
  }
41
41
 
42
42
  export { HTMLVisualElement, getComputedStyle };
43
+ //# sourceMappingURL=HTMLVisualElement.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLVisualElement.mjs","sources":["../../../../src/render/html/HTMLVisualElement.ts"],"sourcesContent":["import {\n AnyResolvedKeyframe,\n defaultTransformValue,\n isCSSVariableName,\n readTransformValue,\n transformProps,\n} from \"motion-dom\"\nimport type { Box } from \"motion-utils\"\nimport { MotionConfigContext } from \"../../context/MotionConfigContext\"\nimport { MotionProps } from \"../../motion/types\"\nimport { measureViewportBox } from \"../../projection/utils/measure\"\nimport { DOMVisualElement } from \"../dom/DOMVisualElement\"\nimport { DOMVisualElementOptions } from \"../dom/types\"\nimport type { ResolvedValues } from \"../types\"\nimport { VisualElement } from \"../VisualElement\"\nimport { HTMLRenderState } from \"./types\"\nimport { buildHTMLStyles } from \"./utils/build-styles\"\nimport { renderHTML } from \"./utils/render\"\nimport { scrapeMotionValuesFromProps } from \"./utils/scrape-motion-values\"\n\nexport function getComputedStyle(element: HTMLElement) {\n return window.getComputedStyle(element)\n}\n\nexport class HTMLVisualElement extends DOMVisualElement<\n HTMLElement,\n HTMLRenderState,\n DOMVisualElementOptions\n> {\n type = \"html\"\n\n readValueFromInstance(\n instance: HTMLElement,\n key: string\n ): AnyResolvedKeyframe | null | undefined {\n if (transformProps.has(key)) {\n return this.projection?.isProjecting\n ? defaultTransformValue(key)\n : readTransformValue(instance, key)\n } else {\n const computedStyle = getComputedStyle(instance)\n const value =\n (isCSSVariableName(key)\n ? computedStyle.getPropertyValue(key)\n : computedStyle[key as keyof typeof computedStyle]) || 0\n\n return typeof value === \"string\" ? value.trim() : (value as number)\n }\n }\n\n measureInstanceViewportBox(\n instance: HTMLElement,\n { transformPagePoint }: MotionProps & Partial<MotionConfigContext>\n ): Box {\n return measureViewportBox(instance, transformPagePoint)\n }\n\n build(\n renderState: HTMLRenderState,\n latestValues: ResolvedValues,\n props: MotionProps\n ) {\n buildHTMLStyles(renderState, latestValues, props.transformTemplate)\n }\n\n scrapeMotionValuesFromProps(\n props: MotionProps,\n prevProps: MotionProps,\n visualElement: VisualElement\n ) {\n return scrapeMotionValuesFromProps(props, prevProps, visualElement)\n }\n\n renderInstance = renderHTML\n}\n"],"names":[],"mappings":";;;;;;;AAoBM,SAAU,gBAAgB,CAAC,OAAoB,EAAA;AACjD,IAAA,OAAO,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;AAC3C,CAAC;AAEK,MAAO,iBAAkB,SAAQ,gBAItC,CAAA;AAJD,IAAA,WAAA,GAAA;;QAKI,IAAI,CAAA,IAAA,GAAG,MAAM,CAAA;QA4Cb,IAAc,CAAA,cAAA,GAAG,UAAU,CAAA;KAC9B;IA3CG,qBAAqB,CACjB,QAAqB,EACrB,GAAW,EAAA;AAEX,QAAA,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACzB,YAAA,OAAO,IAAI,CAAC,UAAU,EAAE,YAAY;AAChC,kBAAE,qBAAqB,CAAC,GAAG,CAAC;AAC5B,kBAAE,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;SAC1C;aAAM;AACH,YAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AAChD,YAAA,MAAM,KAAK,GACP,CAAC,iBAAiB,CAAC,GAAG,CAAC;AACnB,kBAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC;kBACnC,aAAa,CAAC,GAAiC,CAAC,KAAK,CAAC,CAAA;AAEhE,YAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,GAAI,KAAgB,CAAA;SACtE;KACJ;AAED,IAAA,0BAA0B,CACtB,QAAqB,EACrB,EAAE,kBAAkB,EAA8C,EAAA;AAElE,QAAA,OAAO,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;KAC1D;AAED,IAAA,KAAK,CACD,WAA4B,EAC5B,YAA4B,EAC5B,KAAkB,EAAA;QAElB,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAA;KACtE;AAED,IAAA,2BAA2B,CACvB,KAAkB,EAClB,SAAsB,EACtB,aAA4B,EAAA;QAE5B,OAAO,2BAA2B,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;KACtE;AAGJ;;;;"}
@@ -9,3 +9,4 @@ const useHTMLVisualState = /*@__PURE__*/ makeUseVisualState({
9
9
  });
10
10
 
11
11
  export { useHTMLVisualState };
12
+ //# sourceMappingURL=use-html-visual-state.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-html-visual-state.mjs","sources":["../../../../src/render/html/use-html-visual-state.ts"],"sourcesContent":["\"use client\"\n\nimport { makeUseVisualState } from \"../../motion/utils/use-visual-state\"\nimport { createHtmlRenderState } from \"./utils/create-render-state\"\nimport { scrapeMotionValuesFromProps } from \"./utils/scrape-motion-values\"\n\nexport const useHTMLVisualState = /*@__PURE__*/ makeUseVisualState({\n scrapeMotionValuesFromProps,\n createRenderState: createHtmlRenderState,\n})\n"],"names":[],"mappings":";;;;;AAMa;;AAET;AACH;;"}
@@ -56,3 +56,4 @@ function useHTMLProps(props, visualState) {
56
56
  }
57
57
 
58
58
  export { copyRawValuesOnly, useHTMLProps };
59
+ //# sourceMappingURL=use-props.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-props.mjs","sources":["../../../../src/render/html/use-props.ts"],"sourcesContent":["\"use client\"\n\nimport { AnyResolvedKeyframe, isMotionValue, MotionValue } from \"motion-dom\"\nimport { HTMLProps, useMemo } from \"react\"\nimport { MotionProps } from \"../../motion/types\"\nimport { isForcedMotionValue } from \"../../motion/utils/is-forced-motion-value\"\nimport { ResolvedValues } from \"../types\"\nimport { buildHTMLStyles } from \"./utils/build-styles\"\nimport { createHtmlRenderState } from \"./utils/create-render-state\"\n\nexport function copyRawValuesOnly(\n target: ResolvedValues,\n source: { [key: string]: AnyResolvedKeyframe | MotionValue },\n props: MotionProps\n) {\n for (const key in source) {\n if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n target[key] = source[key] as AnyResolvedKeyframe\n }\n }\n}\n\nfunction useInitialMotionValues(\n { transformTemplate }: MotionProps,\n visualState: ResolvedValues\n) {\n return useMemo(() => {\n const state = createHtmlRenderState()\n\n buildHTMLStyles(state, visualState, transformTemplate)\n\n return Object.assign({}, state.vars, state.style)\n }, [visualState])\n}\n\nfunction useStyle(\n props: MotionProps,\n visualState: ResolvedValues\n): ResolvedValues {\n const styleProp = props.style || {}\n const style = {}\n\n /**\n * Copy non-Motion Values straight into style\n */\n copyRawValuesOnly(style, styleProp as any, props)\n\n Object.assign(style, useInitialMotionValues(props, visualState))\n\n return style\n}\n\nexport function useHTMLProps(\n props: MotionProps & HTMLProps<HTMLElement>,\n visualState: ResolvedValues\n) {\n // The `any` isn't ideal but it is the type of createElement props argument\n const htmlProps: any = {}\n const style = useStyle(props, visualState)\n\n if (props.drag && props.dragListener !== false) {\n // Disable the ghost element when a user drags\n htmlProps.draggable = false\n\n // Disable text selection\n style.userSelect =\n style.WebkitUserSelect =\n style.WebkitTouchCallout =\n \"none\"\n\n // Disable scrolling on the draggable direction\n style.touchAction =\n props.drag === true\n ? \"none\"\n : `pan-${props.drag === \"x\" ? \"y\" : \"x\"}`\n }\n\n if (\n props.tabIndex === undefined &&\n (props.onTap || props.onTapStart || props.whileTap)\n ) {\n htmlProps.tabIndex = 0\n }\n\n htmlProps.style = style\n\n return htmlProps\n}\n"],"names":[],"mappings":";;;;;;;;AAeI;AACI;;;;AAIR;AAEA;;AAKQ;AAEA;AAEA;AACJ;AACJ;AAEA;AAII;;AAGA;;AAEG;AACH;AAEA;AAEA;AACJ;AAEgB;;;;;;AAUR;;AAGA;AACI;AACA;AACI;;AAGR;;AAEQ;AACA;;AAGZ;AAEI;AAEA;;AAGJ;AAEA;AACJ;;"}
@@ -60,3 +60,4 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
60
60
  }
61
61
 
62
62
  export { buildHTMLStyles };
63
+ //# sourceMappingURL=build-styles.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-styles.mjs","sources":["../../../../../src/render/html/utils/build-styles.ts"],"sourcesContent":["import {\n getValueAsType,\n isCSSVariableName,\n numberValueTypes,\n transformProps,\n} from \"motion-dom\"\nimport { MotionProps } from \"../../../motion/types\"\nimport { ResolvedValues } from \"../../types\"\nimport { HTMLRenderState } from \"../types\"\nimport { buildTransform } from \"./build-transform\"\n\nexport function buildHTMLStyles(\n state: HTMLRenderState,\n latestValues: ResolvedValues,\n transformTemplate?: MotionProps[\"transformTemplate\"]\n) {\n const { style, vars, transformOrigin } = state\n\n // Track whether we encounter any transform or transformOrigin values.\n let hasTransform = false\n let hasTransformOrigin = false\n\n /**\n * Loop over all our latest animated values and decide whether to handle them\n * as a style or CSS variable.\n *\n * Transforms and transform origins are kept separately for further processing.\n */\n for (const key in latestValues) {\n const value = latestValues[key]\n\n if (transformProps.has(key)) {\n // If this is a transform, flag to enable further transform processing\n hasTransform = true\n continue\n } else if (isCSSVariableName(key)) {\n vars[key] = value\n continue\n } else {\n // Convert the value to its default value type, ie 0 -> \"0px\"\n const valueAsType = getValueAsType(value, numberValueTypes[key])\n\n if (key.startsWith(\"origin\")) {\n // If this is a transform origin, flag and enable further transform-origin processing\n hasTransformOrigin = true\n transformOrigin[key as keyof typeof transformOrigin] =\n valueAsType\n } else {\n style[key] = valueAsType\n }\n }\n }\n\n if (!latestValues.transform) {\n if (hasTransform || transformTemplate) {\n style.transform = buildTransform(\n latestValues,\n state.transform,\n transformTemplate\n )\n } else if (style.transform) {\n /**\n * If we have previously created a transform but currently don't have any,\n * reset transform style to none.\n */\n style.transform = \"none\"\n }\n }\n\n /**\n * Build a transformOrigin style. Uses the same defaults as the browser for\n * undefined origins.\n */\n if (hasTransformOrigin) {\n const {\n originX = \"50%\",\n originY = \"50%\",\n originZ = 0,\n } = transformOrigin\n style.transformOrigin = `${originX} ${originY} ${originZ}`\n }\n}\n"],"names":[],"mappings":";;;SAWgB,eAAe,CAC3B,KAAsB,EACtB,YAA4B,EAC5B,iBAAoD,EAAA;IAEpD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,KAAK,CAAA;;IAG9C,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,kBAAkB,GAAG,KAAK,CAAA;AAE9B;;;;;AAKG;AACH,IAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;AAC5B,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;AAE/B,QAAA,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;;YAEzB,YAAY,GAAG,IAAI,CAAA;YACnB,SAAQ;SACX;AAAM,aAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YACjB,SAAQ;SACX;aAAM;;YAEH,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;AAEhE,YAAA,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;;gBAE1B,kBAAkB,GAAG,IAAI,CAAA;gBACzB,eAAe,CAAC,GAAmC,CAAC;AAChD,oBAAA,WAAW,CAAA;aAClB;iBAAM;AACH,gBAAA,KAAK,CAAC,GAAG,CAAC,GAAG,WAAW,CAAA;aAC3B;SACJ;KACJ;AAED,IAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;AACzB,QAAA,IAAI,YAAY,IAAI,iBAAiB,EAAE;AACnC,YAAA,KAAK,CAAC,SAAS,GAAG,cAAc,CAC5B,YAAY,EACZ,KAAK,CAAC,SAAS,EACf,iBAAiB,CACpB,CAAA;SACJ;AAAM,aAAA,IAAI,KAAK,CAAC,SAAS,EAAE;AACxB;;;AAGG;AACH,YAAA,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;SAC3B;KACJ;AAED;;;AAGG;IACH,IAAI,kBAAkB,EAAE;AACpB,QAAA,MAAM,EACF,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,CAAC,GACd,GAAG,eAAe,CAAA;QACnB,KAAK,CAAC,eAAe,GAAG,CAAG,EAAA,OAAO,IAAI,OAAO,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,CAAA;KAC7D;AACL;;;;"}
@@ -58,3 +58,4 @@ function buildTransform(latestValues, transform, transformTemplate) {
58
58
  }
59
59
 
60
60
  export { buildTransform };
61
+ //# sourceMappingURL=build-transform.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-transform.mjs","sources":["../../../../../src/render/html/utils/build-transform.ts"],"sourcesContent":["import {\n getValueAsType,\n numberValueTypes,\n transformPropOrder,\n} from \"motion-dom\"\nimport { MotionProps } from \"../../../motion/types\"\nimport { ResolvedValues } from \"../../types\"\nimport { HTMLRenderState } from \"../types\"\n\nconst translateAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n transformPerspective: \"perspective\",\n}\n\nconst numTransforms = transformPropOrder.length\n\n/**\n * Build a CSS transform style from individual x/y/scale etc properties.\n *\n * This outputs with a default order of transforms/scales/rotations, this can be customised by\n * providing a transformTemplate function.\n */\nexport function buildTransform(\n latestValues: ResolvedValues,\n transform: HTMLRenderState[\"transform\"],\n transformTemplate?: MotionProps[\"transformTemplate\"]\n) {\n // The transform string we're going to build into.\n let transformString = \"\"\n let transformIsDefault = true\n\n /**\n * Loop over all possible transforms in order, adding the ones that\n * are present to the transform string.\n */\n for (let i = 0; i < numTransforms; i++) {\n const key = transformPropOrder[i] as keyof typeof translateAlias\n const value = latestValues[key]\n\n if (value === undefined) continue\n\n let valueIsDefault = true\n if (typeof value === \"number\") {\n valueIsDefault = value === (key.startsWith(\"scale\") ? 1 : 0)\n } else {\n valueIsDefault = parseFloat(value) === 0\n }\n\n if (!valueIsDefault || transformTemplate) {\n const valueAsType = getValueAsType(value, numberValueTypes[key])\n\n if (!valueIsDefault) {\n transformIsDefault = false\n const transformName = translateAlias[key] || key\n transformString += `${transformName}(${valueAsType}) `\n }\n\n if (transformTemplate) {\n transform[key] = valueAsType\n }\n }\n }\n\n transformString = transformString.trim()\n\n // If we have a custom `transform` template, pass our transform values and\n // generated transformString to that before returning\n if (transformTemplate) {\n transformString = transformTemplate(\n transform,\n transformIsDefault ? \"\" : transformString\n )\n } else if (transformIsDefault) {\n transformString = \"none\"\n }\n\n return transformString\n}\n"],"names":[],"mappings":";;AASA,MAAM,cAAc,GAAG;AACnB,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,oBAAoB,EAAE,aAAa;CACtC,CAAA;AAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAA;AAE/C;;;;;AAKG;SACa,cAAc,CAC1B,YAA4B,EAC5B,SAAuC,EACvC,iBAAoD,EAAA;;IAGpD,IAAI,eAAe,GAAG,EAAE,CAAA;IACxB,IAAI,kBAAkB,GAAG,IAAI,CAAA;AAE7B;;;AAGG;AACH,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAgC,CAAA;AAChE,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QAE/B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QAEjC,IAAI,cAAc,GAAG,IAAI,CAAA;AACzB,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,YAAA,cAAc,GAAG,KAAK,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;SAC/D;aAAM;AACH,YAAA,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SAC3C;AAED,QAAA,IAAI,CAAC,cAAc,IAAI,iBAAiB,EAAE;YACtC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;YAEhE,IAAI,CAAC,cAAc,EAAE;gBACjB,kBAAkB,GAAG,KAAK,CAAA;gBAC1B,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,GAAG,CAAA;AAChD,gBAAA,eAAe,IAAI,CAAG,EAAA,aAAa,CAAI,CAAA,EAAA,WAAW,IAAI,CAAA;aACzD;YAED,IAAI,iBAAiB,EAAE;AACnB,gBAAA,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAA;aAC/B;SACJ;KACJ;AAED,IAAA,eAAe,GAAG,eAAe,CAAC,IAAI,EAAE,CAAA;;;IAIxC,IAAI,iBAAiB,EAAE;AACnB,QAAA,eAAe,GAAG,iBAAiB,CAC/B,SAAS,EACT,kBAAkB,GAAG,EAAE,GAAG,eAAe,CAC5C,CAAA;KACJ;SAAM,IAAI,kBAAkB,EAAE;QAC3B,eAAe,GAAG,MAAM,CAAA;KAC3B;AAED,IAAA,OAAO,eAAe,CAAA;AAC1B;;;;"}
@@ -6,3 +6,4 @@ const createHtmlRenderState = () => ({
6
6
  });
7
7
 
8
8
  export { createHtmlRenderState };
9
+ //# sourceMappingURL=create-render-state.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-render-state.mjs","sources":["../../../../../src/render/html/utils/create-render-state.ts"],"sourcesContent":["import { HTMLRenderState } from \"../types\"\n\nexport const createHtmlRenderState = (): HTMLRenderState => ({\n style: {},\n transform: {},\n transformOrigin: {},\n vars: {},\n})\n"],"names":[],"mappings":"AAEa,MAAA,qBAAqB,GAAG,OAAwB;AACzD,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,IAAI,EAAE,EAAE;AACX,CAAA;;;;"}
@@ -15,3 +15,4 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
15
15
  }
16
16
 
17
17
  export { renderHTML };
18
+ //# sourceMappingURL=render.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.mjs","sources":["../../../../../src/render/html/utils/render.ts"],"sourcesContent":["import { MotionStyle } from \"../../..\"\nimport { IProjectionNode } from \"../../../projection/node/types\"\nimport { HTMLRenderState } from \"../types\"\n\nexport function renderHTML(\n element: HTMLElement,\n { style, vars }: HTMLRenderState,\n styleProp?: MotionStyle,\n projection?: IProjectionNode\n) {\n const elementStyle = element.style\n\n let key: string\n for (key in style) {\n // CSSStyleDeclaration has [index: number]: string; in the types, so we use that as key type.\n elementStyle[key as unknown as number] = style[key] as string\n }\n\n // Write projection styles directly to element style\n projection?.applyProjectionStyles(elementStyle, styleProp)\n\n for (key in vars) {\n // Loop over any CSS variables and assign those.\n // They can only be assigned using `setProperty`.\n elementStyle.setProperty(key, vars[key] as string)\n }\n}\n"],"names":[],"mappings":"AAIgB,SAAA,UAAU,CACtB,OAAoB,EACpB,EAAE,KAAK,EAAE,IAAI,EAAmB,EAChC,SAAuB,EACvB,UAA4B,EAAA;AAE5B,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAA;AAElC,IAAA,IAAI,GAAW,CAAA;AACf,IAAA,KAAK,GAAG,IAAI,KAAK,EAAE;;QAEf,YAAY,CAAC,GAAwB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAW,CAAA;KAChE;;AAGD,IAAA,UAAU,EAAE,qBAAqB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;AAE1D,IAAA,KAAK,GAAG,IAAI,IAAI,EAAE;;;QAGd,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAW,CAAC,CAAA;KACrD;AACL;;;;"}
@@ -17,3 +17,4 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
17
17
  }
18
18
 
19
19
  export { scrapeMotionValuesFromProps };
20
+ //# sourceMappingURL=scrape-motion-values.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrape-motion-values.mjs","sources":["../../../../../src/render/html/utils/scrape-motion-values.ts"],"sourcesContent":["import { isMotionValue } from \"motion-dom\"\nimport { MotionProps, MotionStyle } from \"../../../motion/types\"\nimport { isForcedMotionValue } from \"../../../motion/utils/is-forced-motion-value\"\nimport type { VisualElement } from \"../../VisualElement\"\n\nexport function scrapeMotionValuesFromProps(\n props: MotionProps,\n prevProps: MotionProps,\n visualElement?: VisualElement\n) {\n const { style } = props\n const newValues: { [key: string]: any } = {}\n\n for (const key in style) {\n if (\n isMotionValue(style[key as keyof MotionStyle]) ||\n (prevProps.style &&\n isMotionValue(prevProps.style[key as keyof MotionStyle])) ||\n isForcedMotionValue(key, props) ||\n visualElement?.getValue(key)?.liveStyle !== undefined\n ) {\n newValues[key] = style[key as keyof MotionStyle]\n }\n }\n\n return newValues\n}\n"],"names":[],"mappings":";;;SAKgB,2BAA2B,CACvC,KAAkB,EAClB,SAAsB,EACtB,aAA6B,EAAA;AAE7B,IAAA,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,MAAM,SAAS,GAA2B,EAAE,CAAA;AAE5C,IAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACrB,QAAA,IACI,aAAa,CAAC,KAAK,CAAC,GAAwB,CAAC,CAAC;aAC7C,SAAS,CAAC,KAAK;gBACZ,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,GAAwB,CAAC,CAAC,CAAC;AAC7D,YAAA,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC;YAC/B,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,KAAK,SAAS,EACvD;YACE,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAwB,CAAC,CAAA;SACnD;KACJ;AAED,IAAA,OAAO,SAAS,CAAA;AACpB;;;;"}
@@ -39,3 +39,4 @@ class ObjectVisualElement extends VisualElement {
39
39
  }
40
40
 
41
41
  export { ObjectVisualElement };
42
+ //# sourceMappingURL=ObjectVisualElement.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectVisualElement.mjs","sources":["../../../../src/render/object/ObjectVisualElement.ts"],"sourcesContent":["import { createBox } from \"../../projection/geometry/models\"\nimport { ResolvedValues } from \"../types\"\nimport { VisualElement } from \"../VisualElement\"\n\ninterface ObjectRenderState {\n output: ResolvedValues\n}\n\nfunction isObjectKey(key: string, object: Object): key is keyof Object {\n return key in object\n}\n\nexport class ObjectVisualElement extends VisualElement<\n Object,\n ObjectRenderState\n> {\n type = \"object\"\n\n readValueFromInstance(instance: Object, key: string) {\n if (isObjectKey(key, instance)) {\n const value = instance[key]\n if (typeof value === \"string\" || typeof value === \"number\") {\n return value\n }\n }\n\n return undefined\n }\n\n getBaseTargetFromProps() {\n return undefined\n }\n\n removeValueFromRenderState(\n key: string,\n renderState: ObjectRenderState\n ): void {\n delete renderState.output[key]\n }\n\n measureInstanceViewportBox() {\n return createBox()\n }\n\n build(renderState: ObjectRenderState, latestValues: ResolvedValues) {\n Object.assign(renderState.output, latestValues)\n }\n\n renderInstance(instance: Object, { output }: ObjectRenderState) {\n Object.assign(instance, output)\n }\n\n sortInstanceNodePosition() {\n return 0\n }\n}\n"],"names":[],"mappings":";;;AAQA,SAAS,WAAW,CAAC,GAAW,EAAE,MAAc,EAAA;IAC5C,OAAO,GAAG,IAAI,MAAM,CAAA;AACxB,CAAC;AAEK,MAAO,mBAAoB,SAAQ,aAGxC,CAAA;AAHD,IAAA,WAAA,GAAA;;QAII,IAAI,CAAA,IAAA,GAAG,QAAQ,CAAA;KAuClB;IArCG,qBAAqB,CAAC,QAAgB,EAAE,GAAW,EAAA;AAC/C,QAAA,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;AAC5B,YAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACxD,gBAAA,OAAO,KAAK,CAAA;aACf;SACJ;AAED,QAAA,OAAO,SAAS,CAAA;KACnB;IAED,sBAAsB,GAAA;AAClB,QAAA,OAAO,SAAS,CAAA;KACnB;IAED,0BAA0B,CACtB,GAAW,EACX,WAA8B,EAAA;AAE9B,QAAA,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;KACjC;IAED,0BAA0B,GAAA;QACtB,OAAO,SAAS,EAAE,CAAA;KACrB;IAED,KAAK,CAAC,WAA8B,EAAE,YAA4B,EAAA;QAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;KAClD;AAED,IAAA,cAAc,CAAC,QAAgB,EAAE,EAAE,MAAM,EAAqB,EAAA;AAC1D,QAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;KAClC;IAED,wBAAwB,GAAA;AACpB,QAAA,OAAO,CAAC,CAAA;KACX;AACJ;;;;"}
@@ -1,3 +1,4 @@
1
1
  const visualElementStore = new WeakMap();
2
2
 
3
3
  export { visualElementStore };
4
+ //# sourceMappingURL=store.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.mjs","sources":["../../../src/render/store.ts"],"sourcesContent":["import type { VisualElement } from \"./VisualElement\"\n\nexport const visualElementStore = new WeakMap<any, VisualElement>()\n"],"names":[],"mappings":"AAEa,MAAA,kBAAkB,GAAG,IAAI,OAAO;;;;"}
@@ -42,3 +42,4 @@ class SVGVisualElement extends DOMVisualElement {
42
42
  }
43
43
 
44
44
  export { SVGVisualElement };
45
+ //# sourceMappingURL=SVGVisualElement.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SVGVisualElement.mjs","sources":["../../../../src/render/svg/SVGVisualElement.ts"],"sourcesContent":["import {\n AnyResolvedKeyframe,\n getDefaultValueType,\n MotionValue,\n transformProps,\n} from \"motion-dom\"\nimport { MotionProps, MotionStyle } from \"../../motion/types\"\nimport { createBox } from \"../../projection/geometry/models\"\nimport { IProjectionNode } from \"../../projection/node/types\"\nimport { DOMVisualElement } from \"../dom/DOMVisualElement\"\nimport { DOMVisualElementOptions } from \"../dom/types\"\nimport { camelToDash } from \"../dom/utils/camel-to-dash\"\nimport { ResolvedValues } from \"../types\"\nimport { VisualElement } from \"../VisualElement\"\nimport { SVGRenderState } from \"./types\"\nimport { buildSVGAttrs } from \"./utils/build-attrs\"\nimport { camelCaseAttributes } from \"./utils/camel-case-attrs\"\nimport { isSVGTag } from \"./utils/is-svg-tag\"\nimport { renderSVG } from \"./utils/render\"\nimport { scrapeMotionValuesFromProps } from \"./utils/scrape-motion-values\"\n\nexport class SVGVisualElement extends DOMVisualElement<\n SVGElement,\n SVGRenderState,\n DOMVisualElementOptions\n> {\n type = \"svg\"\n\n isSVGTag = false\n\n getBaseTargetFromProps(\n props: MotionProps,\n key: string\n ): AnyResolvedKeyframe | MotionValue<any> | undefined {\n return props[key as keyof MotionProps]\n }\n\n readValueFromInstance(instance: SVGElement, key: string) {\n if (transformProps.has(key)) {\n const defaultType = getDefaultValueType(key)\n return defaultType ? defaultType.default || 0 : 0\n }\n key = !camelCaseAttributes.has(key) ? camelToDash(key) : key\n return instance.getAttribute(key)\n }\n\n measureInstanceViewportBox = createBox\n\n scrapeMotionValuesFromProps(\n props: MotionProps,\n prevProps: MotionProps,\n visualElement: VisualElement\n ) {\n return scrapeMotionValuesFromProps(props, prevProps, visualElement)\n }\n\n build(\n renderState: SVGRenderState,\n latestValues: ResolvedValues,\n props: MotionProps\n ) {\n buildSVGAttrs(\n renderState,\n latestValues,\n this.isSVGTag,\n props.transformTemplate,\n props.style\n )\n }\n\n renderInstance(\n instance: SVGElement,\n renderState: SVGRenderState,\n styleProp?: MotionStyle | undefined,\n projection?: IProjectionNode<unknown> | undefined\n ): void {\n renderSVG(instance, renderState, styleProp, projection)\n }\n\n mount(instance: SVGElement) {\n this.isSVGTag = isSVGTag(instance.tagName)\n super.mount(instance)\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;AAqBM,MAAO,gBAAiB,SAAQ,gBAIrC,CAAA;AAJD,IAAA,WAAA,GAAA;;QAKI,IAAI,CAAA,IAAA,GAAG,KAAK,CAAA;QAEZ,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAA;QAkBhB,IAA0B,CAAA,0BAAA,GAAG,SAAS,CAAA;KAqCzC;IArDG,sBAAsB,CAClB,KAAkB,EAClB,GAAW,EAAA;AAEX,QAAA,OAAO,KAAK,CAAC,GAAwB,CAAC,CAAA;KACzC;IAED,qBAAqB,CAAC,QAAoB,EAAE,GAAW,EAAA;AACnD,QAAA,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACzB,YAAA,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;AAC5C,YAAA,OAAO,WAAW,GAAG,WAAW,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;SACpD;AACD,QAAA,GAAG,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;AAC5D,QAAA,OAAO,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;KACpC;AAID,IAAA,2BAA2B,CACvB,KAAkB,EAClB,SAAsB,EACtB,aAA4B,EAAA;QAE5B,OAAO,2BAA2B,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;KACtE;AAED,IAAA,KAAK,CACD,WAA2B,EAC3B,YAA4B,EAC5B,KAAkB,EAAA;AAElB,QAAA,aAAa,CACT,WAAW,EACX,YAAY,EACZ,IAAI,CAAC,QAAQ,EACb,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,KAAK,CACd,CAAA;KACJ;AAED,IAAA,cAAc,CACV,QAAoB,EACpB,WAA2B,EAC3B,SAAmC,EACnC,UAAiD,EAAA;QAEjD,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;KAC1D;AAED,IAAA,KAAK,CAAC,QAAoB,EAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC1C,QAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;KACxB;AACJ;;;;"}
@@ -31,3 +31,4 @@ const lowercaseSVGElements = [
31
31
  ];
32
32
 
33
33
  export { lowercaseSVGElements };
34
+ //# sourceMappingURL=lowercase-elements.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lowercase-elements.mjs","sources":["../../../../src/render/svg/lowercase-elements.ts"],"sourcesContent":["/**\n * We keep these listed separately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nexport const lowercaseSVGElements = [\n \"animate\",\n \"circle\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"g\",\n \"image\",\n \"line\",\n \"filter\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"rect\",\n \"stop\",\n \"switch\",\n \"symbol\",\n \"svg\",\n \"text\",\n \"tspan\",\n \"use\",\n \"view\",\n]\n"],"names":[],"mappings":"AAAA;;;AAGG;AACU,MAAA,oBAAoB,GAAG;IAChC,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,GAAG;IACH,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACV,MAAM;IACN,SAAS;IACT,SAAS;IACT,UAAU;IACV,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;;;;;"}
@@ -23,3 +23,4 @@ function useSVGProps(props, visualState, _isStatic, Component) {
23
23
  }
24
24
 
25
25
  export { useSVGProps };
26
+ //# sourceMappingURL=use-props.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-props.mjs","sources":["../../../../src/render/svg/use-props.ts"],"sourcesContent":["\"use client\"\n\nimport { useMemo } from \"react\"\nimport { MotionProps } from \"../../motion/types\"\nimport { copyRawValuesOnly } from \"../html/use-props\"\nimport { ResolvedValues } from \"../types\"\nimport { buildSVGAttrs } from \"./utils/build-attrs\"\nimport { createSvgRenderState } from \"./utils/create-render-state\"\nimport { isSVGTag } from \"./utils/is-svg-tag\"\n\nexport function useSVGProps(\n props: MotionProps,\n visualState: ResolvedValues,\n _isStatic: boolean,\n Component: string | React.ComponentType<React.PropsWithChildren<unknown>>\n) {\n const visualProps = useMemo(() => {\n const state = createSvgRenderState()\n\n buildSVGAttrs(\n state,\n visualState,\n isSVGTag(Component),\n props.transformTemplate,\n props.style\n )\n\n return {\n ...state.attrs,\n style: { ...state.style },\n }\n }, [visualState])\n\n if (props.style) {\n const rawStyles = {}\n copyRawValuesOnly(rawStyles, props.style as any, props)\n visualProps.style = { ...rawStyles, ...visualProps.style }\n }\n\n return visualProps\n}\n"],"names":[],"mappings":";;;;;;;AAUM;AAMF;AACI;AAEA;;;AAUI;;AAER;AAEA;;;AAGI;;AAGJ;AACJ;;"}
@@ -9,3 +9,4 @@ const useSVGVisualState = /*@__PURE__*/ makeUseVisualState({
9
9
  });
10
10
 
11
11
  export { useSVGVisualState };
12
+ //# sourceMappingURL=use-svg-visual-state.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-svg-visual-state.mjs","sources":["../../../../src/render/svg/use-svg-visual-state.ts"],"sourcesContent":["\"use client\"\n\nimport { makeUseVisualState } from \"../../motion/utils/use-visual-state\"\nimport { createSvgRenderState } from \"./utils/create-render-state\"\nimport { scrapeMotionValuesFromProps as scrapeSVGProps } from \"./utils/scrape-motion-values\"\n\nexport const useSVGVisualState = /*@__PURE__*/ makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeSVGProps,\n createRenderState: createSvgRenderState,\n})\n"],"names":[],"mappings":";;;;;AAMa;AACT;AACA;AACH;;"}
@@ -55,3 +55,4 @@ function buildSVGAttrs(state, { attrX, attrY, attrScale, pathLength, pathSpacing
55
55
  }
56
56
 
57
57
  export { buildSVGAttrs };
58
+ //# sourceMappingURL=build-attrs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-attrs.mjs","sources":["../../../../../src/render/svg/utils/build-attrs.ts"],"sourcesContent":["import { MotionProps } from \"../../../motion/types\"\nimport { buildHTMLStyles } from \"../../html/utils/build-styles\"\nimport { ResolvedValues } from \"../../types\"\nimport { SVGRenderState } from \"../types\"\nimport { buildSVGPath } from \"./path\"\n\n/**\n * Build SVG visual attributes, like cx and style.transform\n */\nexport function buildSVGAttrs(\n state: SVGRenderState,\n {\n attrX,\n attrY,\n attrScale,\n pathLength,\n pathSpacing = 1,\n pathOffset = 0,\n // This is object creation, which we try to avoid per-frame.\n ...latest\n }: ResolvedValues,\n isSVGTag: boolean,\n transformTemplate?: MotionProps[\"transformTemplate\"],\n styleProp?: MotionProps[\"style\"]\n) {\n buildHTMLStyles(state, latest, transformTemplate)\n\n /**\n * For svg tags we just want to make sure viewBox is animatable and treat all the styles\n * as normal HTML tags.\n */\n if (isSVGTag) {\n if (state.style.viewBox) {\n state.attrs.viewBox = state.style.viewBox\n }\n return\n }\n\n state.attrs = state.style\n state.style = {}\n const { attrs, style } = state\n\n /**\n * However, we apply transforms as CSS transforms.\n * So if we detect a transform, transformOrigin we take it from attrs and copy it into style.\n */\n if (attrs.transform) {\n style.transform = attrs.transform\n delete attrs.transform\n }\n if (style.transform || attrs.transformOrigin) {\n style.transformOrigin = attrs.transformOrigin ?? \"50% 50%\"\n delete attrs.transformOrigin\n }\n\n if (style.transform) {\n /**\n * SVG's element transform-origin uses its own median as a reference.\n * Therefore, transformBox becomes a fill-box\n */\n style.transformBox = (styleProp?.transformBox as string) ?? \"fill-box\"\n delete attrs.transformBox\n }\n\n // Render attrX/attrY/attrScale as attributes\n if (attrX !== undefined) attrs.x = attrX\n if (attrY !== undefined) attrs.y = attrY\n if (attrScale !== undefined) attrs.scale = attrScale\n\n // Build SVG path if one has been defined\n if (pathLength !== undefined) {\n buildSVGPath(\n attrs,\n pathLength as number,\n pathSpacing as number,\n pathOffset as number,\n false\n )\n }\n}\n"],"names":[],"mappings":";;;AAMA;;AAEG;AACG,SAAU,aAAa,CACzB,KAAqB,EACrB,EACI,KAAK,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,WAAW,GAAG,CAAC,EACf,UAAU,GAAG,CAAC;AACd;AACA,GAAG,MAAM,EACI,EACjB,QAAiB,EACjB,iBAAoD,EACpD,SAAgC,EAAA;AAEhC,IAAA,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAEjD;;;AAGG;IACH,IAAI,QAAQ,EAAE;AACV,QAAA,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;YACrB,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAA;SAC5C;QACD,OAAM;KACT;AAED,IAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;AACzB,IAAA,KAAK,CAAC,KAAK,GAAG,EAAE,CAAA;AAChB,IAAA,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;AAE9B;;;AAGG;AACH,IAAA,IAAI,KAAK,CAAC,SAAS,EAAE;AACjB,QAAA,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACjC,OAAO,KAAK,CAAC,SAAS,CAAA;KACzB;IACD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,eAAe,EAAE;QAC1C,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,SAAS,CAAA;QAC1D,OAAO,KAAK,CAAC,eAAe,CAAA;KAC/B;AAED,IAAA,IAAI,KAAK,CAAC,SAAS,EAAE;AACjB;;;AAGG;QACH,KAAK,CAAC,YAAY,GAAI,SAAS,EAAE,YAAuB,IAAI,UAAU,CAAA;QACtE,OAAO,KAAK,CAAC,YAAY,CAAA;KAC5B;;IAGD,IAAI,KAAK,KAAK,SAAS;AAAE,QAAA,KAAK,CAAC,CAAC,GAAG,KAAK,CAAA;IACxC,IAAI,KAAK,KAAK,SAAS;AAAE,QAAA,KAAK,CAAC,CAAC,GAAG,KAAK,CAAA;IACxC,IAAI,SAAS,KAAK,SAAS;AAAE,QAAA,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;;AAGpD,IAAA,IAAI,UAAU,KAAK,SAAS,EAAE;QAC1B,YAAY,CACR,KAAK,EACL,UAAoB,EACpB,WAAqB,EACrB,UAAoB,EACpB,KAAK,CACR,CAAA;KACJ;AACL;;;;"}
@@ -28,3 +28,4 @@ const camelCaseAttributes = new Set([
28
28
  ]);
29
29
 
30
30
  export { camelCaseAttributes };
31
+ //# sourceMappingURL=camel-case-attrs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camel-case-attrs.mjs","sources":["../../../../../src/render/svg/utils/camel-case-attrs.ts"],"sourcesContent":["/**\n * A set of attribute names that are always read/written as camel case.\n */\nexport const camelCaseAttributes = new Set([\n \"baseFrequency\",\n \"diffuseConstant\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keySplines\",\n \"keyTimes\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerWidth\",\n \"numOctaves\",\n \"targetX\",\n \"targetY\",\n \"surfaceScale\",\n \"specularConstant\",\n \"specularExponent\",\n \"stdDeviation\",\n \"tableValues\",\n \"viewBox\",\n \"gradientTransform\",\n \"pathLength\",\n \"startOffset\",\n \"textLength\",\n \"lengthAdjust\",\n])\n"],"names":[],"mappings":"AAAA;;AAEG;AACU,MAAA,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACvC,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,UAAU;IACV,mBAAmB;IACnB,cAAc;IACd,aAAa;IACb,YAAY;IACZ,SAAS;IACT,SAAS;IACT,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,SAAS;IACT,mBAAmB;IACnB,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,cAAc;AACjB,CAAA;;;;"}
@@ -6,3 +6,4 @@ const createSvgRenderState = () => ({
6
6
  });
7
7
 
8
8
  export { createSvgRenderState };
9
+ //# sourceMappingURL=create-render-state.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-render-state.mjs","sources":["../../../../../src/render/svg/utils/create-render-state.ts"],"sourcesContent":["import { createHtmlRenderState } from \"../../html/utils/create-render-state\"\nimport { SVGRenderState } from \"../types\"\n\nexport const createSvgRenderState = (): SVGRenderState => ({\n ...createHtmlRenderState(),\n attrs: {},\n})\n"],"names":[],"mappings":";;AAGa,MAAA,oBAAoB,GAAG,OAAuB;AACvD,IAAA,GAAG,qBAAqB,EAAE;AAC1B,IAAA,KAAK,EAAE,EAAE;AACZ,CAAA;;;;"}
@@ -1,3 +1,4 @@
1
1
  const isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
2
2
 
3
3
  export { isSVGTag };
4
+ //# sourceMappingURL=is-svg-tag.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-svg-tag.mjs","sources":["../../../../../src/render/svg/utils/is-svg-tag.ts"],"sourcesContent":["export const isSVGTag = (tag: unknown) =>\n typeof tag === \"string\" && tag.toLowerCase() === \"svg\"\n"],"names":[],"mappings":"MAAa,QAAQ,GAAG,CAAC,GAAY,KACjC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK;;;;"}
@@ -30,3 +30,4 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
30
30
  }
31
31
 
32
32
  export { buildSVGPath };
33
+ //# sourceMappingURL=path.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.mjs","sources":["../../../../../src/render/svg/utils/path.ts"],"sourcesContent":["import { px } from \"motion-dom\"\nimport { ResolvedValues } from \"../../types\"\n\nconst dashKeys = {\n offset: \"stroke-dashoffset\",\n array: \"stroke-dasharray\",\n}\n\nconst camelKeys = {\n offset: \"strokeDashoffset\",\n array: \"strokeDasharray\",\n}\n\n/**\n * Build SVG path properties. Uses the path's measured length to convert\n * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset\n * and stroke-dasharray attributes.\n *\n * This function is mutative to reduce per-frame GC.\n */\nexport function buildSVGPath(\n attrs: ResolvedValues,\n length: number,\n spacing = 1,\n offset = 0,\n useDashCase: boolean = true\n): void {\n // Normalise path length by setting SVG attribute pathLength to 1\n attrs.pathLength = 1\n\n // We use dash case when setting attributes directly to the DOM node and camel case\n // when defining props on a React component.\n const keys = useDashCase ? dashKeys : camelKeys\n\n // Build the dash offset\n attrs[keys.offset] = px.transform!(-offset)\n\n // Build the dash array\n const pathLength = px.transform!(length)\n const pathSpacing = px.transform!(spacing)\n attrs[keys.array] = `${pathLength} ${pathSpacing}`\n}\n"],"names":[],"mappings":";;AAGA,MAAM,QAAQ,GAAG;AACb,IAAA,MAAM,EAAE,mBAAmB;AAC3B,IAAA,KAAK,EAAE,kBAAkB;CAC5B,CAAA;AAED,MAAM,SAAS,GAAG;AACd,IAAA,MAAM,EAAE,kBAAkB;AAC1B,IAAA,KAAK,EAAE,iBAAiB;CAC3B,CAAA;AAED;;;;;;AAMG;SACa,YAAY,CACxB,KAAqB,EACrB,MAAc,EACd,OAAO,GAAG,CAAC,EACX,MAAM,GAAG,CAAC,EACV,cAAuB,IAAI,EAAA;;AAG3B,IAAA,KAAK,CAAC,UAAU,GAAG,CAAC,CAAA;;;IAIpB,MAAM,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;;AAG/C,IAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAU,CAAC,CAAC,MAAM,CAAC,CAAA;;IAG3C,MAAM,UAAU,GAAG,EAAE,CAAC,SAAU,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,WAAW,GAAG,EAAE,CAAC,SAAU,CAAC,OAAO,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,WAAW,CAAA,CAAE,CAAA;AACtD;;;;"}
@@ -10,3 +10,4 @@ function renderSVG(element, renderState, _styleProp, projection) {
10
10
  }
11
11
 
12
12
  export { renderSVG };
13
+ //# sourceMappingURL=render.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.mjs","sources":["../../../../../src/render/svg/utils/render.ts"],"sourcesContent":["import { MotionStyle } from \"../../../motion/types\"\nimport { IProjectionNode } from \"../../../projection/node/types\"\nimport { camelToDash } from \"../../dom/utils/camel-to-dash\"\nimport { renderHTML } from \"../../html/utils/render\"\nimport { SVGRenderState } from \"../types\"\nimport { camelCaseAttributes } from \"./camel-case-attrs\"\n\nexport function renderSVG(\n element: SVGElement,\n renderState: SVGRenderState,\n _styleProp?: MotionStyle,\n projection?: IProjectionNode\n) {\n renderHTML(element as any, renderState, undefined, projection)\n\n for (const key in renderState.attrs) {\n element.setAttribute(\n !camelCaseAttributes.has(key) ? camelToDash(key) : key,\n renderState.attrs[key] as string\n )\n }\n}\n"],"names":[],"mappings":";;;;AAOM,SAAU,SAAS,CACrB,OAAmB,EACnB,WAA2B,EAC3B,UAAwB,EACxB,UAA4B,EAAA;IAE5B,UAAU,CAAC,OAAc,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;AAE9D,IAAA,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE;AACjC,QAAA,OAAO,CAAC,YAAY,CAChB,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,EACtD,WAAW,CAAC,KAAK,CAAC,GAAG,CAAW,CACnC,CAAA;KACJ;AACL;;;;"}
@@ -16,3 +16,4 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
16
16
  }
17
17
 
18
18
  export { scrapeMotionValuesFromProps };
19
+ //# sourceMappingURL=scrape-motion-values.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrape-motion-values.mjs","sources":["../../../../../src/render/svg/utils/scrape-motion-values.ts"],"sourcesContent":["import { isMotionValue, transformPropOrder } from \"motion-dom\"\nimport { MotionProps } from \"../../../motion/types\"\nimport { scrapeMotionValuesFromProps as scrapeHTMLMotionValuesFromProps } from \"../../html/utils/scrape-motion-values\"\nimport type { VisualElement } from \"../../VisualElement\"\n\nexport function scrapeMotionValuesFromProps(\n props: MotionProps,\n prevProps: MotionProps,\n visualElement?: VisualElement\n) {\n const newValues = scrapeHTMLMotionValuesFromProps(\n props,\n prevProps,\n visualElement\n )\n\n for (const key in props) {\n if (\n isMotionValue(props[key as keyof typeof props]) ||\n isMotionValue(prevProps[key as keyof typeof prevProps])\n ) {\n const targetKey =\n transformPropOrder.indexOf(key) !== -1\n ? \"attr\" + key.charAt(0).toUpperCase() + key.substring(1)\n : key\n\n newValues[targetKey] = props[key as keyof typeof props]\n }\n }\n\n return newValues\n}\n"],"names":["scrapeHTMLMotionValuesFromProps"],"mappings":";;;SAKgB,2BAA2B,CACvC,KAAkB,EAClB,SAAsB,EACtB,aAA6B,EAAA;IAE7B,MAAM,SAAS,GAAGA,6BAA+B,CAC7C,KAAK,EACL,SAAS,EACT,aAAa,CAChB,CAAA;AAED,IAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACrB,QAAA,IACI,aAAa,CAAC,KAAK,CAAC,GAAyB,CAAC,CAAC;AAC/C,YAAA,aAAa,CAAC,SAAS,CAAC,GAA6B,CAAC,CAAC,EACzD;YACE,MAAM,SAAS,GACX,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAClC,kBAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;kBACvD,GAAG,CAAA;YAEb,SAAS,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,GAAyB,CAAC,CAAA;SAC1D;KACJ;AAED,IAAA,OAAO,SAAS,CAAA;AACpB;;;;"}
@@ -360,3 +360,4 @@ function createState() {
360
360
  }
361
361
 
362
362
  export { checkVariantsDidChange, createAnimationState };
363
+ //# sourceMappingURL=animation-state.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-state.mjs","sources":["../../../../src/render/utils/animation-state.ts"],"sourcesContent":["import type { AnimationDefinition, TargetAndTransition } from \"motion-dom\"\nimport { VisualElementAnimationOptions } from \"../../animation/interfaces/types\"\nimport { animateVisualElement } from \"../../animation/interfaces/visual-element\"\nimport { calcChildStagger } from \"../../animation/utils/calc-child-stagger\"\nimport { isAnimationControls } from \"../../animation/utils/is-animation-controls\"\nimport { isKeyframesTarget } from \"../../animation/utils/is-keyframes-target\"\nimport { VariantLabels } from \"../../motion/types\"\nimport { shallowCompare } from \"../../utils/shallow-compare\"\nimport type { VisualElement } from \"../VisualElement\"\nimport { getVariantContext } from \"./get-variant-context\"\nimport { isVariantLabel } from \"./is-variant-label\"\nimport { resolveVariant } from \"./resolve-dynamic-variants\"\nimport { AnimationType } from \"./types\"\nimport { variantPriorityOrder } from \"./variant-props\"\n\nexport interface AnimationState {\n animateChanges: (type?: AnimationType) => Promise<any>\n setActive: (\n type: AnimationType,\n isActive: boolean,\n options?: VisualElementAnimationOptions\n ) => Promise<any>\n setAnimateFunction: (fn: any) => void\n getState: () => { [key: string]: AnimationTypeState }\n reset: () => void\n}\n\ninterface DefinitionAndOptions {\n animation: AnimationDefinition\n options?: VisualElementAnimationOptions\n}\n\nexport type AnimationList = string[] | TargetAndTransition[]\n\nconst reversePriorityOrder = [...variantPriorityOrder].reverse()\nconst numAnimationTypes = variantPriorityOrder.length\n\nfunction animateList(visualElement: VisualElement) {\n return (animations: DefinitionAndOptions[]) =>\n Promise.all(\n animations.map(({ animation, options }) =>\n animateVisualElement(visualElement, animation, options)\n )\n )\n}\n\nexport function createAnimationState(\n visualElement: VisualElement\n): AnimationState {\n let animate = animateList(visualElement)\n let state = createState()\n let isInitialRender = true\n\n /**\n * This function will be used to reduce the animation definitions for\n * each active animation type into an object of resolved values for it.\n */\n const buildResolvedTypeValues =\n (type: AnimationType) =>\n (\n acc: { [key: string]: any },\n definition: string | TargetAndTransition | undefined\n ) => {\n const resolved = resolveVariant(\n visualElement,\n definition,\n type === \"exit\"\n ? visualElement.presenceContext?.custom\n : undefined\n )\n\n if (resolved) {\n const { transition, transitionEnd, ...target } = resolved\n acc = { ...acc, ...target, ...transitionEnd }\n }\n\n return acc\n }\n\n /**\n * This just allows us to inject mocked animation functions\n * @internal\n */\n function setAnimateFunction(makeAnimator: typeof animateList) {\n animate = makeAnimator(visualElement)\n }\n\n /**\n * When we receive new props, we need to:\n * 1. Create a list of protected keys for each type. This is a directory of\n * value keys that are currently being \"handled\" by types of a higher priority\n * so that whenever an animation is played of a given type, these values are\n * protected from being animated.\n * 2. Determine if an animation type needs animating.\n * 3. Determine if any values have been removed from a type and figure out\n * what to animate those to.\n */\n function animateChanges(changedActiveType?: AnimationType) {\n const { props } = visualElement\n const context = getVariantContext(visualElement.parent) || {}\n\n /**\n * A list of animations that we'll build into as we iterate through the animation\n * types. This will get executed at the end of the function.\n */\n const animations: DefinitionAndOptions[] = []\n\n /**\n * Keep track of which values have been removed. Then, as we hit lower priority\n * animation types, we can check if they contain removed values and animate to that.\n */\n const removedKeys = new Set<string>()\n\n /**\n * A dictionary of all encountered keys. This is an object to let us build into and\n * copy it without iteration. Each time we hit an animation type we set its protected\n * keys - the keys its not allowed to animate - to the latest version of this object.\n */\n let encounteredKeys = {}\n\n /**\n * If a variant has been removed at a given index, and this component is controlling\n * variant animations, we want to ensure lower-priority variants are forced to animate.\n */\n let removedVariantIndex = Infinity\n\n /**\n * Iterate through all animation types in reverse priority order. For each, we want to\n * detect which values it's handling and whether or not they've changed (and therefore\n * need to be animated). If any values have been removed, we want to detect those in\n * lower priority props and flag for animation.\n */\n for (let i = 0; i < numAnimationTypes; i++) {\n const type = reversePriorityOrder[i]\n const typeState = state[type]\n const prop =\n props[type] !== undefined\n ? props[type]\n : context[type as keyof typeof context]\n const propIsVariant = isVariantLabel(prop)\n\n /**\n * If this type has *just* changed isActive status, set activeDelta\n * to that status. Otherwise set to null.\n */\n const activeDelta =\n type === changedActiveType ? typeState.isActive : null\n\n if (activeDelta === false) removedVariantIndex = i\n\n /**\n * If this prop is an inherited variant, rather than been set directly on the\n * component itself, we want to make sure we allow the parent to trigger animations.\n *\n * TODO: Can probably change this to a !isControllingVariants check\n */\n let isInherited =\n prop === context[type as keyof typeof context] &&\n prop !== props[type] &&\n propIsVariant\n\n if (\n isInherited &&\n isInitialRender &&\n visualElement.manuallyAnimateOnMount\n ) {\n isInherited = false\n }\n\n /**\n * Set all encountered keys so far as the protected keys for this type. This will\n * be any key that has been animated or otherwise handled by active, higher-priortiy types.\n */\n typeState.protectedKeys = { ...encounteredKeys }\n\n // Check if we can skip analysing this prop early\n if (\n // If it isn't active and hasn't *just* been set as inactive\n (!typeState.isActive && activeDelta === null) ||\n // If we didn't and don't have any defined prop for this animation type\n (!prop && !typeState.prevProp) ||\n // Or if the prop doesn't define an animation\n isAnimationControls(prop) ||\n typeof prop === \"boolean\"\n ) {\n continue\n }\n\n /**\n * As we go look through the values defined on this type, if we detect\n * a changed value or a value that was removed in a higher priority, we set\n * this to true and add this prop to the animation list.\n */\n const variantDidChange = checkVariantsDidChange(\n typeState.prevProp,\n prop\n )\n\n let shouldAnimateType =\n variantDidChange ||\n // If we're making this variant active, we want to always make it active\n (type === changedActiveType &&\n typeState.isActive &&\n !isInherited &&\n propIsVariant) ||\n // If we removed a higher-priority variant (i is in reverse order)\n (i > removedVariantIndex && propIsVariant)\n\n let handledRemovedValues = false\n\n /**\n * As animations can be set as variant lists, variants or target objects, we\n * coerce everything to an array if it isn't one already\n */\n const definitionList = Array.isArray(prop) ? prop : [prop]\n\n /**\n * Build an object of all the resolved values. We'll use this in the subsequent\n * animateChanges calls to determine whether a value has changed.\n */\n let resolvedValues = definitionList.reduce(\n buildResolvedTypeValues(type),\n {}\n )\n\n if (activeDelta === false) resolvedValues = {}\n\n /**\n * Now we need to loop through all the keys in the prev prop and this prop,\n * and decide:\n * 1. If the value has changed, and needs animating\n * 2. If it has been removed, and needs adding to the removedKeys set\n * 3. If it has been removed in a higher priority type and needs animating\n * 4. If it hasn't been removed in a higher priority but hasn't changed, and\n * needs adding to the type's protectedKeys list.\n */\n const { prevResolvedValues = {} } = typeState\n\n const allKeys = {\n ...prevResolvedValues,\n ...resolvedValues,\n }\n const markToAnimate = (key: string) => {\n shouldAnimateType = true\n if (removedKeys.has(key)) {\n handledRemovedValues = true\n removedKeys.delete(key)\n }\n typeState.needsAnimating[key] = true\n\n const motionValue = visualElement.getValue(key)\n if (motionValue) motionValue.liveStyle = false\n }\n\n for (const key in allKeys) {\n const next = resolvedValues[key]\n const prev = prevResolvedValues[key]\n\n // If we've already handled this we can just skip ahead\n if (encounteredKeys.hasOwnProperty(key)) continue\n\n /**\n * If the value has changed, we probably want to animate it.\n */\n let valueHasChanged = false\n if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {\n valueHasChanged = !shallowCompare(next, prev)\n } else {\n valueHasChanged = next !== prev\n }\n\n if (valueHasChanged) {\n if (next !== undefined && next !== null) {\n // If next is defined and doesn't equal prev, it needs animating\n markToAnimate(key)\n } else {\n // If it's undefined, it's been removed.\n removedKeys.add(key)\n }\n } else if (next !== undefined && removedKeys.has(key)) {\n /**\n * If next hasn't changed and it isn't undefined, we want to check if it's\n * been removed by a higher priority\n */\n markToAnimate(key)\n } else {\n /**\n * If it hasn't changed, we add it to the list of protected values\n * to ensure it doesn't get animated.\n */\n typeState.protectedKeys[key] = true\n }\n }\n\n /**\n * Update the typeState so next time animateChanges is called we can compare the\n * latest prop and resolvedValues to these.\n */\n typeState.prevProp = prop\n typeState.prevResolvedValues = resolvedValues\n\n if (typeState.isActive) {\n encounteredKeys = { ...encounteredKeys, ...resolvedValues }\n }\n\n if (isInitialRender && visualElement.blockInitialAnimation) {\n shouldAnimateType = false\n }\n\n /**\n * If this is an inherited prop we want to skip this animation\n * unless the inherited variants haven't changed on this render.\n */\n const willAnimateViaParent = isInherited && variantDidChange\n const needsAnimating = !willAnimateViaParent || handledRemovedValues\n if (shouldAnimateType && needsAnimating) {\n animations.push(\n ...definitionList.map((animation) => {\n const options: VisualElementAnimationOptions = { type }\n\n /**\n * If we're performing the initial animation, but we're not\n * rendering at the same time as the variant-controlling parent,\n * we want to use the parent's transition to calculate the stagger.\n */\n if (\n typeof animation === \"string\" &&\n isInitialRender &&\n !willAnimateViaParent &&\n visualElement.manuallyAnimateOnMount &&\n visualElement.parent\n ) {\n const { parent } = visualElement\n const parentVariant = resolveVariant(\n parent,\n animation\n )\n\n if (parent.enteringChildren && parentVariant) {\n const { delayChildren } =\n parentVariant.transition || {}\n options.delay = calcChildStagger(\n parent.enteringChildren,\n visualElement,\n delayChildren\n )\n }\n }\n\n return {\n animation: animation as AnimationDefinition,\n options,\n }\n })\n )\n }\n }\n\n /**\n * If there are some removed value that haven't been dealt with,\n * we need to create a new animation that falls back either to the value\n * defined in the style prop, or the last read value.\n */\n if (removedKeys.size) {\n const fallbackAnimation: TargetAndTransition = {}\n\n /**\n * If the initial prop contains a transition we can use that, otherwise\n * allow the animation function to use the visual element's default.\n */\n if (typeof props.initial !== \"boolean\") {\n const initialTransition = resolveVariant(\n visualElement,\n Array.isArray(props.initial)\n ? props.initial[0]\n : props.initial\n )\n\n if (initialTransition && initialTransition.transition) {\n fallbackAnimation.transition = initialTransition.transition\n }\n }\n\n removedKeys.forEach((key) => {\n const fallbackTarget = visualElement.getBaseTarget(key)\n\n const motionValue = visualElement.getValue(key)\n if (motionValue) motionValue.liveStyle = true\n\n // @ts-expect-error - @mattgperry to figure if we should do something here\n fallbackAnimation[key] = fallbackTarget ?? null\n })\n\n animations.push({ animation: fallbackAnimation })\n }\n\n let shouldAnimate = Boolean(animations.length)\n\n if (\n isInitialRender &&\n (props.initial === false || props.initial === props.animate) &&\n !visualElement.manuallyAnimateOnMount\n ) {\n shouldAnimate = false\n }\n\n isInitialRender = false\n return shouldAnimate ? animate(animations) : Promise.resolve()\n }\n\n /**\n * Change whether a certain animation type is active.\n */\n function setActive(type: AnimationType, isActive: boolean) {\n // If the active state hasn't changed, we can safely do nothing here\n if (state[type].isActive === isActive) return Promise.resolve()\n\n // Propagate active change to children\n visualElement.variantChildren?.forEach((child) =>\n child.animationState?.setActive(type, isActive)\n )\n\n state[type].isActive = isActive\n\n const animations = animateChanges(type)\n\n for (const key in state) {\n state[key as keyof typeof state].protectedKeys = {}\n }\n\n return animations\n }\n\n return {\n animateChanges,\n setActive,\n setAnimateFunction,\n getState: () => state,\n reset: () => {\n state = createState()\n /**\n * Temporarily disabling resetting this flag as it prevents components\n * with initial={false} from animating after being remounted, for instance\n * as the child of an Activity component.\n */\n // isInitialRender = true\n },\n }\n}\n\nexport function checkVariantsDidChange(prev: any, next: any) {\n if (typeof next === \"string\") {\n return next !== prev\n } else if (Array.isArray(next)) {\n return !shallowCompare(next, prev)\n }\n\n return false\n}\n\nexport interface AnimationTypeState {\n isActive: boolean\n protectedKeys: { [key: string]: true }\n needsAnimating: { [key: string]: boolean }\n prevResolvedValues: { [key: string]: any }\n prevProp?: VariantLabels | TargetAndTransition\n}\n\nfunction createTypeState(isActive = false): AnimationTypeState {\n return {\n isActive,\n protectedKeys: {},\n needsAnimating: {},\n prevResolvedValues: {},\n }\n}\n\nfunction createState() {\n return {\n animate: createTypeState(true),\n whileInView: createTypeState(),\n whileHover: createTypeState(),\n whileTap: createTypeState(),\n whileDrag: createTypeState(),\n whileFocus: createTypeState(),\n exit: createTypeState(),\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  const compareByDepth = (a, b) => a.depth - b.depth;
2
2
 
3
3
  export { compareByDepth };
4
+ //# sourceMappingURL=compare-by-depth.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare-by-depth.mjs","sources":["../../../../src/render/utils/compare-by-depth.ts"],"sourcesContent":["import type { VisualElement } from \"../VisualElement\"\n\nexport interface WithDepth {\n depth: number\n}\n\nexport const compareByDepth = (a: VisualElement, b: VisualElement) =>\n a.depth - b.depth\n"],"names":[],"mappings":"AAMa,MAAA,cAAc,GAAG,CAAC,CAAgB,EAAE,CAAgB,KAC7D,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;;;;"}
@@ -22,3 +22,4 @@ class FlatTree {
22
22
  }
23
23
 
24
24
  export { FlatTree };
25
+ //# sourceMappingURL=flat-tree.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flat-tree.mjs","sources":["../../../../src/render/utils/flat-tree.ts"],"sourcesContent":["import { addUniqueItem, removeItem } from \"motion-utils\"\nimport { compareByDepth, WithDepth } from \"./compare-by-depth\"\n\nexport class FlatTree {\n private children: WithDepth[] = []\n\n private isDirty: boolean = false\n\n add(child: WithDepth) {\n addUniqueItem(this.children, child)\n this.isDirty = true\n }\n\n remove(child: WithDepth) {\n removeItem(this.children, child)\n this.isDirty = true\n }\n\n forEach(callback: (child: WithDepth) => void) {\n this.isDirty && this.children.sort(compareByDepth)\n this.isDirty = false\n this.children.forEach(callback)\n }\n}\n"],"names":[],"mappings":";;;MAGa,QAAQ,CAAA;AAArB,IAAA,WAAA,GAAA;QACY,IAAQ,CAAA,QAAA,GAAgB,EAAE,CAAA;QAE1B,IAAO,CAAA,OAAA,GAAY,KAAK,CAAA;KAiBnC;AAfG,IAAA,GAAG,CAAC,KAAgB,EAAA;AAChB,QAAA,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AACnC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;KACtB;AAED,IAAA,MAAM,CAAC,KAAgB,EAAA;AACnB,QAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;KACtB;AAED,IAAA,OAAO,CAAC,QAAoC,EAAA;QACxC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;AAClD,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;KAClC;AACJ;;;;"}
@@ -26,3 +26,4 @@ function getVariantContext(visualElement) {
26
26
  }
27
27
 
28
28
  export { getVariantContext };
29
+ //# sourceMappingURL=get-variant-context.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-variant-context.mjs","sources":["../../../../src/render/utils/get-variant-context.ts"],"sourcesContent":["import { VisualElement } from \"../VisualElement\"\nimport { isVariantLabel } from \"./is-variant-label\"\nimport { variantProps } from \"./variant-props\"\n\nconst numVariantProps = variantProps.length\n\ntype VariantStateContext = {\n initial?: string | string[]\n animate?: string | string[]\n exit?: string | string[]\n whileHover?: string | string[]\n whileDrag?: string | string[]\n whileFocus?: string | string[]\n whileTap?: string | string[]\n}\n\nexport function getVariantContext(\n visualElement?: VisualElement\n): undefined | VariantStateContext {\n if (!visualElement) return undefined\n\n if (!visualElement.isControllingVariants) {\n const context = visualElement.parent\n ? getVariantContext(visualElement.parent) || {}\n : {}\n if (visualElement.props.initial !== undefined) {\n context.initial = visualElement.props.initial as any\n }\n return context\n }\n\n const context = {}\n for (let i = 0; i < numVariantProps; i++) {\n const name = variantProps[i] as keyof typeof context\n const prop = visualElement.props[name]\n\n if (isVariantLabel(prop) || prop === false) {\n context[name] = prop\n }\n }\n\n return context\n}\n"],"names":[],"mappings":";;;AAIA,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAA;AAYrC,SAAU,iBAAiB,CAC7B,aAA6B,EAAA;AAE7B,IAAA,IAAI,CAAC,aAAa;AAAE,QAAA,OAAO,SAAS,CAAA;AAEpC,IAAA,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE;AACtC,QAAA,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM;cAC9B,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE;cAC7C,EAAE,CAAA;QACR,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE;YAC3C,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAc,CAAA;SACvD;AACD,QAAA,OAAO,OAAO,CAAA;KACjB;IAED,MAAM,OAAO,GAAG,EAAE,CAAA;AAClB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;AACtC,QAAA,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAyB,CAAA;QACpD,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEtC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,KAAK,EAAE;AACxC,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;SACvB;KACJ;AAED,IAAA,OAAO,OAAO,CAAA;AAClB;;;;"}
@@ -11,3 +11,4 @@ function isVariantNode(props) {
11
11
  }
12
12
 
13
13
  export { isControllingVariants, isVariantNode };
14
+ //# sourceMappingURL=is-controlling-variants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-controlling-variants.mjs","sources":["../../../../src/render/utils/is-controlling-variants.ts"],"sourcesContent":["import { isAnimationControls } from \"../../animation/utils/is-animation-controls\"\nimport { MotionProps } from \"../../motion/types\"\nimport { isVariantLabel } from \"./is-variant-label\"\nimport { variantProps } from \"./variant-props\"\n\nexport function isControllingVariants(props: MotionProps) {\n return (\n isAnimationControls(props.animate) ||\n variantProps.some((name) =>\n isVariantLabel(props[name as keyof typeof props])\n )\n )\n}\n\nexport function isVariantNode(props: MotionProps) {\n return Boolean(isControllingVariants(props) || props.variants)\n}\n"],"names":[],"mappings":";;;;AAKM,SAAU,qBAAqB,CAAC,KAAkB,EAAA;AACpD,IAAA,QACI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC;AAClC,QAAA,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KACnB,cAAc,CAAC,KAAK,CAAC,IAA0B,CAAC,CAAC,CACpD,EACJ;AACL,CAAC;AAEK,SAAU,aAAa,CAAC,KAAkB,EAAA;IAC5C,OAAO,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;AAClE;;;;"}
@@ -6,3 +6,4 @@ function isVariantLabel(v) {
6
6
  }
7
7
 
8
8
  export { isVariantLabel };
9
+ //# sourceMappingURL=is-variant-label.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-variant-label.mjs","sources":["../../../../src/render/utils/is-variant-label.ts"],"sourcesContent":["/**\n * Decides if the supplied variable is variant label\n */\nexport function isVariantLabel(v: unknown): v is string | string[] {\n return typeof v === \"string\" || Array.isArray(v)\n}\n"],"names":[],"mappings":"AAAA;;AAEG;AACG,SAAU,cAAc,CAAC,CAAU,EAAA;IACrC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACpD;;;;"}
@@ -48,3 +48,4 @@ function updateMotionValuesFromProps(element, next, prev) {
48
48
  }
49
49
 
50
50
  export { updateMotionValuesFromProps };
51
+ //# sourceMappingURL=motion-values.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion-values.mjs","sources":["../../../../src/render/utils/motion-values.ts"],"sourcesContent":["import { isMotionValue, motionValue } from \"motion-dom\"\nimport { MotionStyle } from \"../../motion/types\"\nimport type { VisualElement } from \"../VisualElement\"\n\nexport function updateMotionValuesFromProps(\n element: VisualElement,\n next: MotionStyle,\n prev: MotionStyle\n) {\n for (const key in next) {\n const nextValue = next[key as keyof MotionStyle]\n const prevValue = prev[key as keyof MotionStyle]\n\n if (isMotionValue(nextValue)) {\n /**\n * If this is a motion value found in props or style, we want to add it\n * to our visual element's motion value map.\n */\n element.addValue(key, nextValue)\n } else if (isMotionValue(prevValue)) {\n /**\n * If we're swapping from a motion value to a static value,\n * create a new motion value from that\n */\n element.addValue(key, motionValue(nextValue, { owner: element }))\n } else if (prevValue !== nextValue) {\n /**\n * If this is a flat value that has changed, update the motion value\n * or create one if it doesn't exist. We only want to do this if we're\n * not handling the value with our animation state.\n */\n if (element.hasValue(key)) {\n const existingValue = element.getValue(key)!\n\n if (existingValue.liveStyle === true) {\n existingValue.jump(nextValue)\n } else if (!existingValue.hasAnimated) {\n existingValue.set(nextValue)\n }\n } else {\n const latestValue = element.getStaticValue(key)\n element.addValue(\n key,\n motionValue(\n latestValue !== undefined ? latestValue : nextValue,\n { owner: element }\n )\n )\n }\n }\n }\n\n // Handle removed values\n for (const key in prev) {\n if (next[key as keyof MotionStyle] === undefined)\n element.removeValue(key)\n }\n\n return next\n}\n"],"names":[],"mappings":";;SAIgB,2BAA2B,CACvC,OAAsB,EACtB,IAAiB,EACjB,IAAiB,EAAA;AAEjB,IAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AACpB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAwB,CAAC,CAAA;AAChD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAwB,CAAC,CAAA;AAEhD,QAAA,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE;AAC1B;;;AAGG;AACH,YAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;SACnC;AAAM,aAAA,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE;AACjC;;;AAGG;AACH,YAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;SACpE;AAAM,aAAA,IAAI,SAAS,KAAK,SAAS,EAAE;AAChC;;;;AAIG;AACH,YAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACvB,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAE,CAAA;AAE5C,gBAAA,IAAI,aAAa,CAAC,SAAS,KAAK,IAAI,EAAE;AAClC,oBAAA,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;iBAChC;AAAM,qBAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;AACnC,oBAAA,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;iBAC/B;aACJ;iBAAM;gBACH,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;gBAC/C,OAAO,CAAC,QAAQ,CACZ,GAAG,EACH,WAAW,CACP,WAAW,KAAK,SAAS,GAAG,WAAW,GAAG,SAAS,EACnD,EAAE,KAAK,EAAE,OAAO,EAAE,CACrB,CACJ,CAAA;aACJ;SACJ;KACJ;;AAGD,IAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AACpB,QAAA,IAAI,IAAI,CAAC,GAAwB,CAAC,KAAK,SAAS;AAC5C,YAAA,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;KAC/B;AAED,IAAA,OAAO,IAAI,CAAA;AACf;;;;"}
@@ -6,3 +6,4 @@ function resolveVariant(visualElement, definition, custom) {
6
6
  }
7
7
 
8
8
  export { resolveVariant };
9
+ //# sourceMappingURL=resolve-dynamic-variants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-dynamic-variants.mjs","sources":["../../../../src/render/utils/resolve-dynamic-variants.ts"],"sourcesContent":["import type {\n AnimationDefinition,\n TargetAndTransition,\n TargetResolver,\n} from \"motion-dom\"\nimport type { VisualElement } from \"../VisualElement\"\nimport { resolveVariantFromProps } from \"./resolve-variants\"\n\n/**\n * Resovles a variant if it's a variant resolver\n */\nexport function resolveVariant(\n visualElement: VisualElement,\n definition?: TargetAndTransition | TargetResolver,\n custom?: any\n): TargetAndTransition\nexport function resolveVariant(\n visualElement: VisualElement,\n definition?: AnimationDefinition,\n custom?: any\n): TargetAndTransition | undefined\nexport function resolveVariant(\n visualElement: VisualElement,\n definition?: AnimationDefinition,\n custom?: any\n) {\n const props = visualElement.getProps()\n return resolveVariantFromProps(\n props,\n definition,\n custom !== undefined ? custom : props.custom,\n visualElement\n )\n}\n"],"names":[],"mappings":";;SAqBgB,cAAc,CAC1B,aAA4B,EAC5B,UAAgC,EAChC,MAAY,EAAA;AAEZ,IAAA,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAA;IACtC,OAAO,uBAAuB,CAC1B,KAAK,EACL,UAAU,EACV,MAAM,KAAK,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,EAC5C,aAAa,CAChB,CAAA;AACL;;;;"}
@@ -34,3 +34,4 @@ function resolveVariantFromProps(props, definition, custom, visualElement) {
34
34
  }
35
35
 
36
36
  export { resolveVariantFromProps };
37
+ //# sourceMappingURL=resolve-variants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-variants.mjs","sources":["../../../../src/render/utils/resolve-variants.ts"],"sourcesContent":["import type {\n AnimationDefinition,\n TargetAndTransition,\n TargetResolver,\n} from \"motion-dom\"\nimport type { MotionProps } from \"../../motion/types\"\nimport { VisualElement } from \"../VisualElement\"\nimport type { ResolvedValues } from \"../types\"\n\nfunction getValueState(\n visualElement?: VisualElement\n): [ResolvedValues, ResolvedValues] {\n const state: [ResolvedValues, ResolvedValues] = [{}, {}]\n\n visualElement?.values.forEach((value, key) => {\n state[0][key] = value.get()\n state[1][key] = value.getVelocity()\n })\n\n return state\n}\n\nexport function resolveVariantFromProps(\n props: MotionProps,\n definition: TargetAndTransition | TargetResolver,\n custom?: any,\n visualElement?: VisualElement\n): TargetAndTransition\nexport function resolveVariantFromProps(\n props: MotionProps,\n definition?: AnimationDefinition,\n custom?: any,\n visualElement?: VisualElement\n): undefined | TargetAndTransition\nexport function resolveVariantFromProps(\n props: MotionProps,\n definition?: AnimationDefinition,\n custom?: any,\n visualElement?: VisualElement\n) {\n /**\n * If the variant definition is a function, resolve.\n */\n if (typeof definition === \"function\") {\n const [current, velocity] = getValueState(visualElement)\n definition = definition(\n custom !== undefined ? custom : props.custom,\n current,\n velocity\n )\n }\n\n /**\n * If the variant definition is a variant label, or\n * the function returned a variant label, resolve.\n */\n if (typeof definition === \"string\") {\n definition = props.variants && props.variants[definition]\n }\n\n /**\n * At this point we've resolved both functions and variant labels,\n * but the resolved variant label might itself have been a function.\n * If so, resolve. This can only have returned a valid target object.\n */\n if (typeof definition === \"function\") {\n const [current, velocity] = getValueState(visualElement)\n definition = definition(\n custom !== undefined ? custom : props.custom,\n current,\n velocity\n )\n }\n\n return definition\n}\n"],"names":[],"mappings":"AASA,SAAS,aAAa,CAClB,aAA6B,EAAA;AAE7B,IAAA,MAAM,KAAK,GAAqC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAExD,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAI;QACzC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;QAC3B,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;AACvC,KAAC,CAAC,CAAA;AAEF,IAAA,OAAO,KAAK,CAAA;AAChB,CAAC;AAcK,SAAU,uBAAuB,CACnC,KAAkB,EAClB,UAAgC,EAChC,MAAY,EACZ,aAA6B,EAAA;AAE7B;;AAEG;AACH,IAAA,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;QAClC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;QACxD,UAAU,GAAG,UAAU,CACnB,MAAM,KAAK,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,EAC5C,OAAO,EACP,QAAQ,CACX,CAAA;KACJ;AAED;;;AAGG;AACH,IAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QAChC,UAAU,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;KAC5D;AAED;;;;AAIG;AACH,IAAA,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;QAClC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;QACxD,UAAU,GAAG,UAAU,CACnB,MAAM,KAAK,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,EAC5C,OAAO,EACP,QAAQ,CACX,CAAA;KACJ;AAED,IAAA,OAAO,UAAU,CAAA;AACrB;;;;"}
@@ -29,3 +29,4 @@ function setTarget(visualElement, definition) {
29
29
  }
30
30
 
31
31
  export { setTarget };
32
+ //# sourceMappingURL=setters.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setters.mjs","sources":["../../../../src/render/utils/setters.ts"],"sourcesContent":["import type {\n AnimationDefinition,\n AnyResolvedKeyframe,\n UnresolvedValueKeyframe,\n ValueKeyframesDefinition,\n} from \"motion-dom\"\nimport { motionValue } from \"motion-dom\"\nimport { isKeyframesTarget } from \"../../animation/utils/is-keyframes-target\"\nimport type { VisualElement } from \"../VisualElement\"\nimport { resolveVariant } from \"./resolve-dynamic-variants\"\n\n/**\n * Set VisualElement's MotionValue, creating a new MotionValue for it if\n * it doesn't exist.\n */\nfunction setMotionValue(\n visualElement: VisualElement,\n key: string,\n value: AnyResolvedKeyframe\n) {\n if (visualElement.hasValue(key)) {\n visualElement.getValue(key)!.set(value)\n } else {\n visualElement.addValue(key, motionValue(value))\n }\n}\n\nfunction resolveFinalValueInKeyframes(\n v: ValueKeyframesDefinition\n): UnresolvedValueKeyframe {\n // TODO maybe throw if v.length - 1 is placeholder token?\n return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v\n}\n\nexport function setTarget(\n visualElement: VisualElement,\n definition: AnimationDefinition\n) {\n const resolved = resolveVariant(visualElement, definition)\n let { transitionEnd = {}, transition = {}, ...target } = resolved || {}\n\n target = { ...target, ...transitionEnd }\n\n for (const key in target) {\n const value = resolveFinalValueInKeyframes(\n target[key as keyof typeof target] as any\n )\n setMotionValue(visualElement, key, value as AnyResolvedKeyframe)\n }\n}\n"],"names":[],"mappings":";;;;AAWA;;;AAGG;AACH,SAAS,cAAc,CACnB,aAA4B,EAC5B,GAAW,EACX,KAA0B,EAAA;AAE1B,IAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC7B,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;KAC1C;SAAM;QACH,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;KAClD;AACL,CAAC;AAED,SAAS,4BAA4B,CACjC,CAA2B,EAAA;;IAG3B,OAAO,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1D,CAAC;AAEe,SAAA,SAAS,CACrB,aAA4B,EAC5B,UAA+B,EAAA;IAE/B,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;AAC1D,IAAA,IAAI,EAAE,aAAa,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAA;IAEvE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;AAExC,IAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;QACtB,MAAM,KAAK,GAAG,4BAA4B,CACtC,MAAM,CAAC,GAA0B,CAAQ,CAC5C,CAAA;AACD,QAAA,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,KAA4B,CAAC,CAAA;KACnE;AACL;;;;"}
@@ -10,3 +10,4 @@ const variantPriorityOrder = [
10
10
  const variantProps = ["initial", ...variantPriorityOrder];
11
11
 
12
12
  export { variantPriorityOrder, variantProps };
13
+ //# sourceMappingURL=variant-props.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant-props.mjs","sources":["../../../../src/render/utils/variant-props.ts"],"sourcesContent":["import { AnimationType } from \"./types\"\n\nexport const variantPriorityOrder: AnimationType[] = [\n \"animate\",\n \"whileInView\",\n \"whileFocus\",\n \"whileHover\",\n \"whileTap\",\n \"whileDrag\",\n \"exit\",\n]\n\nexport const variantProps = [\"initial\", ...variantPriorityOrder]\n"],"names":[],"mappings":"AAEa,MAAA,oBAAoB,GAAoB;IACjD,SAAS;IACT,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,WAAW;IACX,MAAM;EACT;AAEY,MAAA,YAAY,GAAG,CAAC,SAAS,EAAE,GAAG,oBAAoB;;;;"}
@@ -21,3 +21,4 @@ function delayInSeconds(callback, timeout) {
21
21
  }
22
22
 
23
23
  export { delay, delayInSeconds };
24
+ //# sourceMappingURL=delay.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay.mjs","sources":["../../../src/utils/delay.ts"],"sourcesContent":["import { cancelFrame, frame, FrameData, time } from \"motion-dom\"\nimport { secondsToMilliseconds } from \"motion-utils\"\n\nexport type DelayedFunction = (overshoot: number) => void\n\n/**\n * Timeout defined in ms\n */\nexport function delay(callback: DelayedFunction, timeout: number) {\n const start = time.now()\n\n const checkElapsed = ({ timestamp }: FrameData) => {\n const elapsed = timestamp - start\n\n if (elapsed >= timeout) {\n cancelFrame(checkElapsed)\n callback(elapsed - timeout)\n }\n }\n\n frame.setup(checkElapsed, true)\n\n return () => cancelFrame(checkElapsed)\n}\n\nexport function delayInSeconds(callback: DelayedFunction, timeout: number) {\n return delay(callback, secondsToMilliseconds(timeout))\n}\n"],"names":[],"mappings":";;;AAKA;;AAEG;AACa,SAAA,KAAK,CAAC,QAAyB,EAAE,OAAe,EAAA;AAC5D,IAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;AAExB,IAAA,MAAM,YAAY,GAAG,CAAC,EAAE,SAAS,EAAa,KAAI;AAC9C,QAAA,MAAM,OAAO,GAAG,SAAS,GAAG,KAAK,CAAA;AAEjC,QAAA,IAAI,OAAO,IAAI,OAAO,EAAE;YACpB,WAAW,CAAC,YAAY,CAAC,CAAA;AACzB,YAAA,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,CAAA;SAC9B;AACL,KAAC,CAAA;AAED,IAAA,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;AAE/B,IAAA,OAAO,MAAM,WAAW,CAAC,YAAY,CAAC,CAAA;AAC1C,CAAC;AAEe,SAAA,cAAc,CAAC,QAAyB,EAAE,OAAe,EAAA;IACrE,OAAO,KAAK,CAAC,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAA;AAC1D;;;;"}
@@ -7,3 +7,4 @@ function distance2D(a, b) {
7
7
  }
8
8
 
9
9
  export { distance, distance2D };
10
+ //# sourceMappingURL=distance.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distance.mjs","sources":["../../../src/utils/distance.ts"],"sourcesContent":["import { Point } from \"motion-utils\"\n\nexport const distance = (a: number, b: number) => Math.abs(a - b)\n\nexport function distance2D(a: Point, b: Point): number {\n // Multi-dimensional\n const xDelta = distance(a.x, b.x)\n const yDelta = distance(a.y, b.y)\n return Math.sqrt(xDelta ** 2 + yDelta ** 2)\n}\n"],"names":[],"mappings":"AAEa,MAAA,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAC;AAEjD,SAAA,UAAU,CAAC,CAAQ,EAAE,CAAQ,EAAA;;AAEzC,IAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AACjC,IAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AACjC,IAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAA;AAC/C;;;;"}
@@ -4,3 +4,4 @@ const getContextWindow = ({ current }) => {
4
4
  };
5
5
 
6
6
  export { getContextWindow };
7
+ //# sourceMappingURL=get-context-window.mjs.map