@luxfi/ui 8.2.12 → 8.3.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 (49) hide show
  1. package/dist/3d-carousel.d.ts +2 -1
  2. package/dist/3d-carousel.d.ts.map +1 -1
  3. package/dist/3d-marquee.cjs +635 -607
  4. package/dist/3d-marquee.js +635 -607
  5. package/dist/animated-background.cjs +643 -615
  6. package/dist/animated-background.js +643 -615
  7. package/dist/animated-beam.cjs +634 -606
  8. package/dist/animated-beam.js +634 -606
  9. package/dist/animated-icon.cjs +672 -625
  10. package/dist/animated-icon.js +672 -625
  11. package/dist/animated-list.cjs +794 -663
  12. package/dist/animated-list.js +794 -663
  13. package/dist/animated-number.cjs +644 -616
  14. package/dist/animated-number.js +644 -616
  15. package/dist/animated-testimonials.cjs +668 -621
  16. package/dist/animated-testimonials.js +668 -621
  17. package/dist/animated-text.cjs +675 -628
  18. package/dist/animated-text.js +675 -628
  19. package/dist/animated-tooltip.cjs +668 -621
  20. package/dist/animated-tooltip.js +668 -621
  21. package/dist/apple-cards-carousel.cjs +676 -629
  22. package/dist/apple-cards-carousel.js +676 -629
  23. package/dist/apple-hello-effect.cjs +634 -606
  24. package/dist/apple-hello-effect.js +634 -606
  25. package/dist/calendar.cjs +2 -37
  26. package/dist/calendar.d.ts +11 -1
  27. package/dist/calendar.d.ts.map +1 -1
  28. package/dist/calendar.js +3 -38
  29. package/dist/dock.cjs +645 -617
  30. package/dist/dock.js +645 -617
  31. package/dist/image-zoom.d.ts +3 -2
  32. package/dist/image-zoom.d.ts.map +1 -1
  33. package/dist/input-otp.d.ts +4 -2
  34. package/dist/input-otp.d.ts.map +1 -1
  35. package/dist/pulse-animation.cjs +636 -608
  36. package/dist/pulse-animation.js +636 -608
  37. package/dist/resizable.cjs +4 -24
  38. package/dist/resizable.d.ts +12 -12
  39. package/dist/resizable.d.ts.map +1 -1
  40. package/dist/resizable.js +4 -4
  41. package/dist/reveal-animation.cjs +639 -611
  42. package/dist/reveal-animation.js +639 -611
  43. package/package.json +39 -39
  44. package/src/3d-carousel.tsx +2 -2
  45. package/src/calendar.tsx +12 -43
  46. package/src/image-zoom.tsx +2 -2
  47. package/src/resizable.tsx +7 -7
  48. package/src/table.tsx +9 -9
  49. package/tokens.css +21 -0
package/dist/dock.cjs CHANGED
@@ -25,12 +25,6 @@ function _interopNamespace(e) {
25
25
 
26
26
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
27
 
28
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
29
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
30
- }) : x)(function(x) {
31
- if (typeof require !== "undefined") return require.apply(this, arguments);
32
- throw Error('Dynamic require of "' + x + '" is not supported');
33
- });
34
28
  var LayoutGroupContext = React.createContext({});
35
29
  function useConstant(init) {
36
30
  const ref = React.useRef(null);
@@ -40,14 +34,14 @@ function useConstant(init) {
40
34
  return ref.current;
41
35
  }
42
36
 
43
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-browser.mjs
37
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-browser.mjs
44
38
  var isBrowser = typeof window !== "undefined";
45
39
 
46
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
40
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
47
41
  var useIsomorphicLayoutEffect = isBrowser ? React.useLayoutEffect : React.useEffect;
48
42
  var PresenceContext = /* @__PURE__ */ React.createContext(null);
49
43
 
50
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/array.mjs
44
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/array.mjs
51
45
  function addUniqueItem(arr, item) {
52
46
  if (arr.indexOf(item) === -1)
53
47
  arr.push(item);
@@ -58,7 +52,7 @@ function removeItem(arr, item) {
58
52
  arr.splice(index, 1);
59
53
  }
60
54
 
61
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/clamp.mjs
55
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/clamp.mjs
62
56
  var clamp = (min, max, v) => {
63
57
  if (v > max)
64
58
  return max;
@@ -67,12 +61,12 @@ var clamp = (min, max, v) => {
67
61
  return v;
68
62
  };
69
63
 
70
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/format-error-message.mjs
64
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/format-error-message.mjs
71
65
  function formatErrorMessage(message, errorCode) {
72
66
  return errorCode ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` : message;
73
67
  }
74
68
 
75
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/errors.mjs
69
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/errors.mjs
76
70
  var warning = () => {
77
71
  };
78
72
  var invariant = () => {
@@ -90,21 +84,19 @@ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
90
84
  };
91
85
  }
92
86
 
93
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/global-config.mjs
87
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/global-config.mjs
94
88
  var MotionGlobalConfig = {};
95
89
 
96
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
90
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
97
91
  var isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
98
92
 
99
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-object.mjs
100
- function isObject(value) {
101
- return typeof value === "object" && value !== null;
102
- }
93
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-object.mjs
94
+ var isObject = (value) => typeof value === "object" && value !== null;
103
95
 
104
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
96
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
105
97
  var isZeroValueString = (v) => /^0[^.\s]+$/u.test(v);
106
98
 
107
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/memo.mjs
99
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/memo.mjs
108
100
  // @__NO_SIDE_EFFECTS__
109
101
  function memo(callback) {
110
102
  let result;
@@ -115,20 +107,19 @@ function memo(callback) {
115
107
  };
116
108
  }
117
109
 
118
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/noop.mjs
110
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/noop.mjs
119
111
  var noop = /* @__NO_SIDE_EFFECTS__ */ (any) => any;
120
112
 
121
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/pipe.mjs
122
- var combineFunctions = (a, b) => (v) => b(a(v));
123
- var pipe = (...transformers) => transformers.reduce(combineFunctions);
113
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/pipe.mjs
114
+ var pipe = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v)));
124
115
 
125
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/progress.mjs
116
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/progress.mjs
126
117
  var progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
127
- const toFromDifference = to - from;
128
- return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
118
+ const range = to - from;
119
+ return range ? (value - from) / range : 1;
129
120
  };
130
121
 
131
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
122
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
132
123
  var SubscriptionManager = class {
133
124
  constructor() {
134
125
  this.subscriptions = [];
@@ -158,16 +149,14 @@ var SubscriptionManager = class {
158
149
  }
159
150
  };
160
151
 
161
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/time-conversion.mjs
152
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/time-conversion.mjs
162
153
  var secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3;
163
154
  var millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
164
155
 
165
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
166
- function velocityPerSecond(velocity, frameDuration) {
167
- return frameDuration ? velocity * (1e3 / frameDuration) : 0;
168
- }
156
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
157
+ var velocityPerSecond = /* @__NO_SIDE_EFFECTS__ */ (velocity, frameDuration) => frameDuration ? velocity * (1e3 / frameDuration) : 0;
169
158
 
170
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/warn-once.mjs
159
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/warn-once.mjs
171
160
  var warned = /* @__PURE__ */ new Set();
172
161
  function warnOnce(condition, message, errorCode) {
173
162
  if (condition || warned.has(message))
@@ -176,7 +165,7 @@ function warnOnce(condition, message, errorCode) {
176
165
  warned.add(message);
177
166
  }
178
167
 
179
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
168
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
180
169
  var calcBezier = (t, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t + (3 * a2 - 6 * a1)) * t + 3 * a1) * t;
181
170
  var subdivisionPrecision = 1e-7;
182
171
  var subdivisionMaxIterations = 12;
@@ -195,6 +184,7 @@ function binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {
195
184
  } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations);
196
185
  return currentT;
197
186
  }
187
+ // @__NO_SIDE_EFFECTS__
198
188
  function cubicBezier(mX1, mY1, mX2, mY2) {
199
189
  if (mX1 === mY1 && mX2 === mY2)
200
190
  return noop;
@@ -202,39 +192,39 @@ function cubicBezier(mX1, mY1, mX2, mY2) {
202
192
  return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
203
193
  }
204
194
 
205
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
206
- var mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
195
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
196
+ var mirrorEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
207
197
 
208
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
209
- var reverseEasing = (easing) => (p) => 1 - easing(1 - p);
198
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
199
+ var reverseEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => 1 - easing(1 - p);
210
200
 
211
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/back.mjs
201
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/back.mjs
212
202
  var backOut = /* @__PURE__ */ cubicBezier(0.33, 1.53, 0.69, 0.99);
213
203
  var backIn = /* @__PURE__ */ reverseEasing(backOut);
214
204
  var backInOut = /* @__PURE__ */ mirrorEasing(backIn);
215
205
 
216
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
206
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
217
207
  var anticipate = (p) => p >= 1 ? 1 : (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
218
208
 
219
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/circ.mjs
209
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/circ.mjs
220
210
  var circIn = (p) => 1 - Math.sin(Math.acos(p));
221
211
  var circOut = reverseEasing(circIn);
222
212
  var circInOut = mirrorEasing(circIn);
223
213
 
224
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/ease.mjs
214
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/ease.mjs
225
215
  var easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1);
226
216
  var easeOut = /* @__PURE__ */ cubicBezier(0, 0, 0.58, 1);
227
217
  var easeInOut = /* @__PURE__ */ cubicBezier(0.42, 0, 0.58, 1);
228
218
 
229
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
230
- var isEasingArray = (ease2) => {
219
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
220
+ var isEasingArray = /* @__NO_SIDE_EFFECTS__ */ (ease2) => {
231
221
  return Array.isArray(ease2) && typeof ease2[0] !== "number";
232
222
  };
233
223
 
234
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
235
- var isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number";
224
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
225
+ var isBezierDefinition = /* @__NO_SIDE_EFFECTS__ */ (easing) => Array.isArray(easing) && typeof easing[0] === "number";
236
226
 
237
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
227
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
238
228
  var easingLookup = {
239
229
  linear: noop,
240
230
  easeIn,
@@ -263,7 +253,7 @@ var easingDefinitionToFunction = (definition) => {
263
253
  return definition;
264
254
  };
265
255
 
266
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
256
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/order.mjs
267
257
  var stepsOrder = [
268
258
  "setup",
269
259
  // Compute
@@ -283,8 +273,8 @@ var stepsOrder = [
283
273
  // Compute
284
274
  ];
285
275
 
286
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
287
- function createRenderStep(runNextFrame, stepName) {
276
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
277
+ function createRenderStep(runNextFrame) {
288
278
  let thisFrame = /* @__PURE__ */ new Set();
289
279
  let nextFrame = /* @__PURE__ */ new Set();
290
280
  let isProcessing = false;
@@ -346,7 +336,7 @@ function createRenderStep(runNextFrame, stepName) {
346
336
  return step;
347
337
  }
348
338
 
349
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
339
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
350
340
  var maxElapsed = 40;
351
341
  function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
352
342
  let runNextFrame = false;
@@ -409,10 +399,10 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
409
399
  return { schedule, cancel, state, steps };
410
400
  }
411
401
 
412
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
402
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/frame.mjs
413
403
  var { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true);
414
404
 
415
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
405
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
416
406
  var now;
417
407
  function clearTime() {
418
408
  now = void 0;
@@ -430,7 +420,7 @@ var time = {
430
420
  }
431
421
  };
432
422
 
433
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
423
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
434
424
  var checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
435
425
  var isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
436
426
  var startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
@@ -447,7 +437,7 @@ function containsCSSVariable(value) {
447
437
  return value.split("/*")[0].includes("var(--");
448
438
  }
449
439
 
450
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
440
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
451
441
  var number = {
452
442
  test: (v) => typeof v === "number",
453
443
  parse: parseFloat,
@@ -462,21 +452,21 @@ var scale = {
462
452
  default: 1
463
453
  };
464
454
 
465
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
455
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
466
456
  var sanitize = (v) => Math.round(v * 1e5) / 1e5;
467
457
 
468
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
458
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
469
459
  var floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
470
460
 
471
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
461
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
472
462
  function isNullish(v) {
473
463
  return v == null;
474
464
  }
475
465
 
476
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
466
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
477
467
  var singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
478
468
 
479
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
469
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
480
470
  var isColorString = (type, testProp) => (v) => {
481
471
  return Boolean(typeof v === "string" && singleColorRegex.test(v) && v.startsWith(type) || testProp && !isNullish(v) && Object.prototype.hasOwnProperty.call(v, testProp));
482
472
  };
@@ -492,7 +482,7 @@ var splitColor = (aName, bName, cName) => (v) => {
492
482
  };
493
483
  };
494
484
 
495
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
485
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
496
486
  var clampRgbUnit = (v) => clamp(0, 255, v);
497
487
  var rgbUnit = {
498
488
  ...number,
@@ -504,7 +494,7 @@ var rgba = {
504
494
  transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
505
495
  };
506
496
 
507
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
497
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
508
498
  function parseHex(v) {
509
499
  let r = "";
510
500
  let g = "";
@@ -538,7 +528,7 @@ var hex = {
538
528
  transform: rgba.transform
539
529
  };
540
530
 
541
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
531
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
542
532
  var createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
543
533
  test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
544
534
  parse: parseFloat,
@@ -555,7 +545,7 @@ var progressPercentage = /* @__PURE__ */ (() => ({
555
545
  transform: (v) => percent.transform(v * 100)
556
546
  }))();
557
547
 
558
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
548
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
559
549
  var hsla = {
560
550
  test: /* @__PURE__ */ isColorString("hsl", "hue"),
561
551
  parse: /* @__PURE__ */ splitColor("hue", "saturation", "lightness"),
@@ -564,7 +554,7 @@ var hsla = {
564
554
  }
565
555
  };
566
556
 
567
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
557
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/index.mjs
568
558
  var color = {
569
559
  test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),
570
560
  parse: (v) => {
@@ -586,10 +576,10 @@ var color = {
586
576
  }
587
577
  };
588
578
 
589
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
579
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
590
580
  var colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
591
581
 
592
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
582
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
593
583
  function test(v) {
594
584
  return isNaN(v) && typeof v === "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
595
585
  }
@@ -674,7 +664,7 @@ var complex = {
674
664
  getAnimatableNone
675
665
  };
676
666
 
677
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
667
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
678
668
  function hueToRgb(p, q, t) {
679
669
  if (t < 0)
680
670
  t += 1;
@@ -712,17 +702,17 @@ function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
712
702
  };
713
703
  }
714
704
 
715
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
705
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
716
706
  function mixImmediate(a, b) {
717
707
  return (p) => p > 0 ? b : a;
718
708
  }
719
709
 
720
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
710
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/number.mjs
721
711
  var mixNumber = (from, to, progress2) => {
722
712
  return from + (to - from) * progress2;
723
713
  };
724
714
 
725
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
715
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/color.mjs
726
716
  var mixLinearColor = (from, to, v) => {
727
717
  const fromExpo = from * from;
728
718
  const expo = v * (to * to - fromExpo) + fromExpo;
@@ -757,7 +747,7 @@ var mixColor = (from, to) => {
757
747
  };
758
748
  };
759
749
 
760
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
750
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
761
751
  var invisibleValues = /* @__PURE__ */ new Set(["none", "hidden"]);
762
752
  function mixVisibility(origin, target) {
763
753
  if (invisibleValues.has(origin)) {
@@ -767,7 +757,7 @@ function mixVisibility(origin, target) {
767
757
  }
768
758
  }
769
759
 
770
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
760
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
771
761
  function mixNumber2(a, b) {
772
762
  return (p) => mixNumber(a, b, p);
773
763
  }
@@ -837,7 +827,7 @@ var mixComplex = (origin, target) => {
837
827
  }
838
828
  };
839
829
 
840
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
830
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/index.mjs
841
831
  function mix(from, to, p) {
842
832
  if (typeof from === "number" && typeof to === "number" && typeof p === "number") {
843
833
  return mixNumber(from, to, p);
@@ -846,7 +836,7 @@ function mix(from, to, p) {
846
836
  return mixer(from, to);
847
837
  }
848
838
 
849
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
839
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
850
840
  var frameloopDriver = (update) => {
851
841
  const passTimestamp = ({ timestamp }) => update(timestamp);
852
842
  return {
@@ -860,7 +850,7 @@ var frameloopDriver = (update) => {
860
850
  };
861
851
  };
862
852
 
863
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
853
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
864
854
  var generateLinearEasing = (easing, duration, resolution = 10) => {
865
855
  let points = "";
866
856
  const numPoints = Math.max(Math.round(duration / resolution), 2);
@@ -870,7 +860,7 @@ var generateLinearEasing = (easing, duration, resolution = 10) => {
870
860
  return `linear(${points.substring(0, points.length - 2)})`;
871
861
  };
872
862
 
873
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
863
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
874
864
  var maxGeneratorDuration = 2e4;
875
865
  function calcGeneratorDuration(generator) {
876
866
  let duration = 0;
@@ -883,7 +873,7 @@ function calcGeneratorDuration(generator) {
883
873
  return duration >= maxGeneratorDuration ? Infinity : duration;
884
874
  }
885
875
 
886
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
876
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
887
877
  function createGeneratorEasing(options, scale2 = 100, createGenerator) {
888
878
  const generator = createGenerator({ ...options, keyframes: [0, scale2] });
889
879
  const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
@@ -896,7 +886,7 @@ function createGeneratorEasing(options, scale2 = 100, createGenerator) {
896
886
  };
897
887
  }
898
888
 
899
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
889
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
900
890
  var springDefaults = {
901
891
  // Default spring physics
902
892
  stiffness: 100,
@@ -1135,14 +1125,14 @@ spring.applyToOptions = (options) => {
1135
1125
  return options;
1136
1126
  };
1137
1127
 
1138
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1128
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1139
1129
  var velocitySampleDuration = 5;
1140
1130
  function getGeneratorVelocity(resolveValue, t, current) {
1141
1131
  const prevT = Math.max(t - velocitySampleDuration, 0);
1142
1132
  return velocityPerSecond(current - resolveValue(prevT), t - prevT);
1143
1133
  }
1144
1134
 
1145
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1135
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1146
1136
  function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed }) {
1147
1137
  const origin = keyframes2[0];
1148
1138
  const state = {
@@ -1206,7 +1196,7 @@ function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstan
1206
1196
  };
1207
1197
  }
1208
1198
 
1209
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1199
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1210
1200
  function createMixers(output, ease2, customMixer) {
1211
1201
  const mixers = [];
1212
1202
  const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;
@@ -1251,7 +1241,7 @@ function interpolate(input, output, { clamp: isClamp = true, ease: ease2, mixer
1251
1241
  return isClamp ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator;
1252
1242
  }
1253
1243
 
1254
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1244
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1255
1245
  function fillOffset(offset, remaining) {
1256
1246
  const min = offset[offset.length - 1];
1257
1247
  for (let i = 1; i <= remaining; i++) {
@@ -1260,19 +1250,19 @@ function fillOffset(offset, remaining) {
1260
1250
  }
1261
1251
  }
1262
1252
 
1263
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1253
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1264
1254
  function defaultOffset(arr) {
1265
1255
  const offset = [0];
1266
1256
  fillOffset(offset, arr.length - 1);
1267
1257
  return offset;
1268
1258
  }
1269
1259
 
1270
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1260
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1271
1261
  function convertOffsetToTimes(offset, duration) {
1272
1262
  return offset.map((o) => o * duration);
1273
1263
  }
1274
1264
 
1275
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1265
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1276
1266
  function defaultEasing(values, easing) {
1277
1267
  return values.map(() => easing || easeInOut).splice(0, values.length - 1);
1278
1268
  }
@@ -1301,7 +1291,7 @@ function keyframes({ duration = 300, keyframes: keyframeValues, times, ease: eas
1301
1291
  };
1302
1292
  }
1303
1293
 
1304
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1294
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1305
1295
  var isNotNull = (value) => value !== null;
1306
1296
  function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
1307
1297
  const resolvedKeyframes = keyframes2.filter(isNotNull);
@@ -1310,7 +1300,7 @@ function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyf
1310
1300
  return !index || finalKeyframe === void 0 ? resolvedKeyframes[index] : finalKeyframe;
1311
1301
  }
1312
1302
 
1313
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1303
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1314
1304
  var transitionTypeMap = {
1315
1305
  decay: inertia,
1316
1306
  inertia,
@@ -1324,7 +1314,7 @@ function replaceTransitionType(transition) {
1324
1314
  }
1325
1315
  }
1326
1316
 
1327
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1317
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1328
1318
  var WithPromise = class {
1329
1319
  constructor() {
1330
1320
  this.updateFinished();
@@ -1350,7 +1340,7 @@ var WithPromise = class {
1350
1340
  }
1351
1341
  };
1352
1342
 
1353
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1343
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1354
1344
  var percentToProgress = (percent2) => percent2 / 100;
1355
1345
  var JSAnimation = class extends WithPromise {
1356
1346
  constructor(options) {
@@ -1629,14 +1619,14 @@ var JSAnimation = class extends WithPromise {
1629
1619
  }
1630
1620
  };
1631
1621
 
1632
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1622
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1633
1623
  function fillWildcards(keyframes2) {
1634
1624
  for (let i = 1; i < keyframes2.length; i++) {
1635
1625
  keyframes2[i] ?? (keyframes2[i] = keyframes2[i - 1]);
1636
1626
  }
1637
1627
  }
1638
1628
 
1639
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1629
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1640
1630
  var radToDeg = (rad) => rad * 180 / Math.PI;
1641
1631
  var rotate = (v) => {
1642
1632
  const angle = radToDeg(Math.atan2(v[1], v[0]));
@@ -1716,7 +1706,7 @@ function convertTransformToNumber(value) {
1716
1706
  return parseFloat(value.trim());
1717
1707
  }
1718
1708
 
1719
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1709
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1720
1710
  var transformPropOrder = [
1721
1711
  "transformPerspective",
1722
1712
  "x",
@@ -1736,9 +1726,9 @@ var transformPropOrder = [
1736
1726
  "skewX",
1737
1727
  "skewY"
1738
1728
  ];
1739
- var transformProps = /* @__PURE__ */ (() => new Set(transformPropOrder))();
1729
+ var transformProps = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([...transformPropOrder, "pathRotation"]))();
1740
1730
 
1741
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1731
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1742
1732
  var isNumOrPxType = (v) => v === number || v === px;
1743
1733
  var transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
1744
1734
  var nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
@@ -1774,7 +1764,7 @@ var positionalValues = {
1774
1764
  positionalValues.translateX = positionalValues.x;
1775
1765
  positionalValues.translateY = positionalValues.y;
1776
1766
 
1777
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1767
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1778
1768
  var toResolve = /* @__PURE__ */ new Set();
1779
1769
  var isScheduled = false;
1780
1770
  var anyNeedsMeasurement = false;
@@ -1900,27 +1890,27 @@ var KeyframeResolver = class {
1900
1890
  }
1901
1891
  };
1902
1892
 
1903
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1893
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1904
1894
  var isCSSVar = (name) => name.startsWith("--");
1905
1895
 
1906
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1896
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1907
1897
  function setStyle(element, name, value) {
1908
1898
  isCSSVar(name) ? element.style.setProperty(name, value) : element.style[name] = value;
1909
1899
  }
1910
1900
 
1911
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1901
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1912
1902
  var supportsFlags = {};
1913
1903
 
1914
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1904
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1915
1905
  function memoSupports(callback, supportsFlag) {
1916
1906
  const memoized = memo(callback);
1917
1907
  return () => supportsFlags[supportsFlag] ?? memoized();
1918
1908
  }
1919
1909
 
1920
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1910
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1921
1911
  var supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== void 0, "scrollTimeline");
1922
1912
 
1923
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1913
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1924
1914
  var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1925
1915
  try {
1926
1916
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -1930,10 +1920,10 @@ var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1930
1920
  return true;
1931
1921
  }, "linearEasing");
1932
1922
 
1933
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1923
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1934
1924
  var cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
1935
1925
 
1936
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1926
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1937
1927
  var supportedWaapiEasing = {
1938
1928
  linear: "linear",
1939
1929
  ease: "ease",
@@ -1946,7 +1936,7 @@ var supportedWaapiEasing = {
1946
1936
  backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
1947
1937
  };
1948
1938
 
1949
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1939
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1950
1940
  function mapEasingToNativeEasing(easing, duration) {
1951
1941
  if (!easing) {
1952
1942
  return void 0;
@@ -1961,7 +1951,7 @@ function mapEasingToNativeEasing(easing, duration) {
1961
1951
  }
1962
1952
  }
1963
1953
 
1964
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1954
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1965
1955
  function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeOut", times } = {}, pseudoElement = void 0) {
1966
1956
  const keyframeOptions = {
1967
1957
  [valueName]: keyframes2
@@ -1981,16 +1971,15 @@ function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0
1981
1971
  };
1982
1972
  if (pseudoElement)
1983
1973
  options.pseudoElement = pseudoElement;
1984
- const animation = element.animate(keyframeOptions, options);
1985
- return animation;
1974
+ return element.animate(keyframeOptions, options);
1986
1975
  }
1987
1976
 
1988
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1977
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1989
1978
  function isGenerator(type) {
1990
1979
  return typeof type === "function" && "applyToOptions" in type;
1991
1980
  }
1992
1981
 
1993
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1982
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1994
1983
  function applyGeneratorOptions({ type, ...options }) {
1995
1984
  if (isGenerator(type) && supportsLinearEasing()) {
1996
1985
  return type.applyToOptions(options);
@@ -2001,7 +1990,7 @@ function applyGeneratorOptions({ type, ...options }) {
2001
1990
  return options;
2002
1991
  }
2003
1992
 
2004
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1993
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
2005
1994
  var NativeAnimation = class extends WithPromise {
2006
1995
  constructor(options) {
2007
1996
  super();
@@ -2151,7 +2140,7 @@ var NativeAnimation = class extends WithPromise {
2151
2140
  }
2152
2141
  };
2153
2142
 
2154
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2143
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2155
2144
  var unsupportedEasingFunctions = {
2156
2145
  anticipate,
2157
2146
  backInOut,
@@ -2166,7 +2155,7 @@ function replaceStringEasing(transition) {
2166
2155
  }
2167
2156
  }
2168
2157
 
2169
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2158
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2170
2159
  var sampleDelta = 10;
2171
2160
  var NativeAnimationExtended = class extends NativeAnimation {
2172
2161
  constructor(options) {
@@ -2209,7 +2198,7 @@ var NativeAnimationExtended = class extends NativeAnimation {
2209
2198
  }
2210
2199
  };
2211
2200
 
2212
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2201
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2213
2202
  var isAnimatable = (value, name) => {
2214
2203
  if (name === "zIndex")
2215
2204
  return false;
@@ -2223,7 +2212,7 @@ var isAnimatable = (value, name) => {
2223
2212
  return false;
2224
2213
  };
2225
2214
 
2226
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2215
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2227
2216
  function hasKeyframesChanged(keyframes2) {
2228
2217
  const current = keyframes2[0];
2229
2218
  if (keyframes2.length === 1)
@@ -2250,24 +2239,22 @@ function canAnimate(keyframes2, name, type, velocity) {
2250
2239
  return hasKeyframesChanged(keyframes2) || (type === "spring" || isGenerator(type)) && velocity;
2251
2240
  }
2252
2241
 
2253
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2242
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2254
2243
  function makeAnimationInstant(options) {
2255
2244
  options.duration = 0;
2256
2245
  options.type = "keyframes";
2257
2246
  }
2258
2247
 
2259
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2248
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2260
2249
  var acceleratedValues = /* @__PURE__ */ new Set([
2261
2250
  "opacity",
2262
2251
  "clipPath",
2263
2252
  "filter",
2264
- "transform"
2265
- // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
2266
- // or until we implement support for linear() easing.
2267
- // "background-color"
2253
+ "transform",
2254
+ "backgroundColor"
2268
2255
  ]);
2269
2256
 
2270
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2257
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2271
2258
  var browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
2272
2259
  function hasBrowserOnlyColors(keyframes2) {
2273
2260
  for (let i = 0; i < keyframes2.length; i++) {
@@ -2278,7 +2265,7 @@ function hasBrowserOnlyColors(keyframes2) {
2278
2265
  return false;
2279
2266
  }
2280
2267
 
2281
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2268
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2282
2269
  var colorProperties = /* @__PURE__ */ new Set([
2283
2270
  "color",
2284
2271
  "backgroundColor",
@@ -2295,7 +2282,7 @@ var supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Elemen
2295
2282
  function supportsBrowserAnimation(options) {
2296
2283
  const { motionValue: motionValue2, name, repeatDelay, repeatType, damping, type, keyframes: keyframes2 } = options;
2297
2284
  const subject = motionValue2?.owner?.current;
2298
- if (!(subject instanceof HTMLElement)) {
2285
+ if (!(subject instanceof HTMLElement) && !(subject instanceof SVGElement)) {
2299
2286
  return false;
2300
2287
  }
2301
2288
  const { onUpdate, transformTemplate } = motionValue2.owner.getProps();
@@ -2310,7 +2297,7 @@ function supportsBrowserAnimation(options) {
2310
2297
  !onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
2311
2298
  }
2312
2299
 
2313
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2300
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2314
2301
  var MAX_RESOLVE_DELAY = 40;
2315
2302
  var AsyncMotionValueAnimation = class extends WithPromise {
2316
2303
  constructor({ autoplay = true, delay: delay2 = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", keyframes: keyframes2, name, motionValue: motionValue2, element, ...options }) {
@@ -2451,7 +2438,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
2451
2438
  }
2452
2439
  };
2453
2440
 
2454
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2441
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2455
2442
  function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {
2456
2443
  const index = Array.from(children).sort((a, b) => a.sortNodePosition(b)).indexOf(child);
2457
2444
  const numChildren = children.size;
@@ -2460,202 +2447,7 @@ function calcChildStagger(children, child, delayChildren, staggerChildren = 0, s
2460
2447
  return delayIsFunction ? delayChildren(index, numChildren) : staggerDirection === 1 ? index * staggerChildren : maxStaggerDuration - index * staggerChildren;
2461
2448
  }
2462
2449
 
2463
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2464
- var splitCSSVariableRegex = (
2465
- // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2466
- /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2467
- );
2468
- function parseCSSVariable(current) {
2469
- const match = splitCSSVariableRegex.exec(current);
2470
- if (!match)
2471
- return [,];
2472
- const [, token1, token2, fallback] = match;
2473
- return [`--${token1 ?? token2}`, fallback];
2474
- }
2475
- var maxDepth = 4;
2476
- function getVariableValue(current, element, depth = 1) {
2477
- invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2478
- const [token, fallback] = parseCSSVariable(current);
2479
- if (!token)
2480
- return;
2481
- const resolved = window.getComputedStyle(element).getPropertyValue(token);
2482
- if (resolved) {
2483
- const trimmed = resolved.trim();
2484
- return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2485
- }
2486
- return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2487
- }
2488
-
2489
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2490
- var underDampedSpring = {
2491
- type: "spring",
2492
- stiffness: 500,
2493
- damping: 25,
2494
- restSpeed: 10
2495
- };
2496
- var criticallyDampedSpring = (target) => ({
2497
- type: "spring",
2498
- stiffness: 550,
2499
- damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2500
- restSpeed: 10
2501
- });
2502
- var keyframesTransition = {
2503
- type: "keyframes",
2504
- duration: 0.8
2505
- };
2506
- var ease = {
2507
- type: "keyframes",
2508
- ease: [0.25, 0.1, 0.35, 1],
2509
- duration: 0.3
2510
- };
2511
- var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2512
- if (keyframes2.length > 2) {
2513
- return keyframesTransition;
2514
- } else if (transformProps.has(valueKey)) {
2515
- return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2516
- }
2517
- return ease;
2518
- };
2519
-
2520
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2521
- function resolveTransition(transition, parentTransition) {
2522
- if (transition?.inherit && parentTransition) {
2523
- const { inherit: _, ...rest } = transition;
2524
- return { ...parentTransition, ...rest };
2525
- }
2526
- return transition;
2527
- }
2528
-
2529
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2530
- function getValueTransition(transition, key) {
2531
- const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2532
- if (valueTransition !== transition) {
2533
- return resolveTransition(valueTransition, transition);
2534
- }
2535
- return valueTransition;
2536
- }
2537
-
2538
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2539
- var orchestrationKeys = /* @__PURE__ */ new Set([
2540
- "when",
2541
- "delay",
2542
- "delayChildren",
2543
- "staggerChildren",
2544
- "staggerDirection",
2545
- "repeat",
2546
- "repeatType",
2547
- "repeatDelay",
2548
- "from",
2549
- "elapsed"
2550
- ]);
2551
- function isTransitionDefined(transition) {
2552
- for (const key in transition) {
2553
- if (!orchestrationKeys.has(key))
2554
- return true;
2555
- }
2556
- return false;
2557
- }
2558
-
2559
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2560
- var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2561
- const valueTransition = getValueTransition(transition, name) || {};
2562
- const delay2 = valueTransition.delay || transition.delay || 0;
2563
- let { elapsed = 0 } = transition;
2564
- elapsed = elapsed - secondsToMilliseconds(delay2);
2565
- const options = {
2566
- keyframes: Array.isArray(target) ? target : [null, target],
2567
- ease: "easeOut",
2568
- velocity: value.getVelocity(),
2569
- ...valueTransition,
2570
- delay: -elapsed,
2571
- onUpdate: (v) => {
2572
- value.set(v);
2573
- valueTransition.onUpdate && valueTransition.onUpdate(v);
2574
- },
2575
- onComplete: () => {
2576
- onComplete();
2577
- valueTransition.onComplete && valueTransition.onComplete();
2578
- },
2579
- name,
2580
- motionValue: value,
2581
- element: isHandoff ? void 0 : element
2582
- };
2583
- if (!isTransitionDefined(valueTransition)) {
2584
- Object.assign(options, getDefaultTransition(name, options));
2585
- }
2586
- options.duration && (options.duration = secondsToMilliseconds(options.duration));
2587
- options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2588
- if (options.from !== void 0) {
2589
- options.keyframes[0] = options.from;
2590
- }
2591
- let shouldSkip = false;
2592
- if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2593
- makeAnimationInstant(options);
2594
- if (options.delay === 0) {
2595
- shouldSkip = true;
2596
- }
2597
- }
2598
- if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations) {
2599
- shouldSkip = true;
2600
- makeAnimationInstant(options);
2601
- options.delay = 0;
2602
- }
2603
- options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2604
- if (shouldSkip && !isHandoff && value.get() !== void 0) {
2605
- const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2606
- if (finalKeyframe !== void 0) {
2607
- frame.update(() => {
2608
- options.onUpdate(finalKeyframe);
2609
- options.onComplete();
2610
- });
2611
- return;
2612
- }
2613
- }
2614
- return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2615
- };
2616
-
2617
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2618
- function getValueState(visualElement) {
2619
- const state = [{}, {}];
2620
- visualElement?.values.forEach((value, key) => {
2621
- state[0][key] = value.get();
2622
- state[1][key] = value.getVelocity();
2623
- });
2624
- return state;
2625
- }
2626
- function resolveVariantFromProps(props, definition, custom, visualElement) {
2627
- if (typeof definition === "function") {
2628
- const [current, velocity] = getValueState(visualElement);
2629
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2630
- }
2631
- if (typeof definition === "string") {
2632
- definition = props.variants && props.variants[definition];
2633
- }
2634
- if (typeof definition === "function") {
2635
- const [current, velocity] = getValueState(visualElement);
2636
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2637
- }
2638
- return definition;
2639
- }
2640
-
2641
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2642
- function resolveVariant(visualElement, definition, custom) {
2643
- const props = visualElement.getProps();
2644
- return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2645
- }
2646
-
2647
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2648
- var positionalKeys = /* @__PURE__ */ new Set([
2649
- "width",
2650
- "height",
2651
- "top",
2652
- "left",
2653
- "right",
2654
- "bottom",
2655
- ...transformPropOrder
2656
- ]);
2657
-
2658
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/index.mjs
2450
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/index.mjs
2659
2451
  var MAX_VELOCITY_DELTA = 30;
2660
2452
  var isFloat = (value) => {
2661
2453
  return !isNaN(parseFloat(value));
@@ -2906,46 +2698,241 @@ var MotionValue = class {
2906
2698
  }
2907
2699
  this.clearAnimation();
2908
2700
  }
2909
- /**
2910
- * Returns `true` if this value is currently animating.
2911
- *
2912
- * @public
2913
- */
2914
- isAnimating() {
2915
- return !!this.animation;
2701
+ /**
2702
+ * Returns `true` if this value is currently animating.
2703
+ *
2704
+ * @public
2705
+ */
2706
+ isAnimating() {
2707
+ return !!this.animation;
2708
+ }
2709
+ clearAnimation() {
2710
+ delete this.animation;
2711
+ }
2712
+ /**
2713
+ * Destroy and clean up subscribers to this `MotionValue`.
2714
+ *
2715
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2716
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2717
+ * created a `MotionValue` via the `motionValue` function.
2718
+ *
2719
+ * @public
2720
+ */
2721
+ destroy() {
2722
+ this.dependents?.clear();
2723
+ this.events.destroy?.notify();
2724
+ this.clearListeners();
2725
+ this.stop();
2726
+ if (this.stopPassiveEffect) {
2727
+ this.stopPassiveEffect();
2728
+ }
2729
+ }
2730
+ };
2731
+ function motionValue(init, options) {
2732
+ return new MotionValue(init, options);
2733
+ }
2734
+
2735
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2736
+ function resolveTransition(transition, parentTransition) {
2737
+ if (transition?.inherit && parentTransition) {
2738
+ const { inherit: _, ...rest } = transition;
2739
+ return { ...parentTransition, ...rest };
2740
+ }
2741
+ return transition;
2742
+ }
2743
+
2744
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2745
+ function getValueTransition(transition, key) {
2746
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2747
+ if (valueTransition !== transition) {
2748
+ return resolveTransition(valueTransition, transition);
2749
+ }
2750
+ return valueTransition;
2751
+ }
2752
+
2753
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2754
+ var underDampedSpring = {
2755
+ type: "spring",
2756
+ stiffness: 500,
2757
+ damping: 25,
2758
+ restSpeed: 10
2759
+ };
2760
+ var criticallyDampedSpring = (target) => ({
2761
+ type: "spring",
2762
+ stiffness: 550,
2763
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2764
+ restSpeed: 10
2765
+ });
2766
+ var keyframesTransition = {
2767
+ type: "keyframes",
2768
+ duration: 0.8
2769
+ };
2770
+ var ease = {
2771
+ type: "keyframes",
2772
+ ease: [0.25, 0.1, 0.35, 1],
2773
+ duration: 0.3
2774
+ };
2775
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2776
+ if (keyframes2.length > 2) {
2777
+ return keyframesTransition;
2778
+ } else if (transformProps.has(valueKey)) {
2779
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2780
+ }
2781
+ return ease;
2782
+ };
2783
+
2784
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2785
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2786
+ "when",
2787
+ "delay",
2788
+ "delayChildren",
2789
+ "staggerChildren",
2790
+ "staggerDirection",
2791
+ "repeat",
2792
+ "repeatType",
2793
+ "repeatDelay",
2794
+ "from",
2795
+ "elapsed"
2796
+ ]);
2797
+ function isTransitionDefined(transition) {
2798
+ for (const key in transition) {
2799
+ if (!orchestrationKeys.has(key))
2800
+ return true;
2801
+ }
2802
+ return false;
2803
+ }
2804
+
2805
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2806
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2807
+ const valueTransition = getValueTransition(transition, name) || {};
2808
+ const delay2 = valueTransition.delay || transition.delay || 0;
2809
+ let { elapsed = 0 } = transition;
2810
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2811
+ const options = {
2812
+ keyframes: Array.isArray(target) ? target : [null, target],
2813
+ ease: "easeOut",
2814
+ velocity: value.getVelocity(),
2815
+ ...valueTransition,
2816
+ delay: -elapsed,
2817
+ onUpdate: (v) => {
2818
+ value.set(v);
2819
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2820
+ },
2821
+ onComplete: () => {
2822
+ onComplete();
2823
+ valueTransition.onComplete && valueTransition.onComplete();
2824
+ },
2825
+ name,
2826
+ motionValue: value,
2827
+ element: isHandoff ? void 0 : element
2828
+ };
2829
+ if (!isTransitionDefined(valueTransition)) {
2830
+ Object.assign(options, getDefaultTransition(name, options));
2831
+ }
2832
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2833
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2834
+ if (options.from !== void 0) {
2835
+ options.keyframes[0] = options.from;
2836
+ }
2837
+ let shouldSkip = false;
2838
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2839
+ makeAnimationInstant(options);
2840
+ if (options.delay === 0) {
2841
+ shouldSkip = true;
2842
+ }
2916
2843
  }
2917
- clearAnimation() {
2918
- delete this.animation;
2844
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2845
+ shouldSkip = true;
2846
+ makeAnimationInstant(options);
2847
+ options.delay = 0;
2919
2848
  }
2920
- /**
2921
- * Destroy and clean up subscribers to this `MotionValue`.
2922
- *
2923
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2924
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2925
- * created a `MotionValue` via the `motionValue` function.
2926
- *
2927
- * @public
2928
- */
2929
- destroy() {
2930
- this.dependents?.clear();
2931
- this.events.destroy?.notify();
2932
- this.clearListeners();
2933
- this.stop();
2934
- if (this.stopPassiveEffect) {
2935
- this.stopPassiveEffect();
2849
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2850
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2851
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2852
+ if (finalKeyframe !== void 0) {
2853
+ frame.update(() => {
2854
+ options.onUpdate(finalKeyframe);
2855
+ options.onComplete();
2856
+ });
2857
+ return;
2936
2858
  }
2937
2859
  }
2860
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2938
2861
  };
2939
- function motionValue(init, options) {
2940
- return new MotionValue(init, options);
2862
+
2863
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2864
+ var splitCSSVariableRegex = (
2865
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2866
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2867
+ );
2868
+ function parseCSSVariable(current) {
2869
+ const match = splitCSSVariableRegex.exec(current);
2870
+ if (!match)
2871
+ return [,];
2872
+ const [, token1, token2, fallback] = match;
2873
+ return [`--${token1 ?? token2}`, fallback];
2874
+ }
2875
+ var maxDepth = 4;
2876
+ function getVariableValue(current, element, depth = 1) {
2877
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2878
+ const [token, fallback] = parseCSSVariable(current);
2879
+ if (!token)
2880
+ return;
2881
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2882
+ if (resolved) {
2883
+ const trimmed = resolved.trim();
2884
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2885
+ }
2886
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2887
+ }
2888
+
2889
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2890
+ function getValueState(visualElement) {
2891
+ const state = [{}, {}];
2892
+ visualElement?.values.forEach((value, key) => {
2893
+ state[0][key] = value.get();
2894
+ state[1][key] = value.getVelocity();
2895
+ });
2896
+ return state;
2897
+ }
2898
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2899
+ if (typeof definition === "function") {
2900
+ const [current, velocity] = getValueState(visualElement);
2901
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2902
+ }
2903
+ if (typeof definition === "string") {
2904
+ definition = props.variants && props.variants[definition];
2905
+ }
2906
+ if (typeof definition === "function") {
2907
+ const [current, velocity] = getValueState(visualElement);
2908
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2909
+ }
2910
+ return definition;
2911
+ }
2912
+
2913
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2914
+ function resolveVariant(visualElement, definition, custom) {
2915
+ const props = visualElement.getProps();
2916
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2941
2917
  }
2942
2918
 
2943
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2919
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2920
+ var positionalKeys = /* @__PURE__ */ new Set([
2921
+ "width",
2922
+ "height",
2923
+ "top",
2924
+ "left",
2925
+ "right",
2926
+ "bottom",
2927
+ ...transformPropOrder
2928
+ ]);
2929
+
2930
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2944
2931
  var isKeyframesTarget = (v) => {
2945
2932
  return Array.isArray(v);
2946
2933
  };
2947
2934
 
2948
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2935
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2949
2936
  function setMotionValue(visualElement, key, value) {
2950
2937
  if (visualElement.hasValue(key)) {
2951
2938
  visualElement.getValue(key).set(value);
@@ -2966,15 +2953,15 @@ function setTarget(visualElement, definition) {
2966
2953
  }
2967
2954
  }
2968
2955
 
2969
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2956
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2970
2957
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2971
2958
 
2972
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2959
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2973
2960
  function isWillChangeMotionValue(value) {
2974
2961
  return Boolean(isMotionValue(value) && value.add);
2975
2962
  }
2976
2963
 
2977
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2964
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2978
2965
  function addValueToWillChange(visualElement, key) {
2979
2966
  const willChange = visualElement.getValue("willChange");
2980
2967
  if (isWillChangeMotionValue(willChange)) {
@@ -2986,21 +2973,22 @@ function addValueToWillChange(visualElement, key) {
2986
2973
  }
2987
2974
  }
2988
2975
 
2989
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2976
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2990
2977
  function camelToDash(str) {
2991
2978
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
2992
2979
  }
2993
2980
 
2994
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2981
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2995
2982
  var optimizedAppearDataId = "framerAppearId";
2996
2983
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
2997
2984
 
2998
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2985
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2999
2986
  function getOptimisedAppearId(visualElement) {
3000
2987
  return visualElement.props[optimizedAppearDataAttribute];
3001
2988
  }
3002
2989
 
3003
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2990
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2991
+ var isBrowser2 = typeof window !== "undefined";
3004
2992
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
3005
2993
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
3006
2994
  needsAnimating[key] = false;
@@ -3011,10 +2999,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3011
2999
  const defaultTransition = visualElement.getDefaultTransition();
3012
3000
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
3013
3001
  const reduceMotion = transition?.reduceMotion;
3002
+ const skipAnimations = transition?.skipAnimations;
3014
3003
  if (transitionOverride)
3015
3004
  transition = transitionOverride;
3016
3005
  const animations2 = [];
3017
3006
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
3007
+ const path = transition?.path;
3008
+ if (path) {
3009
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
3010
+ }
3018
3011
  for (const key in target) {
3019
3012
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
3020
3013
  const valueTarget = target[key];
@@ -3025,13 +3018,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3025
3018
  delay: delay2,
3026
3019
  ...getValueTransition(transition || {}, key)
3027
3020
  };
3021
+ if (skipAnimations)
3022
+ valueTransition.skipAnimations = true;
3028
3023
  const currentValue = value.get();
3029
3024
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3030
3025
  frame.update(() => value.set(valueTarget));
3031
3026
  continue;
3032
3027
  }
3033
3028
  let isHandoff = false;
3034
- if (window.MotionHandoffAnimation) {
3029
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3035
3030
  const appearId = getOptimisedAppearId(visualElement);
3036
3031
  if (appearId) {
3037
3032
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3062,7 +3057,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3062
3057
  return animations2;
3063
3058
  }
3064
3059
 
3065
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3060
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3066
3061
  function animateVariant(visualElement, variant, options = {}) {
3067
3062
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3068
3063
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3094,7 +3089,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3094
3089
  return Promise.all(animations2);
3095
3090
  }
3096
3091
 
3097
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3092
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3098
3093
  function animateVisualElement(visualElement, definition, options = {}) {
3099
3094
  visualElement.notify("AnimationStart", definition);
3100
3095
  let animation;
@@ -3112,20 +3107,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3112
3107
  });
3113
3108
  }
3114
3109
 
3115
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3110
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3116
3111
  var auto = {
3117
3112
  test: (v) => v === "auto",
3118
3113
  parse: (v) => v
3119
3114
  };
3120
3115
 
3121
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3116
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3122
3117
  var testValueType = (v) => (type) => type.test(v);
3123
3118
 
3124
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3119
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3125
3120
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3126
3121
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3127
3122
 
3128
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3123
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3129
3124
  function isNone(value) {
3130
3125
  if (typeof value === "number") {
3131
3126
  return value === 0;
@@ -3136,7 +3131,7 @@ function isNone(value) {
3136
3131
  }
3137
3132
  }
3138
3133
 
3139
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3134
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3140
3135
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3141
3136
  function applyDefaultFilter(v) {
3142
3137
  const [name, value] = v.slice(0, -1).split("(");
@@ -3160,7 +3155,7 @@ var filter = {
3160
3155
  }
3161
3156
  };
3162
3157
 
3163
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3158
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3164
3159
  var mask = {
3165
3160
  ...complex,
3166
3161
  getAnimatableNone: (v) => {
@@ -3170,15 +3165,21 @@ var mask = {
3170
3165
  }
3171
3166
  };
3172
3167
 
3173
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3168
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3174
3169
  var int = {
3175
3170
  ...number,
3176
3171
  transform: Math.round
3177
3172
  };
3178
3173
 
3179
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3174
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3180
3175
  var transformValueTypes = {
3181
3176
  rotate: degrees,
3177
+ /**
3178
+ * Internal channel for `transition.path` orientToPath. Composed onto
3179
+ * `rotate` at the transform-build sites so the user's `rotate` is
3180
+ * never read or overwritten. Not part of `transformPropOrder`.
3181
+ */
3182
+ pathRotation: degrees,
3182
3183
  rotateX: degrees,
3183
3184
  rotateY: degrees,
3184
3185
  rotateZ: degrees,
@@ -3204,7 +3205,7 @@ var transformValueTypes = {
3204
3205
  originZ: px
3205
3206
  };
3206
3207
 
3207
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3208
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3208
3209
  var numberValueTypes = {
3209
3210
  // Border props
3210
3211
  borderWidth: px,
@@ -3269,7 +3270,7 @@ var numberValueTypes = {
3269
3270
  numOctaves: int
3270
3271
  };
3271
3272
 
3272
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3273
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3273
3274
  var defaultValueTypes = {
3274
3275
  ...numberValueTypes,
3275
3276
  // Color props
@@ -3291,7 +3292,7 @@ var defaultValueTypes = {
3291
3292
  };
3292
3293
  var getDefaultValueType = (key) => defaultValueTypes[key];
3293
3294
 
3294
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3295
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3295
3296
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3296
3297
  function getAnimatableNone2(key, value) {
3297
3298
  let defaultValueType = getDefaultValueType(key);
@@ -3300,7 +3301,7 @@ function getAnimatableNone2(key, value) {
3300
3301
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3301
3302
  }
3302
3303
 
3303
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3304
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3304
3305
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3305
3306
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3306
3307
  let i = 0;
@@ -3319,7 +3320,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3319
3320
  }
3320
3321
  }
3321
3322
 
3322
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3323
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3323
3324
  var DOMKeyframesResolver = class extends KeyframeResolver {
3324
3325
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3325
3326
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3417,7 +3418,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3417
3418
  }
3418
3419
  };
3419
3420
 
3420
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3421
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3422
+ var cornerRadiusProps = [
3423
+ "borderTopLeftRadius",
3424
+ "borderTopRightRadius",
3425
+ "borderBottomRightRadius",
3426
+ "borderBottomLeftRadius"
3427
+ ];
3428
+
3429
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3421
3430
  function resolveElements(elementOrSelector, scope, selectorCache) {
3422
3431
  if (elementOrSelector == null) {
3423
3432
  return [];
@@ -3432,20 +3441,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3432
3441
  return Array.from(elementOrSelector).filter((element) => element != null);
3433
3442
  }
3434
3443
 
3435
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3444
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3436
3445
  var getValueAsType = (value, type) => {
3437
3446
  return type && typeof value === "number" ? type.transform(value) : value;
3438
3447
  };
3439
3448
 
3440
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3449
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3441
3450
  function isHTMLElement(element) {
3442
3451
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3443
3452
  }
3444
3453
 
3445
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3454
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3446
3455
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3447
3456
 
3448
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3457
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3449
3458
  var isDragging = {
3450
3459
  x: false,
3451
3460
  y: false
@@ -3454,7 +3463,7 @@ function isDragActive() {
3454
3463
  return isDragging.x || isDragging.y;
3455
3464
  }
3456
3465
 
3457
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3466
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3458
3467
  function setDragLock(axis) {
3459
3468
  if (axis === "x" || axis === "y") {
3460
3469
  if (isDragging[axis]) {
@@ -3477,7 +3486,7 @@ function setDragLock(axis) {
3477
3486
  }
3478
3487
  }
3479
3488
 
3480
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3489
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3481
3490
  function setupGesture(elementOrSelector, options) {
3482
3491
  const elements = resolveElements(elementOrSelector);
3483
3492
  const gestureAbortController = new AbortController();
@@ -3490,7 +3499,7 @@ function setupGesture(elementOrSelector, options) {
3490
3499
  return [elements, eventOptions, cancel];
3491
3500
  }
3492
3501
 
3493
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3502
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3494
3503
  function isValidHover(event) {
3495
3504
  return !(event.pointerType === "touch" || isDragActive());
3496
3505
  }
@@ -3549,7 +3558,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3549
3558
  return cancel;
3550
3559
  }
3551
3560
 
3552
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3561
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3553
3562
  var isNodeOrChild = (parent, child) => {
3554
3563
  if (!child) {
3555
3564
  return false;
@@ -3560,7 +3569,7 @@ var isNodeOrChild = (parent, child) => {
3560
3569
  }
3561
3570
  };
3562
3571
 
3563
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3572
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3564
3573
  var isPrimaryPointer = (event) => {
3565
3574
  if (event.pointerType === "mouse") {
3566
3575
  return typeof event.button !== "number" || event.button <= 0;
@@ -3569,7 +3578,7 @@ var isPrimaryPointer = (event) => {
3569
3578
  }
3570
3579
  };
3571
3580
 
3572
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3581
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3573
3582
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3574
3583
  "BUTTON",
3575
3584
  "INPUT",
@@ -3585,10 +3594,10 @@ function isElementTextInput(element) {
3585
3594
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3586
3595
  }
3587
3596
 
3588
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3597
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3589
3598
  var isPressing = /* @__PURE__ */ new WeakSet();
3590
3599
 
3591
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3600
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3592
3601
  function filterEvents(callback) {
3593
3602
  return (event) => {
3594
3603
  if (event.key !== "Enter")
@@ -3618,7 +3627,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3618
3627
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3619
3628
  };
3620
3629
 
3621
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3630
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3622
3631
  function isValidPressEvent(event) {
3623
3632
  return isPrimaryPointer(event) && !isDragActive();
3624
3633
  }
@@ -3636,9 +3645,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3636
3645
  claimedPointerDownEvents.add(startEvent);
3637
3646
  }
3638
3647
  const onPressEnd = onPressStart(target, startEvent);
3648
+ const endEventOptions = { ...eventOptions, capture: true };
3639
3649
  const onPointerEnd = (endEvent, success) => {
3640
- window.removeEventListener("pointerup", onPointerUp);
3641
- window.removeEventListener("pointercancel", onPointerCancel);
3650
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3651
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3642
3652
  if (isPressing.has(target)) {
3643
3653
  isPressing.delete(target);
3644
3654
  }
@@ -3655,8 +3665,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3655
3665
  const onPointerCancel = (cancelEvent) => {
3656
3666
  onPointerEnd(cancelEvent, false);
3657
3667
  };
3658
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3659
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3668
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3669
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3660
3670
  };
3661
3671
  targets.forEach((target) => {
3662
3672
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3671,12 +3681,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3671
3681
  return cancelEvents;
3672
3682
  }
3673
3683
 
3674
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3684
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3675
3685
  function isSVGElement(element) {
3676
3686
  return isObject(element) && "ownerSVGElement" in element;
3677
3687
  }
3678
3688
 
3679
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3689
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3680
3690
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3681
3691
  var observer;
3682
3692
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3734,7 +3744,7 @@ function resizeElement(target, handler) {
3734
3744
  };
3735
3745
  }
3736
3746
 
3737
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3747
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3738
3748
  var windowCallbacks = /* @__PURE__ */ new Set();
3739
3749
  var windowResizeHandler;
3740
3750
  function createWindowResizeHandler() {
@@ -3764,17 +3774,17 @@ function resizeWindow(callback) {
3764
3774
  };
3765
3775
  }
3766
3776
 
3767
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3777
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3768
3778
  function resize(a, b) {
3769
3779
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3770
3780
  }
3771
3781
 
3772
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3782
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3773
3783
  function isSVGSVGElement(element) {
3774
3784
  return isSVGElement(element) && element.tagName === "svg";
3775
3785
  }
3776
3786
 
3777
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/transform.mjs
3787
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/transform.mjs
3778
3788
  function transform(...args) {
3779
3789
  const useImmediate = !Array.isArray(args[0]);
3780
3790
  const argOffset = useImmediate ? 0 : -1;
@@ -3786,7 +3796,7 @@ function transform(...args) {
3786
3796
  return useImmediate ? interpolator(inputValue) : interpolator;
3787
3797
  }
3788
3798
 
3789
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/follow-value.mjs
3799
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/follow-value.mjs
3790
3800
  function attachFollow(value, source, options = {}) {
3791
3801
  const initialValue = value.get();
3792
3802
  let activeAnimation = null;
@@ -3859,11 +3869,11 @@ function asNumber(v) {
3859
3869
  return typeof v === "number" ? v : parseFloat(v);
3860
3870
  }
3861
3871
 
3862
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3872
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3863
3873
  var valueTypes = [...dimensionValueTypes, color, complex];
3864
3874
  var findValueType = (v) => valueTypes.find(testValueType(v));
3865
3875
 
3866
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3876
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3867
3877
  var createAxisDelta = () => ({
3868
3878
  translate: 0,
3869
3879
  scale: 1,
@@ -3880,20 +3890,20 @@ var createBox = () => ({
3880
3890
  y: createAxis()
3881
3891
  });
3882
3892
 
3883
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3893
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3884
3894
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3885
3895
 
3886
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3896
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3887
3897
  function isAnimationControls(v) {
3888
3898
  return v !== null && typeof v === "object" && typeof v.start === "function";
3889
3899
  }
3890
3900
 
3891
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3901
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3892
3902
  function isVariantLabel(v) {
3893
3903
  return typeof v === "string" || Array.isArray(v);
3894
3904
  }
3895
3905
 
3896
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3906
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3897
3907
  var variantPriorityOrder = [
3898
3908
  "animate",
3899
3909
  "whileInView",
@@ -3905,7 +3915,7 @@ var variantPriorityOrder = [
3905
3915
  ];
3906
3916
  var variantProps = ["initial", ...variantPriorityOrder];
3907
3917
 
3908
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3918
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3909
3919
  function isControllingVariants(props) {
3910
3920
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3911
3921
  }
@@ -3913,7 +3923,7 @@ function isVariantNode(props) {
3913
3923
  return Boolean(isControllingVariants(props) || props.variants);
3914
3924
  }
3915
3925
 
3916
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3926
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3917
3927
  function updateMotionValuesFromProps(element, next, prev) {
3918
3928
  for (const key in next) {
3919
3929
  const nextValue = next[key];
@@ -3943,15 +3953,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3943
3953
  return next;
3944
3954
  }
3945
3955
 
3946
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3956
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3947
3957
  var prefersReducedMotion = { current: null };
3948
3958
  var hasReducedMotionListener = { current: false };
3949
3959
 
3950
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3951
- var isBrowser2 = typeof window !== "undefined";
3960
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3961
+ var isBrowser3 = typeof window !== "undefined";
3952
3962
  function initPrefersReducedMotion() {
3953
3963
  hasReducedMotionListener.current = true;
3954
- if (!isBrowser2)
3964
+ if (!isBrowser3)
3955
3965
  return;
3956
3966
  if (window.matchMedia) {
3957
3967
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3963,7 +3973,7 @@ function initPrefersReducedMotion() {
3963
3973
  }
3964
3974
  }
3965
3975
 
3966
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3976
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3967
3977
  var propEventHandlers = [
3968
3978
  "AnimationStart",
3969
3979
  "AnimationComplete",
@@ -4152,8 +4162,6 @@ var VisualElement = class {
4152
4162
  removeOnChange();
4153
4163
  if (removeSyncCheck)
4154
4164
  removeSyncCheck();
4155
- if (value.owner)
4156
- value.stop();
4157
4165
  });
4158
4166
  }
4159
4167
  sortNodePosition(other) {
@@ -4364,7 +4372,7 @@ var VisualElement = class {
4364
4372
  }
4365
4373
  };
4366
4374
 
4367
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4375
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4368
4376
  var DOMVisualElement = class extends VisualElement {
4369
4377
  constructor() {
4370
4378
  super(...arguments);
@@ -4397,7 +4405,7 @@ var DOMVisualElement = class extends VisualElement {
4397
4405
  }
4398
4406
  };
4399
4407
 
4400
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4408
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4401
4409
  var Feature = class {
4402
4410
  constructor(node) {
4403
4411
  this.isMounted = false;
@@ -4407,7 +4415,7 @@ var Feature = class {
4407
4415
  }
4408
4416
  };
4409
4417
 
4410
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4418
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4411
4419
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4412
4420
  return {
4413
4421
  x: { min: left, max: right },
@@ -4430,7 +4438,7 @@ function transformBoxPoints(point, transformPoint2) {
4430
4438
  };
4431
4439
  }
4432
4440
 
4433
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4441
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4434
4442
  function isIdentityScale(scale2) {
4435
4443
  return scale2 === void 0 || scale2 === 1;
4436
4444
  }
@@ -4447,7 +4455,7 @@ function is2DTranslate(value) {
4447
4455
  return value && value !== "0%";
4448
4456
  }
4449
4457
 
4450
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4458
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4451
4459
  function scalePoint(point, scale2, originPoint) {
4452
4460
  const distanceFromOrigin = point - originPoint;
4453
4461
  const scaled = scale2 * distanceFromOrigin;
@@ -4523,7 +4531,7 @@ function transformBox(box, transform2, sourceBox) {
4523
4531
  transformAxis(box.y, resolveAxisTranslate(transform2.y, resolveBox.y), transform2.scaleY, transform2.scale, transform2.originY);
4524
4532
  }
4525
4533
 
4526
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4534
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4527
4535
  function measureViewportBox(instance, transformPoint2) {
4528
4536
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4529
4537
  }
@@ -4537,7 +4545,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4537
4545
  return viewportBox;
4538
4546
  }
4539
4547
 
4540
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4548
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4541
4549
  var translateAlias = {
4542
4550
  x: "translateX",
4543
4551
  y: "translateY",
@@ -4572,6 +4580,11 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4572
4580
  }
4573
4581
  }
4574
4582
  }
4583
+ const pathRotation = latestValues.pathRotation;
4584
+ if (pathRotation) {
4585
+ transformIsDefault = false;
4586
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4587
+ }
4575
4588
  transformString = transformString.trim();
4576
4589
  if (transformTemplate) {
4577
4590
  transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString);
@@ -4581,7 +4594,7 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4581
4594
  return transformString;
4582
4595
  }
4583
4596
 
4584
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4597
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4585
4598
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4586
4599
  const { style, vars, transformOrigin } = state;
4587
4600
  let hasTransform2 = false;
@@ -4617,7 +4630,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4617
4630
  }
4618
4631
  }
4619
4632
 
4620
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4633
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4621
4634
  function renderHTML(element, { style, vars }, styleProp, projection) {
4622
4635
  const elementStyle = element.style;
4623
4636
  let key;
@@ -4630,7 +4643,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4630
4643
  }
4631
4644
  }
4632
4645
 
4633
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4646
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4634
4647
  function pixelsToPercent(pixels, axis) {
4635
4648
  if (axis.max === axis.min)
4636
4649
  return 0;
@@ -4653,7 +4666,7 @@ var correctBorderRadius = {
4653
4666
  }
4654
4667
  };
4655
4668
 
4656
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4669
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4657
4670
  var correctBoxShadow = {
4658
4671
  correct: (latest, { treeScale, projectionDelta }) => {
4659
4672
  const original = latest;
@@ -4675,16 +4688,11 @@ var correctBoxShadow = {
4675
4688
  }
4676
4689
  };
4677
4690
 
4678
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4691
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4679
4692
  var scaleCorrectors = {
4680
4693
  borderRadius: {
4681
4694
  ...correctBorderRadius,
4682
- applyTo: [
4683
- "borderTopLeftRadius",
4684
- "borderTopRightRadius",
4685
- "borderBottomLeftRadius",
4686
- "borderBottomRightRadius"
4687
- ]
4695
+ applyTo: [...cornerRadiusProps]
4688
4696
  },
4689
4697
  borderTopLeftRadius: correctBorderRadius,
4690
4698
  borderTopRightRadius: correctBorderRadius,
@@ -4693,12 +4701,12 @@ var scaleCorrectors = {
4693
4701
  boxShadow: correctBoxShadow
4694
4702
  };
4695
4703
 
4696
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4704
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4697
4705
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4698
4706
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4699
4707
  }
4700
4708
 
4701
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4709
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4702
4710
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4703
4711
  const style = props.style;
4704
4712
  const prevStyle = prevProps?.style;
@@ -4713,7 +4721,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4713
4721
  return newValues;
4714
4722
  }
4715
4723
 
4716
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4724
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4717
4725
  function getComputedStyle2(element) {
4718
4726
  return window.getComputedStyle(element);
4719
4727
  }
@@ -4723,6 +4731,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4723
4731
  this.type = "html";
4724
4732
  this.renderInstance = renderHTML;
4725
4733
  }
4734
+ mount(instance) {
4735
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4736
+ super.mount(instance);
4737
+ }
4726
4738
  readValueFromInstance(instance, key) {
4727
4739
  if (transformProps.has(key)) {
4728
4740
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4743,7 +4755,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4743
4755
  }
4744
4756
  };
4745
4757
 
4746
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4758
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4747
4759
  var dashKeys = {
4748
4760
  offset: "stroke-dashoffset",
4749
4761
  array: "stroke-dasharray"
@@ -4759,8 +4771,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4759
4771
  attrs[keys.array] = `${length} ${spacing}`;
4760
4772
  }
4761
4773
 
4762
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4763
- var cssMotionPathProperties = [
4774
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4775
+ var cssStyleProperties = [
4776
+ "transform",
4777
+ "opacity",
4764
4778
  "offsetDistance",
4765
4779
  "offsetPath",
4766
4780
  "offsetRotate",
@@ -4786,9 +4800,11 @@ function buildSVGAttrs(state, {
4786
4800
  state.attrs = state.style;
4787
4801
  state.style = {};
4788
4802
  const { attrs, style } = state;
4789
- if (attrs.transform) {
4790
- style.transform = attrs.transform;
4791
- delete attrs.transform;
4803
+ for (const key of cssStyleProperties) {
4804
+ if (attrs[key] !== void 0) {
4805
+ style[key] = attrs[key];
4806
+ delete attrs[key];
4807
+ }
4792
4808
  }
4793
4809
  if (style.transform || attrs.transformOrigin) {
4794
4810
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4798,12 +4814,6 @@ function buildSVGAttrs(state, {
4798
4814
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4799
4815
  delete attrs.transformBox;
4800
4816
  }
4801
- for (const key of cssMotionPathProperties) {
4802
- if (attrs[key] !== void 0) {
4803
- style[key] = attrs[key];
4804
- delete attrs[key];
4805
- }
4806
- }
4807
4817
  if (attrX !== void 0)
4808
4818
  attrs.x = attrX;
4809
4819
  if (attrY !== void 0)
@@ -4815,7 +4825,7 @@ function buildSVGAttrs(state, {
4815
4825
  }
4816
4826
  }
4817
4827
 
4818
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4828
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4819
4829
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4820
4830
  "baseFrequency",
4821
4831
  "diffuseConstant",
@@ -4842,10 +4852,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4842
4852
  "lengthAdjust"
4843
4853
  ]);
4844
4854
 
4845
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4855
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4846
4856
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4847
4857
 
4848
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4858
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4849
4859
  function renderSVG(element, renderState, _styleProp, projection) {
4850
4860
  renderHTML(element, renderState, void 0, projection);
4851
4861
  for (const key in renderState.attrs) {
@@ -4853,7 +4863,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4853
4863
  }
4854
4864
  }
4855
4865
 
4856
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4866
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4857
4867
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4858
4868
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4859
4869
  for (const key in props) {
@@ -4865,7 +4875,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4865
4875
  return newValues;
4866
4876
  }
4867
4877
 
4868
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4878
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4869
4879
  var SVGVisualElement = class extends DOMVisualElement {
4870
4880
  constructor() {
4871
4881
  super(...arguments);
@@ -4881,6 +4891,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4881
4891
  const defaultType = getDefaultValueType(key);
4882
4892
  return defaultType ? defaultType.default || 0 : 0;
4883
4893
  }
4894
+ if (cssStyleProperties.includes(key)) {
4895
+ const computedStyle = getComputedStyle(instance);
4896
+ const value = computedStyle[key];
4897
+ if (typeof value === "string" && value)
4898
+ return value.trim();
4899
+ }
4884
4900
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4885
4901
  return instance.getAttribute(key);
4886
4902
  }
@@ -4899,7 +4915,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4899
4915
  }
4900
4916
  };
4901
4917
 
4902
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4918
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4903
4919
  var numVariantProps = variantProps.length;
4904
4920
  function getVariantContext(visualElement) {
4905
4921
  if (!visualElement)
@@ -4922,7 +4938,7 @@ function getVariantContext(visualElement) {
4922
4938
  return context;
4923
4939
  }
4924
4940
 
4925
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4941
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4926
4942
  function shallowCompare(next, prev) {
4927
4943
  if (!Array.isArray(prev))
4928
4944
  return false;
@@ -4936,7 +4952,7 @@ function shallowCompare(next, prev) {
4936
4952
  return true;
4937
4953
  }
4938
4954
 
4939
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4955
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4940
4956
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4941
4957
  var numAnimationTypes = variantPriorityOrder.length;
4942
4958
  function createAnimateFunction(visualElement) {
@@ -5029,7 +5045,7 @@ function createAnimationState(visualElement) {
5029
5045
  continue;
5030
5046
  let valueHasChanged = false;
5031
5047
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
5032
- valueHasChanged = !shallowCompare(next, prev);
5048
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
5033
5049
  } else {
5034
5050
  valueHasChanged = next !== prev;
5035
5051
  }
@@ -5148,7 +5164,7 @@ function createState() {
5148
5164
  };
5149
5165
  }
5150
5166
 
5151
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5167
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5152
5168
  function copyAxisInto(axis, originAxis) {
5153
5169
  axis.min = originAxis.min;
5154
5170
  axis.max = originAxis.max;
@@ -5164,7 +5180,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5164
5180
  delta.origin = originDelta.origin;
5165
5181
  }
5166
5182
 
5167
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5183
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5168
5184
  var SCALE_PRECISION = 1e-4;
5169
5185
  var SCALE_MIN = 1 - SCALE_PRECISION;
5170
5186
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5212,7 +5228,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5212
5228
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5213
5229
  }
5214
5230
 
5215
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5231
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5216
5232
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5217
5233
  point -= translate;
5218
5234
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5245,7 +5261,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5245
5261
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5246
5262
  }
5247
5263
 
5248
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5264
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5249
5265
  function isAxisDeltaZero(delta) {
5250
5266
  return delta.translate === 0 && delta.scale === 1;
5251
5267
  }
@@ -5271,12 +5287,12 @@ function axisDeltaEquals(a, b) {
5271
5287
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5272
5288
  }
5273
5289
 
5274
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5290
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5275
5291
  function eachAxis(callback) {
5276
5292
  return [callback("x"), callback("y")];
5277
5293
  }
5278
5294
 
5279
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5295
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5280
5296
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5281
5297
  let transform2 = "";
5282
5298
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5289,11 +5305,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5289
5305
  transform2 += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5290
5306
  }
5291
5307
  if (latestTransform) {
5292
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5308
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5293
5309
  if (transformPerspective)
5294
5310
  transform2 = `perspective(${transformPerspective}px) ${transform2}`;
5295
5311
  if (rotate2)
5296
5312
  transform2 += `rotate(${rotate2}deg) `;
5313
+ if (pathRotation)
5314
+ transform2 += `rotate(${pathRotation}deg) `;
5297
5315
  if (rotateX)
5298
5316
  transform2 += `rotateX(${rotateX}deg) `;
5299
5317
  if (rotateY)
@@ -5311,14 +5329,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5311
5329
  return transform2 || "none";
5312
5330
  }
5313
5331
 
5314
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5315
- var borderLabels = [
5316
- "borderTopLeftRadius",
5317
- "borderTopRightRadius",
5318
- "borderBottomLeftRadius",
5319
- "borderBottomRightRadius"
5320
- ];
5321
- var numBorders = borderLabels.length;
5332
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5333
+ var numBorders = cornerRadiusProps.length;
5322
5334
  var asNumber2 = (value) => typeof value === "string" ? parseFloat(value) : value;
5323
5335
  var isPx = (value) => typeof value === "number" || px.test(value);
5324
5336
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5329,7 +5341,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5329
5341
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5330
5342
  }
5331
5343
  for (let i = 0; i < numBorders; i++) {
5332
- const borderLabel = borderLabels[i];
5344
+ const borderLabel = cornerRadiusProps[i];
5333
5345
  let followRadius = getRadius(follow, borderLabel);
5334
5346
  let leadRadius = getRadius(lead, borderLabel);
5335
5347
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5365,23 +5377,23 @@ function compress(min, max, easing) {
5365
5377
  };
5366
5378
  }
5367
5379
 
5368
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5380
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5369
5381
  function animateSingleValue(value, keyframes2, options) {
5370
5382
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5371
5383
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5372
5384
  return motionValue$1.animation;
5373
5385
  }
5374
5386
 
5375
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5387
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5376
5388
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5377
5389
  target.addEventListener(eventName, handler, options);
5378
- return () => target.removeEventListener(eventName, handler);
5390
+ return () => target.removeEventListener(eventName, handler, options);
5379
5391
  }
5380
5392
 
5381
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5393
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5382
5394
  var compareByDepth = (a, b) => a.depth - b.depth;
5383
5395
 
5384
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5396
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5385
5397
  var FlatTree = class {
5386
5398
  constructor() {
5387
5399
  this.children = [];
@@ -5402,7 +5414,7 @@ var FlatTree = class {
5402
5414
  }
5403
5415
  };
5404
5416
 
5405
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5417
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5406
5418
  function delay(callback, timeout) {
5407
5419
  const start = time.now();
5408
5420
  const checkElapsed = ({ timestamp }) => {
@@ -5416,12 +5428,12 @@ function delay(callback, timeout) {
5416
5428
  return () => cancelFrame(checkElapsed);
5417
5429
  }
5418
5430
 
5419
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5431
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5420
5432
  function resolveMotionValue(value) {
5421
5433
  return isMotionValue(value) ? value.get() : value;
5422
5434
  }
5423
5435
 
5424
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5436
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5425
5437
  var NodeStack = class {
5426
5438
  constructor() {
5427
5439
  this.members = [];
@@ -5502,7 +5514,7 @@ var NodeStack = class {
5502
5514
  }
5503
5515
  };
5504
5516
 
5505
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5517
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5506
5518
  var globalProjectionState = {
5507
5519
  /**
5508
5520
  * Global flag as to whether the tree has animated since the last time
@@ -5683,7 +5695,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5683
5695
  animationOptions.type = false;
5684
5696
  }
5685
5697
  this.startAnimation(animationOptions);
5686
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5698
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5687
5699
  } else {
5688
5700
  if (!hasLayoutChanged) {
5689
5701
  finishAnimation(this);
@@ -6155,7 +6167,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6155
6167
  this.projectionDelta = createDelta();
6156
6168
  this.projectionDeltaWithTransform = createDelta();
6157
6169
  }
6158
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6170
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6159
6171
  const snapshot = this.snapshot;
6160
6172
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6161
6173
  const mixedValues = { ...this.latestValues };
@@ -6173,10 +6185,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6173
6185
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6174
6186
  this.animationProgress = 0;
6175
6187
  let prevRelativeTarget;
6188
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6176
6189
  this.mixTargetDelta = (latest) => {
6177
6190
  const progress2 = latest / 1e3;
6178
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6179
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6191
+ const point = interpolate2?.(progress2);
6192
+ if (point) {
6193
+ targetDelta.x.translate = point.x;
6194
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6195
+ targetDelta.x.origin = delta.x.origin;
6196
+ targetDelta.x.originPoint = delta.x.originPoint;
6197
+ targetDelta.y.translate = point.y;
6198
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6199
+ targetDelta.y.origin = delta.y.origin;
6200
+ targetDelta.y.originPoint = delta.y.originPoint;
6201
+ } else {
6202
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6203
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6204
+ }
6180
6205
  this.setTargetDelta(targetDelta);
6181
6206
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6182
6207
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6192,6 +6217,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6192
6217
  this.animationValues = mixedValues;
6193
6218
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6194
6219
  }
6220
+ if (point && point.rotate !== void 0) {
6221
+ if (!this.animationValues)
6222
+ this.animationValues = mixedValues;
6223
+ this.animationValues.pathRotation = point.rotate;
6224
+ }
6195
6225
  this.root.scheduleUpdateProjection();
6196
6226
  this.scheduleRender();
6197
6227
  this.animationProgress = progress2;
@@ -6218,8 +6248,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6218
6248
  this.mixTargetDelta(latest);
6219
6249
  options.onUpdate && options.onUpdate(latest);
6220
6250
  },
6221
- onStop: () => {
6222
- },
6223
6251
  onComplete: () => {
6224
6252
  options.onComplete && options.onComplete();
6225
6253
  this.completeAnimation();
@@ -6548,7 +6576,7 @@ function resetSkewAndRotation(node) {
6548
6576
  function removeLeadSnapshots(stack) {
6549
6577
  stack.removeLeadSnapshot();
6550
6578
  }
6551
- function mixAxisDelta(output, delta, p) {
6579
+ function mixAxisDeltaLinear(output, delta, p) {
6552
6580
  output.translate = mixNumber(delta.translate, 0, p);
6553
6581
  output.scale = mixNumber(delta.scale, 1, p);
6554
6582
  output.origin = delta.origin;
@@ -6586,7 +6614,7 @@ function checkNodeWasScrollRoot(node) {
6586
6614
  return node !== node.root && node.scroll?.wasRoot;
6587
6615
  }
6588
6616
 
6589
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6617
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6590
6618
  var DocumentProjectionNode = createProjectionNode({
6591
6619
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6592
6620
  measureScroll: () => ({
@@ -6596,7 +6624,7 @@ var DocumentProjectionNode = createProjectionNode({
6596
6624
  checkIsScrollRoot: () => true
6597
6625
  });
6598
6626
 
6599
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6627
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6600
6628
  var rootProjectionNode = {
6601
6629
  current: void 0
6602
6630
  };
@@ -6640,7 +6668,7 @@ function usePresence(subscribe = true) {
6640
6668
  }
6641
6669
  var LazyContext = React.createContext({ strict: false });
6642
6670
 
6643
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/definitions.mjs
6671
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/definitions.mjs
6644
6672
  var featureProps = {
6645
6673
  animation: [
6646
6674
  "animate",
@@ -6679,7 +6707,7 @@ function getInitializedFeatureDefinitions() {
6679
6707
  return getFeatureDefinitions();
6680
6708
  }
6681
6709
 
6682
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/load-features.mjs
6710
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/load-features.mjs
6683
6711
  function loadFeatures(features) {
6684
6712
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6685
6713
  for (const key in features) {
@@ -6690,74 +6718,9 @@ function loadFeatures(features) {
6690
6718
  }
6691
6719
  setFeatureDefinitions(featureDefinitions2);
6692
6720
  }
6693
-
6694
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs
6695
- var validMotionProps = /* @__PURE__ */ new Set([
6696
- "animate",
6697
- "exit",
6698
- "variants",
6699
- "initial",
6700
- "style",
6701
- "values",
6702
- "variants",
6703
- "transition",
6704
- "transformTemplate",
6705
- "custom",
6706
- "inherit",
6707
- "onBeforeLayoutMeasure",
6708
- "onAnimationStart",
6709
- "onAnimationComplete",
6710
- "onUpdate",
6711
- "onDragStart",
6712
- "onDrag",
6713
- "onDragEnd",
6714
- "onMeasureDragConstraints",
6715
- "onDirectionLock",
6716
- "onDragTransitionEnd",
6717
- "_dragX",
6718
- "_dragY",
6719
- "onHoverStart",
6720
- "onHoverEnd",
6721
- "onViewportEnter",
6722
- "onViewportLeave",
6723
- "globalTapTarget",
6724
- "propagate",
6725
- "ignoreStrict",
6726
- "viewport"
6727
- ]);
6728
- function isValidMotionProp(key) {
6729
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6730
- }
6731
-
6732
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs
6733
- var shouldForward = (key) => !isValidMotionProp(key);
6734
- function loadExternalIsValidProp(isValidProp) {
6735
- if (typeof isValidProp !== "function")
6736
- return;
6737
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6738
- }
6739
- try {
6740
- const emotionPkg = "@emotion/is-prop-valid";
6741
- loadExternalIsValidProp(__require(emotionPkg).default);
6742
- } catch {
6743
- }
6744
- function filterProps(props, isDom, forwardMotionProps) {
6745
- const filteredProps = {};
6746
- for (const key in props) {
6747
- if (key === "values" && typeof props.values === "object")
6748
- continue;
6749
- if (isMotionValue(props[key]))
6750
- continue;
6751
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6752
- props["draggable"] && key.startsWith("onDrag")) {
6753
- filteredProps[key] = props[key];
6754
- }
6755
- }
6756
- return filteredProps;
6757
- }
6758
6721
  var MotionContext = /* @__PURE__ */ React.createContext({});
6759
6722
 
6760
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs
6723
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs
6761
6724
  function getCurrentTreeVariants(props, context) {
6762
6725
  if (isControllingVariants(props)) {
6763
6726
  const { initial, animate } = props;
@@ -6769,7 +6732,7 @@ function getCurrentTreeVariants(props, context) {
6769
6732
  return props.inherit !== false ? context : {};
6770
6733
  }
6771
6734
 
6772
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs
6735
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs
6773
6736
  function useCreateMotionContext(props) {
6774
6737
  const { initial, animate } = getCurrentTreeVariants(props, React.useContext(MotionContext));
6775
6738
  return React.useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6778,7 +6741,7 @@ function variantLabelsAsDependency(prop) {
6778
6741
  return Array.isArray(prop) ? prop.join(" ") : prop;
6779
6742
  }
6780
6743
 
6781
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs
6744
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs
6782
6745
  var createHtmlRenderState = () => ({
6783
6746
  style: {},
6784
6747
  transform: {},
@@ -6786,7 +6749,7 @@ var createHtmlRenderState = () => ({
6786
6749
  vars: {}
6787
6750
  });
6788
6751
 
6789
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-props.mjs
6752
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-props.mjs
6790
6753
  function copyRawValuesOnly(target, source, props) {
6791
6754
  for (const key in source) {
6792
6755
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -6823,13 +6786,13 @@ function useHTMLProps(props, visualState) {
6823
6786
  return htmlProps;
6824
6787
  }
6825
6788
 
6826
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs
6789
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs
6827
6790
  var createSvgRenderState = () => ({
6828
6791
  ...createHtmlRenderState(),
6829
6792
  attrs: {}
6830
6793
  });
6831
6794
 
6832
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/use-props.mjs
6795
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/use-props.mjs
6833
6796
  function useSVGProps(props, visualState, _isStatic, Component2) {
6834
6797
  const visualProps = React.useMemo(() => {
6835
6798
  const state = createSvgRenderState();
@@ -6847,7 +6810,64 @@ function useSVGProps(props, visualState, _isStatic, Component2) {
6847
6810
  return visualProps;
6848
6811
  }
6849
6812
 
6850
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs
6813
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs
6814
+ var validMotionProps = /* @__PURE__ */ new Set([
6815
+ "animate",
6816
+ "exit",
6817
+ "variants",
6818
+ "initial",
6819
+ "style",
6820
+ "values",
6821
+ "variants",
6822
+ "transition",
6823
+ "transformTemplate",
6824
+ "custom",
6825
+ "inherit",
6826
+ "onBeforeLayoutMeasure",
6827
+ "onAnimationStart",
6828
+ "onAnimationComplete",
6829
+ "onUpdate",
6830
+ "onDragStart",
6831
+ "onDrag",
6832
+ "onDragEnd",
6833
+ "onMeasureDragConstraints",
6834
+ "onDirectionLock",
6835
+ "onDragTransitionEnd",
6836
+ "_dragX",
6837
+ "_dragY",
6838
+ "onHoverStart",
6839
+ "onHoverEnd",
6840
+ "onViewportEnter",
6841
+ "onViewportLeave",
6842
+ "globalTapTarget",
6843
+ "propagate",
6844
+ "ignoreStrict",
6845
+ "viewport"
6846
+ ]);
6847
+ function isValidMotionProp(key) {
6848
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6849
+ }
6850
+
6851
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs
6852
+ function shouldForward(key, isValidProp) {
6853
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
6854
+ }
6855
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
6856
+ const filteredProps = {};
6857
+ for (const key in props) {
6858
+ if (key === "values" && typeof props.values === "object")
6859
+ continue;
6860
+ if (isMotionValue(props[key]))
6861
+ continue;
6862
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6863
+ props["draggable"] && key.startsWith("onDrag")) {
6864
+ filteredProps[key] = props[key];
6865
+ }
6866
+ }
6867
+ return filteredProps;
6868
+ }
6869
+
6870
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs
6851
6871
  var lowercaseSVGElements = [
6852
6872
  "animate",
6853
6873
  "circle",
@@ -6876,7 +6896,7 @@ var lowercaseSVGElements = [
6876
6896
  "view"
6877
6897
  ];
6878
6898
 
6879
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs
6899
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs
6880
6900
  function isSVGComponent(Component2) {
6881
6901
  if (
6882
6902
  /**
@@ -6903,11 +6923,11 @@ function isSVGComponent(Component2) {
6903
6923
  return false;
6904
6924
  }
6905
6925
 
6906
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/dom/use-render.mjs
6907
- function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
6926
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/dom/use-render.mjs
6927
+ function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
6908
6928
  const useVisualProps = isSVG ?? isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
6909
6929
  const visualProps = useVisualProps(props, latestValues, isStatic, Component2);
6910
- const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
6930
+ const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps, isValidProp);
6911
6931
  const elementProps = Component2 !== React.Fragment ? { ...filteredProps, ...visualProps, ref } : {};
6912
6932
  const { children } = props;
6913
6933
  const renderedChildren = React.useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -6972,20 +6992,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
6972
6992
  return isStatic ? make() : useConstant(make);
6973
6993
  };
6974
6994
 
6975
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs
6995
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs
6976
6996
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
6977
6997
  scrapeMotionValuesFromProps,
6978
6998
  createRenderState: createHtmlRenderState
6979
6999
  });
6980
7000
 
6981
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.mjs
7001
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.mjs
6982
7002
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
6983
7003
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
6984
7004
  createRenderState: createSvgRenderState
6985
7005
  });
6986
7006
 
6987
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs
6988
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
7007
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs
7008
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
6989
7009
  function useMotionRef(visualState, visualElement, externalRef) {
6990
7010
  const externalRefContainer = React.useRef(externalRef);
6991
7011
  React.useInsertionEffect(() => {
@@ -6996,6 +7016,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
6996
7016
  if (instance) {
6997
7017
  visualState.onMount?.(instance);
6998
7018
  }
7019
+ if (visualElement) {
7020
+ instance ? visualElement.mount(instance) : visualElement.unmount();
7021
+ }
6999
7022
  const ref = externalRefContainer.current;
7000
7023
  if (typeof ref === "function") {
7001
7024
  if (instance) {
@@ -7012,19 +7035,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
7012
7035
  } else if (ref) {
7013
7036
  ref.current = instance;
7014
7037
  }
7015
- if (visualElement) {
7016
- instance ? visualElement.mount(instance) : visualElement.unmount();
7017
- }
7018
7038
  }, [visualElement]);
7019
7039
  }
7020
7040
  var SwitchLayoutGroupContext = React.createContext({});
7021
7041
 
7022
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-ref-object.mjs
7042
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-ref-object.mjs
7023
7043
  function isRefObject(ref) {
7024
7044
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
7025
7045
  }
7026
7046
 
7027
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs
7047
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs
7028
7048
  function useVisualElement(Component2, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
7029
7049
  const { visualElement: parent } = React.useContext(MotionContext);
7030
7050
  const lazyContext = React.useContext(LazyContext);
@@ -7120,7 +7140,7 @@ function getClosestProjectingNode(visualElement) {
7120
7140
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7121
7141
  }
7122
7142
 
7123
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/index.mjs
7143
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/index.mjs
7124
7144
  function createMotionComponent(Component2, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7125
7145
  preloadedFeatures && loadFeatures(preloadedFeatures);
7126
7146
  const isSVG = type ? type === "svg" : isSVGComponent(Component2);
@@ -7132,7 +7152,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7132
7152
  ...props,
7133
7153
  layoutId: useLayoutId(props)
7134
7154
  };
7135
- const { isStatic } = configAndProps;
7155
+ const { isStatic, isValidProp } = configAndProps;
7136
7156
  const context = useCreateMotionContext(props);
7137
7157
  const visualState = useVisualState(props, isStatic);
7138
7158
  if (!isStatic && typeof window !== "undefined") {
@@ -7141,7 +7161,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7141
7161
  MeasureLayout2 = layoutProjection.MeasureLayout;
7142
7162
  context.visualElement = useVisualElement(Component2, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7143
7163
  }
7144
- return jsxRuntime.jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsxRuntime.jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] });
7164
+ return jsxRuntime.jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsxRuntime.jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG, isValidProp)] });
7145
7165
  }
7146
7166
  MotionDOMComponent.displayName = `motion.${typeof Component2 === "string" ? Component2 : `create(${Component2.displayName ?? Component2.name ?? ""})`}`;
7147
7167
  const ForwardRefMotionComponent = React.forwardRef(MotionDOMComponent);
@@ -7171,7 +7191,7 @@ function getProjectionFunctionality(props) {
7171
7191
  };
7172
7192
  }
7173
7193
 
7174
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/components/create-proxy.mjs
7194
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/components/create-proxy.mjs
7175
7195
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7176
7196
  if (typeof Proxy === "undefined") {
7177
7197
  return createMotionComponent;
@@ -7209,7 +7229,7 @@ var createDomVisualElement = (Component2, options) => {
7209
7229
  });
7210
7230
  };
7211
7231
 
7212
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs
7232
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs
7213
7233
  var AnimationFeature = class extends Feature {
7214
7234
  /**
7215
7235
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7245,7 +7265,7 @@ var AnimationFeature = class extends Feature {
7245
7265
  }
7246
7266
  };
7247
7267
 
7248
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs
7268
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs
7249
7269
  var id2 = 0;
7250
7270
  var ExitAnimationFeature = class extends Feature {
7251
7271
  constructor() {
@@ -7264,7 +7284,7 @@ var ExitAnimationFeature = class extends Feature {
7264
7284
  if (isPresent && prevIsPresent === false) {
7265
7285
  if (this.isExitComplete) {
7266
7286
  const { initial, custom } = this.node.getProps();
7267
- if (typeof initial === "string") {
7287
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7268
7288
  const resolved = resolveVariant(this.node, initial, custom);
7269
7289
  if (resolved) {
7270
7290
  const { transition, transitionEnd, ...target } = resolved;
@@ -7302,7 +7322,7 @@ var ExitAnimationFeature = class extends Feature {
7302
7322
  }
7303
7323
  };
7304
7324
 
7305
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/animations.mjs
7325
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/animations.mjs
7306
7326
  var animations = {
7307
7327
  animation: {
7308
7328
  Feature: AnimationFeature
@@ -7312,7 +7332,7 @@ var animations = {
7312
7332
  }
7313
7333
  };
7314
7334
 
7315
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/events/event-info.mjs
7335
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/events/event-info.mjs
7316
7336
  function extractEventInfo(event) {
7317
7337
  return {
7318
7338
  point: {
@@ -7323,17 +7343,17 @@ function extractEventInfo(event) {
7323
7343
  }
7324
7344
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
7325
7345
 
7326
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/events/add-pointer-event.mjs
7346
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/events/add-pointer-event.mjs
7327
7347
  function addPointerEvent(target, eventName, handler, options) {
7328
7348
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7329
7349
  }
7330
7350
 
7331
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/get-context-window.mjs
7351
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/get-context-window.mjs
7332
7352
  var getContextWindow = ({ current }) => {
7333
7353
  return current ? current.ownerDocument.defaultView : null;
7334
7354
  };
7335
7355
 
7336
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/distance.mjs
7356
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/distance.mjs
7337
7357
  var distance = (a, b) => Math.abs(a - b);
7338
7358
  function distance2D(a, b) {
7339
7359
  const xDelta = distance(a.x, b.x);
@@ -7341,7 +7361,7 @@ function distance2D(a, b) {
7341
7361
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7342
7362
  }
7343
7363
 
7344
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs
7364
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs
7345
7365
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7346
7366
  var PanSession = class {
7347
7367
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7414,7 +7434,8 @@ var PanSession = class {
7414
7434
  this.history = [{ ...point, timestamp }];
7415
7435
  const { onSessionStart } = handlers;
7416
7436
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7417
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7437
+ const eventOptions = { passive: true, capture: true };
7438
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7418
7439
  if (element) {
7419
7440
  this.startScrollTracking(element);
7420
7441
  }
@@ -7548,7 +7569,7 @@ function getVelocity(history, timeDelta) {
7548
7569
  return currentVelocity;
7549
7570
  }
7550
7571
 
7551
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs
7572
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs
7552
7573
  function applyConstraints(point, { min, max }, elastic) {
7553
7574
  if (min !== void 0 && point < min) {
7554
7575
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7626,7 +7647,7 @@ function resolvePointElastic(dragElastic, label) {
7626
7647
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7627
7648
  }
7628
7649
 
7629
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs
7650
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs
7630
7651
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7631
7652
  var VisualElementDragControls = class {
7632
7653
  constructor(visualElement) {
@@ -7827,6 +7848,10 @@ var VisualElementDragControls = class {
7827
7848
  const { projection } = this.visualElement;
7828
7849
  if (!projection || !projection.layout)
7829
7850
  return false;
7851
+ if (projection.root) {
7852
+ projection.root.scroll = void 0;
7853
+ projection.root.updateScroll();
7854
+ }
7830
7855
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
7831
7856
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
7832
7857
  if (onMeasureDragConstraints) {
@@ -7883,7 +7908,7 @@ var VisualElementDragControls = class {
7883
7908
  const dragKey = `_drag${axis.toUpperCase()}`;
7884
7909
  const props = this.visualElement.getProps();
7885
7910
  const externalMotionValue = props[dragKey];
7886
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
7911
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
7887
7912
  }
7888
7913
  snapToCursor(point) {
7889
7914
  eachAxis((axis) => {
@@ -8031,7 +8056,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
8031
8056
  return direction;
8032
8057
  }
8033
8058
 
8034
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/drag/index.mjs
8059
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/drag/index.mjs
8035
8060
  var DragGesture = class extends Feature {
8036
8061
  constructor(node) {
8037
8062
  super(node);
@@ -8065,7 +8090,7 @@ var DragGesture = class extends Feature {
8065
8090
  }
8066
8091
  };
8067
8092
 
8068
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/pan/index.mjs
8093
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/pan/index.mjs
8069
8094
  var asyncHandler = (handler) => (event, info) => {
8070
8095
  if (handler) {
8071
8096
  frame.update(() => handler(event, info), false, true);
@@ -8208,7 +8233,7 @@ function MeasureLayout(props) {
8208
8233
  return jsxRuntime.jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: React.useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8209
8234
  }
8210
8235
 
8211
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/drag.mjs
8236
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/drag.mjs
8212
8237
  var drag = {
8213
8238
  pan: {
8214
8239
  Feature: PanGesture
@@ -8220,7 +8245,7 @@ var drag = {
8220
8245
  }
8221
8246
  };
8222
8247
 
8223
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/hover.mjs
8248
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/hover.mjs
8224
8249
  function handleHoverEvent(node, event, lifecycle) {
8225
8250
  const { props } = node;
8226
8251
  if (node.animationState && props.whileHover) {
@@ -8246,7 +8271,7 @@ var HoverGesture = class extends Feature {
8246
8271
  }
8247
8272
  };
8248
8273
 
8249
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/focus.mjs
8274
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/focus.mjs
8250
8275
  var FocusGesture = class extends Feature {
8251
8276
  constructor() {
8252
8277
  super(...arguments);
@@ -8277,7 +8302,7 @@ var FocusGesture = class extends Feature {
8277
8302
  }
8278
8303
  };
8279
8304
 
8280
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/press.mjs
8305
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/press.mjs
8281
8306
  function handlePressEvent(node, event, lifecycle) {
8282
8307
  const { props } = node;
8283
8308
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8310,7 +8335,7 @@ var PressGesture = class extends Feature {
8310
8335
  }
8311
8336
  };
8312
8337
 
8313
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs
8338
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs
8314
8339
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8315
8340
  var observers = /* @__PURE__ */ new WeakMap();
8316
8341
  var fireObserverCallback = (entry) => {
@@ -8342,7 +8367,7 @@ function observeIntersection(element, options, callback) {
8342
8367
  };
8343
8368
  }
8344
8369
 
8345
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs
8370
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs
8346
8371
  var thresholdNames = {
8347
8372
  some: 0,
8348
8373
  all: 1
@@ -8403,7 +8428,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8403
8428
  return (name) => viewport[name] !== prevViewport[name];
8404
8429
  }
8405
8430
 
8406
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/gestures.mjs
8431
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/gestures.mjs
8407
8432
  var gestureAnimations = {
8408
8433
  inView: {
8409
8434
  Feature: InViewFeature
@@ -8419,7 +8444,7 @@ var gestureAnimations = {
8419
8444
  }
8420
8445
  };
8421
8446
 
8422
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/layout.mjs
8447
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/layout.mjs
8423
8448
  var layout = {
8424
8449
  layout: {
8425
8450
  ProjectionNode: HTMLProjectionNode,
@@ -8427,7 +8452,7 @@ var layout = {
8427
8452
  }
8428
8453
  };
8429
8454
 
8430
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.mjs
8455
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.mjs
8431
8456
  var featureBundle = {
8432
8457
  ...animations,
8433
8458
  ...gestureAnimations,
@@ -8435,7 +8460,7 @@ var featureBundle = {
8435
8460
  ...layout
8436
8461
  };
8437
8462
 
8438
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs
8463
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs
8439
8464
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8440
8465
  function useMotionValue(initial) {
8441
8466
  const value = useConstant(() => motionValue(initial));
@@ -8447,7 +8472,7 @@ function useMotionValue(initial) {
8447
8472
  return value;
8448
8473
  }
8449
8474
 
8450
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-combine-values.mjs
8475
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-combine-values.mjs
8451
8476
  function useCombineMotionValues(values, combineValues) {
8452
8477
  const value = useMotionValue(combineValues());
8453
8478
  const updateValue = () => value.set(combineValues());
@@ -8463,7 +8488,7 @@ function useCombineMotionValues(values, combineValues) {
8463
8488
  return value;
8464
8489
  }
8465
8490
 
8466
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-computed.mjs
8491
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-computed.mjs
8467
8492
  function useComputed(compute) {
8468
8493
  collectMotionValues.current = [];
8469
8494
  compute();
@@ -8472,7 +8497,7 @@ function useComputed(compute) {
8472
8497
  return value;
8473
8498
  }
8474
8499
 
8475
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-transform.mjs
8500
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-transform.mjs
8476
8501
  function useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options) {
8477
8502
  if (typeof input === "function") {
8478
8503
  return useComputed(input);
@@ -8516,7 +8541,7 @@ function useMapTransform(inputValue, inputRange, outputMap, options) {
8516
8541
  return output;
8517
8542
  }
8518
8543
 
8519
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-follow-value.mjs
8544
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-follow-value.mjs
8520
8545
  function useFollowValue(source, options = {}) {
8521
8546
  const { isStatic } = React.useContext(MotionConfigContext);
8522
8547
  const getFromSource = () => isMotionValue(source) ? source.get() : source;
@@ -8530,10 +8555,13 @@ function useFollowValue(source, options = {}) {
8530
8555
  return value;
8531
8556
  }
8532
8557
 
8533
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-spring.mjs
8558
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-spring.mjs
8534
8559
  function useSpring(source, options = {}) {
8535
8560
  return useFollowValue(source, { type: "spring", ...options });
8536
8561
  }
8562
+
8563
+ // ../../node_modules/.pnpm/motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/motion/dist/es/react.mjs
8564
+ var motion2 = motion;
8537
8565
  var DockContext = React__namespace.createContext({
8538
8566
  magnification: 60,
8539
8567
  distance: 140
@@ -8603,7 +8631,7 @@ var DockItem = React__namespace.forwardRef(
8603
8631
  setIsHovered(false);
8604
8632
  };
8605
8633
  return /* @__PURE__ */ jsxRuntime.jsxs(
8606
- motion.div,
8634
+ motion2.div,
8607
8635
  {
8608
8636
  className: "relative",
8609
8637
  onMouseMove: handleMouseMove,
@@ -8611,7 +8639,7 @@ var DockItem = React__namespace.forwardRef(
8611
8639
  onMouseEnter: () => setIsHovered(true),
8612
8640
  children: [
8613
8641
  tooltip && isHovered && /* @__PURE__ */ jsxRuntime.jsxs(
8614
- motion.div,
8642
+ motion2.div,
8615
8643
  {
8616
8644
  initial: { opacity: 0, y: 10, scale: 0.9 },
8617
8645
  animate: { opacity: 1, y: 0, scale: 1 },
@@ -8625,7 +8653,7 @@ var DockItem = React__namespace.forwardRef(
8625
8653
  }
8626
8654
  ),
8627
8655
  /* @__PURE__ */ jsxRuntime.jsxs(
8628
- motion.button,
8656
+ motion2.button,
8629
8657
  {
8630
8658
  ref: buttonRef,
8631
8659
  style: {
@@ -8642,7 +8670,7 @@ var DockItem = React__namespace.forwardRef(
8642
8670
  ),
8643
8671
  children: [
8644
8672
  /* @__PURE__ */ jsxRuntime.jsx(
8645
- motion.div,
8673
+ motion2.div,
8646
8674
  {
8647
8675
  style: {
8648
8676
  width: size,
@@ -8653,7 +8681,7 @@ var DockItem = React__namespace.forwardRef(
8653
8681
  }
8654
8682
  ),
8655
8683
  /* @__PURE__ */ jsxRuntime.jsx(
8656
- motion.div,
8684
+ motion2.div,
8657
8685
  {
8658
8686
  className: "absolute inset-0 rounded-xl",
8659
8687
  style: {