motion 12.18.0 → 12.18.2

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 (409) hide show
  1. package/dist/cjs/mini.js +7 -1063
  2. package/dist/es/debug.mjs +1 -0
  3. package/dist/es/index.mjs +1 -0
  4. package/dist/es/mini.mjs +1 -0
  5. package/dist/es/react-client.mjs +2 -0
  6. package/dist/es/react-m.mjs +2 -0
  7. package/dist/es/react-mini.mjs +2 -0
  8. package/dist/es/react.mjs +2 -0
  9. package/dist/motion.js +1 -1
  10. package/mini/package.json +1 -1
  11. package/package.json +11 -11
  12. package/react/package.json +1 -1
  13. package/react-client/package.json +1 -1
  14. package/react-m/package.json +1 -1
  15. package/dist/es/framer-motion/dist/es/animation/animate/index.mjs +0 -34
  16. package/dist/es/framer-motion/dist/es/animation/animate/resolve-subjects.mjs +0 -19
  17. package/dist/es/framer-motion/dist/es/animation/animate/sequence.mjs +0 -14
  18. package/dist/es/framer-motion/dist/es/animation/animate/single-value.mjs +0 -11
  19. package/dist/es/framer-motion/dist/es/animation/animate/subject.mjs +0 -52
  20. package/dist/es/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs +0 -112
  21. package/dist/es/framer-motion/dist/es/animation/animators/waapi/animate-sequence.mjs +0 -13
  22. package/dist/es/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs +0 -12
  23. package/dist/es/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs +0 -12
  24. package/dist/es/framer-motion/dist/es/animation/hooks/animation-controls.mjs +0 -80
  25. package/dist/es/framer-motion/dist/es/animation/hooks/use-animate-style.mjs +0 -17
  26. package/dist/es/framer-motion/dist/es/animation/hooks/use-animate.mjs +0 -17
  27. package/dist/es/framer-motion/dist/es/animation/hooks/use-animated-state.mjs +0 -64
  28. package/dist/es/framer-motion/dist/es/animation/hooks/use-animation.mjs +0 -41
  29. package/dist/es/framer-motion/dist/es/animation/interfaces/motion-value.mjs +0 -102
  30. package/dist/es/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs +0 -85
  31. package/dist/es/framer-motion/dist/es/animation/interfaces/visual-element-variant.mjs +0 -65
  32. package/dist/es/framer-motion/dist/es/animation/interfaces/visual-element.mjs +0 -26
  33. package/dist/es/framer-motion/dist/es/animation/optimized-appear/data-id.mjs +0 -6
  34. package/dist/es/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs +0 -7
  35. package/dist/es/framer-motion/dist/es/animation/optimized-appear/handoff.mjs +0 -38
  36. package/dist/es/framer-motion/dist/es/animation/optimized-appear/start.mjs +0 -171
  37. package/dist/es/framer-motion/dist/es/animation/optimized-appear/store-id.mjs +0 -8
  38. package/dist/es/framer-motion/dist/es/animation/optimized-appear/store.mjs +0 -4
  39. package/dist/es/framer-motion/dist/es/animation/sequence/create.mjs +0 -256
  40. package/dist/es/framer-motion/dist/es/animation/sequence/utils/calc-repeat-duration.mjs +0 -5
  41. package/dist/es/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs +0 -23
  42. package/dist/es/framer-motion/dist/es/animation/sequence/utils/edit.mjs +0 -31
  43. package/dist/es/framer-motion/dist/es/animation/sequence/utils/normalize-times.mjs +0 -13
  44. package/dist/es/framer-motion/dist/es/animation/sequence/utils/sort.mjs +0 -14
  45. package/dist/es/framer-motion/dist/es/animation/utils/create-visual-element.mjs +0 -45
  46. package/dist/es/framer-motion/dist/es/animation/utils/default-transitions.mjs +0 -40
  47. package/dist/es/framer-motion/dist/es/animation/utils/is-animation-controls.mjs +0 -7
  48. package/dist/es/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs +0 -5
  49. package/dist/es/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs +0 -5
  50. package/dist/es/framer-motion/dist/es/animation/utils/is-transition-defined.mjs +0 -10
  51. package/dist/es/framer-motion/dist/es/animation/utils/stagger.mjs +0 -26
  52. package/dist/es/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs +0 -87
  53. package/dist/es/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs +0 -64
  54. package/dist/es/framer-motion/dist/es/components/AnimatePresence/index.mjs +0 -166
  55. package/dist/es/framer-motion/dist/es/components/AnimatePresence/use-presence-data.mjs +0 -9
  56. package/dist/es/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs +0 -70
  57. package/dist/es/framer-motion/dist/es/components/AnimatePresence/utils.mjs +0 -14
  58. package/dist/es/framer-motion/dist/es/components/AnimateSharedLayout.mjs +0 -15
  59. package/dist/es/framer-motion/dist/es/components/LayoutGroup/index.mjs +0 -32
  60. package/dist/es/framer-motion/dist/es/components/LazyMotion/index.mjs +0 -68
  61. package/dist/es/framer-motion/dist/es/components/MotionConfig/index.mjs +0 -48
  62. package/dist/es/framer-motion/dist/es/components/Reorder/Group.mjs +0 -53
  63. package/dist/es/framer-motion/dist/es/components/Reorder/Item.mjs +0 -34
  64. package/dist/es/framer-motion/dist/es/components/Reorder/namespace.mjs +0 -2
  65. package/dist/es/framer-motion/dist/es/components/Reorder/utils/check-reorder.mjs +0 -24
  66. package/dist/es/framer-motion/dist/es/context/DeprecatedLayoutGroupContext.mjs +0 -10
  67. package/dist/es/framer-motion/dist/es/context/LayoutGroupContext.mjs +0 -6
  68. package/dist/es/framer-motion/dist/es/context/LazyContext.mjs +0 -6
  69. package/dist/es/framer-motion/dist/es/context/MotionConfigContext.mjs +0 -13
  70. package/dist/es/framer-motion/dist/es/context/MotionContext/create.mjs +0 -13
  71. package/dist/es/framer-motion/dist/es/context/MotionContext/index.mjs +0 -6
  72. package/dist/es/framer-motion/dist/es/context/MotionContext/utils.mjs +0 -17
  73. package/dist/es/framer-motion/dist/es/context/PresenceContext.mjs +0 -10
  74. package/dist/es/framer-motion/dist/es/context/ReorderContext.mjs +0 -6
  75. package/dist/es/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs +0 -9
  76. package/dist/es/framer-motion/dist/es/events/add-dom-event.mjs +0 -6
  77. package/dist/es/framer-motion/dist/es/events/add-pointer-event.mjs +0 -8
  78. package/dist/es/framer-motion/dist/es/events/event-info.mjs +0 -15
  79. package/dist/es/framer-motion/dist/es/events/use-dom-event.mjs +0 -34
  80. package/dist/es/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs +0 -479
  81. package/dist/es/framer-motion/dist/es/gestures/drag/index.mjs +0 -27
  82. package/dist/es/framer-motion/dist/es/gestures/drag/use-drag-controls.mjs +0 -88
  83. package/dist/es/framer-motion/dist/es/gestures/drag/utils/constraints.mjs +0 -129
  84. package/dist/es/framer-motion/dist/es/gestures/focus.mjs +0 -41
  85. package/dist/es/framer-motion/dist/es/gestures/hover.mjs +0 -30
  86. package/dist/es/framer-motion/dist/es/gestures/pan/PanSession.mjs +0 -156
  87. package/dist/es/framer-motion/dist/es/gestures/pan/index.mjs +0 -50
  88. package/dist/es/framer-motion/dist/es/gestures/press.mjs +0 -33
  89. package/dist/es/framer-motion/dist/es/motion/features/Feature.mjs +0 -9
  90. package/dist/es/framer-motion/dist/es/motion/features/animation/exit.mjs +0 -36
  91. package/dist/es/framer-motion/dist/es/motion/features/animation/index.mjs +0 -40
  92. package/dist/es/framer-motion/dist/es/motion/features/animations.mjs +0 -13
  93. package/dist/es/framer-motion/dist/es/motion/features/definitions.mjs +0 -28
  94. package/dist/es/framer-motion/dist/es/motion/features/drag.mjs +0 -17
  95. package/dist/es/framer-motion/dist/es/motion/features/gestures.mjs +0 -21
  96. package/dist/es/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs +0 -135
  97. package/dist/es/framer-motion/dist/es/motion/features/layout.mjs +0 -11
  98. package/dist/es/framer-motion/dist/es/motion/features/load-features.mjs +0 -12
  99. package/dist/es/framer-motion/dist/es/motion/features/viewport/index.mjs +0 -72
  100. package/dist/es/framer-motion/dist/es/motion/features/viewport/observers.mjs +0 -49
  101. package/dist/es/framer-motion/dist/es/motion/index.mjs +0 -101
  102. package/dist/es/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs +0 -11
  103. package/dist/es/framer-motion/dist/es/motion/utils/is-motion-component.mjs +0 -12
  104. package/dist/es/framer-motion/dist/es/motion/utils/symbol.mjs +0 -3
  105. package/dist/es/framer-motion/dist/es/motion/utils/unwrap-motion-component.mjs +0 -17
  106. package/dist/es/framer-motion/dist/es/motion/utils/use-motion-ref.mjs +0 -38
  107. package/dist/es/framer-motion/dist/es/motion/utils/use-visual-element.mjs +0 -133
  108. package/dist/es/framer-motion/dist/es/motion/utils/use-visual-state.mjs +0 -79
  109. package/dist/es/framer-motion/dist/es/motion/utils/valid-prop.mjs +0 -57
  110. package/dist/es/framer-motion/dist/es/projection/animation/mix-values.mjs +0 -91
  111. package/dist/es/framer-motion/dist/es/projection/geometry/conversion.mjs +0 -33
  112. package/dist/es/framer-motion/dist/es/projection/geometry/copy.mjs +0 -31
  113. package/dist/es/framer-motion/dist/es/projection/geometry/delta-apply.mjs +0 -119
  114. package/dist/es/framer-motion/dist/es/projection/geometry/delta-calc.mjs +0 -52
  115. package/dist/es/framer-motion/dist/es/projection/geometry/delta-remove.mjs +0 -54
  116. package/dist/es/framer-motion/dist/es/projection/geometry/models.mjs +0 -17
  117. package/dist/es/framer-motion/dist/es/projection/geometry/utils.mjs +0 -31
  118. package/dist/es/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs +0 -13
  119. package/dist/es/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs +0 -27
  120. package/dist/es/framer-motion/dist/es/projection/node/create-projection-node.mjs +0 -1605
  121. package/dist/es/framer-motion/dist/es/projection/node/group.mjs +0 -24
  122. package/dist/es/framer-motion/dist/es/projection/node/state.mjs +0 -19
  123. package/dist/es/framer-motion/dist/es/projection/shared/stack.mjs +0 -112
  124. package/dist/es/framer-motion/dist/es/projection/styles/scale-border-radius.mjs +0 -41
  125. package/dist/es/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs +0 -35
  126. package/dist/es/framer-motion/dist/es/projection/styles/scale-correction.mjs +0 -13
  127. package/dist/es/framer-motion/dist/es/projection/styles/transform.mjs +0 -49
  128. package/dist/es/framer-motion/dist/es/projection/use-instant-layout-transition.mjs +0 -14
  129. package/dist/es/framer-motion/dist/es/projection/use-reset-projection.mjs +0 -14
  130. package/dist/es/framer-motion/dist/es/projection/utils/each-axis.mjs +0 -5
  131. package/dist/es/framer-motion/dist/es/projection/utils/has-transform.mjs +0 -26
  132. package/dist/es/framer-motion/dist/es/projection/utils/measure.mjs +0 -17
  133. package/dist/es/framer-motion/dist/es/render/VisualElement.mjs +0 -478
  134. package/dist/es/framer-motion/dist/es/render/components/create-factory.mjs +0 -23
  135. package/dist/es/framer-motion/dist/es/render/components/create-proxy.mjs +0 -38
  136. package/dist/es/framer-motion/dist/es/render/components/m/create.mjs +0 -6
  137. package/dist/es/framer-motion/dist/es/render/components/m/elements.mjs +0 -227
  138. package/dist/es/framer-motion/dist/es/render/components/m/proxy.mjs +0 -6
  139. package/dist/es/framer-motion/dist/es/render/components/motion/create.mjs +0 -15
  140. package/dist/es/framer-motion/dist/es/render/components/motion/elements.mjs +0 -194
  141. package/dist/es/framer-motion/dist/es/render/components/motion/proxy.mjs +0 -6
  142. package/dist/es/framer-motion/dist/es/render/dom/DOMVisualElement.mjs +0 -43
  143. package/dist/es/framer-motion/dist/es/render/dom/create-visual-element.mjs +0 -14
  144. package/dist/es/framer-motion/dist/es/render/dom/features-animation.mjs +0 -14
  145. package/dist/es/framer-motion/dist/es/render/dom/features-max.mjs +0 -14
  146. package/dist/es/framer-motion/dist/es/render/dom/features-min.mjs +0 -12
  147. package/dist/es/framer-motion/dist/es/render/dom/scroll/attach-animation.mjs +0 -17
  148. package/dist/es/framer-motion/dist/es/render/dom/scroll/attach-function.mjs +0 -23
  149. package/dist/es/framer-motion/dist/es/render/dom/scroll/index.mjs +0 -14
  150. package/dist/es/framer-motion/dist/es/render/dom/scroll/info.mjs +0 -56
  151. package/dist/es/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs +0 -45
  152. package/dist/es/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs +0 -60
  153. package/dist/es/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs +0 -47
  154. package/dist/es/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs +0 -35
  155. package/dist/es/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs +0 -20
  156. package/dist/es/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs +0 -48
  157. package/dist/es/framer-motion/dist/es/render/dom/scroll/track.mjs +0 -81
  158. package/dist/es/framer-motion/dist/es/render/dom/scroll/utils/get-timeline.mjs +0 -30
  159. package/dist/es/framer-motion/dist/es/render/dom/use-render.mjs +0 -33
  160. package/dist/es/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs +0 -6
  161. package/dist/es/framer-motion/dist/es/render/dom/utils/filter-props.mjs +0 -59
  162. package/dist/es/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs +0 -30
  163. package/dist/es/framer-motion/dist/es/render/dom/viewport/index.mjs +0 -43
  164. package/dist/es/framer-motion/dist/es/render/html/HTMLVisualElement.mjs +0 -44
  165. package/dist/es/framer-motion/dist/es/render/html/config-motion.mjs +0 -12
  166. package/dist/es/framer-motion/dist/es/render/html/use-props.mjs +0 -57
  167. package/dist/es/framer-motion/dist/es/render/html/utils/build-styles.mjs +0 -65
  168. package/dist/es/framer-motion/dist/es/render/html/utils/build-transform.mjs +0 -62
  169. package/dist/es/framer-motion/dist/es/render/html/utils/create-render-state.mjs +0 -8
  170. package/dist/es/framer-motion/dist/es/render/html/utils/render.mjs +0 -9
  171. package/dist/es/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs +0 -19
  172. package/dist/es/framer-motion/dist/es/render/object/ObjectVisualElement.mjs +0 -41
  173. package/dist/es/framer-motion/dist/es/render/store.mjs +0 -3
  174. package/dist/es/framer-motion/dist/es/render/svg/SVGVisualElement.mjs +0 -45
  175. package/dist/es/framer-motion/dist/es/render/svg/config-motion.mjs +0 -12
  176. package/dist/es/framer-motion/dist/es/render/svg/lowercase-elements.mjs +0 -33
  177. package/dist/es/framer-motion/dist/es/render/svg/use-props.mjs +0 -24
  178. package/dist/es/framer-motion/dist/es/render/svg/utils/build-attrs.mjs +0 -57
  179. package/dist/es/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs +0 -30
  180. package/dist/es/framer-motion/dist/es/render/svg/utils/create-render-state.mjs +0 -8
  181. package/dist/es/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs +0 -3
  182. package/dist/es/framer-motion/dist/es/render/svg/utils/path.mjs +0 -32
  183. package/dist/es/framer-motion/dist/es/render/svg/utils/render.mjs +0 -12
  184. package/dist/es/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs +0 -19
  185. package/dist/es/framer-motion/dist/es/render/utils/animation-state.mjs +0 -342
  186. package/dist/es/framer-motion/dist/es/render/utils/compare-by-depth.mjs +0 -3
  187. package/dist/es/framer-motion/dist/es/render/utils/flat-tree.mjs +0 -24
  188. package/dist/es/framer-motion/dist/es/render/utils/get-variant-context.mjs +0 -28
  189. package/dist/es/framer-motion/dist/es/render/utils/is-controlling-variants.mjs +0 -13
  190. package/dist/es/framer-motion/dist/es/render/utils/is-variant-label.mjs +0 -8
  191. package/dist/es/framer-motion/dist/es/render/utils/motion-values.mjs +0 -51
  192. package/dist/es/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs +0 -8
  193. package/dist/es/framer-motion/dist/es/render/utils/resolve-variants.mjs +0 -36
  194. package/dist/es/framer-motion/dist/es/render/utils/setters.mjs +0 -31
  195. package/dist/es/framer-motion/dist/es/render/utils/variant-props.mjs +0 -12
  196. package/dist/es/framer-motion/dist/es/utils/delay.mjs +0 -24
  197. package/dist/es/framer-motion/dist/es/utils/distance.mjs +0 -9
  198. package/dist/es/framer-motion/dist/es/utils/get-context-window.mjs +0 -6
  199. package/dist/es/framer-motion/dist/es/utils/is-browser.mjs +0 -3
  200. package/dist/es/framer-motion/dist/es/utils/is-ref-object.mjs +0 -7
  201. package/dist/es/framer-motion/dist/es/utils/reduced-motion/index.mjs +0 -19
  202. package/dist/es/framer-motion/dist/es/utils/reduced-motion/state.mjs +0 -5
  203. package/dist/es/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion-config.mjs +0 -19
  204. package/dist/es/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs +0 -47
  205. package/dist/es/framer-motion/dist/es/utils/shallow-compare.mjs +0 -14
  206. package/dist/es/framer-motion/dist/es/utils/use-animation-frame.mjs +0 -21
  207. package/dist/es/framer-motion/dist/es/utils/use-constant.mjs +0 -18
  208. package/dist/es/framer-motion/dist/es/utils/use-cycle.mjs +0 -47
  209. package/dist/es/framer-motion/dist/es/utils/use-force-update.mjs +0 -19
  210. package/dist/es/framer-motion/dist/es/utils/use-in-view.mjs +0 -23
  211. package/dist/es/framer-motion/dist/es/utils/use-instant-transition.mjs +0 -41
  212. package/dist/es/framer-motion/dist/es/utils/use-is-mounted.mjs +0 -15
  213. package/dist/es/framer-motion/dist/es/utils/use-isomorphic-effect.mjs +0 -6
  214. package/dist/es/framer-motion/dist/es/utils/use-motion-value-event.mjs +0 -13
  215. package/dist/es/framer-motion/dist/es/utils/use-unmount-effect.mjs +0 -7
  216. package/dist/es/framer-motion/dist/es/value/scroll/use-element-scroll.mjs +0 -14
  217. package/dist/es/framer-motion/dist/es/value/scroll/use-viewport-scroll.mjs +0 -14
  218. package/dist/es/framer-motion/dist/es/value/use-combine-values.mjs +0 -37
  219. package/dist/es/framer-motion/dist/es/value/use-computed.mjs +0 -19
  220. package/dist/es/framer-motion/dist/es/value/use-inverted-scale.mjs +0 -52
  221. package/dist/es/framer-motion/dist/es/value/use-motion-template.mjs +0 -45
  222. package/dist/es/framer-motion/dist/es/value/use-motion-value.mjs +0 -38
  223. package/dist/es/framer-motion/dist/es/value/use-scroll.mjs +0 -39
  224. package/dist/es/framer-motion/dist/es/value/use-spring.mjs +0 -22
  225. package/dist/es/framer-motion/dist/es/value/use-time.mjs +0 -10
  226. package/dist/es/framer-motion/dist/es/value/use-transform.mjs +0 -29
  227. package/dist/es/framer-motion/dist/es/value/use-velocity.mjs +0 -35
  228. package/dist/es/framer-motion/dist/es/value/use-will-change/WillChangeMotionValue.mjs +0 -21
  229. package/dist/es/framer-motion/dist/es/value/use-will-change/add-will-change.mjs +0 -20
  230. package/dist/es/framer-motion/dist/es/value/use-will-change/index.mjs +0 -8
  231. package/dist/es/framer-motion/dist/es/value/use-will-change/is.mjs +0 -7
  232. package/dist/es/framer-motion/dist/es/value/utils/resolve-motion-value.mjs +0 -12
  233. package/dist/es/motion/lib/debug.mjs +0 -1
  234. package/dist/es/motion/lib/index.mjs +0 -131
  235. package/dist/es/motion/lib/mini.mjs +0 -2
  236. package/dist/es/motion/lib/react-client.mjs +0 -3
  237. package/dist/es/motion/lib/react-m.mjs +0 -3
  238. package/dist/es/motion/lib/react-mini.mjs +0 -2
  239. package/dist/es/motion/lib/react.mjs +0 -204
  240. package/dist/es/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs +0 -175
  241. package/dist/es/motion-dom/dist/es/animation/GroupAnimation.mjs +0 -72
  242. package/dist/es/motion-dom/dist/es/animation/GroupAnimationWithThen.mjs +0 -9
  243. package/dist/es/motion-dom/dist/es/animation/JSAnimation.mjs +0 -348
  244. package/dist/es/motion-dom/dist/es/animation/NativeAnimation.mjs +0 -158
  245. package/dist/es/motion-dom/dist/es/animation/NativeAnimationExtended.mjs +0 -65
  246. package/dist/es/motion-dom/dist/es/animation/NativeAnimationWrapper.mjs +0 -14
  247. package/dist/es/motion-dom/dist/es/animation/drivers/frame.mjs +0 -17
  248. package/dist/es/motion-dom/dist/es/animation/generators/inertia.mjs +0 -87
  249. package/dist/es/motion-dom/dist/es/animation/generators/keyframes.mjs +0 -51
  250. package/dist/es/motion-dom/dist/es/animation/generators/spring/defaults.mjs +0 -27
  251. package/dist/es/motion-dom/dist/es/animation/generators/spring/find.mjs +0 -86
  252. package/dist/es/motion-dom/dist/es/animation/generators/spring/index.mjs +0 -176
  253. package/dist/es/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs +0 -17
  254. package/dist/es/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs +0 -19
  255. package/dist/es/motion-dom/dist/es/animation/generators/utils/is-generator.mjs +0 -5
  256. package/dist/es/motion-dom/dist/es/animation/generators/utils/velocity.mjs +0 -9
  257. package/dist/es/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs +0 -131
  258. package/dist/es/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs +0 -147
  259. package/dist/es/motion-dom/dist/es/animation/keyframes/get-final.mjs +0 -11
  260. package/dist/es/motion-dom/dist/es/animation/keyframes/offsets/default.mjs +0 -9
  261. package/dist/es/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs +0 -12
  262. package/dist/es/motion-dom/dist/es/animation/keyframes/offsets/time.mjs +0 -5
  263. package/dist/es/motion-dom/dist/es/animation/keyframes/utils/apply-px-defaults.mjs +0 -11
  264. package/dist/es/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs +0 -7
  265. package/dist/es/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs +0 -15
  266. package/dist/es/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs +0 -30
  267. package/dist/es/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs +0 -36
  268. package/dist/es/motion-dom/dist/es/animation/utils/WithPromise.mjs +0 -26
  269. package/dist/es/motion-dom/dist/es/animation/utils/active-animations.mjs +0 -9
  270. package/dist/es/motion-dom/dist/es/animation/utils/can-animate.mjs +0 -42
  271. package/dist/es/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs +0 -42
  272. package/dist/es/motion-dom/dist/es/animation/utils/get-value-transition.mjs +0 -7
  273. package/dist/es/motion-dom/dist/es/animation/utils/is-animatable.mjs +0 -30
  274. package/dist/es/motion-dom/dist/es/animation/utils/is-css-variable.mjs +0 -15
  275. package/dist/es/motion-dom/dist/es/animation/utils/replace-transition-type.mjs +0 -18
  276. package/dist/es/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs +0 -3
  277. package/dist/es/motion-dom/dist/es/animation/waapi/easing/is-supported.mjs +0 -14
  278. package/dist/es/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs +0 -28
  279. package/dist/es/motion-dom/dist/es/animation/waapi/easing/supported.mjs +0 -15
  280. package/dist/es/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs +0 -39
  281. package/dist/es/motion-dom/dist/es/animation/waapi/supports/partial-keyframes.mjs +0 -13
  282. package/dist/es/motion-dom/dist/es/animation/waapi/supports/waapi.mjs +0 -37
  283. package/dist/es/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs +0 -14
  284. package/dist/es/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs +0 -15
  285. package/dist/es/motion-dom/dist/es/animation/waapi/utils/linear.mjs +0 -12
  286. package/dist/es/motion-dom/dist/es/animation/waapi/utils/px-values.mjs +0 -39
  287. package/dist/es/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs +0 -20
  288. package/dist/es/motion-dom/dist/es/effects/MotionValueState.mjs +0 -47
  289. package/dist/es/motion-dom/dist/es/effects/attr/index.mjs +0 -41
  290. package/dist/es/motion-dom/dist/es/effects/prop/index.mjs +0 -9
  291. package/dist/es/motion-dom/dist/es/effects/style/index.mjs +0 -52
  292. package/dist/es/motion-dom/dist/es/effects/style/transform.mjs +0 -38
  293. package/dist/es/motion-dom/dist/es/effects/svg/index.mjs +0 -41
  294. package/dist/es/motion-dom/dist/es/effects/utils/create-dom-effect.mjs +0 -18
  295. package/dist/es/motion-dom/dist/es/effects/utils/create-effect.mjs +0 -21
  296. package/dist/es/motion-dom/dist/es/frameloop/batcher.mjs +0 -71
  297. package/dist/es/motion-dom/dist/es/frameloop/frame.mjs +0 -6
  298. package/dist/es/motion-dom/dist/es/frameloop/index-legacy.mjs +0 -20
  299. package/dist/es/motion-dom/dist/es/frameloop/microtask.mjs +0 -6
  300. package/dist/es/motion-dom/dist/es/frameloop/order.mjs +0 -12
  301. package/dist/es/motion-dom/dist/es/frameloop/render-step.mjs +0 -92
  302. package/dist/es/motion-dom/dist/es/frameloop/sync-time.mjs +0 -31
  303. package/dist/es/motion-dom/dist/es/gestures/drag/state/is-active.mjs +0 -9
  304. package/dist/es/motion-dom/dist/es/gestures/drag/state/set-active.mjs +0 -28
  305. package/dist/es/motion-dom/dist/es/gestures/hover.mjs +0 -37
  306. package/dist/es/motion-dom/dist/es/gestures/press/index.mjs +0 -83
  307. package/dist/es/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs +0 -13
  308. package/dist/es/motion-dom/dist/es/gestures/press/utils/keyboard.mjs +0 -38
  309. package/dist/es/motion-dom/dist/es/gestures/press/utils/state.mjs +0 -3
  310. package/dist/es/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs +0 -20
  311. package/dist/es/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs +0 -18
  312. package/dist/es/motion-dom/dist/es/gestures/utils/setup.mjs +0 -15
  313. package/dist/es/motion-dom/dist/es/render/dom/is-css-var.mjs +0 -3
  314. package/dist/es/motion-dom/dist/es/render/dom/parse-transform.mjs +0 -83
  315. package/dist/es/motion-dom/dist/es/render/dom/style-computed.mjs +0 -10
  316. package/dist/es/motion-dom/dist/es/render/dom/style-set.mjs +0 -9
  317. package/dist/es/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs +0 -5
  318. package/dist/es/motion-dom/dist/es/render/utils/keys-position.mjs +0 -13
  319. package/dist/es/motion-dom/dist/es/render/utils/keys-transform.mjs +0 -28
  320. package/dist/es/motion-dom/dist/es/resize/handle-element.mjs +0 -63
  321. package/dist/es/motion-dom/dist/es/resize/handle-window.mjs +0 -31
  322. package/dist/es/motion-dom/dist/es/resize/index.mjs +0 -8
  323. package/dist/es/motion-dom/dist/es/scroll/observe.mjs +0 -18
  324. package/dist/es/motion-dom/dist/es/stats/animation-count.mjs +0 -7
  325. package/dist/es/motion-dom/dist/es/stats/buffer.mjs +0 -6
  326. package/dist/es/motion-dom/dist/es/stats/index.mjs +0 -117
  327. package/dist/es/motion-dom/dist/es/utils/interpolate.mjs +0 -79
  328. package/dist/es/motion-dom/dist/es/utils/is-html-element.mjs +0 -11
  329. package/dist/es/motion-dom/dist/es/utils/is-svg-element.mjs +0 -11
  330. package/dist/es/motion-dom/dist/es/utils/is-svg-svg-element.mjs +0 -11
  331. package/dist/es/motion-dom/dist/es/utils/mix/color.mjs +0 -47
  332. package/dist/es/motion-dom/dist/es/utils/mix/complex.mjs +0 -93
  333. package/dist/es/motion-dom/dist/es/utils/mix/immediate.mjs +0 -5
  334. package/dist/es/motion-dom/dist/es/utils/mix/index.mjs +0 -14
  335. package/dist/es/motion-dom/dist/es/utils/mix/number.mjs +0 -26
  336. package/dist/es/motion-dom/dist/es/utils/mix/visibility.mjs +0 -16
  337. package/dist/es/motion-dom/dist/es/utils/resolve-elements.mjs +0 -17
  338. package/dist/es/motion-dom/dist/es/utils/supports/flags.mjs +0 -7
  339. package/dist/es/motion-dom/dist/es/utils/supports/linear-easing.mjs +0 -15
  340. package/dist/es/motion-dom/dist/es/utils/supports/memo.mjs +0 -9
  341. package/dist/es/motion-dom/dist/es/utils/supports/scroll-timeline.mjs +0 -5
  342. package/dist/es/motion-dom/dist/es/utils/transform.mjs +0 -14
  343. package/dist/es/motion-dom/dist/es/value/index.mjs +0 -329
  344. package/dist/es/motion-dom/dist/es/value/map-value.mjs +0 -46
  345. package/dist/es/motion-dom/dist/es/value/spring-value.mjs +0 -72
  346. package/dist/es/motion-dom/dist/es/value/subscribe-value.mjs +0 -13
  347. package/dist/es/motion-dom/dist/es/value/transform-value.mjs +0 -35
  348. package/dist/es/motion-dom/dist/es/value/types/auto.mjs +0 -9
  349. package/dist/es/motion-dom/dist/es/value/types/color/hex.mjs +0 -40
  350. package/dist/es/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs +0 -42
  351. package/dist/es/motion-dom/dist/es/value/types/color/hsla.mjs +0 -22
  352. package/dist/es/motion-dom/dist/es/value/types/color/index.mjs +0 -32
  353. package/dist/es/motion-dom/dist/es/value/types/color/rgba.mjs +0 -25
  354. package/dist/es/motion-dom/dist/es/value/types/color/utils.mjs +0 -29
  355. package/dist/es/motion-dom/dist/es/value/types/complex/filter.mjs +0 -30
  356. package/dist/es/motion-dom/dist/es/value/types/complex/index.mjs +0 -91
  357. package/dist/es/motion-dom/dist/es/value/types/dimensions.mjs +0 -15
  358. package/dist/es/motion-dom/dist/es/value/types/int.mjs +0 -8
  359. package/dist/es/motion-dom/dist/es/value/types/maps/defaults.mjs +0 -30
  360. package/dist/es/motion-dom/dist/es/value/types/maps/number.mjs +0 -50
  361. package/dist/es/motion-dom/dist/es/value/types/maps/transform.mjs +0 -31
  362. package/dist/es/motion-dom/dist/es/value/types/numbers/index.mjs +0 -17
  363. package/dist/es/motion-dom/dist/es/value/types/numbers/units.mjs +0 -18
  364. package/dist/es/motion-dom/dist/es/value/types/test.mjs +0 -6
  365. package/dist/es/motion-dom/dist/es/value/types/utils/animatable-none.mjs +0 -15
  366. package/dist/es/motion-dom/dist/es/value/types/utils/color-regex.mjs +0 -3
  367. package/dist/es/motion-dom/dist/es/value/types/utils/find.mjs +0 -15
  368. package/dist/es/motion-dom/dist/es/value/types/utils/float-regex.mjs +0 -3
  369. package/dist/es/motion-dom/dist/es/value/types/utils/get-as-type.mjs +0 -10
  370. package/dist/es/motion-dom/dist/es/value/types/utils/is-nullish.mjs +0 -5
  371. package/dist/es/motion-dom/dist/es/value/types/utils/sanitize.mjs +0 -5
  372. package/dist/es/motion-dom/dist/es/value/types/utils/single-color-regex.mjs +0 -3
  373. package/dist/es/motion-dom/dist/es/value/utils/is-motion-value.mjs +0 -3
  374. package/dist/es/motion-dom/dist/es/view/index.mjs +0 -64
  375. package/dist/es/motion-dom/dist/es/view/queue.mjs +0 -52
  376. package/dist/es/motion-dom/dist/es/view/start.mjs +0 -155
  377. package/dist/es/motion-dom/dist/es/view/utils/choose-layer-type.mjs +0 -11
  378. package/dist/es/motion-dom/dist/es/view/utils/css.mjs +0 -32
  379. package/dist/es/motion-dom/dist/es/view/utils/get-layer-name.mjs +0 -8
  380. package/dist/es/motion-dom/dist/es/view/utils/get-view-animations.mjs +0 -12
  381. package/dist/es/motion-dom/dist/es/view/utils/has-target.mjs +0 -5
  382. package/dist/es/motion-utils/dist/es/array.mjs +0 -21
  383. package/dist/es/motion-utils/dist/es/clamp.mjs +0 -9
  384. package/dist/es/motion-utils/dist/es/easing/anticipate.mjs +0 -5
  385. package/dist/es/motion-utils/dist/es/easing/back.mjs +0 -9
  386. package/dist/es/motion-utils/dist/es/easing/circ.mjs +0 -8
  387. package/dist/es/motion-utils/dist/es/easing/cubic-bezier.mjs +0 -51
  388. package/dist/es/motion-utils/dist/es/easing/ease.mjs +0 -7
  389. package/dist/es/motion-utils/dist/es/easing/modifiers/mirror.mjs +0 -5
  390. package/dist/es/motion-utils/dist/es/easing/modifiers/reverse.mjs +0 -5
  391. package/dist/es/motion-utils/dist/es/easing/steps.mjs +0 -15
  392. package/dist/es/motion-utils/dist/es/easing/utils/get-easing-for-segment.mjs +0 -8
  393. package/dist/es/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs +0 -3
  394. package/dist/es/motion-utils/dist/es/easing/utils/is-easing-array.mjs +0 -5
  395. package/dist/es/motion-utils/dist/es/easing/utils/map.mjs +0 -41
  396. package/dist/es/motion-utils/dist/es/errors.mjs +0 -16
  397. package/dist/es/motion-utils/dist/es/global-config.mjs +0 -3
  398. package/dist/es/motion-utils/dist/es/is-numerical-string.mjs +0 -6
  399. package/dist/es/motion-utils/dist/es/is-object.mjs +0 -5
  400. package/dist/es/motion-utils/dist/es/is-zero-value-string.mjs +0 -6
  401. package/dist/es/motion-utils/dist/es/memo.mjs +0 -11
  402. package/dist/es/motion-utils/dist/es/noop.mjs +0 -4
  403. package/dist/es/motion-utils/dist/es/pipe.mjs +0 -11
  404. package/dist/es/motion-utils/dist/es/progress.mjs +0 -19
  405. package/dist/es/motion-utils/dist/es/subscription-manager.mjs +0 -40
  406. package/dist/es/motion-utils/dist/es/time-conversion.mjs +0 -12
  407. package/dist/es/motion-utils/dist/es/velocity-per-second.mjs +0 -11
  408. package/dist/es/motion-utils/dist/es/warn-once.mjs +0 -14
  409. package/dist/es/motion-utils/dist/es/wrap.mjs +0 -6
@@ -1,6 +0,0 @@
1
- import { createRenderBatcher } from './batcher.mjs';
2
-
3
- const { schedule: microtask, cancel: cancelMicrotask } =
4
- /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
5
-
6
- export { cancelMicrotask, microtask };
@@ -1,12 +0,0 @@
1
- const stepsOrder = [
2
- "setup", // Compute
3
- "read", // Read
4
- "resolveKeyframes", // Write/Read/Write/Read
5
- "preUpdate", // Compute
6
- "update", // Compute
7
- "preRender", // Compute
8
- "render", // Write
9
- "postRender", // Compute
10
- ];
11
-
12
- export { stepsOrder };
@@ -1,92 +0,0 @@
1
- import { statsBuffer } from '../stats/buffer.mjs';
2
-
3
- function createRenderStep(runNextFrame, stepName) {
4
- /**
5
- * We create and reuse two queues, one to queue jobs for the current frame
6
- * and one for the next. We reuse to avoid triggering GC after x frames.
7
- */
8
- let thisFrame = new Set();
9
- let nextFrame = new Set();
10
- /**
11
- * Track whether we're currently processing jobs in this step. This way
12
- * we can decide whether to schedule new jobs for this frame or next.
13
- */
14
- let isProcessing = false;
15
- let flushNextFrame = false;
16
- /**
17
- * A set of processes which were marked keepAlive when scheduled.
18
- */
19
- const toKeepAlive = new WeakSet();
20
- let latestFrameData = {
21
- delta: 0.0,
22
- timestamp: 0.0,
23
- isProcessing: false,
24
- };
25
- let numCalls = 0;
26
- function triggerCallback(callback) {
27
- if (toKeepAlive.has(callback)) {
28
- step.schedule(callback);
29
- runNextFrame();
30
- }
31
- numCalls++;
32
- callback(latestFrameData);
33
- }
34
- const step = {
35
- /**
36
- * Schedule a process to run on the next frame.
37
- */
38
- schedule: (callback, keepAlive = false, immediate = false) => {
39
- const addToCurrentFrame = immediate && isProcessing;
40
- const queue = addToCurrentFrame ? thisFrame : nextFrame;
41
- if (keepAlive)
42
- toKeepAlive.add(callback);
43
- if (!queue.has(callback))
44
- queue.add(callback);
45
- return callback;
46
- },
47
- /**
48
- * Cancel the provided callback from running on the next frame.
49
- */
50
- cancel: (callback) => {
51
- nextFrame.delete(callback);
52
- toKeepAlive.delete(callback);
53
- },
54
- /**
55
- * Execute all schedule callbacks.
56
- */
57
- process: (frameData) => {
58
- latestFrameData = frameData;
59
- /**
60
- * If we're already processing we've probably been triggered by a flushSync
61
- * inside an existing process. Instead of executing, mark flushNextFrame
62
- * as true and ensure we flush the following frame at the end of this one.
63
- */
64
- if (isProcessing) {
65
- flushNextFrame = true;
66
- return;
67
- }
68
- isProcessing = true;
69
- [thisFrame, nextFrame] = [nextFrame, thisFrame];
70
- // Execute this frame
71
- thisFrame.forEach(triggerCallback);
72
- /**
73
- * If we're recording stats then
74
- */
75
- if (stepName && statsBuffer.value) {
76
- statsBuffer.value.frameloop[stepName].push(numCalls);
77
- }
78
- numCalls = 0;
79
- // Clear the frame so no callbacks remain. This is to avoid
80
- // memory leaks should this render step not run for a while.
81
- thisFrame.clear();
82
- isProcessing = false;
83
- if (flushNextFrame) {
84
- flushNextFrame = false;
85
- step.process(frameData);
86
- }
87
- },
88
- };
89
- return step;
90
- }
91
-
92
- export { createRenderStep };
@@ -1,31 +0,0 @@
1
- import { frameData } from './frame.mjs';
2
- import { MotionGlobalConfig } from '../../../../motion-utils/dist/es/global-config.mjs';
3
-
4
- let now;
5
- function clearTime() {
6
- now = undefined;
7
- }
8
- /**
9
- * An eventloop-synchronous alternative to performance.now().
10
- *
11
- * Ensures that time measurements remain consistent within a synchronous context.
12
- * Usually calling performance.now() twice within the same synchronous context
13
- * will return different values which isn't useful for animations when we're usually
14
- * trying to sync animations to the same frame.
15
- */
16
- const time = {
17
- now: () => {
18
- if (now === undefined) {
19
- time.set(frameData.isProcessing || MotionGlobalConfig.useManualTiming
20
- ? frameData.timestamp
21
- : performance.now());
22
- }
23
- return now;
24
- },
25
- set: (newTime) => {
26
- now = newTime;
27
- queueMicrotask(clearTime);
28
- },
29
- };
30
-
31
- export { time };
@@ -1,9 +0,0 @@
1
- const isDragging = {
2
- x: false,
3
- y: false,
4
- };
5
- function isDragActive() {
6
- return isDragging.x || isDragging.y;
7
- }
8
-
9
- export { isDragActive, isDragging };
@@ -1,28 +0,0 @@
1
- import { isDragging } from './is-active.mjs';
2
-
3
- function setDragLock(axis) {
4
- if (axis === "x" || axis === "y") {
5
- if (isDragging[axis]) {
6
- return null;
7
- }
8
- else {
9
- isDragging[axis] = true;
10
- return () => {
11
- isDragging[axis] = false;
12
- };
13
- }
14
- }
15
- else {
16
- if (isDragging.x || isDragging.y) {
17
- return null;
18
- }
19
- else {
20
- isDragging.x = isDragging.y = true;
21
- return () => {
22
- isDragging.x = isDragging.y = false;
23
- };
24
- }
25
- }
26
- }
27
-
28
- export { setDragLock };
@@ -1,37 +0,0 @@
1
- import { isDragActive } from './drag/state/is-active.mjs';
2
- import { setupGesture } from './utils/setup.mjs';
3
-
4
- function isValidHover(event) {
5
- return !(event.pointerType === "touch" || isDragActive());
6
- }
7
- /**
8
- * Create a hover gesture. hover() is different to .addEventListener("pointerenter")
9
- * in that it has an easier syntax, filters out polyfilled touch events, interoperates
10
- * with drag gestures, and automatically removes the "pointerennd" event listener when the hover ends.
11
- *
12
- * @public
13
- */
14
- function hover(elementOrSelector, onHoverStart, options = {}) {
15
- const [elements, eventOptions, cancel] = setupGesture(elementOrSelector, options);
16
- const onPointerEnter = (enterEvent) => {
17
- if (!isValidHover(enterEvent))
18
- return;
19
- const { target } = enterEvent;
20
- const onHoverEnd = onHoverStart(target, enterEvent);
21
- if (typeof onHoverEnd !== "function" || !target)
22
- return;
23
- const onPointerLeave = (leaveEvent) => {
24
- if (!isValidHover(leaveEvent))
25
- return;
26
- onHoverEnd(leaveEvent);
27
- target.removeEventListener("pointerleave", onPointerLeave);
28
- };
29
- target.addEventListener("pointerleave", onPointerLeave, eventOptions);
30
- };
31
- elements.forEach((element) => {
32
- element.addEventListener("pointerenter", onPointerEnter, eventOptions);
33
- });
34
- return cancel;
35
- }
36
-
37
- export { hover };
@@ -1,83 +0,0 @@
1
- import { isHTMLElement } from '../../utils/is-html-element.mjs';
2
- import { isDragActive } from '../drag/state/is-active.mjs';
3
- import { isNodeOrChild } from '../utils/is-node-or-child.mjs';
4
- import { isPrimaryPointer } from '../utils/is-primary-pointer.mjs';
5
- import { setupGesture } from '../utils/setup.mjs';
6
- import { isElementKeyboardAccessible } from './utils/is-keyboard-accessible.mjs';
7
- import { enableKeyboardPress } from './utils/keyboard.mjs';
8
- import { isPressing } from './utils/state.mjs';
9
-
10
- /**
11
- * Filter out events that are not primary pointer events, or are triggering
12
- * while a Motion gesture is active.
13
- */
14
- function isValidPressEvent(event) {
15
- return isPrimaryPointer(event) && !isDragActive();
16
- }
17
- /**
18
- * Create a press gesture.
19
- *
20
- * Press is different to `"pointerdown"`, `"pointerup"` in that it
21
- * automatically filters out secondary pointer events like right
22
- * click and multitouch.
23
- *
24
- * It also adds accessibility support for keyboards, where
25
- * an element with a press gesture will receive focus and
26
- * trigger on Enter `"keydown"` and `"keyup"` events.
27
- *
28
- * This is different to a browser's `"click"` event, which does
29
- * respond to keyboards but only for the `"click"` itself, rather
30
- * than the press start and end/cancel. The element also needs
31
- * to be focusable for this to work, whereas a press gesture will
32
- * make an element focusable by default.
33
- *
34
- * @public
35
- */
36
- function press(targetOrSelector, onPressStart, options = {}) {
37
- const [targets, eventOptions, cancelEvents] = setupGesture(targetOrSelector, options);
38
- const startPress = (startEvent) => {
39
- const target = startEvent.currentTarget;
40
- if (!isValidPressEvent(startEvent))
41
- return;
42
- isPressing.add(target);
43
- const onPressEnd = onPressStart(target, startEvent);
44
- const onPointerEnd = (endEvent, success) => {
45
- window.removeEventListener("pointerup", onPointerUp);
46
- window.removeEventListener("pointercancel", onPointerCancel);
47
- if (isPressing.has(target)) {
48
- isPressing.delete(target);
49
- }
50
- if (!isValidPressEvent(endEvent)) {
51
- return;
52
- }
53
- if (typeof onPressEnd === "function") {
54
- onPressEnd(endEvent, { success });
55
- }
56
- };
57
- const onPointerUp = (upEvent) => {
58
- onPointerEnd(upEvent, target === window ||
59
- target === document ||
60
- options.useGlobalTarget ||
61
- isNodeOrChild(target, upEvent.target));
62
- };
63
- const onPointerCancel = (cancelEvent) => {
64
- onPointerEnd(cancelEvent, false);
65
- };
66
- window.addEventListener("pointerup", onPointerUp, eventOptions);
67
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
68
- };
69
- targets.forEach((target) => {
70
- const pointerDownTarget = options.useGlobalTarget ? window : target;
71
- pointerDownTarget.addEventListener("pointerdown", startPress, eventOptions);
72
- if (isHTMLElement(target)) {
73
- target.addEventListener("focus", (event) => enableKeyboardPress(event, eventOptions));
74
- if (!isElementKeyboardAccessible(target) &&
75
- !target.hasAttribute("tabindex")) {
76
- target.tabIndex = 0;
77
- }
78
- }
79
- });
80
- return cancelEvents;
81
- }
82
-
83
- export { press };
@@ -1,13 +0,0 @@
1
- const focusableElements = new Set([
2
- "BUTTON",
3
- "INPUT",
4
- "SELECT",
5
- "TEXTAREA",
6
- "A",
7
- ]);
8
- function isElementKeyboardAccessible(element) {
9
- return (focusableElements.has(element.tagName) ||
10
- element.tabIndex !== -1);
11
- }
12
-
13
- export { isElementKeyboardAccessible };
@@ -1,38 +0,0 @@
1
- import { isPressing } from './state.mjs';
2
-
3
- /**
4
- * Filter out events that are not "Enter" keys.
5
- */
6
- function filterEvents(callback) {
7
- return (event) => {
8
- if (event.key !== "Enter")
9
- return;
10
- callback(event);
11
- };
12
- }
13
- function firePointerEvent(target, type) {
14
- target.dispatchEvent(new PointerEvent("pointer" + type, { isPrimary: true, bubbles: true }));
15
- }
16
- const enableKeyboardPress = (focusEvent, eventOptions) => {
17
- const element = focusEvent.currentTarget;
18
- if (!element)
19
- return;
20
- const handleKeydown = filterEvents(() => {
21
- if (isPressing.has(element))
22
- return;
23
- firePointerEvent(element, "down");
24
- const handleKeyup = filterEvents(() => {
25
- firePointerEvent(element, "up");
26
- });
27
- const handleBlur = () => firePointerEvent(element, "cancel");
28
- element.addEventListener("keyup", handleKeyup, eventOptions);
29
- element.addEventListener("blur", handleBlur, eventOptions);
30
- });
31
- element.addEventListener("keydown", handleKeydown, eventOptions);
32
- /**
33
- * Add an event listener that fires on blur to remove the keydown events.
34
- */
35
- element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
36
- };
37
-
38
- export { enableKeyboardPress };
@@ -1,3 +0,0 @@
1
- const isPressing = new WeakSet();
2
-
3
- export { isPressing };
@@ -1,20 +0,0 @@
1
- /**
2
- * Recursively traverse up the tree to check whether the provided child node
3
- * is the parent or a descendant of it.
4
- *
5
- * @param parent - Element to find
6
- * @param child - Element to test against parent
7
- */
8
- const isNodeOrChild = (parent, child) => {
9
- if (!child) {
10
- return false;
11
- }
12
- else if (parent === child) {
13
- return true;
14
- }
15
- else {
16
- return isNodeOrChild(parent, child.parentElement);
17
- }
18
- };
19
-
20
- export { isNodeOrChild };
@@ -1,18 +0,0 @@
1
- const isPrimaryPointer = (event) => {
2
- if (event.pointerType === "mouse") {
3
- return typeof event.button !== "number" || event.button <= 0;
4
- }
5
- else {
6
- /**
7
- * isPrimary is true for all mice buttons, whereas every touch point
8
- * is regarded as its own input. So subsequent concurrent touch points
9
- * will be false.
10
- *
11
- * Specifically match against false here as incomplete versions of
12
- * PointerEvents in very old browser might have it set as undefined.
13
- */
14
- return event.isPrimary !== false;
15
- }
16
- };
17
-
18
- export { isPrimaryPointer };
@@ -1,15 +0,0 @@
1
- import { resolveElements } from '../../utils/resolve-elements.mjs';
2
-
3
- function setupGesture(elementOrSelector, options) {
4
- const elements = resolveElements(elementOrSelector);
5
- const gestureAbortController = new AbortController();
6
- const eventOptions = {
7
- passive: true,
8
- ...options,
9
- signal: gestureAbortController.signal,
10
- };
11
- const cancel = () => gestureAbortController.abort();
12
- return [elements, eventOptions, cancel];
13
- }
14
-
15
- export { setupGesture };
@@ -1,3 +0,0 @@
1
- const isCSSVar = (name) => name.startsWith("--");
2
-
3
- export { isCSSVar };
@@ -1,83 +0,0 @@
1
- const radToDeg = (rad) => (rad * 180) / Math.PI;
2
- const rotate = (v) => {
3
- const angle = radToDeg(Math.atan2(v[1], v[0]));
4
- return rebaseAngle(angle);
5
- };
6
- const matrix2dParsers = {
7
- x: 4,
8
- y: 5,
9
- translateX: 4,
10
- translateY: 5,
11
- scaleX: 0,
12
- scaleY: 3,
13
- scale: (v) => (Math.abs(v[0]) + Math.abs(v[3])) / 2,
14
- rotate,
15
- rotateZ: rotate,
16
- skewX: (v) => radToDeg(Math.atan(v[1])),
17
- skewY: (v) => radToDeg(Math.atan(v[2])),
18
- skew: (v) => (Math.abs(v[1]) + Math.abs(v[2])) / 2,
19
- };
20
- const rebaseAngle = (angle) => {
21
- angle = angle % 360;
22
- if (angle < 0)
23
- angle += 360;
24
- return angle;
25
- };
26
- const rotateZ = rotate;
27
- const scaleX = (v) => Math.sqrt(v[0] * v[0] + v[1] * v[1]);
28
- const scaleY = (v) => Math.sqrt(v[4] * v[4] + v[5] * v[5]);
29
- const matrix3dParsers = {
30
- x: 12,
31
- y: 13,
32
- z: 14,
33
- translateX: 12,
34
- translateY: 13,
35
- translateZ: 14,
36
- scaleX,
37
- scaleY,
38
- scale: (v) => (scaleX(v) + scaleY(v)) / 2,
39
- rotateX: (v) => rebaseAngle(radToDeg(Math.atan2(v[6], v[5]))),
40
- rotateY: (v) => rebaseAngle(radToDeg(Math.atan2(-v[2], v[0]))),
41
- rotateZ,
42
- rotate: rotateZ,
43
- skewX: (v) => radToDeg(Math.atan(v[4])),
44
- skewY: (v) => radToDeg(Math.atan(v[1])),
45
- skew: (v) => (Math.abs(v[1]) + Math.abs(v[4])) / 2,
46
- };
47
- function defaultTransformValue(name) {
48
- return name.includes("scale") ? 1 : 0;
49
- }
50
- function parseValueFromTransform(transform, name) {
51
- if (!transform || transform === "none") {
52
- return defaultTransformValue(name);
53
- }
54
- const matrix3dMatch = transform.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);
55
- let parsers;
56
- let match;
57
- if (matrix3dMatch) {
58
- parsers = matrix3dParsers;
59
- match = matrix3dMatch;
60
- }
61
- else {
62
- const matrix2dMatch = transform.match(/^matrix\(([-\d.e\s,]+)\)$/u);
63
- parsers = matrix2dParsers;
64
- match = matrix2dMatch;
65
- }
66
- if (!match) {
67
- return defaultTransformValue(name);
68
- }
69
- const valueParser = parsers[name];
70
- const values = match[1].split(",").map(convertTransformToNumber);
71
- return typeof valueParser === "function"
72
- ? valueParser(values)
73
- : values[valueParser];
74
- }
75
- const readTransformValue = (instance, name) => {
76
- const { transform = "none" } = getComputedStyle(instance);
77
- return parseValueFromTransform(transform, name);
78
- };
79
- function convertTransformToNumber(value) {
80
- return parseFloat(value.trim());
81
- }
82
-
83
- export { defaultTransformValue, parseValueFromTransform, readTransformValue };
@@ -1,10 +0,0 @@
1
- import { isCSSVar } from './is-css-var.mjs';
2
-
3
- function getComputedStyle(element, name) {
4
- const computedStyle = window.getComputedStyle(element);
5
- return isCSSVar(name)
6
- ? computedStyle.getPropertyValue(name)
7
- : computedStyle[name];
8
- }
9
-
10
- export { getComputedStyle };
@@ -1,9 +0,0 @@
1
- import { isCSSVar } from './is-css-var.mjs';
2
-
3
- function setStyle(element, name, value) {
4
- isCSSVar(name)
5
- ? element.style.setProperty(name, value)
6
- : (element.style[name] = value);
7
- }
8
-
9
- export { setStyle };
@@ -1,5 +0,0 @@
1
- function camelToDash(str) {
2
- return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
3
- }
4
-
5
- export { camelToDash };
@@ -1,13 +0,0 @@
1
- import { transformPropOrder } from './keys-transform.mjs';
2
-
3
- const positionalKeys = new Set([
4
- "width",
5
- "height",
6
- "top",
7
- "left",
8
- "right",
9
- "bottom",
10
- ...transformPropOrder,
11
- ]);
12
-
13
- export { positionalKeys };
@@ -1,28 +0,0 @@
1
- /**
2
- * Generate a list of every possible transform key.
3
- */
4
- const transformPropOrder = [
5
- "transformPerspective",
6
- "x",
7
- "y",
8
- "z",
9
- "translateX",
10
- "translateY",
11
- "translateZ",
12
- "scale",
13
- "scaleX",
14
- "scaleY",
15
- "rotate",
16
- "rotateX",
17
- "rotateY",
18
- "rotateZ",
19
- "skew",
20
- "skewX",
21
- "skewY",
22
- ];
23
- /**
24
- * A quick lookup for transform props.
25
- */
26
- const transformProps = /*@__PURE__*/ (() => new Set(transformPropOrder))();
27
-
28
- export { transformPropOrder, transformProps };
@@ -1,63 +0,0 @@
1
- import { isSVGElement } from '../utils/is-svg-element.mjs';
2
- import { resolveElements } from '../utils/resolve-elements.mjs';
3
-
4
- const resizeHandlers = new WeakMap();
5
- let observer;
6
- const getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
7
- if (borderBoxSize && borderBoxSize[0]) {
8
- return borderBoxSize[0][(borderBoxAxis + "Size")];
9
- }
10
- else if (isSVGElement(target) && "getBBox" in target) {
11
- return target.getBBox()[svgAxis];
12
- }
13
- else {
14
- return target[htmlAxis];
15
- }
16
- };
17
- const getWidth = /*@__PURE__*/ getSize("inline", "width", "offsetWidth");
18
- const getHeight = /*@__PURE__*/ getSize("block", "height", "offsetHeight");
19
- function notifyTarget({ target, borderBoxSize }) {
20
- resizeHandlers.get(target)?.forEach((handler) => {
21
- handler(target, {
22
- get width() {
23
- return getWidth(target, borderBoxSize);
24
- },
25
- get height() {
26
- return getHeight(target, borderBoxSize);
27
- },
28
- });
29
- });
30
- }
31
- function notifyAll(entries) {
32
- entries.forEach(notifyTarget);
33
- }
34
- function createResizeObserver() {
35
- if (typeof ResizeObserver === "undefined")
36
- return;
37
- observer = new ResizeObserver(notifyAll);
38
- }
39
- function resizeElement(target, handler) {
40
- if (!observer)
41
- createResizeObserver();
42
- const elements = resolveElements(target);
43
- elements.forEach((element) => {
44
- let elementHandlers = resizeHandlers.get(element);
45
- if (!elementHandlers) {
46
- elementHandlers = new Set();
47
- resizeHandlers.set(element, elementHandlers);
48
- }
49
- elementHandlers.add(handler);
50
- observer?.observe(element);
51
- });
52
- return () => {
53
- elements.forEach((element) => {
54
- const elementHandlers = resizeHandlers.get(element);
55
- elementHandlers?.delete(handler);
56
- if (!elementHandlers?.size) {
57
- observer?.unobserve(element);
58
- }
59
- });
60
- };
61
- }
62
-
63
- export { resizeElement };
@@ -1,31 +0,0 @@
1
- const windowCallbacks = new Set();
2
- let windowResizeHandler;
3
- function createWindowResizeHandler() {
4
- windowResizeHandler = () => {
5
- const info = {
6
- get width() {
7
- return window.innerWidth;
8
- },
9
- get height() {
10
- return window.innerHeight;
11
- },
12
- };
13
- windowCallbacks.forEach((callback) => callback(info));
14
- };
15
- window.addEventListener("resize", windowResizeHandler);
16
- }
17
- function resizeWindow(callback) {
18
- windowCallbacks.add(callback);
19
- if (!windowResizeHandler)
20
- createWindowResizeHandler();
21
- return () => {
22
- windowCallbacks.delete(callback);
23
- if (!windowCallbacks.size &&
24
- typeof windowResizeHandler === "function") {
25
- window.removeEventListener("resize", windowResizeHandler);
26
- windowResizeHandler = undefined;
27
- }
28
- };
29
- }
30
-
31
- export { resizeWindow };