@luxfi/ui 8.2.11 → 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 +43 -41
  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
@@ -25,12 +25,6 @@ function _interopNamespace(e) {
25
25
 
26
26
  var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
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 = React4.createContext({});
35
29
  function useConstant(init) {
36
30
  const ref = React4.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 ? React4.useLayoutEffect : React4.useEffect;
48
42
  var PresenceContext = /* @__PURE__ */ React4.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));
@@ -2898,48 +2690,243 @@ var MotionValue = class {
2898
2690
  this.events.animationCancel.notify();
2899
2691
  }
2900
2692
  }
2901
- this.clearAnimation();
2902
- }
2903
- /**
2904
- * Returns `true` if this value is currently animating.
2905
- *
2906
- * @public
2907
- */
2908
- isAnimating() {
2909
- return !!this.animation;
2693
+ this.clearAnimation();
2694
+ }
2695
+ /**
2696
+ * Returns `true` if this value is currently animating.
2697
+ *
2698
+ * @public
2699
+ */
2700
+ isAnimating() {
2701
+ return !!this.animation;
2702
+ }
2703
+ clearAnimation() {
2704
+ delete this.animation;
2705
+ }
2706
+ /**
2707
+ * Destroy and clean up subscribers to this `MotionValue`.
2708
+ *
2709
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2710
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2711
+ * created a `MotionValue` via the `motionValue` function.
2712
+ *
2713
+ * @public
2714
+ */
2715
+ destroy() {
2716
+ this.dependents?.clear();
2717
+ this.events.destroy?.notify();
2718
+ this.clearListeners();
2719
+ this.stop();
2720
+ if (this.stopPassiveEffect) {
2721
+ this.stopPassiveEffect();
2722
+ }
2723
+ }
2724
+ };
2725
+ function motionValue(init, options) {
2726
+ return new MotionValue(init, options);
2727
+ }
2728
+
2729
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2730
+ function resolveTransition(transition, parentTransition) {
2731
+ if (transition?.inherit && parentTransition) {
2732
+ const { inherit: _, ...rest } = transition;
2733
+ return { ...parentTransition, ...rest };
2734
+ }
2735
+ return transition;
2736
+ }
2737
+
2738
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2739
+ function getValueTransition(transition, key) {
2740
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2741
+ if (valueTransition !== transition) {
2742
+ return resolveTransition(valueTransition, transition);
2743
+ }
2744
+ return valueTransition;
2745
+ }
2746
+
2747
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2748
+ var underDampedSpring = {
2749
+ type: "spring",
2750
+ stiffness: 500,
2751
+ damping: 25,
2752
+ restSpeed: 10
2753
+ };
2754
+ var criticallyDampedSpring = (target) => ({
2755
+ type: "spring",
2756
+ stiffness: 550,
2757
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2758
+ restSpeed: 10
2759
+ });
2760
+ var keyframesTransition = {
2761
+ type: "keyframes",
2762
+ duration: 0.8
2763
+ };
2764
+ var ease = {
2765
+ type: "keyframes",
2766
+ ease: [0.25, 0.1, 0.35, 1],
2767
+ duration: 0.3
2768
+ };
2769
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2770
+ if (keyframes2.length > 2) {
2771
+ return keyframesTransition;
2772
+ } else if (transformProps.has(valueKey)) {
2773
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2774
+ }
2775
+ return ease;
2776
+ };
2777
+
2778
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2779
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2780
+ "when",
2781
+ "delay",
2782
+ "delayChildren",
2783
+ "staggerChildren",
2784
+ "staggerDirection",
2785
+ "repeat",
2786
+ "repeatType",
2787
+ "repeatDelay",
2788
+ "from",
2789
+ "elapsed"
2790
+ ]);
2791
+ function isTransitionDefined(transition) {
2792
+ for (const key in transition) {
2793
+ if (!orchestrationKeys.has(key))
2794
+ return true;
2795
+ }
2796
+ return false;
2797
+ }
2798
+
2799
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2800
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2801
+ const valueTransition = getValueTransition(transition, name) || {};
2802
+ const delay2 = valueTransition.delay || transition.delay || 0;
2803
+ let { elapsed = 0 } = transition;
2804
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2805
+ const options = {
2806
+ keyframes: Array.isArray(target) ? target : [null, target],
2807
+ ease: "easeOut",
2808
+ velocity: value.getVelocity(),
2809
+ ...valueTransition,
2810
+ delay: -elapsed,
2811
+ onUpdate: (v) => {
2812
+ value.set(v);
2813
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2814
+ },
2815
+ onComplete: () => {
2816
+ onComplete();
2817
+ valueTransition.onComplete && valueTransition.onComplete();
2818
+ },
2819
+ name,
2820
+ motionValue: value,
2821
+ element: isHandoff ? void 0 : element
2822
+ };
2823
+ if (!isTransitionDefined(valueTransition)) {
2824
+ Object.assign(options, getDefaultTransition(name, options));
2825
+ }
2826
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2827
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2828
+ if (options.from !== void 0) {
2829
+ options.keyframes[0] = options.from;
2830
+ }
2831
+ let shouldSkip = false;
2832
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2833
+ makeAnimationInstant(options);
2834
+ if (options.delay === 0) {
2835
+ shouldSkip = true;
2836
+ }
2910
2837
  }
2911
- clearAnimation() {
2912
- delete this.animation;
2838
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2839
+ shouldSkip = true;
2840
+ makeAnimationInstant(options);
2841
+ options.delay = 0;
2913
2842
  }
2914
- /**
2915
- * Destroy and clean up subscribers to this `MotionValue`.
2916
- *
2917
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2918
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2919
- * created a `MotionValue` via the `motionValue` function.
2920
- *
2921
- * @public
2922
- */
2923
- destroy() {
2924
- this.dependents?.clear();
2925
- this.events.destroy?.notify();
2926
- this.clearListeners();
2927
- this.stop();
2928
- if (this.stopPassiveEffect) {
2929
- this.stopPassiveEffect();
2843
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2844
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2845
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2846
+ if (finalKeyframe !== void 0) {
2847
+ frame.update(() => {
2848
+ options.onUpdate(finalKeyframe);
2849
+ options.onComplete();
2850
+ });
2851
+ return;
2930
2852
  }
2931
2853
  }
2854
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2932
2855
  };
2933
- function motionValue(init, options) {
2934
- return new MotionValue(init, options);
2856
+
2857
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2858
+ var splitCSSVariableRegex = (
2859
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2860
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2861
+ );
2862
+ function parseCSSVariable(current) {
2863
+ const match = splitCSSVariableRegex.exec(current);
2864
+ if (!match)
2865
+ return [,];
2866
+ const [, token1, token2, fallback] = match;
2867
+ return [`--${token1 ?? token2}`, fallback];
2868
+ }
2869
+ var maxDepth = 4;
2870
+ function getVariableValue(current, element, depth = 1) {
2871
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2872
+ const [token, fallback] = parseCSSVariable(current);
2873
+ if (!token)
2874
+ return;
2875
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2876
+ if (resolved) {
2877
+ const trimmed = resolved.trim();
2878
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2879
+ }
2880
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2881
+ }
2882
+
2883
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2884
+ function getValueState(visualElement) {
2885
+ const state = [{}, {}];
2886
+ visualElement?.values.forEach((value, key) => {
2887
+ state[0][key] = value.get();
2888
+ state[1][key] = value.getVelocity();
2889
+ });
2890
+ return state;
2891
+ }
2892
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2893
+ if (typeof definition === "function") {
2894
+ const [current, velocity] = getValueState(visualElement);
2895
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2896
+ }
2897
+ if (typeof definition === "string") {
2898
+ definition = props.variants && props.variants[definition];
2899
+ }
2900
+ if (typeof definition === "function") {
2901
+ const [current, velocity] = getValueState(visualElement);
2902
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2903
+ }
2904
+ return definition;
2905
+ }
2906
+
2907
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2908
+ function resolveVariant(visualElement, definition, custom) {
2909
+ const props = visualElement.getProps();
2910
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2935
2911
  }
2936
2912
 
2937
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2913
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2914
+ var positionalKeys = /* @__PURE__ */ new Set([
2915
+ "width",
2916
+ "height",
2917
+ "top",
2918
+ "left",
2919
+ "right",
2920
+ "bottom",
2921
+ ...transformPropOrder
2922
+ ]);
2923
+
2924
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2938
2925
  var isKeyframesTarget = (v) => {
2939
2926
  return Array.isArray(v);
2940
2927
  };
2941
2928
 
2942
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2929
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2943
2930
  function setMotionValue(visualElement, key, value) {
2944
2931
  if (visualElement.hasValue(key)) {
2945
2932
  visualElement.getValue(key).set(value);
@@ -2960,15 +2947,15 @@ function setTarget(visualElement, definition) {
2960
2947
  }
2961
2948
  }
2962
2949
 
2963
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2950
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2964
2951
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2965
2952
 
2966
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2953
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2967
2954
  function isWillChangeMotionValue(value) {
2968
2955
  return Boolean(isMotionValue(value) && value.add);
2969
2956
  }
2970
2957
 
2971
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2958
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2972
2959
  function addValueToWillChange(visualElement, key) {
2973
2960
  const willChange = visualElement.getValue("willChange");
2974
2961
  if (isWillChangeMotionValue(willChange)) {
@@ -2980,21 +2967,22 @@ function addValueToWillChange(visualElement, key) {
2980
2967
  }
2981
2968
  }
2982
2969
 
2983
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2970
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2984
2971
  function camelToDash(str) {
2985
2972
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
2986
2973
  }
2987
2974
 
2988
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2975
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2989
2976
  var optimizedAppearDataId = "framerAppearId";
2990
2977
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
2991
2978
 
2992
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2979
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2993
2980
  function getOptimisedAppearId(visualElement) {
2994
2981
  return visualElement.props[optimizedAppearDataAttribute];
2995
2982
  }
2996
2983
 
2997
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2984
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2985
+ var isBrowser2 = typeof window !== "undefined";
2998
2986
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
2999
2987
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
3000
2988
  needsAnimating[key] = false;
@@ -3005,10 +2993,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3005
2993
  const defaultTransition = visualElement.getDefaultTransition();
3006
2994
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
3007
2995
  const reduceMotion = transition?.reduceMotion;
2996
+ const skipAnimations = transition?.skipAnimations;
3008
2997
  if (transitionOverride)
3009
2998
  transition = transitionOverride;
3010
2999
  const animations2 = [];
3011
3000
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
3001
+ const path = transition?.path;
3002
+ if (path) {
3003
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
3004
+ }
3012
3005
  for (const key in target) {
3013
3006
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
3014
3007
  const valueTarget = target[key];
@@ -3019,13 +3012,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3019
3012
  delay: delay2,
3020
3013
  ...getValueTransition(transition || {}, key)
3021
3014
  };
3015
+ if (skipAnimations)
3016
+ valueTransition.skipAnimations = true;
3022
3017
  const currentValue = value.get();
3023
3018
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3024
3019
  frame.update(() => value.set(valueTarget));
3025
3020
  continue;
3026
3021
  }
3027
3022
  let isHandoff = false;
3028
- if (window.MotionHandoffAnimation) {
3023
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3029
3024
  const appearId = getOptimisedAppearId(visualElement);
3030
3025
  if (appearId) {
3031
3026
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3056,7 +3051,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3056
3051
  return animations2;
3057
3052
  }
3058
3053
 
3059
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3054
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3060
3055
  function animateVariant(visualElement, variant, options = {}) {
3061
3056
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3062
3057
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3088,7 +3083,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3088
3083
  return Promise.all(animations2);
3089
3084
  }
3090
3085
 
3091
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3086
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3092
3087
  function animateVisualElement(visualElement, definition, options = {}) {
3093
3088
  visualElement.notify("AnimationStart", definition);
3094
3089
  let animation;
@@ -3106,20 +3101,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3106
3101
  });
3107
3102
  }
3108
3103
 
3109
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3104
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3110
3105
  var auto = {
3111
3106
  test: (v) => v === "auto",
3112
3107
  parse: (v) => v
3113
3108
  };
3114
3109
 
3115
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3110
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3116
3111
  var testValueType = (v) => (type) => type.test(v);
3117
3112
 
3118
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3113
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3119
3114
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3120
3115
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3121
3116
 
3122
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3117
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3123
3118
  function isNone(value) {
3124
3119
  if (typeof value === "number") {
3125
3120
  return value === 0;
@@ -3130,7 +3125,7 @@ function isNone(value) {
3130
3125
  }
3131
3126
  }
3132
3127
 
3133
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3128
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3134
3129
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3135
3130
  function applyDefaultFilter(v) {
3136
3131
  const [name, value] = v.slice(0, -1).split("(");
@@ -3154,7 +3149,7 @@ var filter = {
3154
3149
  }
3155
3150
  };
3156
3151
 
3157
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3152
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3158
3153
  var mask = {
3159
3154
  ...complex,
3160
3155
  getAnimatableNone: (v) => {
@@ -3164,15 +3159,21 @@ var mask = {
3164
3159
  }
3165
3160
  };
3166
3161
 
3167
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3162
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3168
3163
  var int = {
3169
3164
  ...number,
3170
3165
  transform: Math.round
3171
3166
  };
3172
3167
 
3173
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3168
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3174
3169
  var transformValueTypes = {
3175
3170
  rotate: degrees,
3171
+ /**
3172
+ * Internal channel for `transition.path` orientToPath. Composed onto
3173
+ * `rotate` at the transform-build sites so the user's `rotate` is
3174
+ * never read or overwritten. Not part of `transformPropOrder`.
3175
+ */
3176
+ pathRotation: degrees,
3176
3177
  rotateX: degrees,
3177
3178
  rotateY: degrees,
3178
3179
  rotateZ: degrees,
@@ -3198,7 +3199,7 @@ var transformValueTypes = {
3198
3199
  originZ: px
3199
3200
  };
3200
3201
 
3201
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3202
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3202
3203
  var numberValueTypes = {
3203
3204
  // Border props
3204
3205
  borderWidth: px,
@@ -3263,7 +3264,7 @@ var numberValueTypes = {
3263
3264
  numOctaves: int
3264
3265
  };
3265
3266
 
3266
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3267
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3267
3268
  var defaultValueTypes = {
3268
3269
  ...numberValueTypes,
3269
3270
  // Color props
@@ -3285,7 +3286,7 @@ var defaultValueTypes = {
3285
3286
  };
3286
3287
  var getDefaultValueType = (key) => defaultValueTypes[key];
3287
3288
 
3288
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3289
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3289
3290
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3290
3291
  function getAnimatableNone2(key, value) {
3291
3292
  let defaultValueType = getDefaultValueType(key);
@@ -3294,7 +3295,7 @@ function getAnimatableNone2(key, value) {
3294
3295
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3295
3296
  }
3296
3297
 
3297
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3298
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3298
3299
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3299
3300
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3300
3301
  let i = 0;
@@ -3313,7 +3314,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3313
3314
  }
3314
3315
  }
3315
3316
 
3316
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3317
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3317
3318
  var DOMKeyframesResolver = class extends KeyframeResolver {
3318
3319
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3319
3320
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3411,7 +3412,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3411
3412
  }
3412
3413
  };
3413
3414
 
3414
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3415
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3416
+ var cornerRadiusProps = [
3417
+ "borderTopLeftRadius",
3418
+ "borderTopRightRadius",
3419
+ "borderBottomRightRadius",
3420
+ "borderBottomLeftRadius"
3421
+ ];
3422
+
3423
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3415
3424
  function resolveElements(elementOrSelector, scope, selectorCache) {
3416
3425
  if (elementOrSelector == null) {
3417
3426
  return [];
@@ -3426,20 +3435,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3426
3435
  return Array.from(elementOrSelector).filter((element) => element != null);
3427
3436
  }
3428
3437
 
3429
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3438
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3430
3439
  var getValueAsType = (value, type) => {
3431
3440
  return type && typeof value === "number" ? type.transform(value) : value;
3432
3441
  };
3433
3442
 
3434
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3443
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3435
3444
  function isHTMLElement(element) {
3436
3445
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3437
3446
  }
3438
3447
 
3439
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3448
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3440
3449
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3441
3450
 
3442
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3451
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3443
3452
  var isDragging = {
3444
3453
  x: false,
3445
3454
  y: false
@@ -3448,7 +3457,7 @@ function isDragActive() {
3448
3457
  return isDragging.x || isDragging.y;
3449
3458
  }
3450
3459
 
3451
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3460
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3452
3461
  function setDragLock(axis) {
3453
3462
  if (axis === "x" || axis === "y") {
3454
3463
  if (isDragging[axis]) {
@@ -3471,7 +3480,7 @@ function setDragLock(axis) {
3471
3480
  }
3472
3481
  }
3473
3482
 
3474
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3483
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3475
3484
  function setupGesture(elementOrSelector, options) {
3476
3485
  const elements = resolveElements(elementOrSelector);
3477
3486
  const gestureAbortController = new AbortController();
@@ -3484,7 +3493,7 @@ function setupGesture(elementOrSelector, options) {
3484
3493
  return [elements, eventOptions, cancel];
3485
3494
  }
3486
3495
 
3487
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3496
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3488
3497
  function isValidHover(event) {
3489
3498
  return !(event.pointerType === "touch" || isDragActive());
3490
3499
  }
@@ -3543,7 +3552,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3543
3552
  return cancel;
3544
3553
  }
3545
3554
 
3546
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3555
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3547
3556
  var isNodeOrChild = (parent, child) => {
3548
3557
  if (!child) {
3549
3558
  return false;
@@ -3554,7 +3563,7 @@ var isNodeOrChild = (parent, child) => {
3554
3563
  }
3555
3564
  };
3556
3565
 
3557
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3566
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3558
3567
  var isPrimaryPointer = (event) => {
3559
3568
  if (event.pointerType === "mouse") {
3560
3569
  return typeof event.button !== "number" || event.button <= 0;
@@ -3563,7 +3572,7 @@ var isPrimaryPointer = (event) => {
3563
3572
  }
3564
3573
  };
3565
3574
 
3566
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3575
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3567
3576
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3568
3577
  "BUTTON",
3569
3578
  "INPUT",
@@ -3579,10 +3588,10 @@ function isElementTextInput(element) {
3579
3588
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3580
3589
  }
3581
3590
 
3582
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3591
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3583
3592
  var isPressing = /* @__PURE__ */ new WeakSet();
3584
3593
 
3585
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3594
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3586
3595
  function filterEvents(callback) {
3587
3596
  return (event) => {
3588
3597
  if (event.key !== "Enter")
@@ -3612,7 +3621,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3612
3621
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3613
3622
  };
3614
3623
 
3615
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3624
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3616
3625
  function isValidPressEvent(event) {
3617
3626
  return isPrimaryPointer(event) && !isDragActive();
3618
3627
  }
@@ -3630,9 +3639,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3630
3639
  claimedPointerDownEvents.add(startEvent);
3631
3640
  }
3632
3641
  const onPressEnd = onPressStart(target, startEvent);
3642
+ const endEventOptions = { ...eventOptions, capture: true };
3633
3643
  const onPointerEnd = (endEvent, success) => {
3634
- window.removeEventListener("pointerup", onPointerUp);
3635
- window.removeEventListener("pointercancel", onPointerCancel);
3644
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3645
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3636
3646
  if (isPressing.has(target)) {
3637
3647
  isPressing.delete(target);
3638
3648
  }
@@ -3649,8 +3659,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3649
3659
  const onPointerCancel = (cancelEvent) => {
3650
3660
  onPointerEnd(cancelEvent, false);
3651
3661
  };
3652
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3653
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3662
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3663
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3654
3664
  };
3655
3665
  targets.forEach((target) => {
3656
3666
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3665,12 +3675,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3665
3675
  return cancelEvents;
3666
3676
  }
3667
3677
 
3668
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3678
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3669
3679
  function isSVGElement(element) {
3670
3680
  return isObject(element) && "ownerSVGElement" in element;
3671
3681
  }
3672
3682
 
3673
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3683
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3674
3684
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3675
3685
  var observer;
3676
3686
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3728,7 +3738,7 @@ function resizeElement(target, handler) {
3728
3738
  };
3729
3739
  }
3730
3740
 
3731
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3741
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3732
3742
  var windowCallbacks = /* @__PURE__ */ new Set();
3733
3743
  var windowResizeHandler;
3734
3744
  function createWindowResizeHandler() {
@@ -3758,21 +3768,21 @@ function resizeWindow(callback) {
3758
3768
  };
3759
3769
  }
3760
3770
 
3761
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3771
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3762
3772
  function resize(a, b) {
3763
3773
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3764
3774
  }
3765
3775
 
3766
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3776
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3767
3777
  function isSVGSVGElement(element) {
3768
3778
  return isSVGElement(element) && element.tagName === "svg";
3769
3779
  }
3770
3780
 
3771
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3781
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3772
3782
  var valueTypes = [...dimensionValueTypes, color, complex];
3773
3783
  var findValueType = (v) => valueTypes.find(testValueType(v));
3774
3784
 
3775
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3785
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3776
3786
  var createAxisDelta = () => ({
3777
3787
  translate: 0,
3778
3788
  scale: 1,
@@ -3789,20 +3799,20 @@ var createBox = () => ({
3789
3799
  y: createAxis()
3790
3800
  });
3791
3801
 
3792
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3802
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3793
3803
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3794
3804
 
3795
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3805
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3796
3806
  function isAnimationControls(v) {
3797
3807
  return v !== null && typeof v === "object" && typeof v.start === "function";
3798
3808
  }
3799
3809
 
3800
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3810
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3801
3811
  function isVariantLabel(v) {
3802
3812
  return typeof v === "string" || Array.isArray(v);
3803
3813
  }
3804
3814
 
3805
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3815
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3806
3816
  var variantPriorityOrder = [
3807
3817
  "animate",
3808
3818
  "whileInView",
@@ -3814,7 +3824,7 @@ var variantPriorityOrder = [
3814
3824
  ];
3815
3825
  var variantProps = ["initial", ...variantPriorityOrder];
3816
3826
 
3817
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3827
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3818
3828
  function isControllingVariants(props) {
3819
3829
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3820
3830
  }
@@ -3822,7 +3832,7 @@ function isVariantNode(props) {
3822
3832
  return Boolean(isControllingVariants(props) || props.variants);
3823
3833
  }
3824
3834
 
3825
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3835
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3826
3836
  function updateMotionValuesFromProps(element, next, prev) {
3827
3837
  for (const key in next) {
3828
3838
  const nextValue = next[key];
@@ -3852,15 +3862,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3852
3862
  return next;
3853
3863
  }
3854
3864
 
3855
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3865
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3856
3866
  var prefersReducedMotion = { current: null };
3857
3867
  var hasReducedMotionListener = { current: false };
3858
3868
 
3859
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3860
- var isBrowser2 = typeof window !== "undefined";
3869
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3870
+ var isBrowser3 = typeof window !== "undefined";
3861
3871
  function initPrefersReducedMotion() {
3862
3872
  hasReducedMotionListener.current = true;
3863
- if (!isBrowser2)
3873
+ if (!isBrowser3)
3864
3874
  return;
3865
3875
  if (window.matchMedia) {
3866
3876
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3872,7 +3882,7 @@ function initPrefersReducedMotion() {
3872
3882
  }
3873
3883
  }
3874
3884
 
3875
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3885
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3876
3886
  var propEventHandlers = [
3877
3887
  "AnimationStart",
3878
3888
  "AnimationComplete",
@@ -4061,8 +4071,6 @@ var VisualElement = class {
4061
4071
  removeOnChange();
4062
4072
  if (removeSyncCheck)
4063
4073
  removeSyncCheck();
4064
- if (value.owner)
4065
- value.stop();
4066
4074
  });
4067
4075
  }
4068
4076
  sortNodePosition(other) {
@@ -4273,7 +4281,7 @@ var VisualElement = class {
4273
4281
  }
4274
4282
  };
4275
4283
 
4276
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4284
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4277
4285
  var DOMVisualElement = class extends VisualElement {
4278
4286
  constructor() {
4279
4287
  super(...arguments);
@@ -4306,7 +4314,7 @@ var DOMVisualElement = class extends VisualElement {
4306
4314
  }
4307
4315
  };
4308
4316
 
4309
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4317
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4310
4318
  var Feature = class {
4311
4319
  constructor(node) {
4312
4320
  this.isMounted = false;
@@ -4316,7 +4324,7 @@ var Feature = class {
4316
4324
  }
4317
4325
  };
4318
4326
 
4319
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4327
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4320
4328
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4321
4329
  return {
4322
4330
  x: { min: left, max: right },
@@ -4339,7 +4347,7 @@ function transformBoxPoints(point, transformPoint2) {
4339
4347
  };
4340
4348
  }
4341
4349
 
4342
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4350
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4343
4351
  function isIdentityScale(scale2) {
4344
4352
  return scale2 === void 0 || scale2 === 1;
4345
4353
  }
@@ -4356,7 +4364,7 @@ function is2DTranslate(value) {
4356
4364
  return value && value !== "0%";
4357
4365
  }
4358
4366
 
4359
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4367
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4360
4368
  function scalePoint(point, scale2, originPoint) {
4361
4369
  const distanceFromOrigin = point - originPoint;
4362
4370
  const scaled = scale2 * distanceFromOrigin;
@@ -4432,7 +4440,7 @@ function transformBox(box, transform, sourceBox) {
4432
4440
  transformAxis(box.y, resolveAxisTranslate(transform.y, resolveBox.y), transform.scaleY, transform.scale, transform.originY);
4433
4441
  }
4434
4442
 
4435
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4443
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4436
4444
  function measureViewportBox(instance, transformPoint2) {
4437
4445
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4438
4446
  }
@@ -4446,7 +4454,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4446
4454
  return viewportBox;
4447
4455
  }
4448
4456
 
4449
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4457
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4450
4458
  var translateAlias = {
4451
4459
  x: "translateX",
4452
4460
  y: "translateY",
@@ -4481,6 +4489,11 @@ function buildTransform(latestValues, transform, transformTemplate) {
4481
4489
  }
4482
4490
  }
4483
4491
  }
4492
+ const pathRotation = latestValues.pathRotation;
4493
+ if (pathRotation) {
4494
+ transformIsDefault = false;
4495
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4496
+ }
4484
4497
  transformString = transformString.trim();
4485
4498
  if (transformTemplate) {
4486
4499
  transformString = transformTemplate(transform, transformIsDefault ? "" : transformString);
@@ -4490,7 +4503,7 @@ function buildTransform(latestValues, transform, transformTemplate) {
4490
4503
  return transformString;
4491
4504
  }
4492
4505
 
4493
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4506
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4494
4507
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4495
4508
  const { style, vars, transformOrigin } = state;
4496
4509
  let hasTransform2 = false;
@@ -4526,7 +4539,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4526
4539
  }
4527
4540
  }
4528
4541
 
4529
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4542
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4530
4543
  function renderHTML(element, { style, vars }, styleProp, projection) {
4531
4544
  const elementStyle = element.style;
4532
4545
  let key;
@@ -4539,7 +4552,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4539
4552
  }
4540
4553
  }
4541
4554
 
4542
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4555
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4543
4556
  function pixelsToPercent(pixels, axis) {
4544
4557
  if (axis.max === axis.min)
4545
4558
  return 0;
@@ -4562,7 +4575,7 @@ var correctBorderRadius = {
4562
4575
  }
4563
4576
  };
4564
4577
 
4565
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4578
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4566
4579
  var correctBoxShadow = {
4567
4580
  correct: (latest, { treeScale, projectionDelta }) => {
4568
4581
  const original = latest;
@@ -4584,16 +4597,11 @@ var correctBoxShadow = {
4584
4597
  }
4585
4598
  };
4586
4599
 
4587
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4600
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4588
4601
  var scaleCorrectors = {
4589
4602
  borderRadius: {
4590
4603
  ...correctBorderRadius,
4591
- applyTo: [
4592
- "borderTopLeftRadius",
4593
- "borderTopRightRadius",
4594
- "borderBottomLeftRadius",
4595
- "borderBottomRightRadius"
4596
- ]
4604
+ applyTo: [...cornerRadiusProps]
4597
4605
  },
4598
4606
  borderTopLeftRadius: correctBorderRadius,
4599
4607
  borderTopRightRadius: correctBorderRadius,
@@ -4602,12 +4610,12 @@ var scaleCorrectors = {
4602
4610
  boxShadow: correctBoxShadow
4603
4611
  };
4604
4612
 
4605
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4613
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4606
4614
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4607
4615
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4608
4616
  }
4609
4617
 
4610
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4618
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4611
4619
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4612
4620
  const style = props.style;
4613
4621
  const prevStyle = prevProps?.style;
@@ -4622,7 +4630,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4622
4630
  return newValues;
4623
4631
  }
4624
4632
 
4625
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4633
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4626
4634
  function getComputedStyle2(element) {
4627
4635
  return window.getComputedStyle(element);
4628
4636
  }
@@ -4632,6 +4640,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4632
4640
  this.type = "html";
4633
4641
  this.renderInstance = renderHTML;
4634
4642
  }
4643
+ mount(instance) {
4644
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4645
+ super.mount(instance);
4646
+ }
4635
4647
  readValueFromInstance(instance, key) {
4636
4648
  if (transformProps.has(key)) {
4637
4649
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4652,7 +4664,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4652
4664
  }
4653
4665
  };
4654
4666
 
4655
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4667
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4656
4668
  var dashKeys = {
4657
4669
  offset: "stroke-dashoffset",
4658
4670
  array: "stroke-dasharray"
@@ -4668,8 +4680,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4668
4680
  attrs[keys.array] = `${length} ${spacing}`;
4669
4681
  }
4670
4682
 
4671
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4672
- var cssMotionPathProperties = [
4683
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4684
+ var cssStyleProperties = [
4685
+ "transform",
4686
+ "opacity",
4673
4687
  "offsetDistance",
4674
4688
  "offsetPath",
4675
4689
  "offsetRotate",
@@ -4695,9 +4709,11 @@ function buildSVGAttrs(state, {
4695
4709
  state.attrs = state.style;
4696
4710
  state.style = {};
4697
4711
  const { attrs, style } = state;
4698
- if (attrs.transform) {
4699
- style.transform = attrs.transform;
4700
- delete attrs.transform;
4712
+ for (const key of cssStyleProperties) {
4713
+ if (attrs[key] !== void 0) {
4714
+ style[key] = attrs[key];
4715
+ delete attrs[key];
4716
+ }
4701
4717
  }
4702
4718
  if (style.transform || attrs.transformOrigin) {
4703
4719
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4707,12 +4723,6 @@ function buildSVGAttrs(state, {
4707
4723
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4708
4724
  delete attrs.transformBox;
4709
4725
  }
4710
- for (const key of cssMotionPathProperties) {
4711
- if (attrs[key] !== void 0) {
4712
- style[key] = attrs[key];
4713
- delete attrs[key];
4714
- }
4715
- }
4716
4726
  if (attrX !== void 0)
4717
4727
  attrs.x = attrX;
4718
4728
  if (attrY !== void 0)
@@ -4724,7 +4734,7 @@ function buildSVGAttrs(state, {
4724
4734
  }
4725
4735
  }
4726
4736
 
4727
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4737
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4728
4738
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4729
4739
  "baseFrequency",
4730
4740
  "diffuseConstant",
@@ -4751,10 +4761,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4751
4761
  "lengthAdjust"
4752
4762
  ]);
4753
4763
 
4754
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4764
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4755
4765
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4756
4766
 
4757
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4767
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4758
4768
  function renderSVG(element, renderState, _styleProp, projection) {
4759
4769
  renderHTML(element, renderState, void 0, projection);
4760
4770
  for (const key in renderState.attrs) {
@@ -4762,7 +4772,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4762
4772
  }
4763
4773
  }
4764
4774
 
4765
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4775
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4766
4776
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4767
4777
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4768
4778
  for (const key in props) {
@@ -4774,7 +4784,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4774
4784
  return newValues;
4775
4785
  }
4776
4786
 
4777
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4787
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4778
4788
  var SVGVisualElement = class extends DOMVisualElement {
4779
4789
  constructor() {
4780
4790
  super(...arguments);
@@ -4790,6 +4800,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4790
4800
  const defaultType = getDefaultValueType(key);
4791
4801
  return defaultType ? defaultType.default || 0 : 0;
4792
4802
  }
4803
+ if (cssStyleProperties.includes(key)) {
4804
+ const computedStyle = getComputedStyle(instance);
4805
+ const value = computedStyle[key];
4806
+ if (typeof value === "string" && value)
4807
+ return value.trim();
4808
+ }
4793
4809
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4794
4810
  return instance.getAttribute(key);
4795
4811
  }
@@ -4808,7 +4824,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4808
4824
  }
4809
4825
  };
4810
4826
 
4811
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4827
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4812
4828
  var numVariantProps = variantProps.length;
4813
4829
  function getVariantContext(visualElement) {
4814
4830
  if (!visualElement)
@@ -4831,7 +4847,7 @@ function getVariantContext(visualElement) {
4831
4847
  return context;
4832
4848
  }
4833
4849
 
4834
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4850
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4835
4851
  function shallowCompare(next, prev) {
4836
4852
  if (!Array.isArray(prev))
4837
4853
  return false;
@@ -4845,7 +4861,7 @@ function shallowCompare(next, prev) {
4845
4861
  return true;
4846
4862
  }
4847
4863
 
4848
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4864
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4849
4865
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4850
4866
  var numAnimationTypes = variantPriorityOrder.length;
4851
4867
  function createAnimateFunction(visualElement) {
@@ -4938,7 +4954,7 @@ function createAnimationState(visualElement) {
4938
4954
  continue;
4939
4955
  let valueHasChanged = false;
4940
4956
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
4941
- valueHasChanged = !shallowCompare(next, prev);
4957
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
4942
4958
  } else {
4943
4959
  valueHasChanged = next !== prev;
4944
4960
  }
@@ -5057,7 +5073,7 @@ function createState() {
5057
5073
  };
5058
5074
  }
5059
5075
 
5060
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5076
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5061
5077
  function copyAxisInto(axis, originAxis) {
5062
5078
  axis.min = originAxis.min;
5063
5079
  axis.max = originAxis.max;
@@ -5073,7 +5089,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5073
5089
  delta.origin = originDelta.origin;
5074
5090
  }
5075
5091
 
5076
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5092
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5077
5093
  var SCALE_PRECISION = 1e-4;
5078
5094
  var SCALE_MIN = 1 - SCALE_PRECISION;
5079
5095
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5121,7 +5137,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5121
5137
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5122
5138
  }
5123
5139
 
5124
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5140
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5125
5141
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5126
5142
  point -= translate;
5127
5143
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5154,7 +5170,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5154
5170
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5155
5171
  }
5156
5172
 
5157
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5173
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5158
5174
  function isAxisDeltaZero(delta) {
5159
5175
  return delta.translate === 0 && delta.scale === 1;
5160
5176
  }
@@ -5180,12 +5196,12 @@ function axisDeltaEquals(a, b) {
5180
5196
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5181
5197
  }
5182
5198
 
5183
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5199
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5184
5200
  function eachAxis(callback) {
5185
5201
  return [callback("x"), callback("y")];
5186
5202
  }
5187
5203
 
5188
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5204
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5189
5205
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5190
5206
  let transform = "";
5191
5207
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5198,11 +5214,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5198
5214
  transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5199
5215
  }
5200
5216
  if (latestTransform) {
5201
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5217
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5202
5218
  if (transformPerspective)
5203
5219
  transform = `perspective(${transformPerspective}px) ${transform}`;
5204
5220
  if (rotate2)
5205
5221
  transform += `rotate(${rotate2}deg) `;
5222
+ if (pathRotation)
5223
+ transform += `rotate(${pathRotation}deg) `;
5206
5224
  if (rotateX)
5207
5225
  transform += `rotateX(${rotateX}deg) `;
5208
5226
  if (rotateY)
@@ -5220,14 +5238,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5220
5238
  return transform || "none";
5221
5239
  }
5222
5240
 
5223
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5224
- var borderLabels = [
5225
- "borderTopLeftRadius",
5226
- "borderTopRightRadius",
5227
- "borderBottomLeftRadius",
5228
- "borderBottomRightRadius"
5229
- ];
5230
- var numBorders = borderLabels.length;
5241
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5242
+ var numBorders = cornerRadiusProps.length;
5231
5243
  var asNumber = (value) => typeof value === "string" ? parseFloat(value) : value;
5232
5244
  var isPx = (value) => typeof value === "number" || px.test(value);
5233
5245
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5238,7 +5250,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5238
5250
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5239
5251
  }
5240
5252
  for (let i = 0; i < numBorders; i++) {
5241
- const borderLabel = borderLabels[i];
5253
+ const borderLabel = cornerRadiusProps[i];
5242
5254
  let followRadius = getRadius(follow, borderLabel);
5243
5255
  let leadRadius = getRadius(lead, borderLabel);
5244
5256
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5274,23 +5286,23 @@ function compress(min, max, easing) {
5274
5286
  };
5275
5287
  }
5276
5288
 
5277
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5289
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5278
5290
  function animateSingleValue(value, keyframes2, options) {
5279
5291
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5280
5292
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5281
5293
  return motionValue$1.animation;
5282
5294
  }
5283
5295
 
5284
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5296
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5285
5297
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5286
5298
  target.addEventListener(eventName, handler, options);
5287
- return () => target.removeEventListener(eventName, handler);
5299
+ return () => target.removeEventListener(eventName, handler, options);
5288
5300
  }
5289
5301
 
5290
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5302
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5291
5303
  var compareByDepth = (a, b) => a.depth - b.depth;
5292
5304
 
5293
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5305
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5294
5306
  var FlatTree = class {
5295
5307
  constructor() {
5296
5308
  this.children = [];
@@ -5311,7 +5323,7 @@ var FlatTree = class {
5311
5323
  }
5312
5324
  };
5313
5325
 
5314
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5326
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5315
5327
  function delay(callback, timeout) {
5316
5328
  const start = time.now();
5317
5329
  const checkElapsed = ({ timestamp }) => {
@@ -5325,12 +5337,12 @@ function delay(callback, timeout) {
5325
5337
  return () => cancelFrame(checkElapsed);
5326
5338
  }
5327
5339
 
5328
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5340
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5329
5341
  function resolveMotionValue(value) {
5330
5342
  return isMotionValue(value) ? value.get() : value;
5331
5343
  }
5332
5344
 
5333
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5345
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5334
5346
  var NodeStack = class {
5335
5347
  constructor() {
5336
5348
  this.members = [];
@@ -5411,7 +5423,7 @@ var NodeStack = class {
5411
5423
  }
5412
5424
  };
5413
5425
 
5414
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5426
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5415
5427
  var globalProjectionState = {
5416
5428
  /**
5417
5429
  * Global flag as to whether the tree has animated since the last time
@@ -5592,7 +5604,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5592
5604
  animationOptions.type = false;
5593
5605
  }
5594
5606
  this.startAnimation(animationOptions);
5595
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5607
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5596
5608
  } else {
5597
5609
  if (!hasLayoutChanged) {
5598
5610
  finishAnimation(this);
@@ -6064,7 +6076,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6064
6076
  this.projectionDelta = createDelta();
6065
6077
  this.projectionDeltaWithTransform = createDelta();
6066
6078
  }
6067
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6079
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6068
6080
  const snapshot = this.snapshot;
6069
6081
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6070
6082
  const mixedValues = { ...this.latestValues };
@@ -6082,10 +6094,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6082
6094
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6083
6095
  this.animationProgress = 0;
6084
6096
  let prevRelativeTarget;
6097
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6085
6098
  this.mixTargetDelta = (latest) => {
6086
6099
  const progress2 = latest / 1e3;
6087
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6088
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6100
+ const point = interpolate2?.(progress2);
6101
+ if (point) {
6102
+ targetDelta.x.translate = point.x;
6103
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6104
+ targetDelta.x.origin = delta.x.origin;
6105
+ targetDelta.x.originPoint = delta.x.originPoint;
6106
+ targetDelta.y.translate = point.y;
6107
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6108
+ targetDelta.y.origin = delta.y.origin;
6109
+ targetDelta.y.originPoint = delta.y.originPoint;
6110
+ } else {
6111
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6112
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6113
+ }
6089
6114
  this.setTargetDelta(targetDelta);
6090
6115
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6091
6116
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6101,6 +6126,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6101
6126
  this.animationValues = mixedValues;
6102
6127
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6103
6128
  }
6129
+ if (point && point.rotate !== void 0) {
6130
+ if (!this.animationValues)
6131
+ this.animationValues = mixedValues;
6132
+ this.animationValues.pathRotation = point.rotate;
6133
+ }
6104
6134
  this.root.scheduleUpdateProjection();
6105
6135
  this.scheduleRender();
6106
6136
  this.animationProgress = progress2;
@@ -6127,8 +6157,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6127
6157
  this.mixTargetDelta(latest);
6128
6158
  options.onUpdate && options.onUpdate(latest);
6129
6159
  },
6130
- onStop: () => {
6131
- },
6132
6160
  onComplete: () => {
6133
6161
  options.onComplete && options.onComplete();
6134
6162
  this.completeAnimation();
@@ -6457,7 +6485,7 @@ function resetSkewAndRotation(node) {
6457
6485
  function removeLeadSnapshots(stack) {
6458
6486
  stack.removeLeadSnapshot();
6459
6487
  }
6460
- function mixAxisDelta(output, delta, p) {
6488
+ function mixAxisDeltaLinear(output, delta, p) {
6461
6489
  output.translate = mixNumber(delta.translate, 0, p);
6462
6490
  output.scale = mixNumber(delta.scale, 1, p);
6463
6491
  output.origin = delta.origin;
@@ -6495,7 +6523,7 @@ function checkNodeWasScrollRoot(node) {
6495
6523
  return node !== node.root && node.scroll?.wasRoot;
6496
6524
  }
6497
6525
 
6498
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6526
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6499
6527
  var DocumentProjectionNode = createProjectionNode({
6500
6528
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6501
6529
  measureScroll: () => ({
@@ -6505,7 +6533,7 @@ var DocumentProjectionNode = createProjectionNode({
6505
6533
  checkIsScrollRoot: () => true
6506
6534
  });
6507
6535
 
6508
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6536
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6509
6537
  var rootProjectionNode = {
6510
6538
  current: void 0
6511
6539
  };
@@ -6568,7 +6596,7 @@ function useComposedRefs(...refs) {
6568
6596
  return React4__namespace.useCallback(composeRefs(...refs), refs);
6569
6597
  }
6570
6598
 
6571
- // ../../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/components/AnimatePresence/PopChild.mjs
6599
+ // ../../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/components/AnimatePresence/PopChild.mjs
6572
6600
  var PopChildMeasure = class extends React4__namespace.Component {
6573
6601
  getSnapshotBeforeUpdate(prevProps) {
6574
6602
  const element = this.props.childRef.current;
@@ -6584,6 +6612,7 @@ var PopChildMeasure = class extends React4__namespace.Component {
6584
6612
  size.left = element.offsetLeft;
6585
6613
  size.right = parentWidth - size.width - size.left;
6586
6614
  size.bottom = parentHeight - size.height - size.top;
6615
+ size.direction = computedStyle.direction;
6587
6616
  }
6588
6617
  return null;
6589
6618
  }
@@ -6605,16 +6634,18 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6605
6634
  top: 0,
6606
6635
  left: 0,
6607
6636
  right: 0,
6608
- bottom: 0
6637
+ bottom: 0,
6638
+ direction: "ltr"
6609
6639
  });
6610
6640
  const { nonce } = React4.useContext(MotionConfigContext);
6611
- const childRef = children.props?.ref ?? children?.ref;
6641
+ const childRef = pop !== false ? children.props?.ref ?? children?.ref : void 0;
6612
6642
  const composedRef = useComposedRefs(ref, childRef);
6613
6643
  React4.useInsertionEffect(() => {
6614
- const { width, height, top, left, right, bottom } = size.current;
6644
+ const { width, height, top, left, right, bottom, direction } = size.current;
6615
6645
  if (isPresent || pop === false || !ref.current || !width || !height)
6616
6646
  return;
6617
- const x = anchorX === "left" ? `left: ${left}` : `right: ${right}`;
6647
+ const isRTL = direction === "rtl";
6648
+ const x = anchorX === "left" ? isRTL ? `right: ${right}` : `left: ${left}` : isRTL ? `left: ${left}` : `right: ${right}`;
6618
6649
  const y = anchorY === "bottom" ? `bottom: ${bottom}` : `top: ${top}`;
6619
6650
  ref.current.dataset.motionPopId = id3;
6620
6651
  const style = document.createElement("style");
@@ -6643,10 +6674,16 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6643
6674
  return jsxRuntime.jsx(PopChildMeasure, { isPresent, childRef: ref, sizeRef: size, pop, children: pop === false ? children : React4__namespace.cloneElement(children, { ref: composedRef }) });
6644
6675
  }
6645
6676
 
6646
- // ../../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/components/AnimatePresence/PresenceChild.mjs
6677
+ // ../../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/components/AnimatePresence/PresenceChild.mjs
6647
6678
  var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, mode, anchorX, anchorY, root }) => {
6648
6679
  const presenceChildren = useConstant(newChildrenMap);
6649
6680
  const id3 = React4.useId();
6681
+ const isPresentRef = React4.useRef(isPresent);
6682
+ const onExitCompleteRef = React4.useRef(onExitComplete);
6683
+ useIsomorphicLayoutEffect(() => {
6684
+ isPresentRef.current = isPresent;
6685
+ onExitCompleteRef.current = onExitComplete;
6686
+ });
6650
6687
  let isReusedContext = true;
6651
6688
  let context = React4.useMemo(() => {
6652
6689
  isReusedContext = false;
@@ -6665,7 +6702,10 @@ var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, pre
6665
6702
  },
6666
6703
  register: (childId) => {
6667
6704
  presenceChildren.set(childId, false);
6668
- return () => presenceChildren.delete(childId);
6705
+ return () => {
6706
+ presenceChildren.delete(childId);
6707
+ !isPresentRef.current && !presenceChildren.size && onExitCompleteRef.current?.();
6708
+ };
6669
6709
  }
6670
6710
  };
6671
6711
  }, [isPresent, presenceChildren, onExitComplete]);
@@ -6708,7 +6748,7 @@ function onlyElements(children) {
6708
6748
  return filtered;
6709
6749
  }
6710
6750
 
6711
- // ../../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/components/AnimatePresence/index.mjs
6751
+ // ../../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/components/AnimatePresence/index.mjs
6712
6752
  var AnimatePresence = ({ children, custom, initial = true, onExitComplete, presenceAffectsLayout = true, mode = "sync", propagate = false, anchorX = "left", anchorY = "top", root }) => {
6713
6753
  const [isParentPresent, safeToRemove] = usePresence(propagate);
6714
6754
  const presentChildren = React4.useMemo(() => onlyElements(children), [children]);
@@ -6719,6 +6759,11 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6719
6759
  const exitingComponents = React4.useRef(/* @__PURE__ */ new Set());
6720
6760
  const [diffedChildren, setDiffedChildren] = React4.useState(presentChildren);
6721
6761
  const [renderedChildren, setRenderedChildren] = React4.useState(presentChildren);
6762
+ useIsomorphicLayoutEffect(() => {
6763
+ if (propagate && !isParentPresent && !renderedChildren.length) {
6764
+ safeToRemove?.();
6765
+ }
6766
+ }, [isParentPresent, propagate, renderedChildren.length, safeToRemove]);
6722
6767
  useIsomorphicLayoutEffect(() => {
6723
6768
  isInitialRender.current = false;
6724
6769
  pendingPresentChildren.current = presentChildren;
@@ -6737,12 +6782,14 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6737
6782
  const exitingChildren = [];
6738
6783
  if (presentChildren !== diffedChildren) {
6739
6784
  let nextChildren = [...presentChildren];
6740
- for (let i = 0; i < renderedChildren.length; i++) {
6741
- const child = renderedChildren[i];
6742
- const key = getChildKey(child);
6743
- if (!presentKeys.includes(key)) {
6744
- nextChildren.splice(i, 0, child);
6785
+ let insertionIndex = 0;
6786
+ for (const child of renderedChildren) {
6787
+ const presentIndex = presentKeys.indexOf(getChildKey(child));
6788
+ if (presentIndex === -1) {
6789
+ nextChildren.splice(insertionIndex++, 0, child);
6745
6790
  exitingChildren.push(child);
6791
+ } else {
6792
+ insertionIndex = presentIndex + exitingChildren.length + 1;
6746
6793
  }
6747
6794
  }
6748
6795
  if (mode === "wait" && exitingChildren.length) {
@@ -6786,7 +6833,7 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6786
6833
  };
6787
6834
  var LazyContext = React4.createContext({ strict: false });
6788
6835
 
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/motion/features/definitions.mjs
6836
+ // ../../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
6790
6837
  var featureProps = {
6791
6838
  animation: [
6792
6839
  "animate",
@@ -6825,7 +6872,7 @@ function getInitializedFeatureDefinitions() {
6825
6872
  return getFeatureDefinitions();
6826
6873
  }
6827
6874
 
6828
- // ../../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
6875
+ // ../../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
6829
6876
  function loadFeatures(features) {
6830
6877
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6831
6878
  for (const key in features) {
@@ -6836,74 +6883,9 @@ function loadFeatures(features) {
6836
6883
  }
6837
6884
  setFeatureDefinitions(featureDefinitions2);
6838
6885
  }
6839
-
6840
- // ../../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
6841
- var validMotionProps = /* @__PURE__ */ new Set([
6842
- "animate",
6843
- "exit",
6844
- "variants",
6845
- "initial",
6846
- "style",
6847
- "values",
6848
- "variants",
6849
- "transition",
6850
- "transformTemplate",
6851
- "custom",
6852
- "inherit",
6853
- "onBeforeLayoutMeasure",
6854
- "onAnimationStart",
6855
- "onAnimationComplete",
6856
- "onUpdate",
6857
- "onDragStart",
6858
- "onDrag",
6859
- "onDragEnd",
6860
- "onMeasureDragConstraints",
6861
- "onDirectionLock",
6862
- "onDragTransitionEnd",
6863
- "_dragX",
6864
- "_dragY",
6865
- "onHoverStart",
6866
- "onHoverEnd",
6867
- "onViewportEnter",
6868
- "onViewportLeave",
6869
- "globalTapTarget",
6870
- "propagate",
6871
- "ignoreStrict",
6872
- "viewport"
6873
- ]);
6874
- function isValidMotionProp(key) {
6875
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6876
- }
6877
-
6878
- // ../../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
6879
- var shouldForward = (key) => !isValidMotionProp(key);
6880
- function loadExternalIsValidProp(isValidProp) {
6881
- if (typeof isValidProp !== "function")
6882
- return;
6883
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6884
- }
6885
- try {
6886
- const emotionPkg = "@emotion/is-prop-valid";
6887
- loadExternalIsValidProp(__require(emotionPkg).default);
6888
- } catch {
6889
- }
6890
- function filterProps(props, isDom, forwardMotionProps) {
6891
- const filteredProps = {};
6892
- for (const key in props) {
6893
- if (key === "values" && typeof props.values === "object")
6894
- continue;
6895
- if (isMotionValue(props[key]))
6896
- continue;
6897
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6898
- props["draggable"] && key.startsWith("onDrag")) {
6899
- filteredProps[key] = props[key];
6900
- }
6901
- }
6902
- return filteredProps;
6903
- }
6904
6886
  var MotionContext = /* @__PURE__ */ React4.createContext({});
6905
6887
 
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/context/MotionContext/utils.mjs
6888
+ // ../../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
6907
6889
  function getCurrentTreeVariants(props, context) {
6908
6890
  if (isControllingVariants(props)) {
6909
6891
  const { initial, animate } = props;
@@ -6915,7 +6897,7 @@ function getCurrentTreeVariants(props, context) {
6915
6897
  return props.inherit !== false ? context : {};
6916
6898
  }
6917
6899
 
6918
- // ../../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
6900
+ // ../../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
6919
6901
  function useCreateMotionContext(props) {
6920
6902
  const { initial, animate } = getCurrentTreeVariants(props, React4.useContext(MotionContext));
6921
6903
  return React4.useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6924,7 +6906,7 @@ function variantLabelsAsDependency(prop) {
6924
6906
  return Array.isArray(prop) ? prop.join(" ") : prop;
6925
6907
  }
6926
6908
 
6927
- // ../../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
6909
+ // ../../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
6928
6910
  var createHtmlRenderState = () => ({
6929
6911
  style: {},
6930
6912
  transform: {},
@@ -6932,7 +6914,7 @@ var createHtmlRenderState = () => ({
6932
6914
  vars: {}
6933
6915
  });
6934
6916
 
6935
- // ../../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
6917
+ // ../../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
6936
6918
  function copyRawValuesOnly(target, source, props) {
6937
6919
  for (const key in source) {
6938
6920
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -6969,13 +6951,13 @@ function useHTMLProps(props, visualState) {
6969
6951
  return htmlProps;
6970
6952
  }
6971
6953
 
6972
- // ../../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
6954
+ // ../../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
6973
6955
  var createSvgRenderState = () => ({
6974
6956
  ...createHtmlRenderState(),
6975
6957
  attrs: {}
6976
6958
  });
6977
6959
 
6978
- // ../../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
6960
+ // ../../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
6979
6961
  function useSVGProps(props, visualState, _isStatic, Component3) {
6980
6962
  const visualProps = React4.useMemo(() => {
6981
6963
  const state = createSvgRenderState();
@@ -6993,7 +6975,64 @@ function useSVGProps(props, visualState, _isStatic, Component3) {
6993
6975
  return visualProps;
6994
6976
  }
6995
6977
 
6996
- // ../../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
6978
+ // ../../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
6979
+ var validMotionProps = /* @__PURE__ */ new Set([
6980
+ "animate",
6981
+ "exit",
6982
+ "variants",
6983
+ "initial",
6984
+ "style",
6985
+ "values",
6986
+ "variants",
6987
+ "transition",
6988
+ "transformTemplate",
6989
+ "custom",
6990
+ "inherit",
6991
+ "onBeforeLayoutMeasure",
6992
+ "onAnimationStart",
6993
+ "onAnimationComplete",
6994
+ "onUpdate",
6995
+ "onDragStart",
6996
+ "onDrag",
6997
+ "onDragEnd",
6998
+ "onMeasureDragConstraints",
6999
+ "onDirectionLock",
7000
+ "onDragTransitionEnd",
7001
+ "_dragX",
7002
+ "_dragY",
7003
+ "onHoverStart",
7004
+ "onHoverEnd",
7005
+ "onViewportEnter",
7006
+ "onViewportLeave",
7007
+ "globalTapTarget",
7008
+ "propagate",
7009
+ "ignoreStrict",
7010
+ "viewport"
7011
+ ]);
7012
+ function isValidMotionProp(key) {
7013
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
7014
+ }
7015
+
7016
+ // ../../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
7017
+ function shouldForward(key, isValidProp) {
7018
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
7019
+ }
7020
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
7021
+ const filteredProps = {};
7022
+ for (const key in props) {
7023
+ if (key === "values" && typeof props.values === "object")
7024
+ continue;
7025
+ if (isMotionValue(props[key]))
7026
+ continue;
7027
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
7028
+ props["draggable"] && key.startsWith("onDrag")) {
7029
+ filteredProps[key] = props[key];
7030
+ }
7031
+ }
7032
+ return filteredProps;
7033
+ }
7034
+
7035
+ // ../../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
6997
7036
  var lowercaseSVGElements = [
6998
7037
  "animate",
6999
7038
  "circle",
@@ -7022,7 +7061,7 @@ var lowercaseSVGElements = [
7022
7061
  "view"
7023
7062
  ];
7024
7063
 
7025
- // ../../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
7064
+ // ../../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
7026
7065
  function isSVGComponent(Component3) {
7027
7066
  if (
7028
7067
  /**
@@ -7049,11 +7088,11 @@ function isSVGComponent(Component3) {
7049
7088
  return false;
7050
7089
  }
7051
7090
 
7052
- // ../../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
7053
- function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
7091
+ // ../../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
7092
+ function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
7054
7093
  const useVisualProps = isSVG ?? isSVGComponent(Component3) ? useSVGProps : useHTMLProps;
7055
7094
  const visualProps = useVisualProps(props, latestValues, isStatic, Component3);
7056
- const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps);
7095
+ const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps, isValidProp);
7057
7096
  const elementProps = Component3 !== React4.Fragment ? { ...filteredProps, ...visualProps, ref } : {};
7058
7097
  const { children } = props;
7059
7098
  const renderedChildren = React4.useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -7118,20 +7157,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
7118
7157
  return isStatic ? make() : useConstant(make);
7119
7158
  };
7120
7159
 
7121
- // ../../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
7160
+ // ../../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
7122
7161
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
7123
7162
  scrapeMotionValuesFromProps,
7124
7163
  createRenderState: createHtmlRenderState
7125
7164
  });
7126
7165
 
7127
- // ../../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
7166
+ // ../../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
7128
7167
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
7129
7168
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
7130
7169
  createRenderState: createSvgRenderState
7131
7170
  });
7132
7171
 
7133
- // ../../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
7134
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
7172
+ // ../../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
7173
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
7135
7174
  function useMotionRef(visualState, visualElement, externalRef) {
7136
7175
  const externalRefContainer = React4.useRef(externalRef);
7137
7176
  React4.useInsertionEffect(() => {
@@ -7142,6 +7181,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
7142
7181
  if (instance) {
7143
7182
  visualState.onMount?.(instance);
7144
7183
  }
7184
+ if (visualElement) {
7185
+ instance ? visualElement.mount(instance) : visualElement.unmount();
7186
+ }
7145
7187
  const ref = externalRefContainer.current;
7146
7188
  if (typeof ref === "function") {
7147
7189
  if (instance) {
@@ -7158,19 +7200,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
7158
7200
  } else if (ref) {
7159
7201
  ref.current = instance;
7160
7202
  }
7161
- if (visualElement) {
7162
- instance ? visualElement.mount(instance) : visualElement.unmount();
7163
- }
7164
7203
  }, [visualElement]);
7165
7204
  }
7166
7205
  var SwitchLayoutGroupContext = React4.createContext({});
7167
7206
 
7168
- // ../../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
7207
+ // ../../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
7169
7208
  function isRefObject(ref) {
7170
7209
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
7171
7210
  }
7172
7211
 
7173
- // ../../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
7212
+ // ../../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
7174
7213
  function useVisualElement(Component3, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
7175
7214
  const { visualElement: parent } = React4.useContext(MotionContext);
7176
7215
  const lazyContext = React4.useContext(LazyContext);
@@ -7266,7 +7305,7 @@ function getClosestProjectingNode(visualElement) {
7266
7305
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7267
7306
  }
7268
7307
 
7269
- // ../../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
7308
+ // ../../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
7270
7309
  function createMotionComponent(Component3, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7271
7310
  preloadedFeatures && loadFeatures(preloadedFeatures);
7272
7311
  const isSVG = type ? type === "svg" : isSVGComponent(Component3);
@@ -7278,7 +7317,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7278
7317
  ...props,
7279
7318
  layoutId: useLayoutId(props)
7280
7319
  };
7281
- const { isStatic } = configAndProps;
7320
+ const { isStatic, isValidProp } = configAndProps;
7282
7321
  const context = useCreateMotionContext(props);
7283
7322
  const visualState = useVisualState(props, isStatic);
7284
7323
  if (!isStatic && typeof window !== "undefined") {
@@ -7287,7 +7326,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7287
7326
  MeasureLayout2 = layoutProjection.MeasureLayout;
7288
7327
  context.visualElement = useVisualElement(Component3, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7289
7328
  }
7290
- return jsxRuntime.jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsxRuntime.jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component3, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] });
7329
+ return jsxRuntime.jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsxRuntime.jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component3, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG, isValidProp)] });
7291
7330
  }
7292
7331
  MotionDOMComponent.displayName = `motion.${typeof Component3 === "string" ? Component3 : `create(${Component3.displayName ?? Component3.name ?? ""})`}`;
7293
7332
  const ForwardRefMotionComponent = React4.forwardRef(MotionDOMComponent);
@@ -7317,7 +7356,7 @@ function getProjectionFunctionality(props) {
7317
7356
  };
7318
7357
  }
7319
7358
 
7320
- // ../../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
7359
+ // ../../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
7321
7360
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7322
7361
  if (typeof Proxy === "undefined") {
7323
7362
  return createMotionComponent;
@@ -7355,7 +7394,7 @@ var createDomVisualElement = (Component3, options) => {
7355
7394
  });
7356
7395
  };
7357
7396
 
7358
- // ../../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
7397
+ // ../../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
7359
7398
  var AnimationFeature = class extends Feature {
7360
7399
  /**
7361
7400
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7391,7 +7430,7 @@ var AnimationFeature = class extends Feature {
7391
7430
  }
7392
7431
  };
7393
7432
 
7394
- // ../../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
7433
+ // ../../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
7395
7434
  var id2 = 0;
7396
7435
  var ExitAnimationFeature = class extends Feature {
7397
7436
  constructor() {
@@ -7410,7 +7449,7 @@ var ExitAnimationFeature = class extends Feature {
7410
7449
  if (isPresent && prevIsPresent === false) {
7411
7450
  if (this.isExitComplete) {
7412
7451
  const { initial, custom } = this.node.getProps();
7413
- if (typeof initial === "string") {
7452
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7414
7453
  const resolved = resolveVariant(this.node, initial, custom);
7415
7454
  if (resolved) {
7416
7455
  const { transition, transitionEnd, ...target } = resolved;
@@ -7448,7 +7487,7 @@ var ExitAnimationFeature = class extends Feature {
7448
7487
  }
7449
7488
  };
7450
7489
 
7451
- // ../../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
7490
+ // ../../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
7452
7491
  var animations = {
7453
7492
  animation: {
7454
7493
  Feature: AnimationFeature
@@ -7458,7 +7497,7 @@ var animations = {
7458
7497
  }
7459
7498
  };
7460
7499
 
7461
- // ../../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
7500
+ // ../../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
7462
7501
  function extractEventInfo(event) {
7463
7502
  return {
7464
7503
  point: {
@@ -7469,17 +7508,17 @@ function extractEventInfo(event) {
7469
7508
  }
7470
7509
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
7471
7510
 
7472
- // ../../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
7511
+ // ../../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
7473
7512
  function addPointerEvent(target, eventName, handler, options) {
7474
7513
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7475
7514
  }
7476
7515
 
7477
- // ../../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
7516
+ // ../../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
7478
7517
  var getContextWindow = ({ current }) => {
7479
7518
  return current ? current.ownerDocument.defaultView : null;
7480
7519
  };
7481
7520
 
7482
- // ../../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
7521
+ // ../../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
7483
7522
  var distance = (a, b) => Math.abs(a - b);
7484
7523
  function distance2D(a, b) {
7485
7524
  const xDelta = distance(a.x, b.x);
@@ -7487,7 +7526,7 @@ function distance2D(a, b) {
7487
7526
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7488
7527
  }
7489
7528
 
7490
- // ../../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
7529
+ // ../../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
7491
7530
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7492
7531
  var PanSession = class {
7493
7532
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7560,7 +7599,8 @@ var PanSession = class {
7560
7599
  this.history = [{ ...point, timestamp }];
7561
7600
  const { onSessionStart } = handlers;
7562
7601
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7563
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7602
+ const eventOptions = { passive: true, capture: true };
7603
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7564
7604
  if (element) {
7565
7605
  this.startScrollTracking(element);
7566
7606
  }
@@ -7694,7 +7734,7 @@ function getVelocity(history, timeDelta) {
7694
7734
  return currentVelocity;
7695
7735
  }
7696
7736
 
7697
- // ../../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
7737
+ // ../../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
7698
7738
  function applyConstraints(point, { min, max }, elastic) {
7699
7739
  if (min !== void 0 && point < min) {
7700
7740
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7772,7 +7812,7 @@ function resolvePointElastic(dragElastic, label) {
7772
7812
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7773
7813
  }
7774
7814
 
7775
- // ../../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
7815
+ // ../../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
7776
7816
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7777
7817
  var VisualElementDragControls = class {
7778
7818
  constructor(visualElement) {
@@ -7973,6 +8013,10 @@ var VisualElementDragControls = class {
7973
8013
  const { projection } = this.visualElement;
7974
8014
  if (!projection || !projection.layout)
7975
8015
  return false;
8016
+ if (projection.root) {
8017
+ projection.root.scroll = void 0;
8018
+ projection.root.updateScroll();
8019
+ }
7976
8020
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
7977
8021
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
7978
8022
  if (onMeasureDragConstraints) {
@@ -8029,7 +8073,7 @@ var VisualElementDragControls = class {
8029
8073
  const dragKey = `_drag${axis.toUpperCase()}`;
8030
8074
  const props = this.visualElement.getProps();
8031
8075
  const externalMotionValue = props[dragKey];
8032
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
8076
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
8033
8077
  }
8034
8078
  snapToCursor(point) {
8035
8079
  eachAxis((axis) => {
@@ -8177,7 +8221,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
8177
8221
  return direction;
8178
8222
  }
8179
8223
 
8180
- // ../../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
8224
+ // ../../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
8181
8225
  var DragGesture = class extends Feature {
8182
8226
  constructor(node) {
8183
8227
  super(node);
@@ -8211,7 +8255,7 @@ var DragGesture = class extends Feature {
8211
8255
  }
8212
8256
  };
8213
8257
 
8214
- // ../../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
8258
+ // ../../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
8215
8259
  var asyncHandler = (handler) => (event, info) => {
8216
8260
  if (handler) {
8217
8261
  frame.update(() => handler(event, info), false, true);
@@ -8354,7 +8398,7 @@ function MeasureLayout(props) {
8354
8398
  return jsxRuntime.jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: React4.useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8355
8399
  }
8356
8400
 
8357
- // ../../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
8401
+ // ../../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
8358
8402
  var drag = {
8359
8403
  pan: {
8360
8404
  Feature: PanGesture
@@ -8366,7 +8410,7 @@ var drag = {
8366
8410
  }
8367
8411
  };
8368
8412
 
8369
- // ../../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
8413
+ // ../../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
8370
8414
  function handleHoverEvent(node, event, lifecycle) {
8371
8415
  const { props } = node;
8372
8416
  if (node.animationState && props.whileHover) {
@@ -8392,7 +8436,7 @@ var HoverGesture = class extends Feature {
8392
8436
  }
8393
8437
  };
8394
8438
 
8395
- // ../../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
8439
+ // ../../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
8396
8440
  var FocusGesture = class extends Feature {
8397
8441
  constructor() {
8398
8442
  super(...arguments);
@@ -8423,7 +8467,7 @@ var FocusGesture = class extends Feature {
8423
8467
  }
8424
8468
  };
8425
8469
 
8426
- // ../../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
8470
+ // ../../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
8427
8471
  function handlePressEvent(node, event, lifecycle) {
8428
8472
  const { props } = node;
8429
8473
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8456,7 +8500,7 @@ var PressGesture = class extends Feature {
8456
8500
  }
8457
8501
  };
8458
8502
 
8459
- // ../../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
8503
+ // ../../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
8460
8504
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8461
8505
  var observers = /* @__PURE__ */ new WeakMap();
8462
8506
  var fireObserverCallback = (entry) => {
@@ -8488,7 +8532,7 @@ function observeIntersection(element, options, callback) {
8488
8532
  };
8489
8533
  }
8490
8534
 
8491
- // ../../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
8535
+ // ../../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
8492
8536
  var thresholdNames = {
8493
8537
  some: 0,
8494
8538
  all: 1
@@ -8549,7 +8593,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8549
8593
  return (name) => viewport[name] !== prevViewport[name];
8550
8594
  }
8551
8595
 
8552
- // ../../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
8596
+ // ../../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
8553
8597
  var gestureAnimations = {
8554
8598
  inView: {
8555
8599
  Feature: InViewFeature
@@ -8565,7 +8609,7 @@ var gestureAnimations = {
8565
8609
  }
8566
8610
  };
8567
8611
 
8568
- // ../../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
8612
+ // ../../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
8569
8613
  var layout = {
8570
8614
  layout: {
8571
8615
  ProjectionNode: HTMLProjectionNode,
@@ -8573,7 +8617,7 @@ var layout = {
8573
8617
  }
8574
8618
  };
8575
8619
 
8576
- // ../../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
8620
+ // ../../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
8577
8621
  var featureBundle = {
8578
8622
  ...animations,
8579
8623
  ...gestureAnimations,
@@ -8581,8 +8625,11 @@ var featureBundle = {
8581
8625
  ...layout
8582
8626
  };
8583
8627
 
8584
- // ../../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
8628
+ // ../../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
8585
8629
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8630
+
8631
+ // ../../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
8632
+ var motion2 = motion;
8586
8633
  var AnimatedTestimonials = React4__namespace.forwardRef(
8587
8634
  ({ className, testimonials, autoPlay = true, duration = 5e3, ...props }, ref) => {
8588
8635
  const [activeIndex, setActiveIndex] = React4__namespace.useState(0);
@@ -8601,7 +8648,7 @@ var AnimatedTestimonials = React4__namespace.forwardRef(
8601
8648
  ...props,
8602
8649
  children: [
8603
8650
  /* @__PURE__ */ jsxRuntime.jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
8604
- motion.div,
8651
+ motion2.div,
8605
8652
  {
8606
8653
  initial: { opacity: 0, y: 20 },
8607
8654
  animate: { opacity: 1, y: 0 },