motion-v 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/dist/cjs/index.js +7637 -1
  2. package/dist/es/animation/use-animate.mjs +25 -15
  3. package/dist/es/components/AnimatePresence.vue.mjs +57 -39
  4. package/dist/es/components/AnimatePresence.vue2.mjs +2 -2
  5. package/dist/es/components/LayoutGroup.vue.mjs +39 -0
  6. package/dist/es/components/LayoutGroup.vue2.mjs +4 -0
  7. package/dist/es/components/Motion.vue.mjs +87 -57
  8. package/dist/es/components/Motion.vue2.mjs +2 -2
  9. package/dist/es/components/Primitive.mjs +15 -9
  10. package/dist/es/components/Slot.mjs +28 -19
  11. package/dist/es/components/context.mjs +15 -4
  12. package/dist/es/components/group.mjs +30 -0
  13. package/dist/es/components/presence.mjs +13 -10
  14. package/dist/es/components/renderSlotFragments.mjs +10 -4
  15. package/dist/es/components/use-force-update.mjs +11 -0
  16. package/dist/es/constants/index.mjs +13 -6
  17. package/dist/es/features/events.mjs +59 -43
  18. package/dist/es/features/feature-manager.mjs +20 -17
  19. package/dist/es/features/feature.mjs +4 -4
  20. package/dist/es/features/gestures/base.mjs +12 -7
  21. package/dist/es/features/gestures/hover.mjs +25 -16
  22. package/dist/es/features/gestures/in-view.mjs +21 -15
  23. package/dist/es/features/gestures/press.mjs +22 -13
  24. package/dist/es/features/layout/config.mjs +21 -0
  25. package/dist/es/features/layout/layout.mjs +74 -0
  26. package/dist/es/features/layout/utils.mjs +8 -0
  27. package/dist/es/features/svg.mjs +14 -13
  28. package/dist/es/index.mjs +119 -102
  29. package/dist/es/node_modules/.pnpm/@vueuse_shared@12.0.0_typescript@5.5.4/node_modules/@vueuse/shared/index.mjs +6 -0
  30. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/GroupPlaybackControls.mjs +38 -28
  31. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/index.mjs +22 -15
  32. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/resolve-subjects.mjs +13 -5
  33. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/sequence.mjs +11 -9
  34. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/single-value.mjs +8 -7
  35. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animate/subject.mjs +32 -24
  36. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/AcceleratedAnimation.mjs +178 -137
  37. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/BaseAnimation.mjs +53 -37
  38. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/MainThreadAnimation.mjs +227 -100
  39. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/drivers/driver-frameloop.mjs +8 -8
  40. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/utils/accelerated-values.mjs +2 -2
  41. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/utils/can-animate.mjs +26 -19
  42. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/NativeAnimation.mjs +112 -56
  43. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs +25 -18
  44. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs +10 -9
  45. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/easing.mjs +27 -17
  46. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/index.mjs +15 -12
  47. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/attach-timeline.mjs +4 -3
  48. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs +6 -5
  49. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/linear.mjs +10 -8
  50. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/memo-supports.mjs +7 -7
  51. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/style.mjs +6 -6
  52. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-flags.mjs +2 -2
  53. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-linear-easing.mjs +6 -6
  54. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-partial-keyframes.mjs +6 -6
  55. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/supports-waapi.mjs +3 -3
  56. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/inertia.mjs +58 -28
  57. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/keyframes.mjs +28 -21
  58. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/spring/find.mjs +71 -43
  59. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/spring/index.mjs +64 -48
  60. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/utils/calc-duration.mjs +12 -10
  61. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/utils/is-generator.mjs +3 -3
  62. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/generators/utils/velocity.mjs +6 -6
  63. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs +64 -37
  64. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs +48 -34
  65. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs +5 -4
  66. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs +4 -4
  67. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/create.mjs +133 -86
  68. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs +12 -4
  69. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/utils/edit.mjs +20 -16
  70. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/sequence/utils/sort.mjs +11 -3
  71. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/create-visual-element.mjs +19 -15
  72. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs +19 -8
  73. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/get-value-transition.mjs +3 -3
  74. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs +14 -5
  75. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs +3 -3
  76. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs +3 -3
  77. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs +4 -2
  78. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-none.mjs +10 -4
  79. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/is-transition-defined.mjs +3 -3
  80. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/animation/utils/stagger.mjs +18 -16
  81. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/anticipate.mjs +3 -3
  82. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/back.mjs +9 -7
  83. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/circ.mjs +8 -6
  84. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs +24 -14
  85. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/ease.mjs +7 -5
  86. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs +2 -2
  87. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs +2 -2
  88. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/steps.mjs +8 -7
  89. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/create-generator-easing.mjs +8 -7
  90. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/get-easing-for-segment.mjs +5 -5
  91. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/is-bezier-definition.mjs +2 -2
  92. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/is-easing-array.mjs +4 -2
  93. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/easing/utils/map.mjs +32 -29
  94. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/events/add-dom-event.mjs +7 -0
  95. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/batcher.mjs +57 -21
  96. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/frame.mjs +7 -7
  97. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/index-legacy.mjs +9 -5
  98. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/microtask.mjs +6 -0
  99. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/render-step.mjs +41 -19
  100. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/frameloop/sync-time.mjs +16 -10
  101. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/motion/features/definitions.mjs +8 -6
  102. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs +5 -5
  103. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs +60 -0
  104. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs +14 -13
  105. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/copy.mjs +19 -0
  106. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs +81 -0
  107. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs +55 -0
  108. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs +40 -0
  109. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/models.mjs +18 -5
  110. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/geometry/utils.mjs +34 -0
  111. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs +13 -0
  112. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs +28 -0
  113. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs +1086 -0
  114. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/node/state.mjs +15 -0
  115. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/shared/stack.mjs +94 -0
  116. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs +26 -0
  117. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs +25 -0
  118. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs +6 -2
  119. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/styles/transform.mjs +36 -0
  120. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs +6 -0
  121. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs +20 -0
  122. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/projection/utils/measure.mjs +4 -4
  123. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/VisualElement.mjs +263 -117
  124. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/DOMKeyframesResolver.mjs +81 -45
  125. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs +13 -11
  126. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/resize/handle-element.mjs +49 -33
  127. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/resize/handle-window.mjs +22 -14
  128. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/resize/index.mjs +5 -5
  129. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/index.mjs +53 -36
  130. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs +29 -16
  131. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/observe.mjs +14 -8
  132. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs +25 -9
  133. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs +32 -20
  134. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs +32 -21
  135. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs +20 -6
  136. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs +2 -2
  137. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs +31 -15
  138. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/supports.mjs +3 -3
  139. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/scroll/track.mjs +60 -33
  140. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs +2 -2
  141. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs +21 -21
  142. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs +12 -3
  143. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs +3 -3
  144. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/resolve-element.mjs +20 -9
  145. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs +47 -34
  146. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs +9 -7
  147. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs +21 -20
  148. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs +8 -7
  149. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs +7 -6
  150. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs +4 -2
  151. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/number-browser.mjs +34 -34
  152. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs +14 -14
  153. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs +2 -2
  154. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/transform.mjs +28 -28
  155. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs +4 -4
  156. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs +4 -4
  157. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs +29 -17
  158. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs +41 -32
  159. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs +33 -20
  160. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs +36 -20
  161. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/make-none-animatable.mjs +18 -12
  162. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/render.mjs +6 -5
  163. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs +13 -9
  164. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/html/utils/transform.mjs +5 -4
  165. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/object/ObjectVisualElement.mjs +24 -20
  166. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/store.mjs +2 -2
  167. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs +33 -28
  168. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs +40 -20
  169. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs +2 -2
  170. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs +2 -2
  171. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/path.mjs +12 -10
  172. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/render.mjs +9 -8
  173. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs +12 -11
  174. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs +8 -7
  175. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/KeyframesResolver.mjs +105 -47
  176. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs +4 -0
  177. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs +24 -0
  178. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs +9 -9
  179. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs +3 -3
  180. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs +31 -20
  181. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs +5 -5
  182. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs +19 -14
  183. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/setters.mjs +17 -13
  184. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/render/utils/variant-props.mjs +5 -4
  185. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/GlobalConfig.mjs +4 -4
  186. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/array.mjs +9 -7
  187. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/clamp.mjs +8 -2
  188. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/delay.mjs +17 -12
  189. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/distance.mjs +7 -6
  190. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/errors.mjs +17 -10
  191. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs +32 -15
  192. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/interpolate.mjs +42 -31
  193. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/is-browser.mjs +2 -2
  194. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs +2 -2
  195. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs +2 -2
  196. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/memo.mjs +8 -4
  197. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/color.mjs +40 -25
  198. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/complex.mjs +73 -41
  199. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/immediate.mjs +3 -3
  200. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/index.mjs +9 -5
  201. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/number.mjs +4 -2
  202. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/mix/visibility.mjs +9 -5
  203. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/noop.mjs +2 -2
  204. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/offsets/default.mjs +6 -5
  205. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/offsets/fill.mjs +8 -8
  206. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/offsets/time.mjs +3 -3
  207. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/pipe.mjs +3 -2
  208. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/progress.mjs +4 -4
  209. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs +15 -10
  210. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs +4 -3
  211. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/resolve-value.mjs +9 -3
  212. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/subscription-manager.mjs +18 -15
  213. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/time-conversion.mjs +4 -3
  214. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/transform.mjs +17 -8
  215. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs +3 -3
  216. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/warn-once.mjs +7 -4
  217. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/utils/wrap.mjs +4 -4
  218. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/index.mjs +125 -53
  219. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/hex.mjs +32 -14
  220. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/hsla.mjs +11 -9
  221. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/index.mjs +18 -8
  222. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/rgba.mjs +15 -13
  223. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/color/utils.mjs +16 -13
  224. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/complex/filter.mjs +22 -19
  225. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/complex/index.mjs +71 -36
  226. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/numbers/index.mjs +14 -12
  227. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/numbers/units.mjs +19 -13
  228. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/color-regex.mjs +2 -2
  229. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/float-regex.mjs +2 -2
  230. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/is-nullish.mjs +3 -3
  231. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/sanitize.mjs +2 -2
  232. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/types/utils/single-color-regex.mjs +2 -2
  233. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/use-will-change/add-will-change.mjs +7 -6
  234. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/use-will-change/is.mjs +4 -4
  235. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs +2 -2
  236. package/dist/es/node_modules/.pnpm/framer-motion@11.11.11/node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs +9 -0
  237. package/dist/es/node_modules/.pnpm/hey-listen@1.0.8/node_modules/hey-listen/dist/hey-listen.es.mjs +17 -10
  238. package/dist/es/state/create-visual-element.mjs +9 -0
  239. package/dist/es/state/event.mjs +3 -3
  240. package/dist/es/state/motion-state.mjs +145 -91
  241. package/dist/es/state/schedule.mjs +23 -15
  242. package/dist/es/state/style.mjs +105 -81
  243. package/dist/es/state/transform.mjs +37 -29
  244. package/dist/es/state/utils.mjs +51 -45
  245. package/dist/es/utils/createContext.mjs +19 -11
  246. package/dist/es/utils/events.mjs +4 -4
  247. package/dist/es/utils/motion-value.mjs +3 -3
  248. package/dist/es/utils/use-animation-frame.mjs +17 -11
  249. package/dist/es/utils/use-in-view.mjs +20 -14
  250. package/dist/es/value/use-combine-values.mjs +22 -17
  251. package/dist/es/value/use-computed.mjs +17 -10
  252. package/dist/es/value/use-motion-template.mjs +17 -14
  253. package/dist/es/value/use-motion-value-event.mjs +11 -0
  254. package/dist/es/value/use-scroll.mjs +42 -33
  255. package/dist/es/value/use-spring.mjs +48 -28
  256. package/dist/es/value/use-time.mjs +7 -6
  257. package/dist/es/value/use-transform.mjs +24 -20
  258. package/dist/es/value/use-velocity.mjs +20 -0
  259. package/dist/src/components/LayoutGroup.d.ts +30 -0
  260. package/dist/src/components/context.d.ts +17 -0
  261. package/dist/src/components/group.d.ts +7 -0
  262. package/dist/src/components/use-force-update.d.ts +2 -0
  263. package/dist/src/features/index.d.ts +1 -0
  264. package/dist/src/features/layout/config.d.ts +8 -0
  265. package/dist/src/features/layout/layout.d.ts +10 -0
  266. package/dist/src/features/layout/types.d.ts +7 -0
  267. package/dist/src/features/layout/utils.d.ts +4 -0
  268. package/dist/src/index.d.ts +2 -0
  269. package/dist/src/state/create-visual-element.d.ts +1 -0
  270. package/dist/src/state/motion-state.d.ts +1 -2
  271. package/dist/src/types/state.d.ts +2 -1
  272. package/dist/src/value/index.d.ts +4 -0
  273. package/package.json +2 -1
  274. package/dist/es/node_modules/.pnpm/@vueuse_shared@11.1.0_vue@3.4.38_typescript@5.5.4_/node_modules/@vueuse/shared/index.mjs +0 -6
  275. package/dist/src/components/usePrimitiveElement.d.ts +0 -5
@@ -1,23 +1,39 @@
1
- import { warnOnce as r } from "../../../utils/warn-once.mjs";
2
- import { updateScrollInfo as c } from "./info.mjs";
3
- import { resolveOffsets as o } from "./offsets/index.mjs";
4
- function h(e, s = e, t) {
5
- if (t.x.targetOffset = 0, t.y.targetOffset = 0, s !== e) {
6
- let l = s;
7
- for (; l && l !== e; )
8
- t.x.targetOffset += l.offsetLeft, t.y.targetOffset += l.offsetTop, l = l.offsetParent;
1
+ import { warnOnce } from "../../../utils/warn-once.mjs";
2
+ import { updateScrollInfo } from "./info.mjs";
3
+ import { resolveOffsets } from "./offsets/index.mjs";
4
+ function measure(container, target = container, info) {
5
+ info.x.targetOffset = 0;
6
+ info.y.targetOffset = 0;
7
+ if (target !== container) {
8
+ let node = target;
9
+ while (node && node !== container) {
10
+ info.x.targetOffset += node.offsetLeft;
11
+ info.y.targetOffset += node.offsetTop;
12
+ node = node.offsetParent;
13
+ }
14
+ }
15
+ info.x.targetLength = target === container ? target.scrollWidth : target.clientWidth;
16
+ info.y.targetLength = target === container ? target.scrollHeight : target.clientHeight;
17
+ info.x.containerLength = container.clientWidth;
18
+ info.y.containerLength = container.clientHeight;
19
+ if (process.env.NODE_ENV !== "production") {
20
+ if (container && target && target !== container) {
21
+ warnOnce(getComputedStyle(container).position !== "static", "Please ensure that the container has a non-static position, like 'relative', 'fixed', or 'absolute' to ensure scroll offset is calculated correctly.");
22
+ }
9
23
  }
10
- t.x.targetLength = s === e ? s.scrollWidth : s.clientWidth, t.y.targetLength = s === e ? s.scrollHeight : s.clientHeight, t.x.containerLength = e.clientWidth, t.y.containerLength = e.clientHeight, process.env.NODE_ENV !== "production" && e && s && s !== e && r(getComputedStyle(e).position !== "static", "Please ensure that the container has a non-static position, like 'relative', 'fixed', or 'absolute' to ensure scroll offset is calculated correctly.");
11
24
  }
12
- function d(e, s, t, l = {}) {
25
+ function createOnScrollHandler(element, onScroll, info, options = {}) {
13
26
  return {
14
- measure: () => h(e, l.target, t),
15
- update: (f) => {
16
- c(e, t, f), (l.offset || l.target) && o(e, t, l);
27
+ measure: () => measure(element, options.target, info),
28
+ update: (time) => {
29
+ updateScrollInfo(element, info, time);
30
+ if (options.offset || options.target) {
31
+ resolveOffsets(element, info, options);
32
+ }
17
33
  },
18
- notify: () => s(t)
34
+ notify: () => onScroll(info)
19
35
  };
20
36
  }
21
37
  export {
22
- d as createOnScrollHandler
38
+ createOnScrollHandler
23
39
  };
@@ -1,5 +1,5 @@
1
- import { memo as o } from "../../../utils/memo.mjs";
2
- const i = o(() => window.ScrollTimeline !== void 0);
1
+ import { memo } from "../../../utils/memo.mjs";
2
+ const supportsScrollTimeline = memo(() => window.ScrollTimeline !== void 0);
3
3
  export {
4
- i as supportsScrollTimeline
4
+ supportsScrollTimeline
5
5
  };
@@ -1,40 +1,67 @@
1
- import { resize as E } from "../resize/index.mjs";
2
- import { createScrollInfo as L } from "./info.mjs";
3
- import { createOnScrollHandler as z } from "./on-scroll-handler.mjs";
4
- import { frame as f, cancelFrame as H, frameData as h } from "../../../frameloop/frame.mjs";
5
- const l = /* @__PURE__ */ new WeakMap(), u = /* @__PURE__ */ new WeakMap(), c = /* @__PURE__ */ new WeakMap(), p = (a) => a === document.documentElement ? window : a;
6
- function W(a, { container: e = document.documentElement, ...v } = {}) {
7
- let t = c.get(e);
8
- t || (t = /* @__PURE__ */ new Set(), c.set(e, t));
9
- const w = L(), m = z(e, a, w, v);
10
- if (t.add(m), !l.has(e)) {
11
- const r = () => {
12
- for (const n of t)
13
- n.measure();
14
- }, s = () => {
15
- for (const n of t)
16
- n.update(h.timestamp);
17
- }, o = () => {
18
- for (const n of t)
19
- n.notify();
20
- }, d = () => {
21
- f.read(r, !1, !0), f.read(s, !1, !0), f.update(o, !1, !0);
1
+ import { resize } from "../resize/index.mjs";
2
+ import { createScrollInfo } from "./info.mjs";
3
+ import { createOnScrollHandler } from "./on-scroll-handler.mjs";
4
+ import { frame, cancelFrame, frameData } from "../../../frameloop/frame.mjs";
5
+ const scrollListeners = /* @__PURE__ */ new WeakMap();
6
+ const resizeListeners = /* @__PURE__ */ new WeakMap();
7
+ const onScrollHandlers = /* @__PURE__ */ new WeakMap();
8
+ const getEventTarget = (element) => element === document.documentElement ? window : element;
9
+ function scrollInfo(onScroll, { container = document.documentElement, ...options } = {}) {
10
+ let containerHandlers = onScrollHandlers.get(container);
11
+ if (!containerHandlers) {
12
+ containerHandlers = /* @__PURE__ */ new Set();
13
+ onScrollHandlers.set(container, containerHandlers);
14
+ }
15
+ const info = createScrollInfo();
16
+ const containerHandler = createOnScrollHandler(container, onScroll, info, options);
17
+ containerHandlers.add(containerHandler);
18
+ if (!scrollListeners.has(container)) {
19
+ const measureAll = () => {
20
+ for (const handler of containerHandlers)
21
+ handler.measure();
22
+ };
23
+ const updateAll = () => {
24
+ for (const handler of containerHandlers) {
25
+ handler.update(frameData.timestamp);
26
+ }
27
+ };
28
+ const notifyAll = () => {
29
+ for (const handler of containerHandlers)
30
+ handler.notify();
22
31
  };
23
- l.set(e, d);
24
- const g = p(e);
25
- window.addEventListener("resize", d, { passive: !0 }), e !== document.documentElement && u.set(e, E(e, d)), g.addEventListener("scroll", d, { passive: !0 });
32
+ const listener2 = () => {
33
+ frame.read(measureAll, false, true);
34
+ frame.read(updateAll, false, true);
35
+ frame.update(notifyAll, false, true);
36
+ };
37
+ scrollListeners.set(container, listener2);
38
+ const target = getEventTarget(container);
39
+ window.addEventListener("resize", listener2, { passive: true });
40
+ if (container !== document.documentElement) {
41
+ resizeListeners.set(container, resize(container, listener2));
42
+ }
43
+ target.addEventListener("scroll", listener2, { passive: true });
26
44
  }
27
- const i = l.get(e);
28
- return f.read(i, !1, !0), () => {
29
- var r;
30
- H(i);
31
- const s = c.get(e);
32
- if (!s || (s.delete(m), s.size))
45
+ const listener = scrollListeners.get(container);
46
+ frame.read(listener, false, true);
47
+ return () => {
48
+ var _a;
49
+ cancelFrame(listener);
50
+ const currentHandlers = onScrollHandlers.get(container);
51
+ if (!currentHandlers)
52
+ return;
53
+ currentHandlers.delete(containerHandler);
54
+ if (currentHandlers.size)
33
55
  return;
34
- const o = l.get(e);
35
- l.delete(e), o && (p(e).removeEventListener("scroll", o), (r = u.get(e)) === null || r === void 0 || r(), window.removeEventListener("resize", o));
56
+ const scrollListener = scrollListeners.get(container);
57
+ scrollListeners.delete(container);
58
+ if (scrollListener) {
59
+ getEventTarget(container).removeEventListener("scroll", scrollListener);
60
+ (_a = resizeListeners.get(container)) === null || _a === void 0 ? void 0 : _a();
61
+ window.removeEventListener("resize", scrollListener);
62
+ }
36
63
  };
37
64
  }
38
65
  export {
39
- W as scrollInfo
66
+ scrollInfo
40
67
  };
@@ -1,4 +1,4 @@
1
- const a = (e) => e.replace(/([a-z])([A-Z])/gu, "$1-$2").toLowerCase();
1
+ const camelToDash = (str) => str.replace(/([a-z])([A-Z])/gu, "$1-$2").toLowerCase();
2
2
  export {
3
- a as camelToDash
3
+ camelToDash
4
4
  };
@@ -1,31 +1,31 @@
1
- import { invariant as l } from "../../../utils/errors.mjs";
2
- import { isNumericalString as c } from "../../../utils/is-numerical-string.mjs";
3
- import { isCSSVariableToken as s } from "./is-css-variable.mjs";
4
- const m = (
1
+ import { invariant } from "../../../utils/errors.mjs";
2
+ import { isNumericalString } from "../../../utils/is-numerical-string.mjs";
3
+ import { isCSSVariableToken } from "./is-css-variable.mjs";
4
+ const splitCSSVariableRegex = (
5
5
  // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
6
6
  /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
7
7
  );
8
- function p(r) {
9
- const t = m.exec(r);
10
- if (!t)
8
+ function parseCSSVariable(current) {
9
+ const match = splitCSSVariableRegex.exec(current);
10
+ if (!match)
11
11
  return [,];
12
- const [, e, i, a] = t;
13
- return [`--${e ?? i}`, a];
12
+ const [, token1, token2, fallback] = match;
13
+ return [`--${token1 !== null && token1 !== void 0 ? token1 : token2}`, fallback];
14
14
  }
15
- const u = 4;
16
- function f(r, t, e = 1) {
17
- l(e <= u, `Max CSS variable fallback depth detected in property "${r}". This may indicate a circular fallback dependency.`);
18
- const [i, a] = p(r);
19
- if (!i)
15
+ const maxDepth = 4;
16
+ function getVariableValue(current, element, depth = 1) {
17
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`);
18
+ const [token, fallback] = parseCSSVariable(current);
19
+ if (!token)
20
20
  return;
21
- const o = window.getComputedStyle(t).getPropertyValue(i);
22
- if (o) {
23
- const n = o.trim();
24
- return c(n) ? parseFloat(n) : n;
21
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
22
+ if (resolved) {
23
+ const trimmed = resolved.trim();
24
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
25
25
  }
26
- return s(a) ? f(a, t, e + 1) : a;
26
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
27
27
  }
28
28
  export {
29
- f as getVariableValue,
30
- p as parseCSSVariable
29
+ getVariableValue,
30
+ parseCSSVariable
31
31
  };
@@ -1,5 +1,14 @@
1
- const r = (s) => (t) => typeof t == "string" && t.startsWith(s), a = /* @__PURE__ */ r("--"), e = /* @__PURE__ */ r("var(--"), n = (s) => e(s) ? i.test(s.split("/*")[0].trim()) : !1, i = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;
1
+ const checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
2
+ const isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
3
+ const startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
4
+ const isCSSVariableToken = (value) => {
5
+ const startsWithToken = startsAsVariableToken(value);
6
+ if (!startsWithToken)
7
+ return false;
8
+ return singleCssVariableRegex.test(value.split("/*")[0].trim());
9
+ };
10
+ const singleCssVariableRegex = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;
2
11
  export {
3
- a as isCSSVariableName,
4
- n as isCSSVariableToken
12
+ isCSSVariableName,
13
+ isCSSVariableToken
5
14
  };
@@ -1,6 +1,6 @@
1
- function t(n) {
2
- return n instanceof SVGElement && n.tagName !== "svg";
1
+ function isSVGElement(element) {
2
+ return element instanceof SVGElement && element.tagName !== "svg";
3
3
  }
4
4
  export {
5
- t as isSVGElement
5
+ isSVGElement
6
6
  };
@@ -1,12 +1,23 @@
1
- import { invariant as t } from "../../../utils/errors.mjs";
2
- function n(r, i, o) {
3
- var f;
4
- if (typeof r == "string") {
5
- let u = document;
6
- i && (t(!!i.current, "Scope provided, but no element detected."), u = i.current), o ? ((f = o[r]) !== null && f !== void 0 || (o[r] = u.querySelectorAll(r)), r = o[r]) : r = u.querySelectorAll(r);
7
- } else r instanceof Element && (r = [r]);
8
- return Array.from(r || []);
1
+ import { invariant } from "../../../utils/errors.mjs";
2
+ function resolveElements(elements, scope, selectorCache) {
3
+ var _a;
4
+ if (typeof elements === "string") {
5
+ let root = document;
6
+ if (scope) {
7
+ invariant(Boolean(scope.current), "Scope provided, but no element detected.");
8
+ root = scope.current;
9
+ }
10
+ if (selectorCache) {
11
+ (_a = selectorCache[elements]) !== null && _a !== void 0 ? _a : selectorCache[elements] = root.querySelectorAll(elements);
12
+ elements = selectorCache[elements];
13
+ } else {
14
+ elements = root.querySelectorAll(elements);
15
+ }
16
+ } else if (elements instanceof Element) {
17
+ elements = [elements];
18
+ }
19
+ return Array.from(elements || []);
9
20
  }
10
21
  export {
11
- n as resolveElements
22
+ resolveElements
12
23
  };
@@ -1,7 +1,7 @@
1
- import { transformPropOrder as m } from "../../html/utils/transform.mjs";
2
- import { number as p } from "../../../value/types/numbers/index.mjs";
3
- import { px as x } from "../../../value/types/numbers/units.mjs";
4
- const b = /* @__PURE__ */ new Set([
1
+ import { transformPropOrder } from "../../html/utils/transform.mjs";
2
+ import { number } from "../../../value/types/numbers/index.mjs";
3
+ import { px } from "../../../value/types/numbers/units.mjs";
4
+ const positionalKeys = /* @__PURE__ */ new Set([
5
5
  "width",
6
6
  "height",
7
7
  "top",
@@ -12,41 +12,54 @@ const b = /* @__PURE__ */ new Set([
12
12
  "y",
13
13
  "translateX",
14
14
  "translateY"
15
- ]), d = (t) => t === p || t === x, i = (t, a) => parseFloat(t.split(", ")[a]), l = (t, a) => (r, { transform: o }) => {
16
- if (o === "none" || !o)
15
+ ]);
16
+ const isNumOrPxType = (v) => v === number || v === px;
17
+ const getPosFromMatrix = (matrix, pos) => parseFloat(matrix.split(", ")[pos]);
18
+ const getTranslateFromMatrix = (pos2, pos3) => (_bbox, { transform }) => {
19
+ if (transform === "none" || !transform)
17
20
  return 0;
18
- const s = o.match(/^matrix3d\((.+)\)$/u);
19
- if (s)
20
- return i(s[1], a);
21
- {
22
- const n = o.match(/^matrix\((.+)\)$/u);
23
- return n ? i(n[1], t) : 0;
21
+ const matrix3d = transform.match(/^matrix3d\((.+)\)$/u);
22
+ if (matrix3d) {
23
+ return getPosFromMatrix(matrix3d[1], pos3);
24
+ } else {
25
+ const matrix = transform.match(/^matrix\((.+)\)$/u);
26
+ if (matrix) {
27
+ return getPosFromMatrix(matrix[1], pos2);
28
+ } else {
29
+ return 0;
30
+ }
24
31
  }
25
- }, c = /* @__PURE__ */ new Set(["x", "y", "z"]), f = m.filter((t) => !c.has(t));
26
- function g(t) {
27
- const a = [];
28
- return f.forEach((r) => {
29
- const o = t.getValue(r);
30
- o !== void 0 && (a.push([r, o.get()]), o.set(r.startsWith("scale") ? 1 : 0));
31
- }), a;
32
+ };
33
+ const transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
34
+ const nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
35
+ function removeNonTranslationalTransform(visualElement) {
36
+ const removedTransforms = [];
37
+ nonTranslationalTransformKeys.forEach((key) => {
38
+ const value = visualElement.getValue(key);
39
+ if (value !== void 0) {
40
+ removedTransforms.push([key, value.get()]);
41
+ value.set(key.startsWith("scale") ? 1 : 0);
42
+ }
43
+ });
44
+ return removedTransforms;
32
45
  }
33
- const e = {
46
+ const positionalValues = {
34
47
  // Dimensions
35
- width: ({ x: t }, { paddingLeft: a = "0", paddingRight: r = "0" }) => t.max - t.min - parseFloat(a) - parseFloat(r),
36
- height: ({ y: t }, { paddingTop: a = "0", paddingBottom: r = "0" }) => t.max - t.min - parseFloat(a) - parseFloat(r),
37
- top: (t, { top: a }) => parseFloat(a),
38
- left: (t, { left: a }) => parseFloat(a),
39
- bottom: ({ y: t }, { top: a }) => parseFloat(a) + (t.max - t.min),
40
- right: ({ x: t }, { left: a }) => parseFloat(a) + (t.max - t.min),
48
+ width: ({ x }, { paddingLeft = "0", paddingRight = "0" }) => x.max - x.min - parseFloat(paddingLeft) - parseFloat(paddingRight),
49
+ height: ({ y }, { paddingTop = "0", paddingBottom = "0" }) => y.max - y.min - parseFloat(paddingTop) - parseFloat(paddingBottom),
50
+ top: (_bbox, { top }) => parseFloat(top),
51
+ left: (_bbox, { left }) => parseFloat(left),
52
+ bottom: ({ y }, { top }) => parseFloat(top) + (y.max - y.min),
53
+ right: ({ x }, { left }) => parseFloat(left) + (x.max - x.min),
41
54
  // Transform
42
- x: l(4, 13),
43
- y: l(5, 14)
55
+ x: getTranslateFromMatrix(4, 13),
56
+ y: getTranslateFromMatrix(5, 14)
44
57
  };
45
- e.translateX = e.x;
46
- e.translateY = e.y;
58
+ positionalValues.translateX = positionalValues.x;
59
+ positionalValues.translateY = positionalValues.y;
47
60
  export {
48
- d as isNumOrPxType,
49
- b as positionalKeys,
50
- e as positionalValues,
51
- g as removeNonTranslationalTransform
61
+ isNumOrPxType,
62
+ positionalKeys,
63
+ positionalValues,
64
+ removeNonTranslationalTransform
52
65
  };
@@ -1,10 +1,12 @@
1
- import { complex as n } from "../../../value/types/complex/index.mjs";
2
- import { filter as a } from "../../../value/types/complex/filter.mjs";
3
- import { getDefaultValueType as i } from "./defaults.mjs";
4
- function f(t, o) {
5
- let e = i(t);
6
- return e !== a && (e = n), e.getAnimatableNone ? e.getAnimatableNone(o) : void 0;
1
+ import { complex } from "../../../value/types/complex/index.mjs";
2
+ import { filter } from "../../../value/types/complex/filter.mjs";
3
+ import { getDefaultValueType } from "./defaults.mjs";
4
+ function getAnimatableNone(key, value) {
5
+ let defaultValueType = getDefaultValueType(key);
6
+ if (defaultValueType !== filter)
7
+ defaultValueType = complex;
8
+ return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
7
9
  }
8
10
  export {
9
- f as getAnimatableNone
11
+ getAnimatableNone
10
12
  };
@@ -1,24 +1,25 @@
1
- import { color as o } from "../../../value/types/color/index.mjs";
2
- import { filter as r } from "../../../value/types/complex/filter.mjs";
3
- import { numberValueTypes as l } from "./number.mjs";
4
- const t = {
5
- ...l,
1
+ import { color } from "../../../value/types/color/index.mjs";
2
+ import { filter } from "../../../value/types/complex/filter.mjs";
3
+ import { numberValueTypes } from "./number.mjs";
4
+ const defaultValueTypes = {
5
+ ...numberValueTypes,
6
6
  // Color props
7
- color: o,
8
- backgroundColor: o,
9
- outlineColor: o,
10
- fill: o,
11
- stroke: o,
7
+ color,
8
+ backgroundColor: color,
9
+ outlineColor: color,
10
+ fill: color,
11
+ stroke: color,
12
12
  // Border props
13
- borderColor: o,
14
- borderTopColor: o,
15
- borderRightColor: o,
16
- borderBottomColor: o,
17
- borderLeftColor: o,
18
- filter: r,
19
- WebkitFilter: r
20
- }, m = (e) => t[e];
13
+ borderColor: color,
14
+ borderTopColor: color,
15
+ borderRightColor: color,
16
+ borderBottomColor: color,
17
+ borderLeftColor: color,
18
+ filter,
19
+ WebkitFilter: filter
20
+ };
21
+ const getDefaultValueType = (key) => defaultValueTypes[key];
21
22
  export {
22
- t as defaultValueTypes,
23
- m as getDefaultValueType
23
+ defaultValueTypes,
24
+ getDefaultValueType
24
25
  };
@@ -1,9 +1,10 @@
1
- import { number as o } from "../../../value/types/numbers/index.mjs";
2
- import { px as r, percent as m, degrees as t, vw as i, vh as n } from "../../../value/types/numbers/units.mjs";
3
- import { testValueType as p } from "./test.mjs";
4
- import { auto as s } from "./type-auto.mjs";
5
- const f = [o, r, m, t, i, n, s], l = (e) => f.find(p(e));
1
+ import { number } from "../../../value/types/numbers/index.mjs";
2
+ import { px, percent, degrees, vw, vh } from "../../../value/types/numbers/units.mjs";
3
+ import { testValueType } from "./test.mjs";
4
+ import { auto } from "./type-auto.mjs";
5
+ const dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
6
+ const findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
6
7
  export {
7
- f as dimensionValueTypes,
8
- l as findDimensionValueType
8
+ dimensionValueTypes,
9
+ findDimensionValueType
9
10
  };
@@ -1,8 +1,9 @@
1
- import { color as e } from "../../../value/types/color/index.mjs";
2
- import { complex as m } from "../../../value/types/complex/index.mjs";
3
- import { dimensionValueTypes as p } from "./dimensions.mjs";
4
- import { testValueType as r } from "./test.mjs";
5
- const t = [...p, e, m], s = (o) => t.find(r(o));
1
+ import { color } from "../../../value/types/color/index.mjs";
2
+ import { complex } from "../../../value/types/complex/index.mjs";
3
+ import { dimensionValueTypes } from "./dimensions.mjs";
4
+ import { testValueType } from "./test.mjs";
5
+ const valueTypes = [...dimensionValueTypes, color, complex];
6
+ const findValueType = (v) => valueTypes.find(testValueType(v));
6
7
  export {
7
- s as findValueType
8
+ findValueType
8
9
  };
@@ -1,4 +1,6 @@
1
- const e = (r, t) => t && typeof r == "number" ? t.transform(r) : r;
1
+ const getValueAsType = (value, type) => {
2
+ return type && typeof value === "number" ? type.transform(value) : value;
3
+ };
2
4
  export {
3
- e as getValueAsType
5
+ getValueAsType
4
6
  };
@@ -1,41 +1,41 @@
1
- import { px as o } from "../../../value/types/numbers/units.mjs";
2
- const i = {
1
+ import { px } from "../../../value/types/numbers/units.mjs";
2
+ const browserNumberValueTypes = {
3
3
  // Border props
4
- borderWidth: o,
5
- borderTopWidth: o,
6
- borderRightWidth: o,
7
- borderBottomWidth: o,
8
- borderLeftWidth: o,
9
- borderRadius: o,
10
- radius: o,
11
- borderTopLeftRadius: o,
12
- borderTopRightRadius: o,
13
- borderBottomRightRadius: o,
14
- borderBottomLeftRadius: o,
4
+ borderWidth: px,
5
+ borderTopWidth: px,
6
+ borderRightWidth: px,
7
+ borderBottomWidth: px,
8
+ borderLeftWidth: px,
9
+ borderRadius: px,
10
+ radius: px,
11
+ borderTopLeftRadius: px,
12
+ borderTopRightRadius: px,
13
+ borderBottomRightRadius: px,
14
+ borderBottomLeftRadius: px,
15
15
  // Positioning props
16
- width: o,
17
- maxWidth: o,
18
- height: o,
19
- maxHeight: o,
20
- top: o,
21
- right: o,
22
- bottom: o,
23
- left: o,
16
+ width: px,
17
+ maxWidth: px,
18
+ height: px,
19
+ maxHeight: px,
20
+ top: px,
21
+ right: px,
22
+ bottom: px,
23
+ left: px,
24
24
  // Spacing props
25
- padding: o,
26
- paddingTop: o,
27
- paddingRight: o,
28
- paddingBottom: o,
29
- paddingLeft: o,
30
- margin: o,
31
- marginTop: o,
32
- marginRight: o,
33
- marginBottom: o,
34
- marginLeft: o,
25
+ padding: px,
26
+ paddingTop: px,
27
+ paddingRight: px,
28
+ paddingBottom: px,
29
+ paddingLeft: px,
30
+ margin: px,
31
+ marginTop: px,
32
+ marginRight: px,
33
+ marginBottom: px,
34
+ marginLeft: px,
35
35
  // Misc
36
- backgroundPositionX: o,
37
- backgroundPositionY: o
36
+ backgroundPositionX: px,
37
+ backgroundPositionY: px
38
38
  };
39
39
  export {
40
- i as browserNumberValueTypes
40
+ browserNumberValueTypes
41
41
  };
@@ -1,18 +1,18 @@
1
- import { alpha as r } from "../../../value/types/numbers/index.mjs";
2
- import { px as e } from "../../../value/types/numbers/units.mjs";
3
- import { browserNumberValueTypes as m } from "./number-browser.mjs";
4
- import { transformValueTypes as p } from "./transform.mjs";
5
- import { int as o } from "./type-int.mjs";
6
- const l = {
7
- ...m,
8
- ...p,
9
- zIndex: o,
10
- size: e,
1
+ import { alpha } from "../../../value/types/numbers/index.mjs";
2
+ import { px } from "../../../value/types/numbers/units.mjs";
3
+ import { browserNumberValueTypes } from "./number-browser.mjs";
4
+ import { transformValueTypes } from "./transform.mjs";
5
+ import { int } from "./type-int.mjs";
6
+ const numberValueTypes = {
7
+ ...browserNumberValueTypes,
8
+ ...transformValueTypes,
9
+ zIndex: int,
10
+ size: px,
11
11
  // SVG
12
- fillOpacity: r,
13
- strokeOpacity: r,
14
- numOctaves: o
12
+ fillOpacity: alpha,
13
+ strokeOpacity: alpha,
14
+ numOctaves: int
15
15
  };
16
16
  export {
17
- l as numberValueTypes
17
+ numberValueTypes
18
18
  };
@@ -1,4 +1,4 @@
1
- const s = (t) => (e) => e.test(t);
1
+ const testValueType = (v) => (type) => type.test(v);
2
2
  export {
3
- s as testValueType
3
+ testValueType
4
4
  };