@luxfi/ui 8.2.12 → 8.3.1

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 (50) 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/dist/site/site-def/footer/company.d.ts +3 -3
  44. package/package.json +37 -37
  45. package/src/3d-carousel.tsx +2 -2
  46. package/src/calendar.tsx +12 -43
  47. package/src/image-zoom.tsx +2 -2
  48. package/src/resizable.tsx +7 -7
  49. package/src/table.tsx +9 -9
  50. package/tokens.css +21 -0
@@ -27,12 +27,6 @@ function _interopNamespace(e) {
27
27
 
28
28
  var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
29
29
 
30
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
31
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
32
- }) : x)(function(x) {
33
- if (typeof require !== "undefined") return require.apply(this, arguments);
34
- throw Error('Dynamic require of "' + x + '" is not supported');
35
- });
36
30
  var LayoutGroupContext = React2.createContext({});
37
31
  function useConstant(init) {
38
32
  const ref = React2.useRef(null);
@@ -42,14 +36,14 @@ function useConstant(init) {
42
36
  return ref.current;
43
37
  }
44
38
 
45
- // ../../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
39
+ // ../../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
46
40
  var isBrowser = typeof window !== "undefined";
47
41
 
48
- // ../../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
42
+ // ../../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
49
43
  var useIsomorphicLayoutEffect = isBrowser ? React2.useLayoutEffect : React2.useEffect;
50
44
  var PresenceContext = /* @__PURE__ */ React2.createContext(null);
51
45
 
52
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/array.mjs
46
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/array.mjs
53
47
  function addUniqueItem(arr, item) {
54
48
  if (arr.indexOf(item) === -1)
55
49
  arr.push(item);
@@ -60,7 +54,7 @@ function removeItem(arr, item) {
60
54
  arr.splice(index, 1);
61
55
  }
62
56
 
63
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/clamp.mjs
57
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/clamp.mjs
64
58
  var clamp = (min, max, v) => {
65
59
  if (v > max)
66
60
  return max;
@@ -69,12 +63,12 @@ var clamp = (min, max, v) => {
69
63
  return v;
70
64
  };
71
65
 
72
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/format-error-message.mjs
66
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/format-error-message.mjs
73
67
  function formatErrorMessage(message, errorCode) {
74
68
  return errorCode ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` : message;
75
69
  }
76
70
 
77
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/errors.mjs
71
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/errors.mjs
78
72
  var warning = () => {
79
73
  };
80
74
  var invariant = () => {
@@ -92,21 +86,19 @@ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
92
86
  };
93
87
  }
94
88
 
95
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/global-config.mjs
89
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/global-config.mjs
96
90
  var MotionGlobalConfig = {};
97
91
 
98
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
92
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
99
93
  var isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
100
94
 
101
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-object.mjs
102
- function isObject(value) {
103
- return typeof value === "object" && value !== null;
104
- }
95
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-object.mjs
96
+ var isObject = (value) => typeof value === "object" && value !== null;
105
97
 
106
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
98
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
107
99
  var isZeroValueString = (v) => /^0[^.\s]+$/u.test(v);
108
100
 
109
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/memo.mjs
101
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/memo.mjs
110
102
  // @__NO_SIDE_EFFECTS__
111
103
  function memo(callback) {
112
104
  let result;
@@ -117,20 +109,19 @@ function memo(callback) {
117
109
  };
118
110
  }
119
111
 
120
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/noop.mjs
112
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/noop.mjs
121
113
  var noop = /* @__NO_SIDE_EFFECTS__ */ (any) => any;
122
114
 
123
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/pipe.mjs
124
- var combineFunctions = (a, b) => (v) => b(a(v));
125
- var pipe = (...transformers) => transformers.reduce(combineFunctions);
115
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/pipe.mjs
116
+ var pipe = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v)));
126
117
 
127
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/progress.mjs
118
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/progress.mjs
128
119
  var progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
129
- const toFromDifference = to - from;
130
- return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
120
+ const range = to - from;
121
+ return range ? (value - from) / range : 1;
131
122
  };
132
123
 
133
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
124
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
134
125
  var SubscriptionManager = class {
135
126
  constructor() {
136
127
  this.subscriptions = [];
@@ -160,16 +151,14 @@ var SubscriptionManager = class {
160
151
  }
161
152
  };
162
153
 
163
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/time-conversion.mjs
154
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/time-conversion.mjs
164
155
  var secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3;
165
156
  var millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
166
157
 
167
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
168
- function velocityPerSecond(velocity, frameDuration) {
169
- return frameDuration ? velocity * (1e3 / frameDuration) : 0;
170
- }
158
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
159
+ var velocityPerSecond = /* @__NO_SIDE_EFFECTS__ */ (velocity, frameDuration) => frameDuration ? velocity * (1e3 / frameDuration) : 0;
171
160
 
172
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/warn-once.mjs
161
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/warn-once.mjs
173
162
  var warned = /* @__PURE__ */ new Set();
174
163
  function warnOnce(condition, message, errorCode) {
175
164
  if (condition || warned.has(message))
@@ -178,7 +167,7 @@ function warnOnce(condition, message, errorCode) {
178
167
  warned.add(message);
179
168
  }
180
169
 
181
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
170
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
182
171
  var calcBezier = (t, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t + (3 * a2 - 6 * a1)) * t + 3 * a1) * t;
183
172
  var subdivisionPrecision = 1e-7;
184
173
  var subdivisionMaxIterations = 12;
@@ -197,6 +186,7 @@ function binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {
197
186
  } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations);
198
187
  return currentT;
199
188
  }
189
+ // @__NO_SIDE_EFFECTS__
200
190
  function cubicBezier(mX1, mY1, mX2, mY2) {
201
191
  if (mX1 === mY1 && mX2 === mY2)
202
192
  return noop;
@@ -204,39 +194,39 @@ function cubicBezier(mX1, mY1, mX2, mY2) {
204
194
  return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
205
195
  }
206
196
 
207
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
208
- var mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
197
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
198
+ var mirrorEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
209
199
 
210
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
211
- var reverseEasing = (easing) => (p) => 1 - easing(1 - p);
200
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
201
+ var reverseEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => 1 - easing(1 - p);
212
202
 
213
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/back.mjs
203
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/back.mjs
214
204
  var backOut = /* @__PURE__ */ cubicBezier(0.33, 1.53, 0.69, 0.99);
215
205
  var backIn = /* @__PURE__ */ reverseEasing(backOut);
216
206
  var backInOut = /* @__PURE__ */ mirrorEasing(backIn);
217
207
 
218
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
208
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
219
209
  var anticipate = (p) => p >= 1 ? 1 : (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
220
210
 
221
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/circ.mjs
211
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/circ.mjs
222
212
  var circIn = (p) => 1 - Math.sin(Math.acos(p));
223
213
  var circOut = reverseEasing(circIn);
224
214
  var circInOut = mirrorEasing(circIn);
225
215
 
226
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/ease.mjs
216
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/ease.mjs
227
217
  var easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1);
228
218
  var easeOut = /* @__PURE__ */ cubicBezier(0, 0, 0.58, 1);
229
219
  var easeInOut = /* @__PURE__ */ cubicBezier(0.42, 0, 0.58, 1);
230
220
 
231
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
232
- var isEasingArray = (ease2) => {
221
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
222
+ var isEasingArray = /* @__NO_SIDE_EFFECTS__ */ (ease2) => {
233
223
  return Array.isArray(ease2) && typeof ease2[0] !== "number";
234
224
  };
235
225
 
236
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
237
- var isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number";
226
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
227
+ var isBezierDefinition = /* @__NO_SIDE_EFFECTS__ */ (easing) => Array.isArray(easing) && typeof easing[0] === "number";
238
228
 
239
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
229
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
240
230
  var easingLookup = {
241
231
  linear: noop,
242
232
  easeIn,
@@ -265,7 +255,7 @@ var easingDefinitionToFunction = (definition) => {
265
255
  return definition;
266
256
  };
267
257
 
268
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
258
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/order.mjs
269
259
  var stepsOrder = [
270
260
  "setup",
271
261
  // Compute
@@ -285,8 +275,8 @@ var stepsOrder = [
285
275
  // Compute
286
276
  ];
287
277
 
288
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
289
- function createRenderStep(runNextFrame, stepName) {
278
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
279
+ function createRenderStep(runNextFrame) {
290
280
  let thisFrame = /* @__PURE__ */ new Set();
291
281
  let nextFrame = /* @__PURE__ */ new Set();
292
282
  let isProcessing = false;
@@ -348,7 +338,7 @@ function createRenderStep(runNextFrame, stepName) {
348
338
  return step;
349
339
  }
350
340
 
351
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
341
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
352
342
  var maxElapsed = 40;
353
343
  function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
354
344
  let runNextFrame = false;
@@ -411,10 +401,10 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
411
401
  return { schedule, cancel, state, steps };
412
402
  }
413
403
 
414
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
404
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/frame.mjs
415
405
  var { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true);
416
406
 
417
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
407
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
418
408
  var now;
419
409
  function clearTime() {
420
410
  now = void 0;
@@ -432,7 +422,7 @@ var time = {
432
422
  }
433
423
  };
434
424
 
435
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
425
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
436
426
  var checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
437
427
  var isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
438
428
  var startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
@@ -449,7 +439,7 @@ function containsCSSVariable(value) {
449
439
  return value.split("/*")[0].includes("var(--");
450
440
  }
451
441
 
452
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
442
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
453
443
  var number = {
454
444
  test: (v) => typeof v === "number",
455
445
  parse: parseFloat,
@@ -464,21 +454,21 @@ var scale = {
464
454
  default: 1
465
455
  };
466
456
 
467
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
457
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
468
458
  var sanitize = (v) => Math.round(v * 1e5) / 1e5;
469
459
 
470
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
460
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
471
461
  var floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
472
462
 
473
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
463
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
474
464
  function isNullish(v) {
475
465
  return v == null;
476
466
  }
477
467
 
478
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
468
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
479
469
  var singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
480
470
 
481
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
471
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
482
472
  var isColorString = (type, testProp) => (v) => {
483
473
  return Boolean(typeof v === "string" && singleColorRegex.test(v) && v.startsWith(type) || testProp && !isNullish(v) && Object.prototype.hasOwnProperty.call(v, testProp));
484
474
  };
@@ -494,7 +484,7 @@ var splitColor = (aName, bName, cName) => (v) => {
494
484
  };
495
485
  };
496
486
 
497
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
487
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
498
488
  var clampRgbUnit = (v) => clamp(0, 255, v);
499
489
  var rgbUnit = {
500
490
  ...number,
@@ -506,7 +496,7 @@ var rgba = {
506
496
  transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
507
497
  };
508
498
 
509
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
499
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
510
500
  function parseHex(v) {
511
501
  let r = "";
512
502
  let g = "";
@@ -540,7 +530,7 @@ var hex = {
540
530
  transform: rgba.transform
541
531
  };
542
532
 
543
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
533
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
544
534
  var createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
545
535
  test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
546
536
  parse: parseFloat,
@@ -557,7 +547,7 @@ var progressPercentage = /* @__PURE__ */ (() => ({
557
547
  transform: (v) => percent.transform(v * 100)
558
548
  }))();
559
549
 
560
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
550
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
561
551
  var hsla = {
562
552
  test: /* @__PURE__ */ isColorString("hsl", "hue"),
563
553
  parse: /* @__PURE__ */ splitColor("hue", "saturation", "lightness"),
@@ -566,7 +556,7 @@ var hsla = {
566
556
  }
567
557
  };
568
558
 
569
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
559
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/index.mjs
570
560
  var color = {
571
561
  test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),
572
562
  parse: (v) => {
@@ -588,10 +578,10 @@ var color = {
588
578
  }
589
579
  };
590
580
 
591
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
581
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
592
582
  var colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
593
583
 
594
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
584
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
595
585
  function test(v) {
596
586
  return isNaN(v) && typeof v === "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
597
587
  }
@@ -676,7 +666,7 @@ var complex = {
676
666
  getAnimatableNone
677
667
  };
678
668
 
679
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
669
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
680
670
  function hueToRgb(p, q, t) {
681
671
  if (t < 0)
682
672
  t += 1;
@@ -714,17 +704,17 @@ function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
714
704
  };
715
705
  }
716
706
 
717
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
707
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
718
708
  function mixImmediate(a, b) {
719
709
  return (p) => p > 0 ? b : a;
720
710
  }
721
711
 
722
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
712
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/number.mjs
723
713
  var mixNumber = (from, to, progress2) => {
724
714
  return from + (to - from) * progress2;
725
715
  };
726
716
 
727
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
717
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/color.mjs
728
718
  var mixLinearColor = (from, to, v) => {
729
719
  const fromExpo = from * from;
730
720
  const expo = v * (to * to - fromExpo) + fromExpo;
@@ -759,7 +749,7 @@ var mixColor = (from, to) => {
759
749
  };
760
750
  };
761
751
 
762
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
752
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
763
753
  var invisibleValues = /* @__PURE__ */ new Set(["none", "hidden"]);
764
754
  function mixVisibility(origin, target) {
765
755
  if (invisibleValues.has(origin)) {
@@ -769,7 +759,7 @@ function mixVisibility(origin, target) {
769
759
  }
770
760
  }
771
761
 
772
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
762
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
773
763
  function mixNumber2(a, b) {
774
764
  return (p) => mixNumber(a, b, p);
775
765
  }
@@ -839,7 +829,7 @@ var mixComplex = (origin, target) => {
839
829
  }
840
830
  };
841
831
 
842
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
832
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/index.mjs
843
833
  function mix(from, to, p) {
844
834
  if (typeof from === "number" && typeof to === "number" && typeof p === "number") {
845
835
  return mixNumber(from, to, p);
@@ -848,7 +838,7 @@ function mix(from, to, p) {
848
838
  return mixer(from, to);
849
839
  }
850
840
 
851
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
841
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
852
842
  var frameloopDriver = (update) => {
853
843
  const passTimestamp = ({ timestamp }) => update(timestamp);
854
844
  return {
@@ -862,7 +852,7 @@ var frameloopDriver = (update) => {
862
852
  };
863
853
  };
864
854
 
865
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
855
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
866
856
  var generateLinearEasing = (easing, duration, resolution = 10) => {
867
857
  let points = "";
868
858
  const numPoints = Math.max(Math.round(duration / resolution), 2);
@@ -872,7 +862,7 @@ var generateLinearEasing = (easing, duration, resolution = 10) => {
872
862
  return `linear(${points.substring(0, points.length - 2)})`;
873
863
  };
874
864
 
875
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
865
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
876
866
  var maxGeneratorDuration = 2e4;
877
867
  function calcGeneratorDuration(generator) {
878
868
  let duration = 0;
@@ -885,7 +875,7 @@ function calcGeneratorDuration(generator) {
885
875
  return duration >= maxGeneratorDuration ? Infinity : duration;
886
876
  }
887
877
 
888
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
878
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
889
879
  function createGeneratorEasing(options, scale2 = 100, createGenerator) {
890
880
  const generator = createGenerator({ ...options, keyframes: [0, scale2] });
891
881
  const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
@@ -898,7 +888,7 @@ function createGeneratorEasing(options, scale2 = 100, createGenerator) {
898
888
  };
899
889
  }
900
890
 
901
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
891
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
902
892
  var springDefaults = {
903
893
  // Default spring physics
904
894
  stiffness: 100,
@@ -1137,14 +1127,14 @@ spring.applyToOptions = (options) => {
1137
1127
  return options;
1138
1128
  };
1139
1129
 
1140
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1130
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1141
1131
  var velocitySampleDuration = 5;
1142
1132
  function getGeneratorVelocity(resolveValue, t, current) {
1143
1133
  const prevT = Math.max(t - velocitySampleDuration, 0);
1144
1134
  return velocityPerSecond(current - resolveValue(prevT), t - prevT);
1145
1135
  }
1146
1136
 
1147
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1137
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1148
1138
  function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed }) {
1149
1139
  const origin = keyframes2[0];
1150
1140
  const state = {
@@ -1208,7 +1198,7 @@ function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstan
1208
1198
  };
1209
1199
  }
1210
1200
 
1211
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1201
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1212
1202
  function createMixers(output, ease2, customMixer) {
1213
1203
  const mixers = [];
1214
1204
  const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;
@@ -1253,7 +1243,7 @@ function interpolate(input, output, { clamp: isClamp = true, ease: ease2, mixer
1253
1243
  return isClamp ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator;
1254
1244
  }
1255
1245
 
1256
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1246
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1257
1247
  function fillOffset(offset, remaining) {
1258
1248
  const min = offset[offset.length - 1];
1259
1249
  for (let i = 1; i <= remaining; i++) {
@@ -1262,19 +1252,19 @@ function fillOffset(offset, remaining) {
1262
1252
  }
1263
1253
  }
1264
1254
 
1265
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1255
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1266
1256
  function defaultOffset(arr) {
1267
1257
  const offset = [0];
1268
1258
  fillOffset(offset, arr.length - 1);
1269
1259
  return offset;
1270
1260
  }
1271
1261
 
1272
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1262
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1273
1263
  function convertOffsetToTimes(offset, duration) {
1274
1264
  return offset.map((o) => o * duration);
1275
1265
  }
1276
1266
 
1277
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1267
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1278
1268
  function defaultEasing(values, easing) {
1279
1269
  return values.map(() => easing || easeInOut).splice(0, values.length - 1);
1280
1270
  }
@@ -1303,7 +1293,7 @@ function keyframes({ duration = 300, keyframes: keyframeValues, times, ease: eas
1303
1293
  };
1304
1294
  }
1305
1295
 
1306
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1296
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1307
1297
  var isNotNull = (value) => value !== null;
1308
1298
  function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
1309
1299
  const resolvedKeyframes = keyframes2.filter(isNotNull);
@@ -1312,7 +1302,7 @@ function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyf
1312
1302
  return !index || finalKeyframe === void 0 ? resolvedKeyframes[index] : finalKeyframe;
1313
1303
  }
1314
1304
 
1315
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1305
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1316
1306
  var transitionTypeMap = {
1317
1307
  decay: inertia,
1318
1308
  inertia,
@@ -1326,7 +1316,7 @@ function replaceTransitionType(transition) {
1326
1316
  }
1327
1317
  }
1328
1318
 
1329
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1319
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1330
1320
  var WithPromise = class {
1331
1321
  constructor() {
1332
1322
  this.updateFinished();
@@ -1352,7 +1342,7 @@ var WithPromise = class {
1352
1342
  }
1353
1343
  };
1354
1344
 
1355
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1345
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1356
1346
  var percentToProgress = (percent2) => percent2 / 100;
1357
1347
  var JSAnimation = class extends WithPromise {
1358
1348
  constructor(options) {
@@ -1631,14 +1621,14 @@ var JSAnimation = class extends WithPromise {
1631
1621
  }
1632
1622
  };
1633
1623
 
1634
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1624
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1635
1625
  function fillWildcards(keyframes2) {
1636
1626
  for (let i = 1; i < keyframes2.length; i++) {
1637
1627
  keyframes2[i] ?? (keyframes2[i] = keyframes2[i - 1]);
1638
1628
  }
1639
1629
  }
1640
1630
 
1641
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1631
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1642
1632
  var radToDeg = (rad) => rad * 180 / Math.PI;
1643
1633
  var rotate = (v) => {
1644
1634
  const angle = radToDeg(Math.atan2(v[1], v[0]));
@@ -1718,7 +1708,7 @@ function convertTransformToNumber(value) {
1718
1708
  return parseFloat(value.trim());
1719
1709
  }
1720
1710
 
1721
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1711
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1722
1712
  var transformPropOrder = [
1723
1713
  "transformPerspective",
1724
1714
  "x",
@@ -1738,9 +1728,9 @@ var transformPropOrder = [
1738
1728
  "skewX",
1739
1729
  "skewY"
1740
1730
  ];
1741
- var transformProps = /* @__PURE__ */ (() => new Set(transformPropOrder))();
1731
+ var transformProps = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([...transformPropOrder, "pathRotation"]))();
1742
1732
 
1743
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1733
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1744
1734
  var isNumOrPxType = (v) => v === number || v === px;
1745
1735
  var transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
1746
1736
  var nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
@@ -1776,7 +1766,7 @@ var positionalValues = {
1776
1766
  positionalValues.translateX = positionalValues.x;
1777
1767
  positionalValues.translateY = positionalValues.y;
1778
1768
 
1779
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1769
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1780
1770
  var toResolve = /* @__PURE__ */ new Set();
1781
1771
  var isScheduled = false;
1782
1772
  var anyNeedsMeasurement = false;
@@ -1902,27 +1892,27 @@ var KeyframeResolver = class {
1902
1892
  }
1903
1893
  };
1904
1894
 
1905
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1895
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1906
1896
  var isCSSVar = (name) => name.startsWith("--");
1907
1897
 
1908
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1898
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1909
1899
  function setStyle(element, name, value) {
1910
1900
  isCSSVar(name) ? element.style.setProperty(name, value) : element.style[name] = value;
1911
1901
  }
1912
1902
 
1913
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1903
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1914
1904
  var supportsFlags = {};
1915
1905
 
1916
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1906
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1917
1907
  function memoSupports(callback, supportsFlag) {
1918
1908
  const memoized = memo(callback);
1919
1909
  return () => supportsFlags[supportsFlag] ?? memoized();
1920
1910
  }
1921
1911
 
1922
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1912
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1923
1913
  var supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== void 0, "scrollTimeline");
1924
1914
 
1925
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1915
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1926
1916
  var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1927
1917
  try {
1928
1918
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -1932,10 +1922,10 @@ var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1932
1922
  return true;
1933
1923
  }, "linearEasing");
1934
1924
 
1935
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1925
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1936
1926
  var cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
1937
1927
 
1938
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1928
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1939
1929
  var supportedWaapiEasing = {
1940
1930
  linear: "linear",
1941
1931
  ease: "ease",
@@ -1948,7 +1938,7 @@ var supportedWaapiEasing = {
1948
1938
  backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
1949
1939
  };
1950
1940
 
1951
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1941
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1952
1942
  function mapEasingToNativeEasing(easing, duration) {
1953
1943
  if (!easing) {
1954
1944
  return void 0;
@@ -1963,7 +1953,7 @@ function mapEasingToNativeEasing(easing, duration) {
1963
1953
  }
1964
1954
  }
1965
1955
 
1966
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1956
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1967
1957
  function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeOut", times } = {}, pseudoElement = void 0) {
1968
1958
  const keyframeOptions = {
1969
1959
  [valueName]: keyframes2
@@ -1983,16 +1973,15 @@ function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0
1983
1973
  };
1984
1974
  if (pseudoElement)
1985
1975
  options.pseudoElement = pseudoElement;
1986
- const animation = element.animate(keyframeOptions, options);
1987
- return animation;
1976
+ return element.animate(keyframeOptions, options);
1988
1977
  }
1989
1978
 
1990
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1979
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1991
1980
  function isGenerator(type) {
1992
1981
  return typeof type === "function" && "applyToOptions" in type;
1993
1982
  }
1994
1983
 
1995
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1984
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1996
1985
  function applyGeneratorOptions({ type, ...options }) {
1997
1986
  if (isGenerator(type) && supportsLinearEasing()) {
1998
1987
  return type.applyToOptions(options);
@@ -2003,7 +1992,7 @@ function applyGeneratorOptions({ type, ...options }) {
2003
1992
  return options;
2004
1993
  }
2005
1994
 
2006
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1995
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
2007
1996
  var NativeAnimation = class extends WithPromise {
2008
1997
  constructor(options) {
2009
1998
  super();
@@ -2153,7 +2142,7 @@ var NativeAnimation = class extends WithPromise {
2153
2142
  }
2154
2143
  };
2155
2144
 
2156
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2145
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2157
2146
  var unsupportedEasingFunctions = {
2158
2147
  anticipate,
2159
2148
  backInOut,
@@ -2168,7 +2157,7 @@ function replaceStringEasing(transition) {
2168
2157
  }
2169
2158
  }
2170
2159
 
2171
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2160
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2172
2161
  var sampleDelta = 10;
2173
2162
  var NativeAnimationExtended = class extends NativeAnimation {
2174
2163
  constructor(options) {
@@ -2211,7 +2200,7 @@ var NativeAnimationExtended = class extends NativeAnimation {
2211
2200
  }
2212
2201
  };
2213
2202
 
2214
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2203
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2215
2204
  var isAnimatable = (value, name) => {
2216
2205
  if (name === "zIndex")
2217
2206
  return false;
@@ -2225,7 +2214,7 @@ var isAnimatable = (value, name) => {
2225
2214
  return false;
2226
2215
  };
2227
2216
 
2228
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2217
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2229
2218
  function hasKeyframesChanged(keyframes2) {
2230
2219
  const current = keyframes2[0];
2231
2220
  if (keyframes2.length === 1)
@@ -2252,24 +2241,22 @@ function canAnimate(keyframes2, name, type, velocity) {
2252
2241
  return hasKeyframesChanged(keyframes2) || (type === "spring" || isGenerator(type)) && velocity;
2253
2242
  }
2254
2243
 
2255
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2244
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2256
2245
  function makeAnimationInstant(options) {
2257
2246
  options.duration = 0;
2258
2247
  options.type = "keyframes";
2259
2248
  }
2260
2249
 
2261
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2250
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2262
2251
  var acceleratedValues = /* @__PURE__ */ new Set([
2263
2252
  "opacity",
2264
2253
  "clipPath",
2265
2254
  "filter",
2266
- "transform"
2267
- // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
2268
- // or until we implement support for linear() easing.
2269
- // "background-color"
2255
+ "transform",
2256
+ "backgroundColor"
2270
2257
  ]);
2271
2258
 
2272
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2259
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2273
2260
  var browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
2274
2261
  function hasBrowserOnlyColors(keyframes2) {
2275
2262
  for (let i = 0; i < keyframes2.length; i++) {
@@ -2280,7 +2267,7 @@ function hasBrowserOnlyColors(keyframes2) {
2280
2267
  return false;
2281
2268
  }
2282
2269
 
2283
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2270
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2284
2271
  var colorProperties = /* @__PURE__ */ new Set([
2285
2272
  "color",
2286
2273
  "backgroundColor",
@@ -2297,7 +2284,7 @@ var supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Elemen
2297
2284
  function supportsBrowserAnimation(options) {
2298
2285
  const { motionValue: motionValue2, name, repeatDelay, repeatType, damping, type, keyframes: keyframes2 } = options;
2299
2286
  const subject = motionValue2?.owner?.current;
2300
- if (!(subject instanceof HTMLElement)) {
2287
+ if (!(subject instanceof HTMLElement) && !(subject instanceof SVGElement)) {
2301
2288
  return false;
2302
2289
  }
2303
2290
  const { onUpdate, transformTemplate } = motionValue2.owner.getProps();
@@ -2312,7 +2299,7 @@ function supportsBrowserAnimation(options) {
2312
2299
  !onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
2313
2300
  }
2314
2301
 
2315
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2302
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2316
2303
  var MAX_RESOLVE_DELAY = 40;
2317
2304
  var AsyncMotionValueAnimation = class extends WithPromise {
2318
2305
  constructor({ autoplay = true, delay: delay2 = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", keyframes: keyframes2, name, motionValue: motionValue2, element, ...options }) {
@@ -2453,7 +2440,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
2453
2440
  }
2454
2441
  };
2455
2442
 
2456
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2443
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2457
2444
  function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {
2458
2445
  const index = Array.from(children).sort((a, b) => a.sortNodePosition(b)).indexOf(child);
2459
2446
  const numChildren = children.size;
@@ -2462,202 +2449,7 @@ function calcChildStagger(children, child, delayChildren, staggerChildren = 0, s
2462
2449
  return delayIsFunction ? delayChildren(index, numChildren) : staggerDirection === 1 ? index * staggerChildren : maxStaggerDuration - index * staggerChildren;
2463
2450
  }
2464
2451
 
2465
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2466
- var splitCSSVariableRegex = (
2467
- // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2468
- /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2469
- );
2470
- function parseCSSVariable(current) {
2471
- const match = splitCSSVariableRegex.exec(current);
2472
- if (!match)
2473
- return [,];
2474
- const [, token1, token2, fallback] = match;
2475
- return [`--${token1 ?? token2}`, fallback];
2476
- }
2477
- var maxDepth = 4;
2478
- function getVariableValue(current, element, depth = 1) {
2479
- invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2480
- const [token, fallback] = parseCSSVariable(current);
2481
- if (!token)
2482
- return;
2483
- const resolved = window.getComputedStyle(element).getPropertyValue(token);
2484
- if (resolved) {
2485
- const trimmed = resolved.trim();
2486
- return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2487
- }
2488
- return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2489
- }
2490
-
2491
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2492
- var underDampedSpring = {
2493
- type: "spring",
2494
- stiffness: 500,
2495
- damping: 25,
2496
- restSpeed: 10
2497
- };
2498
- var criticallyDampedSpring = (target) => ({
2499
- type: "spring",
2500
- stiffness: 550,
2501
- damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2502
- restSpeed: 10
2503
- });
2504
- var keyframesTransition = {
2505
- type: "keyframes",
2506
- duration: 0.8
2507
- };
2508
- var ease = {
2509
- type: "keyframes",
2510
- ease: [0.25, 0.1, 0.35, 1],
2511
- duration: 0.3
2512
- };
2513
- var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2514
- if (keyframes2.length > 2) {
2515
- return keyframesTransition;
2516
- } else if (transformProps.has(valueKey)) {
2517
- return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2518
- }
2519
- return ease;
2520
- };
2521
-
2522
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2523
- function resolveTransition(transition, parentTransition) {
2524
- if (transition?.inherit && parentTransition) {
2525
- const { inherit: _, ...rest } = transition;
2526
- return { ...parentTransition, ...rest };
2527
- }
2528
- return transition;
2529
- }
2530
-
2531
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2532
- function getValueTransition(transition, key) {
2533
- const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2534
- if (valueTransition !== transition) {
2535
- return resolveTransition(valueTransition, transition);
2536
- }
2537
- return valueTransition;
2538
- }
2539
-
2540
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2541
- var orchestrationKeys = /* @__PURE__ */ new Set([
2542
- "when",
2543
- "delay",
2544
- "delayChildren",
2545
- "staggerChildren",
2546
- "staggerDirection",
2547
- "repeat",
2548
- "repeatType",
2549
- "repeatDelay",
2550
- "from",
2551
- "elapsed"
2552
- ]);
2553
- function isTransitionDefined(transition) {
2554
- for (const key in transition) {
2555
- if (!orchestrationKeys.has(key))
2556
- return true;
2557
- }
2558
- return false;
2559
- }
2560
-
2561
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2562
- var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2563
- const valueTransition = getValueTransition(transition, name) || {};
2564
- const delay2 = valueTransition.delay || transition.delay || 0;
2565
- let { elapsed = 0 } = transition;
2566
- elapsed = elapsed - secondsToMilliseconds(delay2);
2567
- const options = {
2568
- keyframes: Array.isArray(target) ? target : [null, target],
2569
- ease: "easeOut",
2570
- velocity: value.getVelocity(),
2571
- ...valueTransition,
2572
- delay: -elapsed,
2573
- onUpdate: (v) => {
2574
- value.set(v);
2575
- valueTransition.onUpdate && valueTransition.onUpdate(v);
2576
- },
2577
- onComplete: () => {
2578
- onComplete();
2579
- valueTransition.onComplete && valueTransition.onComplete();
2580
- },
2581
- name,
2582
- motionValue: value,
2583
- element: isHandoff ? void 0 : element
2584
- };
2585
- if (!isTransitionDefined(valueTransition)) {
2586
- Object.assign(options, getDefaultTransition(name, options));
2587
- }
2588
- options.duration && (options.duration = secondsToMilliseconds(options.duration));
2589
- options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2590
- if (options.from !== void 0) {
2591
- options.keyframes[0] = options.from;
2592
- }
2593
- let shouldSkip = false;
2594
- if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2595
- makeAnimationInstant(options);
2596
- if (options.delay === 0) {
2597
- shouldSkip = true;
2598
- }
2599
- }
2600
- if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations) {
2601
- shouldSkip = true;
2602
- makeAnimationInstant(options);
2603
- options.delay = 0;
2604
- }
2605
- options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2606
- if (shouldSkip && !isHandoff && value.get() !== void 0) {
2607
- const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2608
- if (finalKeyframe !== void 0) {
2609
- frame.update(() => {
2610
- options.onUpdate(finalKeyframe);
2611
- options.onComplete();
2612
- });
2613
- return;
2614
- }
2615
- }
2616
- return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2617
- };
2618
-
2619
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2620
- function getValueState(visualElement) {
2621
- const state = [{}, {}];
2622
- visualElement?.values.forEach((value, key) => {
2623
- state[0][key] = value.get();
2624
- state[1][key] = value.getVelocity();
2625
- });
2626
- return state;
2627
- }
2628
- function resolveVariantFromProps(props, definition, custom, visualElement) {
2629
- if (typeof definition === "function") {
2630
- const [current, velocity] = getValueState(visualElement);
2631
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2632
- }
2633
- if (typeof definition === "string") {
2634
- definition = props.variants && props.variants[definition];
2635
- }
2636
- if (typeof definition === "function") {
2637
- const [current, velocity] = getValueState(visualElement);
2638
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2639
- }
2640
- return definition;
2641
- }
2642
-
2643
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2644
- function resolveVariant(visualElement, definition, custom) {
2645
- const props = visualElement.getProps();
2646
- return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2647
- }
2648
-
2649
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2650
- var positionalKeys = /* @__PURE__ */ new Set([
2651
- "width",
2652
- "height",
2653
- "top",
2654
- "left",
2655
- "right",
2656
- "bottom",
2657
- ...transformPropOrder
2658
- ]);
2659
-
2660
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/index.mjs
2452
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/index.mjs
2661
2453
  var MAX_VELOCITY_DELTA = 30;
2662
2454
  var isFloat = (value) => {
2663
2455
  return !isNaN(parseFloat(value));
@@ -2900,48 +2692,243 @@ var MotionValue = class {
2900
2692
  this.events.animationCancel.notify();
2901
2693
  }
2902
2694
  }
2903
- this.clearAnimation();
2904
- }
2905
- /**
2906
- * Returns `true` if this value is currently animating.
2907
- *
2908
- * @public
2909
- */
2910
- isAnimating() {
2911
- return !!this.animation;
2695
+ this.clearAnimation();
2696
+ }
2697
+ /**
2698
+ * Returns `true` if this value is currently animating.
2699
+ *
2700
+ * @public
2701
+ */
2702
+ isAnimating() {
2703
+ return !!this.animation;
2704
+ }
2705
+ clearAnimation() {
2706
+ delete this.animation;
2707
+ }
2708
+ /**
2709
+ * Destroy and clean up subscribers to this `MotionValue`.
2710
+ *
2711
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2712
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2713
+ * created a `MotionValue` via the `motionValue` function.
2714
+ *
2715
+ * @public
2716
+ */
2717
+ destroy() {
2718
+ this.dependents?.clear();
2719
+ this.events.destroy?.notify();
2720
+ this.clearListeners();
2721
+ this.stop();
2722
+ if (this.stopPassiveEffect) {
2723
+ this.stopPassiveEffect();
2724
+ }
2725
+ }
2726
+ };
2727
+ function motionValue(init, options) {
2728
+ return new MotionValue(init, options);
2729
+ }
2730
+
2731
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2732
+ function resolveTransition(transition, parentTransition) {
2733
+ if (transition?.inherit && parentTransition) {
2734
+ const { inherit: _, ...rest } = transition;
2735
+ return { ...parentTransition, ...rest };
2736
+ }
2737
+ return transition;
2738
+ }
2739
+
2740
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2741
+ function getValueTransition(transition, key) {
2742
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2743
+ if (valueTransition !== transition) {
2744
+ return resolveTransition(valueTransition, transition);
2745
+ }
2746
+ return valueTransition;
2747
+ }
2748
+
2749
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2750
+ var underDampedSpring = {
2751
+ type: "spring",
2752
+ stiffness: 500,
2753
+ damping: 25,
2754
+ restSpeed: 10
2755
+ };
2756
+ var criticallyDampedSpring = (target) => ({
2757
+ type: "spring",
2758
+ stiffness: 550,
2759
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2760
+ restSpeed: 10
2761
+ });
2762
+ var keyframesTransition = {
2763
+ type: "keyframes",
2764
+ duration: 0.8
2765
+ };
2766
+ var ease = {
2767
+ type: "keyframes",
2768
+ ease: [0.25, 0.1, 0.35, 1],
2769
+ duration: 0.3
2770
+ };
2771
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2772
+ if (keyframes2.length > 2) {
2773
+ return keyframesTransition;
2774
+ } else if (transformProps.has(valueKey)) {
2775
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2776
+ }
2777
+ return ease;
2778
+ };
2779
+
2780
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2781
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2782
+ "when",
2783
+ "delay",
2784
+ "delayChildren",
2785
+ "staggerChildren",
2786
+ "staggerDirection",
2787
+ "repeat",
2788
+ "repeatType",
2789
+ "repeatDelay",
2790
+ "from",
2791
+ "elapsed"
2792
+ ]);
2793
+ function isTransitionDefined(transition) {
2794
+ for (const key in transition) {
2795
+ if (!orchestrationKeys.has(key))
2796
+ return true;
2797
+ }
2798
+ return false;
2799
+ }
2800
+
2801
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2802
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2803
+ const valueTransition = getValueTransition(transition, name) || {};
2804
+ const delay2 = valueTransition.delay || transition.delay || 0;
2805
+ let { elapsed = 0 } = transition;
2806
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2807
+ const options = {
2808
+ keyframes: Array.isArray(target) ? target : [null, target],
2809
+ ease: "easeOut",
2810
+ velocity: value.getVelocity(),
2811
+ ...valueTransition,
2812
+ delay: -elapsed,
2813
+ onUpdate: (v) => {
2814
+ value.set(v);
2815
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2816
+ },
2817
+ onComplete: () => {
2818
+ onComplete();
2819
+ valueTransition.onComplete && valueTransition.onComplete();
2820
+ },
2821
+ name,
2822
+ motionValue: value,
2823
+ element: isHandoff ? void 0 : element
2824
+ };
2825
+ if (!isTransitionDefined(valueTransition)) {
2826
+ Object.assign(options, getDefaultTransition(name, options));
2827
+ }
2828
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2829
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2830
+ if (options.from !== void 0) {
2831
+ options.keyframes[0] = options.from;
2832
+ }
2833
+ let shouldSkip = false;
2834
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2835
+ makeAnimationInstant(options);
2836
+ if (options.delay === 0) {
2837
+ shouldSkip = true;
2838
+ }
2912
2839
  }
2913
- clearAnimation() {
2914
- delete this.animation;
2840
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2841
+ shouldSkip = true;
2842
+ makeAnimationInstant(options);
2843
+ options.delay = 0;
2915
2844
  }
2916
- /**
2917
- * Destroy and clean up subscribers to this `MotionValue`.
2918
- *
2919
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2920
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2921
- * created a `MotionValue` via the `motionValue` function.
2922
- *
2923
- * @public
2924
- */
2925
- destroy() {
2926
- this.dependents?.clear();
2927
- this.events.destroy?.notify();
2928
- this.clearListeners();
2929
- this.stop();
2930
- if (this.stopPassiveEffect) {
2931
- this.stopPassiveEffect();
2845
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2846
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2847
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2848
+ if (finalKeyframe !== void 0) {
2849
+ frame.update(() => {
2850
+ options.onUpdate(finalKeyframe);
2851
+ options.onComplete();
2852
+ });
2853
+ return;
2932
2854
  }
2933
2855
  }
2856
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2934
2857
  };
2935
- function motionValue(init, options) {
2936
- return new MotionValue(init, options);
2858
+
2859
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2860
+ var splitCSSVariableRegex = (
2861
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2862
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2863
+ );
2864
+ function parseCSSVariable(current) {
2865
+ const match = splitCSSVariableRegex.exec(current);
2866
+ if (!match)
2867
+ return [,];
2868
+ const [, token1, token2, fallback] = match;
2869
+ return [`--${token1 ?? token2}`, fallback];
2870
+ }
2871
+ var maxDepth = 4;
2872
+ function getVariableValue(current, element, depth = 1) {
2873
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2874
+ const [token, fallback] = parseCSSVariable(current);
2875
+ if (!token)
2876
+ return;
2877
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2878
+ if (resolved) {
2879
+ const trimmed = resolved.trim();
2880
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2881
+ }
2882
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2883
+ }
2884
+
2885
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2886
+ function getValueState(visualElement) {
2887
+ const state = [{}, {}];
2888
+ visualElement?.values.forEach((value, key) => {
2889
+ state[0][key] = value.get();
2890
+ state[1][key] = value.getVelocity();
2891
+ });
2892
+ return state;
2893
+ }
2894
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2895
+ if (typeof definition === "function") {
2896
+ const [current, velocity] = getValueState(visualElement);
2897
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2898
+ }
2899
+ if (typeof definition === "string") {
2900
+ definition = props.variants && props.variants[definition];
2901
+ }
2902
+ if (typeof definition === "function") {
2903
+ const [current, velocity] = getValueState(visualElement);
2904
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2905
+ }
2906
+ return definition;
2907
+ }
2908
+
2909
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2910
+ function resolveVariant(visualElement, definition, custom) {
2911
+ const props = visualElement.getProps();
2912
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2937
2913
  }
2938
2914
 
2939
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2915
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2916
+ var positionalKeys = /* @__PURE__ */ new Set([
2917
+ "width",
2918
+ "height",
2919
+ "top",
2920
+ "left",
2921
+ "right",
2922
+ "bottom",
2923
+ ...transformPropOrder
2924
+ ]);
2925
+
2926
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2940
2927
  var isKeyframesTarget = (v) => {
2941
2928
  return Array.isArray(v);
2942
2929
  };
2943
2930
 
2944
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2931
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2945
2932
  function setMotionValue(visualElement, key, value) {
2946
2933
  if (visualElement.hasValue(key)) {
2947
2934
  visualElement.getValue(key).set(value);
@@ -2962,15 +2949,15 @@ function setTarget(visualElement, definition) {
2962
2949
  }
2963
2950
  }
2964
2951
 
2965
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2952
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2966
2953
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2967
2954
 
2968
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2955
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2969
2956
  function isWillChangeMotionValue(value) {
2970
2957
  return Boolean(isMotionValue(value) && value.add);
2971
2958
  }
2972
2959
 
2973
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2960
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2974
2961
  function addValueToWillChange(visualElement, key) {
2975
2962
  const willChange = visualElement.getValue("willChange");
2976
2963
  if (isWillChangeMotionValue(willChange)) {
@@ -2982,21 +2969,22 @@ function addValueToWillChange(visualElement, key) {
2982
2969
  }
2983
2970
  }
2984
2971
 
2985
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2972
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2986
2973
  function camelToDash(str) {
2987
2974
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
2988
2975
  }
2989
2976
 
2990
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2977
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2991
2978
  var optimizedAppearDataId = "framerAppearId";
2992
2979
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
2993
2980
 
2994
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2981
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2995
2982
  function getOptimisedAppearId(visualElement) {
2996
2983
  return visualElement.props[optimizedAppearDataAttribute];
2997
2984
  }
2998
2985
 
2999
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2986
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2987
+ var isBrowser2 = typeof window !== "undefined";
3000
2988
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
3001
2989
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
3002
2990
  needsAnimating[key] = false;
@@ -3007,10 +2995,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3007
2995
  const defaultTransition = visualElement.getDefaultTransition();
3008
2996
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
3009
2997
  const reduceMotion = transition?.reduceMotion;
2998
+ const skipAnimations = transition?.skipAnimations;
3010
2999
  if (transitionOverride)
3011
3000
  transition = transitionOverride;
3012
3001
  const animations2 = [];
3013
3002
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
3003
+ const path = transition?.path;
3004
+ if (path) {
3005
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
3006
+ }
3014
3007
  for (const key in target) {
3015
3008
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
3016
3009
  const valueTarget = target[key];
@@ -3021,13 +3014,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3021
3014
  delay: delay2,
3022
3015
  ...getValueTransition(transition || {}, key)
3023
3016
  };
3017
+ if (skipAnimations)
3018
+ valueTransition.skipAnimations = true;
3024
3019
  const currentValue = value.get();
3025
3020
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3026
3021
  frame.update(() => value.set(valueTarget));
3027
3022
  continue;
3028
3023
  }
3029
3024
  let isHandoff = false;
3030
- if (window.MotionHandoffAnimation) {
3025
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3031
3026
  const appearId = getOptimisedAppearId(visualElement);
3032
3027
  if (appearId) {
3033
3028
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3058,7 +3053,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3058
3053
  return animations2;
3059
3054
  }
3060
3055
 
3061
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3056
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3062
3057
  function animateVariant(visualElement, variant, options = {}) {
3063
3058
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3064
3059
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3090,7 +3085,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3090
3085
  return Promise.all(animations2);
3091
3086
  }
3092
3087
 
3093
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3088
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3094
3089
  function animateVisualElement(visualElement, definition, options = {}) {
3095
3090
  visualElement.notify("AnimationStart", definition);
3096
3091
  let animation;
@@ -3108,20 +3103,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3108
3103
  });
3109
3104
  }
3110
3105
 
3111
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3106
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3112
3107
  var auto = {
3113
3108
  test: (v) => v === "auto",
3114
3109
  parse: (v) => v
3115
3110
  };
3116
3111
 
3117
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3112
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3118
3113
  var testValueType = (v) => (type) => type.test(v);
3119
3114
 
3120
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3115
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3121
3116
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3122
3117
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3123
3118
 
3124
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3119
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3125
3120
  function isNone(value) {
3126
3121
  if (typeof value === "number") {
3127
3122
  return value === 0;
@@ -3132,7 +3127,7 @@ function isNone(value) {
3132
3127
  }
3133
3128
  }
3134
3129
 
3135
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3130
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3136
3131
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3137
3132
  function applyDefaultFilter(v) {
3138
3133
  const [name, value] = v.slice(0, -1).split("(");
@@ -3156,7 +3151,7 @@ var filter = {
3156
3151
  }
3157
3152
  };
3158
3153
 
3159
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3154
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3160
3155
  var mask = {
3161
3156
  ...complex,
3162
3157
  getAnimatableNone: (v) => {
@@ -3166,15 +3161,21 @@ var mask = {
3166
3161
  }
3167
3162
  };
3168
3163
 
3169
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3164
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3170
3165
  var int = {
3171
3166
  ...number,
3172
3167
  transform: Math.round
3173
3168
  };
3174
3169
 
3175
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3170
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3176
3171
  var transformValueTypes = {
3177
3172
  rotate: degrees,
3173
+ /**
3174
+ * Internal channel for `transition.path` orientToPath. Composed onto
3175
+ * `rotate` at the transform-build sites so the user's `rotate` is
3176
+ * never read or overwritten. Not part of `transformPropOrder`.
3177
+ */
3178
+ pathRotation: degrees,
3178
3179
  rotateX: degrees,
3179
3180
  rotateY: degrees,
3180
3181
  rotateZ: degrees,
@@ -3200,7 +3201,7 @@ var transformValueTypes = {
3200
3201
  originZ: px
3201
3202
  };
3202
3203
 
3203
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3204
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3204
3205
  var numberValueTypes = {
3205
3206
  // Border props
3206
3207
  borderWidth: px,
@@ -3265,7 +3266,7 @@ var numberValueTypes = {
3265
3266
  numOctaves: int
3266
3267
  };
3267
3268
 
3268
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3269
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3269
3270
  var defaultValueTypes = {
3270
3271
  ...numberValueTypes,
3271
3272
  // Color props
@@ -3287,7 +3288,7 @@ var defaultValueTypes = {
3287
3288
  };
3288
3289
  var getDefaultValueType = (key) => defaultValueTypes[key];
3289
3290
 
3290
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3291
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3291
3292
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3292
3293
  function getAnimatableNone2(key, value) {
3293
3294
  let defaultValueType = getDefaultValueType(key);
@@ -3296,7 +3297,7 @@ function getAnimatableNone2(key, value) {
3296
3297
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3297
3298
  }
3298
3299
 
3299
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3300
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3300
3301
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3301
3302
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3302
3303
  let i = 0;
@@ -3315,7 +3316,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3315
3316
  }
3316
3317
  }
3317
3318
 
3318
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3319
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3319
3320
  var DOMKeyframesResolver = class extends KeyframeResolver {
3320
3321
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3321
3322
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3413,7 +3414,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3413
3414
  }
3414
3415
  };
3415
3416
 
3416
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3417
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3418
+ var cornerRadiusProps = [
3419
+ "borderTopLeftRadius",
3420
+ "borderTopRightRadius",
3421
+ "borderBottomRightRadius",
3422
+ "borderBottomLeftRadius"
3423
+ ];
3424
+
3425
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3417
3426
  function resolveElements(elementOrSelector, scope, selectorCache) {
3418
3427
  if (elementOrSelector == null) {
3419
3428
  return [];
@@ -3428,20 +3437,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3428
3437
  return Array.from(elementOrSelector).filter((element) => element != null);
3429
3438
  }
3430
3439
 
3431
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3440
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3432
3441
  var getValueAsType = (value, type) => {
3433
3442
  return type && typeof value === "number" ? type.transform(value) : value;
3434
3443
  };
3435
3444
 
3436
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3445
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3437
3446
  function isHTMLElement(element) {
3438
3447
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3439
3448
  }
3440
3449
 
3441
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3450
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3442
3451
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3443
3452
 
3444
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3453
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3445
3454
  var isDragging = {
3446
3455
  x: false,
3447
3456
  y: false
@@ -3450,7 +3459,7 @@ function isDragActive() {
3450
3459
  return isDragging.x || isDragging.y;
3451
3460
  }
3452
3461
 
3453
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3462
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3454
3463
  function setDragLock(axis) {
3455
3464
  if (axis === "x" || axis === "y") {
3456
3465
  if (isDragging[axis]) {
@@ -3473,7 +3482,7 @@ function setDragLock(axis) {
3473
3482
  }
3474
3483
  }
3475
3484
 
3476
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3485
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3477
3486
  function setupGesture(elementOrSelector, options) {
3478
3487
  const elements = resolveElements(elementOrSelector);
3479
3488
  const gestureAbortController = new AbortController();
@@ -3486,7 +3495,7 @@ function setupGesture(elementOrSelector, options) {
3486
3495
  return [elements, eventOptions, cancel];
3487
3496
  }
3488
3497
 
3489
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3498
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3490
3499
  function isValidHover(event) {
3491
3500
  return !(event.pointerType === "touch" || isDragActive());
3492
3501
  }
@@ -3545,7 +3554,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3545
3554
  return cancel;
3546
3555
  }
3547
3556
 
3548
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3557
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3549
3558
  var isNodeOrChild = (parent, child) => {
3550
3559
  if (!child) {
3551
3560
  return false;
@@ -3556,7 +3565,7 @@ var isNodeOrChild = (parent, child) => {
3556
3565
  }
3557
3566
  };
3558
3567
 
3559
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3568
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3560
3569
  var isPrimaryPointer = (event) => {
3561
3570
  if (event.pointerType === "mouse") {
3562
3571
  return typeof event.button !== "number" || event.button <= 0;
@@ -3565,7 +3574,7 @@ var isPrimaryPointer = (event) => {
3565
3574
  }
3566
3575
  };
3567
3576
 
3568
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3577
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3569
3578
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3570
3579
  "BUTTON",
3571
3580
  "INPUT",
@@ -3581,10 +3590,10 @@ function isElementTextInput(element) {
3581
3590
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3582
3591
  }
3583
3592
 
3584
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3593
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3585
3594
  var isPressing = /* @__PURE__ */ new WeakSet();
3586
3595
 
3587
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3596
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3588
3597
  function filterEvents(callback) {
3589
3598
  return (event) => {
3590
3599
  if (event.key !== "Enter")
@@ -3614,7 +3623,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3614
3623
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3615
3624
  };
3616
3625
 
3617
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3626
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3618
3627
  function isValidPressEvent(event) {
3619
3628
  return isPrimaryPointer(event) && !isDragActive();
3620
3629
  }
@@ -3632,9 +3641,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3632
3641
  claimedPointerDownEvents.add(startEvent);
3633
3642
  }
3634
3643
  const onPressEnd = onPressStart(target, startEvent);
3644
+ const endEventOptions = { ...eventOptions, capture: true };
3635
3645
  const onPointerEnd = (endEvent, success) => {
3636
- window.removeEventListener("pointerup", onPointerUp);
3637
- window.removeEventListener("pointercancel", onPointerCancel);
3646
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3647
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3638
3648
  if (isPressing.has(target)) {
3639
3649
  isPressing.delete(target);
3640
3650
  }
@@ -3651,8 +3661,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3651
3661
  const onPointerCancel = (cancelEvent) => {
3652
3662
  onPointerEnd(cancelEvent, false);
3653
3663
  };
3654
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3655
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3664
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3665
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3656
3666
  };
3657
3667
  targets.forEach((target) => {
3658
3668
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3667,12 +3677,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3667
3677
  return cancelEvents;
3668
3678
  }
3669
3679
 
3670
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3680
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3671
3681
  function isSVGElement(element) {
3672
3682
  return isObject(element) && "ownerSVGElement" in element;
3673
3683
  }
3674
3684
 
3675
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3685
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3676
3686
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3677
3687
  var observer;
3678
3688
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3730,7 +3740,7 @@ function resizeElement(target, handler) {
3730
3740
  };
3731
3741
  }
3732
3742
 
3733
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3743
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3734
3744
  var windowCallbacks = /* @__PURE__ */ new Set();
3735
3745
  var windowResizeHandler;
3736
3746
  function createWindowResizeHandler() {
@@ -3760,21 +3770,21 @@ function resizeWindow(callback) {
3760
3770
  };
3761
3771
  }
3762
3772
 
3763
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3773
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3764
3774
  function resize(a, b) {
3765
3775
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3766
3776
  }
3767
3777
 
3768
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3778
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3769
3779
  function isSVGSVGElement(element) {
3770
3780
  return isSVGElement(element) && element.tagName === "svg";
3771
3781
  }
3772
3782
 
3773
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3783
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3774
3784
  var valueTypes = [...dimensionValueTypes, color, complex];
3775
3785
  var findValueType = (v) => valueTypes.find(testValueType(v));
3776
3786
 
3777
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3787
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3778
3788
  var createAxisDelta = () => ({
3779
3789
  translate: 0,
3780
3790
  scale: 1,
@@ -3791,20 +3801,20 @@ var createBox = () => ({
3791
3801
  y: createAxis()
3792
3802
  });
3793
3803
 
3794
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3804
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3795
3805
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3796
3806
 
3797
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3807
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3798
3808
  function isAnimationControls(v) {
3799
3809
  return v !== null && typeof v === "object" && typeof v.start === "function";
3800
3810
  }
3801
3811
 
3802
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3812
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3803
3813
  function isVariantLabel(v) {
3804
3814
  return typeof v === "string" || Array.isArray(v);
3805
3815
  }
3806
3816
 
3807
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3817
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3808
3818
  var variantPriorityOrder = [
3809
3819
  "animate",
3810
3820
  "whileInView",
@@ -3816,7 +3826,7 @@ var variantPriorityOrder = [
3816
3826
  ];
3817
3827
  var variantProps = ["initial", ...variantPriorityOrder];
3818
3828
 
3819
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3829
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3820
3830
  function isControllingVariants(props) {
3821
3831
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3822
3832
  }
@@ -3824,7 +3834,7 @@ function isVariantNode(props) {
3824
3834
  return Boolean(isControllingVariants(props) || props.variants);
3825
3835
  }
3826
3836
 
3827
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3837
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3828
3838
  function updateMotionValuesFromProps(element, next, prev) {
3829
3839
  for (const key in next) {
3830
3840
  const nextValue = next[key];
@@ -3854,15 +3864,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3854
3864
  return next;
3855
3865
  }
3856
3866
 
3857
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3867
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3858
3868
  var prefersReducedMotion = { current: null };
3859
3869
  var hasReducedMotionListener = { current: false };
3860
3870
 
3861
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3862
- var isBrowser2 = typeof window !== "undefined";
3871
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3872
+ var isBrowser3 = typeof window !== "undefined";
3863
3873
  function initPrefersReducedMotion() {
3864
3874
  hasReducedMotionListener.current = true;
3865
- if (!isBrowser2)
3875
+ if (!isBrowser3)
3866
3876
  return;
3867
3877
  if (window.matchMedia) {
3868
3878
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3874,7 +3884,7 @@ function initPrefersReducedMotion() {
3874
3884
  }
3875
3885
  }
3876
3886
 
3877
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3887
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3878
3888
  var propEventHandlers = [
3879
3889
  "AnimationStart",
3880
3890
  "AnimationComplete",
@@ -4063,8 +4073,6 @@ var VisualElement = class {
4063
4073
  removeOnChange();
4064
4074
  if (removeSyncCheck)
4065
4075
  removeSyncCheck();
4066
- if (value.owner)
4067
- value.stop();
4068
4076
  });
4069
4077
  }
4070
4078
  sortNodePosition(other) {
@@ -4275,7 +4283,7 @@ var VisualElement = class {
4275
4283
  }
4276
4284
  };
4277
4285
 
4278
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4286
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4279
4287
  var DOMVisualElement = class extends VisualElement {
4280
4288
  constructor() {
4281
4289
  super(...arguments);
@@ -4308,7 +4316,7 @@ var DOMVisualElement = class extends VisualElement {
4308
4316
  }
4309
4317
  };
4310
4318
 
4311
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4319
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4312
4320
  var Feature = class {
4313
4321
  constructor(node) {
4314
4322
  this.isMounted = false;
@@ -4318,7 +4326,7 @@ var Feature = class {
4318
4326
  }
4319
4327
  };
4320
4328
 
4321
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4329
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4322
4330
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4323
4331
  return {
4324
4332
  x: { min: left, max: right },
@@ -4341,7 +4349,7 @@ function transformBoxPoints(point, transformPoint2) {
4341
4349
  };
4342
4350
  }
4343
4351
 
4344
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4352
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4345
4353
  function isIdentityScale(scale2) {
4346
4354
  return scale2 === void 0 || scale2 === 1;
4347
4355
  }
@@ -4358,7 +4366,7 @@ function is2DTranslate(value) {
4358
4366
  return value && value !== "0%";
4359
4367
  }
4360
4368
 
4361
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4369
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4362
4370
  function scalePoint(point, scale2, originPoint) {
4363
4371
  const distanceFromOrigin = point - originPoint;
4364
4372
  const scaled = scale2 * distanceFromOrigin;
@@ -4434,7 +4442,7 @@ function transformBox(box, transform, sourceBox) {
4434
4442
  transformAxis(box.y, resolveAxisTranslate(transform.y, resolveBox.y), transform.scaleY, transform.scale, transform.originY);
4435
4443
  }
4436
4444
 
4437
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4445
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4438
4446
  function measureViewportBox(instance, transformPoint2) {
4439
4447
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4440
4448
  }
@@ -4448,7 +4456,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4448
4456
  return viewportBox;
4449
4457
  }
4450
4458
 
4451
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4459
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4452
4460
  var translateAlias = {
4453
4461
  x: "translateX",
4454
4462
  y: "translateY",
@@ -4483,6 +4491,11 @@ function buildTransform(latestValues, transform, transformTemplate) {
4483
4491
  }
4484
4492
  }
4485
4493
  }
4494
+ const pathRotation = latestValues.pathRotation;
4495
+ if (pathRotation) {
4496
+ transformIsDefault = false;
4497
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4498
+ }
4486
4499
  transformString = transformString.trim();
4487
4500
  if (transformTemplate) {
4488
4501
  transformString = transformTemplate(transform, transformIsDefault ? "" : transformString);
@@ -4492,7 +4505,7 @@ function buildTransform(latestValues, transform, transformTemplate) {
4492
4505
  return transformString;
4493
4506
  }
4494
4507
 
4495
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4508
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4496
4509
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4497
4510
  const { style, vars, transformOrigin } = state;
4498
4511
  let hasTransform2 = false;
@@ -4528,7 +4541,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4528
4541
  }
4529
4542
  }
4530
4543
 
4531
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4544
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4532
4545
  function renderHTML(element, { style, vars }, styleProp, projection) {
4533
4546
  const elementStyle = element.style;
4534
4547
  let key;
@@ -4541,7 +4554,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4541
4554
  }
4542
4555
  }
4543
4556
 
4544
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4557
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4545
4558
  function pixelsToPercent(pixels, axis) {
4546
4559
  if (axis.max === axis.min)
4547
4560
  return 0;
@@ -4564,7 +4577,7 @@ var correctBorderRadius = {
4564
4577
  }
4565
4578
  };
4566
4579
 
4567
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4580
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4568
4581
  var correctBoxShadow = {
4569
4582
  correct: (latest, { treeScale, projectionDelta }) => {
4570
4583
  const original = latest;
@@ -4586,16 +4599,11 @@ var correctBoxShadow = {
4586
4599
  }
4587
4600
  };
4588
4601
 
4589
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4602
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4590
4603
  var scaleCorrectors = {
4591
4604
  borderRadius: {
4592
4605
  ...correctBorderRadius,
4593
- applyTo: [
4594
- "borderTopLeftRadius",
4595
- "borderTopRightRadius",
4596
- "borderBottomLeftRadius",
4597
- "borderBottomRightRadius"
4598
- ]
4606
+ applyTo: [...cornerRadiusProps]
4599
4607
  },
4600
4608
  borderTopLeftRadius: correctBorderRadius,
4601
4609
  borderTopRightRadius: correctBorderRadius,
@@ -4604,12 +4612,12 @@ var scaleCorrectors = {
4604
4612
  boxShadow: correctBoxShadow
4605
4613
  };
4606
4614
 
4607
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4615
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4608
4616
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4609
4617
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4610
4618
  }
4611
4619
 
4612
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4620
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4613
4621
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4614
4622
  const style = props.style;
4615
4623
  const prevStyle = prevProps?.style;
@@ -4624,7 +4632,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4624
4632
  return newValues;
4625
4633
  }
4626
4634
 
4627
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4635
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4628
4636
  function getComputedStyle2(element) {
4629
4637
  return window.getComputedStyle(element);
4630
4638
  }
@@ -4634,6 +4642,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4634
4642
  this.type = "html";
4635
4643
  this.renderInstance = renderHTML;
4636
4644
  }
4645
+ mount(instance) {
4646
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4647
+ super.mount(instance);
4648
+ }
4637
4649
  readValueFromInstance(instance, key) {
4638
4650
  if (transformProps.has(key)) {
4639
4651
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4654,7 +4666,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4654
4666
  }
4655
4667
  };
4656
4668
 
4657
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4669
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4658
4670
  var dashKeys = {
4659
4671
  offset: "stroke-dashoffset",
4660
4672
  array: "stroke-dasharray"
@@ -4670,8 +4682,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4670
4682
  attrs[keys.array] = `${length} ${spacing}`;
4671
4683
  }
4672
4684
 
4673
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4674
- var cssMotionPathProperties = [
4685
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4686
+ var cssStyleProperties = [
4687
+ "transform",
4688
+ "opacity",
4675
4689
  "offsetDistance",
4676
4690
  "offsetPath",
4677
4691
  "offsetRotate",
@@ -4697,9 +4711,11 @@ function buildSVGAttrs(state, {
4697
4711
  state.attrs = state.style;
4698
4712
  state.style = {};
4699
4713
  const { attrs, style } = state;
4700
- if (attrs.transform) {
4701
- style.transform = attrs.transform;
4702
- delete attrs.transform;
4714
+ for (const key of cssStyleProperties) {
4715
+ if (attrs[key] !== void 0) {
4716
+ style[key] = attrs[key];
4717
+ delete attrs[key];
4718
+ }
4703
4719
  }
4704
4720
  if (style.transform || attrs.transformOrigin) {
4705
4721
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4709,12 +4725,6 @@ function buildSVGAttrs(state, {
4709
4725
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4710
4726
  delete attrs.transformBox;
4711
4727
  }
4712
- for (const key of cssMotionPathProperties) {
4713
- if (attrs[key] !== void 0) {
4714
- style[key] = attrs[key];
4715
- delete attrs[key];
4716
- }
4717
- }
4718
4728
  if (attrX !== void 0)
4719
4729
  attrs.x = attrX;
4720
4730
  if (attrY !== void 0)
@@ -4726,7 +4736,7 @@ function buildSVGAttrs(state, {
4726
4736
  }
4727
4737
  }
4728
4738
 
4729
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4739
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4730
4740
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4731
4741
  "baseFrequency",
4732
4742
  "diffuseConstant",
@@ -4753,10 +4763,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4753
4763
  "lengthAdjust"
4754
4764
  ]);
4755
4765
 
4756
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4766
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4757
4767
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4758
4768
 
4759
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4769
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4760
4770
  function renderSVG(element, renderState, _styleProp, projection) {
4761
4771
  renderHTML(element, renderState, void 0, projection);
4762
4772
  for (const key in renderState.attrs) {
@@ -4764,7 +4774,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4764
4774
  }
4765
4775
  }
4766
4776
 
4767
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4777
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4768
4778
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4769
4779
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4770
4780
  for (const key in props) {
@@ -4776,7 +4786,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4776
4786
  return newValues;
4777
4787
  }
4778
4788
 
4779
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4789
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4780
4790
  var SVGVisualElement = class extends DOMVisualElement {
4781
4791
  constructor() {
4782
4792
  super(...arguments);
@@ -4792,6 +4802,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4792
4802
  const defaultType = getDefaultValueType(key);
4793
4803
  return defaultType ? defaultType.default || 0 : 0;
4794
4804
  }
4805
+ if (cssStyleProperties.includes(key)) {
4806
+ const computedStyle = getComputedStyle(instance);
4807
+ const value = computedStyle[key];
4808
+ if (typeof value === "string" && value)
4809
+ return value.trim();
4810
+ }
4795
4811
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4796
4812
  return instance.getAttribute(key);
4797
4813
  }
@@ -4810,7 +4826,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4810
4826
  }
4811
4827
  };
4812
4828
 
4813
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4829
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4814
4830
  var numVariantProps = variantProps.length;
4815
4831
  function getVariantContext(visualElement) {
4816
4832
  if (!visualElement)
@@ -4833,7 +4849,7 @@ function getVariantContext(visualElement) {
4833
4849
  return context;
4834
4850
  }
4835
4851
 
4836
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4852
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4837
4853
  function shallowCompare(next, prev) {
4838
4854
  if (!Array.isArray(prev))
4839
4855
  return false;
@@ -4847,7 +4863,7 @@ function shallowCompare(next, prev) {
4847
4863
  return true;
4848
4864
  }
4849
4865
 
4850
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4866
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4851
4867
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4852
4868
  var numAnimationTypes = variantPriorityOrder.length;
4853
4869
  function createAnimateFunction(visualElement) {
@@ -4940,7 +4956,7 @@ function createAnimationState(visualElement) {
4940
4956
  continue;
4941
4957
  let valueHasChanged = false;
4942
4958
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
4943
- valueHasChanged = !shallowCompare(next, prev);
4959
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
4944
4960
  } else {
4945
4961
  valueHasChanged = next !== prev;
4946
4962
  }
@@ -5059,7 +5075,7 @@ function createState() {
5059
5075
  };
5060
5076
  }
5061
5077
 
5062
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5078
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5063
5079
  function copyAxisInto(axis, originAxis) {
5064
5080
  axis.min = originAxis.min;
5065
5081
  axis.max = originAxis.max;
@@ -5075,7 +5091,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5075
5091
  delta.origin = originDelta.origin;
5076
5092
  }
5077
5093
 
5078
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5094
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5079
5095
  var SCALE_PRECISION = 1e-4;
5080
5096
  var SCALE_MIN = 1 - SCALE_PRECISION;
5081
5097
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5123,7 +5139,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5123
5139
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5124
5140
  }
5125
5141
 
5126
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5142
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5127
5143
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5128
5144
  point -= translate;
5129
5145
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5156,7 +5172,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5156
5172
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5157
5173
  }
5158
5174
 
5159
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5175
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5160
5176
  function isAxisDeltaZero(delta) {
5161
5177
  return delta.translate === 0 && delta.scale === 1;
5162
5178
  }
@@ -5182,12 +5198,12 @@ function axisDeltaEquals(a, b) {
5182
5198
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5183
5199
  }
5184
5200
 
5185
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5201
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5186
5202
  function eachAxis(callback) {
5187
5203
  return [callback("x"), callback("y")];
5188
5204
  }
5189
5205
 
5190
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5206
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5191
5207
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5192
5208
  let transform = "";
5193
5209
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5200,11 +5216,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5200
5216
  transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5201
5217
  }
5202
5218
  if (latestTransform) {
5203
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5219
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5204
5220
  if (transformPerspective)
5205
5221
  transform = `perspective(${transformPerspective}px) ${transform}`;
5206
5222
  if (rotate2)
5207
5223
  transform += `rotate(${rotate2}deg) `;
5224
+ if (pathRotation)
5225
+ transform += `rotate(${pathRotation}deg) `;
5208
5226
  if (rotateX)
5209
5227
  transform += `rotateX(${rotateX}deg) `;
5210
5228
  if (rotateY)
@@ -5222,14 +5240,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5222
5240
  return transform || "none";
5223
5241
  }
5224
5242
 
5225
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5226
- var borderLabels = [
5227
- "borderTopLeftRadius",
5228
- "borderTopRightRadius",
5229
- "borderBottomLeftRadius",
5230
- "borderBottomRightRadius"
5231
- ];
5232
- var numBorders = borderLabels.length;
5243
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5244
+ var numBorders = cornerRadiusProps.length;
5233
5245
  var asNumber = (value) => typeof value === "string" ? parseFloat(value) : value;
5234
5246
  var isPx = (value) => typeof value === "number" || px.test(value);
5235
5247
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5240,7 +5252,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5240
5252
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5241
5253
  }
5242
5254
  for (let i = 0; i < numBorders; i++) {
5243
- const borderLabel = borderLabels[i];
5255
+ const borderLabel = cornerRadiusProps[i];
5244
5256
  let followRadius = getRadius(follow, borderLabel);
5245
5257
  let leadRadius = getRadius(lead, borderLabel);
5246
5258
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5276,23 +5288,23 @@ function compress(min, max, easing) {
5276
5288
  };
5277
5289
  }
5278
5290
 
5279
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5291
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5280
5292
  function animateSingleValue(value, keyframes2, options) {
5281
5293
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5282
5294
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5283
5295
  return motionValue$1.animation;
5284
5296
  }
5285
5297
 
5286
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5298
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5287
5299
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5288
5300
  target.addEventListener(eventName, handler, options);
5289
- return () => target.removeEventListener(eventName, handler);
5301
+ return () => target.removeEventListener(eventName, handler, options);
5290
5302
  }
5291
5303
 
5292
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5304
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5293
5305
  var compareByDepth = (a, b) => a.depth - b.depth;
5294
5306
 
5295
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5307
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5296
5308
  var FlatTree = class {
5297
5309
  constructor() {
5298
5310
  this.children = [];
@@ -5313,7 +5325,7 @@ var FlatTree = class {
5313
5325
  }
5314
5326
  };
5315
5327
 
5316
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5328
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5317
5329
  function delay(callback, timeout) {
5318
5330
  const start = time.now();
5319
5331
  const checkElapsed = ({ timestamp }) => {
@@ -5327,12 +5339,12 @@ function delay(callback, timeout) {
5327
5339
  return () => cancelFrame(checkElapsed);
5328
5340
  }
5329
5341
 
5330
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5342
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5331
5343
  function resolveMotionValue(value) {
5332
5344
  return isMotionValue(value) ? value.get() : value;
5333
5345
  }
5334
5346
 
5335
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5347
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5336
5348
  var NodeStack = class {
5337
5349
  constructor() {
5338
5350
  this.members = [];
@@ -5413,7 +5425,7 @@ var NodeStack = class {
5413
5425
  }
5414
5426
  };
5415
5427
 
5416
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5428
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5417
5429
  var globalProjectionState = {
5418
5430
  /**
5419
5431
  * Global flag as to whether the tree has animated since the last time
@@ -5594,7 +5606,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5594
5606
  animationOptions.type = false;
5595
5607
  }
5596
5608
  this.startAnimation(animationOptions);
5597
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5609
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5598
5610
  } else {
5599
5611
  if (!hasLayoutChanged) {
5600
5612
  finishAnimation(this);
@@ -6066,7 +6078,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6066
6078
  this.projectionDelta = createDelta();
6067
6079
  this.projectionDeltaWithTransform = createDelta();
6068
6080
  }
6069
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6081
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6070
6082
  const snapshot = this.snapshot;
6071
6083
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6072
6084
  const mixedValues = { ...this.latestValues };
@@ -6084,10 +6096,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6084
6096
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6085
6097
  this.animationProgress = 0;
6086
6098
  let prevRelativeTarget;
6099
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6087
6100
  this.mixTargetDelta = (latest) => {
6088
6101
  const progress2 = latest / 1e3;
6089
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6090
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6102
+ const point = interpolate2?.(progress2);
6103
+ if (point) {
6104
+ targetDelta.x.translate = point.x;
6105
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6106
+ targetDelta.x.origin = delta.x.origin;
6107
+ targetDelta.x.originPoint = delta.x.originPoint;
6108
+ targetDelta.y.translate = point.y;
6109
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6110
+ targetDelta.y.origin = delta.y.origin;
6111
+ targetDelta.y.originPoint = delta.y.originPoint;
6112
+ } else {
6113
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6114
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6115
+ }
6091
6116
  this.setTargetDelta(targetDelta);
6092
6117
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6093
6118
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6103,6 +6128,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6103
6128
  this.animationValues = mixedValues;
6104
6129
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6105
6130
  }
6131
+ if (point && point.rotate !== void 0) {
6132
+ if (!this.animationValues)
6133
+ this.animationValues = mixedValues;
6134
+ this.animationValues.pathRotation = point.rotate;
6135
+ }
6106
6136
  this.root.scheduleUpdateProjection();
6107
6137
  this.scheduleRender();
6108
6138
  this.animationProgress = progress2;
@@ -6129,8 +6159,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6129
6159
  this.mixTargetDelta(latest);
6130
6160
  options.onUpdate && options.onUpdate(latest);
6131
6161
  },
6132
- onStop: () => {
6133
- },
6134
6162
  onComplete: () => {
6135
6163
  options.onComplete && options.onComplete();
6136
6164
  this.completeAnimation();
@@ -6459,7 +6487,7 @@ function resetSkewAndRotation(node) {
6459
6487
  function removeLeadSnapshots(stack) {
6460
6488
  stack.removeLeadSnapshot();
6461
6489
  }
6462
- function mixAxisDelta(output, delta, p) {
6490
+ function mixAxisDeltaLinear(output, delta, p) {
6463
6491
  output.translate = mixNumber(delta.translate, 0, p);
6464
6492
  output.scale = mixNumber(delta.scale, 1, p);
6465
6493
  output.origin = delta.origin;
@@ -6497,7 +6525,7 @@ function checkNodeWasScrollRoot(node) {
6497
6525
  return node !== node.root && node.scroll?.wasRoot;
6498
6526
  }
6499
6527
 
6500
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6528
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6501
6529
  var DocumentProjectionNode = createProjectionNode({
6502
6530
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6503
6531
  measureScroll: () => ({
@@ -6507,7 +6535,7 @@ var DocumentProjectionNode = createProjectionNode({
6507
6535
  checkIsScrollRoot: () => true
6508
6536
  });
6509
6537
 
6510
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6538
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6511
6539
  var rootProjectionNode = {
6512
6540
  current: void 0
6513
6541
  };
@@ -6570,7 +6598,7 @@ function useComposedRefs(...refs) {
6570
6598
  return React2__namespace.useCallback(composeRefs(...refs), refs);
6571
6599
  }
6572
6600
 
6573
- // ../../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
6601
+ // ../../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
6574
6602
  var PopChildMeasure = class extends React2__namespace.Component {
6575
6603
  getSnapshotBeforeUpdate(prevProps) {
6576
6604
  const element = this.props.childRef.current;
@@ -6586,6 +6614,7 @@ var PopChildMeasure = class extends React2__namespace.Component {
6586
6614
  size.left = element.offsetLeft;
6587
6615
  size.right = parentWidth - size.width - size.left;
6588
6616
  size.bottom = parentHeight - size.height - size.top;
6617
+ size.direction = computedStyle.direction;
6589
6618
  }
6590
6619
  return null;
6591
6620
  }
@@ -6607,16 +6636,18 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6607
6636
  top: 0,
6608
6637
  left: 0,
6609
6638
  right: 0,
6610
- bottom: 0
6639
+ bottom: 0,
6640
+ direction: "ltr"
6611
6641
  });
6612
6642
  const { nonce } = React2.useContext(MotionConfigContext);
6613
- const childRef = children.props?.ref ?? children?.ref;
6643
+ const childRef = pop !== false ? children.props?.ref ?? children?.ref : void 0;
6614
6644
  const composedRef = useComposedRefs(ref, childRef);
6615
6645
  React2.useInsertionEffect(() => {
6616
- const { width, height, top, left, right, bottom } = size.current;
6646
+ const { width, height, top, left, right, bottom, direction } = size.current;
6617
6647
  if (isPresent || pop === false || !ref.current || !width || !height)
6618
6648
  return;
6619
- const x = anchorX === "left" ? `left: ${left}` : `right: ${right}`;
6649
+ const isRTL = direction === "rtl";
6650
+ const x = anchorX === "left" ? isRTL ? `right: ${right}` : `left: ${left}` : isRTL ? `left: ${left}` : `right: ${right}`;
6620
6651
  const y = anchorY === "bottom" ? `bottom: ${bottom}` : `top: ${top}`;
6621
6652
  ref.current.dataset.motionPopId = id3;
6622
6653
  const style = document.createElement("style");
@@ -6645,10 +6676,16 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6645
6676
  return jsxRuntime.jsx(PopChildMeasure, { isPresent, childRef: ref, sizeRef: size, pop, children: pop === false ? children : React2__namespace.cloneElement(children, { ref: composedRef }) });
6646
6677
  }
6647
6678
 
6648
- // ../../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
6679
+ // ../../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
6649
6680
  var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, mode, anchorX, anchorY, root }) => {
6650
6681
  const presenceChildren = useConstant(newChildrenMap);
6651
6682
  const id3 = React2.useId();
6683
+ const isPresentRef = React2.useRef(isPresent);
6684
+ const onExitCompleteRef = React2.useRef(onExitComplete);
6685
+ useIsomorphicLayoutEffect(() => {
6686
+ isPresentRef.current = isPresent;
6687
+ onExitCompleteRef.current = onExitComplete;
6688
+ });
6652
6689
  let isReusedContext = true;
6653
6690
  let context = React2.useMemo(() => {
6654
6691
  isReusedContext = false;
@@ -6667,7 +6704,10 @@ var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, pre
6667
6704
  },
6668
6705
  register: (childId) => {
6669
6706
  presenceChildren.set(childId, false);
6670
- return () => presenceChildren.delete(childId);
6707
+ return () => {
6708
+ presenceChildren.delete(childId);
6709
+ !isPresentRef.current && !presenceChildren.size && onExitCompleteRef.current?.();
6710
+ };
6671
6711
  }
6672
6712
  };
6673
6713
  }, [isPresent, presenceChildren, onExitComplete]);
@@ -6710,7 +6750,7 @@ function onlyElements(children) {
6710
6750
  return filtered;
6711
6751
  }
6712
6752
 
6713
- // ../../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
6753
+ // ../../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
6714
6754
  var AnimatePresence = ({ children, custom, initial = true, onExitComplete, presenceAffectsLayout = true, mode = "sync", propagate = false, anchorX = "left", anchorY = "top", root }) => {
6715
6755
  const [isParentPresent, safeToRemove] = usePresence(propagate);
6716
6756
  const presentChildren = React2.useMemo(() => onlyElements(children), [children]);
@@ -6721,6 +6761,11 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6721
6761
  const exitingComponents = React2.useRef(/* @__PURE__ */ new Set());
6722
6762
  const [diffedChildren, setDiffedChildren] = React2.useState(presentChildren);
6723
6763
  const [renderedChildren, setRenderedChildren] = React2.useState(presentChildren);
6764
+ useIsomorphicLayoutEffect(() => {
6765
+ if (propagate && !isParentPresent && !renderedChildren.length) {
6766
+ safeToRemove?.();
6767
+ }
6768
+ }, [isParentPresent, propagate, renderedChildren.length, safeToRemove]);
6724
6769
  useIsomorphicLayoutEffect(() => {
6725
6770
  isInitialRender.current = false;
6726
6771
  pendingPresentChildren.current = presentChildren;
@@ -6739,12 +6784,14 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6739
6784
  const exitingChildren = [];
6740
6785
  if (presentChildren !== diffedChildren) {
6741
6786
  let nextChildren = [...presentChildren];
6742
- for (let i = 0; i < renderedChildren.length; i++) {
6743
- const child = renderedChildren[i];
6744
- const key = getChildKey(child);
6745
- if (!presentKeys.includes(key)) {
6746
- nextChildren.splice(i, 0, child);
6787
+ let insertionIndex = 0;
6788
+ for (const child of renderedChildren) {
6789
+ const presentIndex = presentKeys.indexOf(getChildKey(child));
6790
+ if (presentIndex === -1) {
6791
+ nextChildren.splice(insertionIndex++, 0, child);
6747
6792
  exitingChildren.push(child);
6793
+ } else {
6794
+ insertionIndex = presentIndex + exitingChildren.length + 1;
6748
6795
  }
6749
6796
  }
6750
6797
  if (mode === "wait" && exitingChildren.length) {
@@ -6788,7 +6835,7 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6788
6835
  };
6789
6836
  var LazyContext = React2.createContext({ strict: false });
6790
6837
 
6791
- // ../../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
6838
+ // ../../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
6792
6839
  var featureProps = {
6793
6840
  animation: [
6794
6841
  "animate",
@@ -6827,7 +6874,7 @@ function getInitializedFeatureDefinitions() {
6827
6874
  return getFeatureDefinitions();
6828
6875
  }
6829
6876
 
6830
- // ../../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
6877
+ // ../../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
6831
6878
  function loadFeatures(features) {
6832
6879
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6833
6880
  for (const key in features) {
@@ -6838,74 +6885,9 @@ function loadFeatures(features) {
6838
6885
  }
6839
6886
  setFeatureDefinitions(featureDefinitions2);
6840
6887
  }
6841
-
6842
- // ../../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
6843
- var validMotionProps = /* @__PURE__ */ new Set([
6844
- "animate",
6845
- "exit",
6846
- "variants",
6847
- "initial",
6848
- "style",
6849
- "values",
6850
- "variants",
6851
- "transition",
6852
- "transformTemplate",
6853
- "custom",
6854
- "inherit",
6855
- "onBeforeLayoutMeasure",
6856
- "onAnimationStart",
6857
- "onAnimationComplete",
6858
- "onUpdate",
6859
- "onDragStart",
6860
- "onDrag",
6861
- "onDragEnd",
6862
- "onMeasureDragConstraints",
6863
- "onDirectionLock",
6864
- "onDragTransitionEnd",
6865
- "_dragX",
6866
- "_dragY",
6867
- "onHoverStart",
6868
- "onHoverEnd",
6869
- "onViewportEnter",
6870
- "onViewportLeave",
6871
- "globalTapTarget",
6872
- "propagate",
6873
- "ignoreStrict",
6874
- "viewport"
6875
- ]);
6876
- function isValidMotionProp(key) {
6877
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6878
- }
6879
-
6880
- // ../../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
6881
- var shouldForward = (key) => !isValidMotionProp(key);
6882
- function loadExternalIsValidProp(isValidProp) {
6883
- if (typeof isValidProp !== "function")
6884
- return;
6885
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6886
- }
6887
- try {
6888
- const emotionPkg = "@emotion/is-prop-valid";
6889
- loadExternalIsValidProp(__require(emotionPkg).default);
6890
- } catch {
6891
- }
6892
- function filterProps(props, isDom, forwardMotionProps) {
6893
- const filteredProps = {};
6894
- for (const key in props) {
6895
- if (key === "values" && typeof props.values === "object")
6896
- continue;
6897
- if (isMotionValue(props[key]))
6898
- continue;
6899
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6900
- props["draggable"] && key.startsWith("onDrag")) {
6901
- filteredProps[key] = props[key];
6902
- }
6903
- }
6904
- return filteredProps;
6905
- }
6906
6888
  var MotionContext = /* @__PURE__ */ React2.createContext({});
6907
6889
 
6908
- // ../../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
6890
+ // ../../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
6909
6891
  function getCurrentTreeVariants(props, context) {
6910
6892
  if (isControllingVariants(props)) {
6911
6893
  const { initial, animate } = props;
@@ -6917,7 +6899,7 @@ function getCurrentTreeVariants(props, context) {
6917
6899
  return props.inherit !== false ? context : {};
6918
6900
  }
6919
6901
 
6920
- // ../../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
6902
+ // ../../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
6921
6903
  function useCreateMotionContext(props) {
6922
6904
  const { initial, animate } = getCurrentTreeVariants(props, React2.useContext(MotionContext));
6923
6905
  return React2.useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6926,7 +6908,7 @@ function variantLabelsAsDependency(prop) {
6926
6908
  return Array.isArray(prop) ? prop.join(" ") : prop;
6927
6909
  }
6928
6910
 
6929
- // ../../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
6911
+ // ../../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
6930
6912
  var createHtmlRenderState = () => ({
6931
6913
  style: {},
6932
6914
  transform: {},
@@ -6934,7 +6916,7 @@ var createHtmlRenderState = () => ({
6934
6916
  vars: {}
6935
6917
  });
6936
6918
 
6937
- // ../../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
6919
+ // ../../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
6938
6920
  function copyRawValuesOnly(target, source, props) {
6939
6921
  for (const key in source) {
6940
6922
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -6971,13 +6953,13 @@ function useHTMLProps(props, visualState) {
6971
6953
  return htmlProps;
6972
6954
  }
6973
6955
 
6974
- // ../../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
6956
+ // ../../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
6975
6957
  var createSvgRenderState = () => ({
6976
6958
  ...createHtmlRenderState(),
6977
6959
  attrs: {}
6978
6960
  });
6979
6961
 
6980
- // ../../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
6962
+ // ../../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
6981
6963
  function useSVGProps(props, visualState, _isStatic, Component3) {
6982
6964
  const visualProps = React2.useMemo(() => {
6983
6965
  const state = createSvgRenderState();
@@ -6995,7 +6977,64 @@ function useSVGProps(props, visualState, _isStatic, Component3) {
6995
6977
  return visualProps;
6996
6978
  }
6997
6979
 
6998
- // ../../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
6980
+ // ../../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
6981
+ var validMotionProps = /* @__PURE__ */ new Set([
6982
+ "animate",
6983
+ "exit",
6984
+ "variants",
6985
+ "initial",
6986
+ "style",
6987
+ "values",
6988
+ "variants",
6989
+ "transition",
6990
+ "transformTemplate",
6991
+ "custom",
6992
+ "inherit",
6993
+ "onBeforeLayoutMeasure",
6994
+ "onAnimationStart",
6995
+ "onAnimationComplete",
6996
+ "onUpdate",
6997
+ "onDragStart",
6998
+ "onDrag",
6999
+ "onDragEnd",
7000
+ "onMeasureDragConstraints",
7001
+ "onDirectionLock",
7002
+ "onDragTransitionEnd",
7003
+ "_dragX",
7004
+ "_dragY",
7005
+ "onHoverStart",
7006
+ "onHoverEnd",
7007
+ "onViewportEnter",
7008
+ "onViewportLeave",
7009
+ "globalTapTarget",
7010
+ "propagate",
7011
+ "ignoreStrict",
7012
+ "viewport"
7013
+ ]);
7014
+ function isValidMotionProp(key) {
7015
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
7016
+ }
7017
+
7018
+ // ../../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
7019
+ function shouldForward(key, isValidProp) {
7020
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
7021
+ }
7022
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
7023
+ const filteredProps = {};
7024
+ for (const key in props) {
7025
+ if (key === "values" && typeof props.values === "object")
7026
+ continue;
7027
+ if (isMotionValue(props[key]))
7028
+ continue;
7029
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
7030
+ props["draggable"] && key.startsWith("onDrag")) {
7031
+ filteredProps[key] = props[key];
7032
+ }
7033
+ }
7034
+ return filteredProps;
7035
+ }
7036
+
7037
+ // ../../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
6999
7038
  var lowercaseSVGElements = [
7000
7039
  "animate",
7001
7040
  "circle",
@@ -7024,7 +7063,7 @@ var lowercaseSVGElements = [
7024
7063
  "view"
7025
7064
  ];
7026
7065
 
7027
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs
7066
+ // ../../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
7028
7067
  function isSVGComponent(Component3) {
7029
7068
  if (
7030
7069
  /**
@@ -7051,11 +7090,11 @@ function isSVGComponent(Component3) {
7051
7090
  return false;
7052
7091
  }
7053
7092
 
7054
- // ../../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
7055
- function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
7093
+ // ../../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
7094
+ function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
7056
7095
  const useVisualProps = isSVG ?? isSVGComponent(Component3) ? useSVGProps : useHTMLProps;
7057
7096
  const visualProps = useVisualProps(props, latestValues, isStatic, Component3);
7058
- const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps);
7097
+ const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps, isValidProp);
7059
7098
  const elementProps = Component3 !== React2.Fragment ? { ...filteredProps, ...visualProps, ref } : {};
7060
7099
  const { children } = props;
7061
7100
  const renderedChildren = React2.useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -7120,20 +7159,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
7120
7159
  return isStatic ? make() : useConstant(make);
7121
7160
  };
7122
7161
 
7123
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs
7162
+ // ../../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
7124
7163
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
7125
7164
  scrapeMotionValuesFromProps,
7126
7165
  createRenderState: createHtmlRenderState
7127
7166
  });
7128
7167
 
7129
- // ../../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
7168
+ // ../../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
7130
7169
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
7131
7170
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
7132
7171
  createRenderState: createSvgRenderState
7133
7172
  });
7134
7173
 
7135
- // ../../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
7136
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
7174
+ // ../../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
7175
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
7137
7176
  function useMotionRef(visualState, visualElement, externalRef) {
7138
7177
  const externalRefContainer = React2.useRef(externalRef);
7139
7178
  React2.useInsertionEffect(() => {
@@ -7144,6 +7183,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
7144
7183
  if (instance) {
7145
7184
  visualState.onMount?.(instance);
7146
7185
  }
7186
+ if (visualElement) {
7187
+ instance ? visualElement.mount(instance) : visualElement.unmount();
7188
+ }
7147
7189
  const ref = externalRefContainer.current;
7148
7190
  if (typeof ref === "function") {
7149
7191
  if (instance) {
@@ -7160,19 +7202,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
7160
7202
  } else if (ref) {
7161
7203
  ref.current = instance;
7162
7204
  }
7163
- if (visualElement) {
7164
- instance ? visualElement.mount(instance) : visualElement.unmount();
7165
- }
7166
7205
  }, [visualElement]);
7167
7206
  }
7168
7207
  var SwitchLayoutGroupContext = React2.createContext({});
7169
7208
 
7170
- // ../../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
7209
+ // ../../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
7171
7210
  function isRefObject(ref) {
7172
7211
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
7173
7212
  }
7174
7213
 
7175
- // ../../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
7214
+ // ../../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
7176
7215
  function useVisualElement(Component3, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
7177
7216
  const { visualElement: parent } = React2.useContext(MotionContext);
7178
7217
  const lazyContext = React2.useContext(LazyContext);
@@ -7268,7 +7307,7 @@ function getClosestProjectingNode(visualElement) {
7268
7307
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7269
7308
  }
7270
7309
 
7271
- // ../../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
7310
+ // ../../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
7272
7311
  function createMotionComponent(Component3, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7273
7312
  preloadedFeatures && loadFeatures(preloadedFeatures);
7274
7313
  const isSVG = type ? type === "svg" : isSVGComponent(Component3);
@@ -7280,7 +7319,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7280
7319
  ...props,
7281
7320
  layoutId: useLayoutId(props)
7282
7321
  };
7283
- const { isStatic } = configAndProps;
7322
+ const { isStatic, isValidProp } = configAndProps;
7284
7323
  const context = useCreateMotionContext(props);
7285
7324
  const visualState = useVisualState(props, isStatic);
7286
7325
  if (!isStatic && typeof window !== "undefined") {
@@ -7289,7 +7328,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7289
7328
  MeasureLayout2 = layoutProjection.MeasureLayout;
7290
7329
  context.visualElement = useVisualElement(Component3, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7291
7330
  }
7292
- 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)] });
7331
+ 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)] });
7293
7332
  }
7294
7333
  MotionDOMComponent.displayName = `motion.${typeof Component3 === "string" ? Component3 : `create(${Component3.displayName ?? Component3.name ?? ""})`}`;
7295
7334
  const ForwardRefMotionComponent = React2.forwardRef(MotionDOMComponent);
@@ -7319,7 +7358,7 @@ function getProjectionFunctionality(props) {
7319
7358
  };
7320
7359
  }
7321
7360
 
7322
- // ../../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
7361
+ // ../../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
7323
7362
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7324
7363
  if (typeof Proxy === "undefined") {
7325
7364
  return createMotionComponent;
@@ -7357,7 +7396,7 @@ var createDomVisualElement = (Component3, options) => {
7357
7396
  });
7358
7397
  };
7359
7398
 
7360
- // ../../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
7399
+ // ../../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
7361
7400
  var AnimationFeature = class extends Feature {
7362
7401
  /**
7363
7402
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7393,7 +7432,7 @@ var AnimationFeature = class extends Feature {
7393
7432
  }
7394
7433
  };
7395
7434
 
7396
- // ../../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
7435
+ // ../../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
7397
7436
  var id2 = 0;
7398
7437
  var ExitAnimationFeature = class extends Feature {
7399
7438
  constructor() {
@@ -7412,7 +7451,7 @@ var ExitAnimationFeature = class extends Feature {
7412
7451
  if (isPresent && prevIsPresent === false) {
7413
7452
  if (this.isExitComplete) {
7414
7453
  const { initial, custom } = this.node.getProps();
7415
- if (typeof initial === "string") {
7454
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7416
7455
  const resolved = resolveVariant(this.node, initial, custom);
7417
7456
  if (resolved) {
7418
7457
  const { transition, transitionEnd, ...target } = resolved;
@@ -7450,7 +7489,7 @@ var ExitAnimationFeature = class extends Feature {
7450
7489
  }
7451
7490
  };
7452
7491
 
7453
- // ../../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
7492
+ // ../../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
7454
7493
  var animations = {
7455
7494
  animation: {
7456
7495
  Feature: AnimationFeature
@@ -7460,7 +7499,7 @@ var animations = {
7460
7499
  }
7461
7500
  };
7462
7501
 
7463
- // ../../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
7502
+ // ../../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
7464
7503
  function extractEventInfo(event) {
7465
7504
  return {
7466
7505
  point: {
@@ -7471,17 +7510,17 @@ function extractEventInfo(event) {
7471
7510
  }
7472
7511
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
7473
7512
 
7474
- // ../../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
7513
+ // ../../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
7475
7514
  function addPointerEvent(target, eventName, handler, options) {
7476
7515
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7477
7516
  }
7478
7517
 
7479
- // ../../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
7518
+ // ../../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
7480
7519
  var getContextWindow = ({ current }) => {
7481
7520
  return current ? current.ownerDocument.defaultView : null;
7482
7521
  };
7483
7522
 
7484
- // ../../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
7523
+ // ../../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
7485
7524
  var distance = (a, b) => Math.abs(a - b);
7486
7525
  function distance2D(a, b) {
7487
7526
  const xDelta = distance(a.x, b.x);
@@ -7489,7 +7528,7 @@ function distance2D(a, b) {
7489
7528
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7490
7529
  }
7491
7530
 
7492
- // ../../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
7531
+ // ../../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
7493
7532
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7494
7533
  var PanSession = class {
7495
7534
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7562,7 +7601,8 @@ var PanSession = class {
7562
7601
  this.history = [{ ...point, timestamp }];
7563
7602
  const { onSessionStart } = handlers;
7564
7603
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7565
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7604
+ const eventOptions = { passive: true, capture: true };
7605
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7566
7606
  if (element) {
7567
7607
  this.startScrollTracking(element);
7568
7608
  }
@@ -7696,7 +7736,7 @@ function getVelocity(history, timeDelta) {
7696
7736
  return currentVelocity;
7697
7737
  }
7698
7738
 
7699
- // ../../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
7739
+ // ../../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
7700
7740
  function applyConstraints(point, { min, max }, elastic) {
7701
7741
  if (min !== void 0 && point < min) {
7702
7742
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7774,7 +7814,7 @@ function resolvePointElastic(dragElastic, label) {
7774
7814
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7775
7815
  }
7776
7816
 
7777
- // ../../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
7817
+ // ../../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
7778
7818
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7779
7819
  var VisualElementDragControls = class {
7780
7820
  constructor(visualElement) {
@@ -7975,6 +8015,10 @@ var VisualElementDragControls = class {
7975
8015
  const { projection } = this.visualElement;
7976
8016
  if (!projection || !projection.layout)
7977
8017
  return false;
8018
+ if (projection.root) {
8019
+ projection.root.scroll = void 0;
8020
+ projection.root.updateScroll();
8021
+ }
7978
8022
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
7979
8023
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
7980
8024
  if (onMeasureDragConstraints) {
@@ -8031,7 +8075,7 @@ var VisualElementDragControls = class {
8031
8075
  const dragKey = `_drag${axis.toUpperCase()}`;
8032
8076
  const props = this.visualElement.getProps();
8033
8077
  const externalMotionValue = props[dragKey];
8034
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
8078
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
8035
8079
  }
8036
8080
  snapToCursor(point) {
8037
8081
  eachAxis((axis) => {
@@ -8179,7 +8223,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
8179
8223
  return direction;
8180
8224
  }
8181
8225
 
8182
- // ../../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
8226
+ // ../../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
8183
8227
  var DragGesture = class extends Feature {
8184
8228
  constructor(node) {
8185
8229
  super(node);
@@ -8213,7 +8257,7 @@ var DragGesture = class extends Feature {
8213
8257
  }
8214
8258
  };
8215
8259
 
8216
- // ../../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
8260
+ // ../../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
8217
8261
  var asyncHandler = (handler) => (event, info) => {
8218
8262
  if (handler) {
8219
8263
  frame.update(() => handler(event, info), false, true);
@@ -8356,7 +8400,7 @@ function MeasureLayout(props) {
8356
8400
  return jsxRuntime.jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: React2.useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8357
8401
  }
8358
8402
 
8359
- // ../../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
8403
+ // ../../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
8360
8404
  var drag = {
8361
8405
  pan: {
8362
8406
  Feature: PanGesture
@@ -8368,7 +8412,7 @@ var drag = {
8368
8412
  }
8369
8413
  };
8370
8414
 
8371
- // ../../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
8415
+ // ../../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
8372
8416
  function handleHoverEvent(node, event, lifecycle) {
8373
8417
  const { props } = node;
8374
8418
  if (node.animationState && props.whileHover) {
@@ -8394,7 +8438,7 @@ var HoverGesture = class extends Feature {
8394
8438
  }
8395
8439
  };
8396
8440
 
8397
- // ../../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
8441
+ // ../../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
8398
8442
  var FocusGesture = class extends Feature {
8399
8443
  constructor() {
8400
8444
  super(...arguments);
@@ -8425,7 +8469,7 @@ var FocusGesture = class extends Feature {
8425
8469
  }
8426
8470
  };
8427
8471
 
8428
- // ../../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
8472
+ // ../../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
8429
8473
  function handlePressEvent(node, event, lifecycle) {
8430
8474
  const { props } = node;
8431
8475
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8458,7 +8502,7 @@ var PressGesture = class extends Feature {
8458
8502
  }
8459
8503
  };
8460
8504
 
8461
- // ../../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
8505
+ // ../../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
8462
8506
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8463
8507
  var observers = /* @__PURE__ */ new WeakMap();
8464
8508
  var fireObserverCallback = (entry) => {
@@ -8490,7 +8534,7 @@ function observeIntersection(element, options, callback) {
8490
8534
  };
8491
8535
  }
8492
8536
 
8493
- // ../../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
8537
+ // ../../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
8494
8538
  var thresholdNames = {
8495
8539
  some: 0,
8496
8540
  all: 1
@@ -8551,7 +8595,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8551
8595
  return (name) => viewport[name] !== prevViewport[name];
8552
8596
  }
8553
8597
 
8554
- // ../../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
8598
+ // ../../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
8555
8599
  var gestureAnimations = {
8556
8600
  inView: {
8557
8601
  Feature: InViewFeature
@@ -8567,7 +8611,7 @@ var gestureAnimations = {
8567
8611
  }
8568
8612
  };
8569
8613
 
8570
- // ../../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
8614
+ // ../../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
8571
8615
  var layout = {
8572
8616
  layout: {
8573
8617
  ProjectionNode: HTMLProjectionNode,
@@ -8575,7 +8619,7 @@ var layout = {
8575
8619
  }
8576
8620
  };
8577
8621
 
8578
- // ../../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
8622
+ // ../../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
8579
8623
  var featureBundle = {
8580
8624
  ...animations,
8581
8625
  ...gestureAnimations,
@@ -8583,8 +8627,11 @@ var featureBundle = {
8583
8627
  ...layout
8584
8628
  };
8585
8629
 
8586
- // ../../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
8630
+ // ../../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
8587
8631
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8632
+
8633
+ // ../../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
8634
+ var motion2 = motion;
8588
8635
  function usePrefersReducedMotion() {
8589
8636
  const [prefersReducedMotion2, setPrefersReducedMotion] = React2.useState(false);
8590
8637
  React2.useEffect(() => {
@@ -8794,7 +8841,7 @@ function AnimatedText({
8794
8841
  return /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { tag: "span", className: "relative", children: [
8795
8842
  typewriterText,
8796
8843
  showCursor && /* @__PURE__ */ jsxRuntime.jsx(
8797
- motion.span,
8844
+ motion2.span,
8798
8845
  {
8799
8846
  animate: { opacity: [0, 1, 0] },
8800
8847
  transition: { duration: 1, repeat: Infinity },
@@ -8805,14 +8852,14 @@ function AnimatedText({
8805
8852
  ] });
8806
8853
  case "wordReveal":
8807
8854
  return /* @__PURE__ */ jsxRuntime.jsx(
8808
- motion.div,
8855
+ motion2.div,
8809
8856
  {
8810
8857
  className: "flex flex-wrap gap-1",
8811
8858
  initial: "hidden",
8812
8859
  animate: "visible",
8813
8860
  onAnimationComplete: () => onComplete?.(),
8814
8861
  children: text.split(" ").map((word, i) => /* @__PURE__ */ jsxRuntime.jsx(
8815
- motion.span,
8862
+ motion2.span,
8816
8863
  {
8817
8864
  custom: i,
8818
8865
  variants: wordVariants,
@@ -8828,7 +8875,7 @@ function AnimatedText({
8828
8875
  return /* @__PURE__ */ jsxRuntime.jsx("span", { children: shuffleText });
8829
8876
  case "gradient":
8830
8877
  return /* @__PURE__ */ jsxRuntime.jsx(
8831
- motion.span,
8878
+ motion2.span,
8832
8879
  {
8833
8880
  style: gradientStyle,
8834
8881
  initial: { opacity: 0 },
@@ -8841,13 +8888,13 @@ function AnimatedText({
8841
8888
  );
8842
8889
  case "glitch":
8843
8890
  return /* @__PURE__ */ jsxRuntime.jsxs(
8844
- motion.div,
8891
+ motion2.div,
8845
8892
  {
8846
8893
  className: "relative",
8847
8894
  onAnimationComplete: () => onComplete?.(),
8848
8895
  children: [
8849
8896
  /* @__PURE__ */ jsxRuntime.jsx(
8850
- motion.span,
8897
+ motion2.span,
8851
8898
  {
8852
8899
  variants: glitchVariants,
8853
8900
  animate: "glitch",
@@ -8858,7 +8905,7 @@ function AnimatedText({
8858
8905
  }
8859
8906
  ),
8860
8907
  /* @__PURE__ */ jsxRuntime.jsx(
8861
- motion.span,
8908
+ motion2.span,
8862
8909
  {
8863
8910
  className: "absolute inset-0 opacity-80",
8864
8911
  variants: glitchVariants,
@@ -8872,7 +8919,7 @@ function AnimatedText({
8872
8919
  }
8873
8920
  ),
8874
8921
  /* @__PURE__ */ jsxRuntime.jsx(
8875
- motion.span,
8922
+ motion2.span,
8876
8923
  {
8877
8924
  className: "absolute inset-0 opacity-80",
8878
8925
  variants: glitchVariants,