@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 React4__namespace = /*#__PURE__*/_interopNamespace(React4);
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 = React4.createContext({});
37
31
  function useConstant(init) {
38
32
  const ref = React4.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 ? React4.useLayoutEffect : React4.useEffect;
50
44
  var PresenceContext = /* @__PURE__ */ React4.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));
@@ -2906,48 +2698,243 @@ var MotionValue = class {
2906
2698
  this.events.animationCancel.notify();
2907
2699
  }
2908
2700
  }
2909
- this.clearAnimation();
2910
- }
2911
- /**
2912
- * Returns `true` if this value is currently animating.
2913
- *
2914
- * @public
2915
- */
2916
- isAnimating() {
2917
- return !!this.animation;
2701
+ this.clearAnimation();
2702
+ }
2703
+ /**
2704
+ * Returns `true` if this value is currently animating.
2705
+ *
2706
+ * @public
2707
+ */
2708
+ isAnimating() {
2709
+ return !!this.animation;
2710
+ }
2711
+ clearAnimation() {
2712
+ delete this.animation;
2713
+ }
2714
+ /**
2715
+ * Destroy and clean up subscribers to this `MotionValue`.
2716
+ *
2717
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2718
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2719
+ * created a `MotionValue` via the `motionValue` function.
2720
+ *
2721
+ * @public
2722
+ */
2723
+ destroy() {
2724
+ this.dependents?.clear();
2725
+ this.events.destroy?.notify();
2726
+ this.clearListeners();
2727
+ this.stop();
2728
+ if (this.stopPassiveEffect) {
2729
+ this.stopPassiveEffect();
2730
+ }
2731
+ }
2732
+ };
2733
+ function motionValue(init, options) {
2734
+ return new MotionValue(init, options);
2735
+ }
2736
+
2737
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2738
+ function resolveTransition(transition, parentTransition) {
2739
+ if (transition?.inherit && parentTransition) {
2740
+ const { inherit: _, ...rest } = transition;
2741
+ return { ...parentTransition, ...rest };
2742
+ }
2743
+ return transition;
2744
+ }
2745
+
2746
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2747
+ function getValueTransition(transition, key) {
2748
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2749
+ if (valueTransition !== transition) {
2750
+ return resolveTransition(valueTransition, transition);
2751
+ }
2752
+ return valueTransition;
2753
+ }
2754
+
2755
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2756
+ var underDampedSpring = {
2757
+ type: "spring",
2758
+ stiffness: 500,
2759
+ damping: 25,
2760
+ restSpeed: 10
2761
+ };
2762
+ var criticallyDampedSpring = (target) => ({
2763
+ type: "spring",
2764
+ stiffness: 550,
2765
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2766
+ restSpeed: 10
2767
+ });
2768
+ var keyframesTransition = {
2769
+ type: "keyframes",
2770
+ duration: 0.8
2771
+ };
2772
+ var ease = {
2773
+ type: "keyframes",
2774
+ ease: [0.25, 0.1, 0.35, 1],
2775
+ duration: 0.3
2776
+ };
2777
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2778
+ if (keyframes2.length > 2) {
2779
+ return keyframesTransition;
2780
+ } else if (transformProps.has(valueKey)) {
2781
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2782
+ }
2783
+ return ease;
2784
+ };
2785
+
2786
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2787
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2788
+ "when",
2789
+ "delay",
2790
+ "delayChildren",
2791
+ "staggerChildren",
2792
+ "staggerDirection",
2793
+ "repeat",
2794
+ "repeatType",
2795
+ "repeatDelay",
2796
+ "from",
2797
+ "elapsed"
2798
+ ]);
2799
+ function isTransitionDefined(transition) {
2800
+ for (const key in transition) {
2801
+ if (!orchestrationKeys.has(key))
2802
+ return true;
2803
+ }
2804
+ return false;
2805
+ }
2806
+
2807
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2808
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2809
+ const valueTransition = getValueTransition(transition, name) || {};
2810
+ const delay2 = valueTransition.delay || transition.delay || 0;
2811
+ let { elapsed = 0 } = transition;
2812
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2813
+ const options = {
2814
+ keyframes: Array.isArray(target) ? target : [null, target],
2815
+ ease: "easeOut",
2816
+ velocity: value.getVelocity(),
2817
+ ...valueTransition,
2818
+ delay: -elapsed,
2819
+ onUpdate: (v) => {
2820
+ value.set(v);
2821
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2822
+ },
2823
+ onComplete: () => {
2824
+ onComplete();
2825
+ valueTransition.onComplete && valueTransition.onComplete();
2826
+ },
2827
+ name,
2828
+ motionValue: value,
2829
+ element: isHandoff ? void 0 : element
2830
+ };
2831
+ if (!isTransitionDefined(valueTransition)) {
2832
+ Object.assign(options, getDefaultTransition(name, options));
2833
+ }
2834
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2835
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2836
+ if (options.from !== void 0) {
2837
+ options.keyframes[0] = options.from;
2838
+ }
2839
+ let shouldSkip = false;
2840
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2841
+ makeAnimationInstant(options);
2842
+ if (options.delay === 0) {
2843
+ shouldSkip = true;
2844
+ }
2918
2845
  }
2919
- clearAnimation() {
2920
- delete this.animation;
2846
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2847
+ shouldSkip = true;
2848
+ makeAnimationInstant(options);
2849
+ options.delay = 0;
2921
2850
  }
2922
- /**
2923
- * Destroy and clean up subscribers to this `MotionValue`.
2924
- *
2925
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2926
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2927
- * created a `MotionValue` via the `motionValue` function.
2928
- *
2929
- * @public
2930
- */
2931
- destroy() {
2932
- this.dependents?.clear();
2933
- this.events.destroy?.notify();
2934
- this.clearListeners();
2935
- this.stop();
2936
- if (this.stopPassiveEffect) {
2937
- this.stopPassiveEffect();
2851
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2852
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2853
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2854
+ if (finalKeyframe !== void 0) {
2855
+ frame.update(() => {
2856
+ options.onUpdate(finalKeyframe);
2857
+ options.onComplete();
2858
+ });
2859
+ return;
2938
2860
  }
2939
2861
  }
2862
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2940
2863
  };
2941
- function motionValue(init, options) {
2942
- return new MotionValue(init, options);
2864
+
2865
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2866
+ var splitCSSVariableRegex = (
2867
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2868
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2869
+ );
2870
+ function parseCSSVariable(current) {
2871
+ const match = splitCSSVariableRegex.exec(current);
2872
+ if (!match)
2873
+ return [,];
2874
+ const [, token1, token2, fallback] = match;
2875
+ return [`--${token1 ?? token2}`, fallback];
2876
+ }
2877
+ var maxDepth = 4;
2878
+ function getVariableValue(current, element, depth = 1) {
2879
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2880
+ const [token, fallback] = parseCSSVariable(current);
2881
+ if (!token)
2882
+ return;
2883
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2884
+ if (resolved) {
2885
+ const trimmed = resolved.trim();
2886
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2887
+ }
2888
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2889
+ }
2890
+
2891
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2892
+ function getValueState(visualElement) {
2893
+ const state = [{}, {}];
2894
+ visualElement?.values.forEach((value, key) => {
2895
+ state[0][key] = value.get();
2896
+ state[1][key] = value.getVelocity();
2897
+ });
2898
+ return state;
2899
+ }
2900
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2901
+ if (typeof definition === "function") {
2902
+ const [current, velocity] = getValueState(visualElement);
2903
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2904
+ }
2905
+ if (typeof definition === "string") {
2906
+ definition = props.variants && props.variants[definition];
2907
+ }
2908
+ if (typeof definition === "function") {
2909
+ const [current, velocity] = getValueState(visualElement);
2910
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2911
+ }
2912
+ return definition;
2913
+ }
2914
+
2915
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2916
+ function resolveVariant(visualElement, definition, custom) {
2917
+ const props = visualElement.getProps();
2918
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2943
2919
  }
2944
2920
 
2945
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2921
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2922
+ var positionalKeys = /* @__PURE__ */ new Set([
2923
+ "width",
2924
+ "height",
2925
+ "top",
2926
+ "left",
2927
+ "right",
2928
+ "bottom",
2929
+ ...transformPropOrder
2930
+ ]);
2931
+
2932
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2946
2933
  var isKeyframesTarget = (v) => {
2947
2934
  return Array.isArray(v);
2948
2935
  };
2949
2936
 
2950
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2937
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2951
2938
  function setMotionValue(visualElement, key, value) {
2952
2939
  if (visualElement.hasValue(key)) {
2953
2940
  visualElement.getValue(key).set(value);
@@ -2968,15 +2955,15 @@ function setTarget(visualElement, definition) {
2968
2955
  }
2969
2956
  }
2970
2957
 
2971
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2958
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2972
2959
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2973
2960
 
2974
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2961
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2975
2962
  function isWillChangeMotionValue(value) {
2976
2963
  return Boolean(isMotionValue(value) && value.add);
2977
2964
  }
2978
2965
 
2979
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2966
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2980
2967
  function addValueToWillChange(visualElement, key) {
2981
2968
  const willChange = visualElement.getValue("willChange");
2982
2969
  if (isWillChangeMotionValue(willChange)) {
@@ -2988,21 +2975,22 @@ function addValueToWillChange(visualElement, key) {
2988
2975
  }
2989
2976
  }
2990
2977
 
2991
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2978
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2992
2979
  function camelToDash(str) {
2993
2980
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
2994
2981
  }
2995
2982
 
2996
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2983
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2997
2984
  var optimizedAppearDataId = "framerAppearId";
2998
2985
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
2999
2986
 
3000
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2987
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
3001
2988
  function getOptimisedAppearId(visualElement) {
3002
2989
  return visualElement.props[optimizedAppearDataAttribute];
3003
2990
  }
3004
2991
 
3005
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2992
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2993
+ var isBrowser2 = typeof window !== "undefined";
3006
2994
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
3007
2995
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
3008
2996
  needsAnimating[key] = false;
@@ -3013,10 +3001,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3013
3001
  const defaultTransition = visualElement.getDefaultTransition();
3014
3002
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
3015
3003
  const reduceMotion = transition?.reduceMotion;
3004
+ const skipAnimations = transition?.skipAnimations;
3016
3005
  if (transitionOverride)
3017
3006
  transition = transitionOverride;
3018
3007
  const animations2 = [];
3019
3008
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
3009
+ const path = transition?.path;
3010
+ if (path) {
3011
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
3012
+ }
3020
3013
  for (const key in target) {
3021
3014
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
3022
3015
  const valueTarget = target[key];
@@ -3027,13 +3020,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3027
3020
  delay: delay2,
3028
3021
  ...getValueTransition(transition || {}, key)
3029
3022
  };
3023
+ if (skipAnimations)
3024
+ valueTransition.skipAnimations = true;
3030
3025
  const currentValue = value.get();
3031
3026
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3032
3027
  frame.update(() => value.set(valueTarget));
3033
3028
  continue;
3034
3029
  }
3035
3030
  let isHandoff = false;
3036
- if (window.MotionHandoffAnimation) {
3031
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3037
3032
  const appearId = getOptimisedAppearId(visualElement);
3038
3033
  if (appearId) {
3039
3034
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3064,7 +3059,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3064
3059
  return animations2;
3065
3060
  }
3066
3061
 
3067
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3062
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3068
3063
  function animateVariant(visualElement, variant, options = {}) {
3069
3064
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3070
3065
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3096,7 +3091,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3096
3091
  return Promise.all(animations2);
3097
3092
  }
3098
3093
 
3099
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3094
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3100
3095
  function animateVisualElement(visualElement, definition, options = {}) {
3101
3096
  visualElement.notify("AnimationStart", definition);
3102
3097
  let animation;
@@ -3114,20 +3109,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3114
3109
  });
3115
3110
  }
3116
3111
 
3117
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3112
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3118
3113
  var auto = {
3119
3114
  test: (v) => v === "auto",
3120
3115
  parse: (v) => v
3121
3116
  };
3122
3117
 
3123
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3118
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3124
3119
  var testValueType = (v) => (type) => type.test(v);
3125
3120
 
3126
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3121
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3127
3122
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3128
3123
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3129
3124
 
3130
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3125
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3131
3126
  function isNone(value) {
3132
3127
  if (typeof value === "number") {
3133
3128
  return value === 0;
@@ -3138,7 +3133,7 @@ function isNone(value) {
3138
3133
  }
3139
3134
  }
3140
3135
 
3141
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3136
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3142
3137
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3143
3138
  function applyDefaultFilter(v) {
3144
3139
  const [name, value] = v.slice(0, -1).split("(");
@@ -3162,7 +3157,7 @@ var filter = {
3162
3157
  }
3163
3158
  };
3164
3159
 
3165
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3160
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3166
3161
  var mask = {
3167
3162
  ...complex,
3168
3163
  getAnimatableNone: (v) => {
@@ -3172,15 +3167,21 @@ var mask = {
3172
3167
  }
3173
3168
  };
3174
3169
 
3175
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3170
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3176
3171
  var int = {
3177
3172
  ...number,
3178
3173
  transform: Math.round
3179
3174
  };
3180
3175
 
3181
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3176
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3182
3177
  var transformValueTypes = {
3183
3178
  rotate: degrees,
3179
+ /**
3180
+ * Internal channel for `transition.path` orientToPath. Composed onto
3181
+ * `rotate` at the transform-build sites so the user's `rotate` is
3182
+ * never read or overwritten. Not part of `transformPropOrder`.
3183
+ */
3184
+ pathRotation: degrees,
3184
3185
  rotateX: degrees,
3185
3186
  rotateY: degrees,
3186
3187
  rotateZ: degrees,
@@ -3206,7 +3207,7 @@ var transformValueTypes = {
3206
3207
  originZ: px
3207
3208
  };
3208
3209
 
3209
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3210
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3210
3211
  var numberValueTypes = {
3211
3212
  // Border props
3212
3213
  borderWidth: px,
@@ -3271,7 +3272,7 @@ var numberValueTypes = {
3271
3272
  numOctaves: int
3272
3273
  };
3273
3274
 
3274
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3275
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3275
3276
  var defaultValueTypes = {
3276
3277
  ...numberValueTypes,
3277
3278
  // Color props
@@ -3293,7 +3294,7 @@ var defaultValueTypes = {
3293
3294
  };
3294
3295
  var getDefaultValueType = (key) => defaultValueTypes[key];
3295
3296
 
3296
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3297
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3297
3298
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3298
3299
  function getAnimatableNone2(key, value) {
3299
3300
  let defaultValueType = getDefaultValueType(key);
@@ -3302,7 +3303,7 @@ function getAnimatableNone2(key, value) {
3302
3303
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3303
3304
  }
3304
3305
 
3305
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3306
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3306
3307
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3307
3308
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3308
3309
  let i = 0;
@@ -3321,7 +3322,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3321
3322
  }
3322
3323
  }
3323
3324
 
3324
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3325
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3325
3326
  var DOMKeyframesResolver = class extends KeyframeResolver {
3326
3327
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3327
3328
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3419,7 +3420,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3419
3420
  }
3420
3421
  };
3421
3422
 
3422
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3423
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3424
+ var cornerRadiusProps = [
3425
+ "borderTopLeftRadius",
3426
+ "borderTopRightRadius",
3427
+ "borderBottomRightRadius",
3428
+ "borderBottomLeftRadius"
3429
+ ];
3430
+
3431
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3423
3432
  function resolveElements(elementOrSelector, scope, selectorCache) {
3424
3433
  if (elementOrSelector == null) {
3425
3434
  return [];
@@ -3434,20 +3443,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3434
3443
  return Array.from(elementOrSelector).filter((element) => element != null);
3435
3444
  }
3436
3445
 
3437
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3446
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3438
3447
  var getValueAsType = (value, type) => {
3439
3448
  return type && typeof value === "number" ? type.transform(value) : value;
3440
3449
  };
3441
3450
 
3442
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3451
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3443
3452
  function isHTMLElement(element) {
3444
3453
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3445
3454
  }
3446
3455
 
3447
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3456
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3448
3457
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3449
3458
 
3450
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3459
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3451
3460
  var isDragging = {
3452
3461
  x: false,
3453
3462
  y: false
@@ -3456,7 +3465,7 @@ function isDragActive() {
3456
3465
  return isDragging.x || isDragging.y;
3457
3466
  }
3458
3467
 
3459
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3468
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3460
3469
  function setDragLock(axis) {
3461
3470
  if (axis === "x" || axis === "y") {
3462
3471
  if (isDragging[axis]) {
@@ -3479,7 +3488,7 @@ function setDragLock(axis) {
3479
3488
  }
3480
3489
  }
3481
3490
 
3482
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3491
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3483
3492
  function setupGesture(elementOrSelector, options) {
3484
3493
  const elements = resolveElements(elementOrSelector);
3485
3494
  const gestureAbortController = new AbortController();
@@ -3492,7 +3501,7 @@ function setupGesture(elementOrSelector, options) {
3492
3501
  return [elements, eventOptions, cancel];
3493
3502
  }
3494
3503
 
3495
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3504
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3496
3505
  function isValidHover(event) {
3497
3506
  return !(event.pointerType === "touch" || isDragActive());
3498
3507
  }
@@ -3551,7 +3560,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3551
3560
  return cancel;
3552
3561
  }
3553
3562
 
3554
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3563
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3555
3564
  var isNodeOrChild = (parent, child) => {
3556
3565
  if (!child) {
3557
3566
  return false;
@@ -3562,7 +3571,7 @@ var isNodeOrChild = (parent, child) => {
3562
3571
  }
3563
3572
  };
3564
3573
 
3565
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3574
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3566
3575
  var isPrimaryPointer = (event) => {
3567
3576
  if (event.pointerType === "mouse") {
3568
3577
  return typeof event.button !== "number" || event.button <= 0;
@@ -3571,7 +3580,7 @@ var isPrimaryPointer = (event) => {
3571
3580
  }
3572
3581
  };
3573
3582
 
3574
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3583
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3575
3584
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3576
3585
  "BUTTON",
3577
3586
  "INPUT",
@@ -3587,10 +3596,10 @@ function isElementTextInput(element) {
3587
3596
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3588
3597
  }
3589
3598
 
3590
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3599
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3591
3600
  var isPressing = /* @__PURE__ */ new WeakSet();
3592
3601
 
3593
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3602
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3594
3603
  function filterEvents(callback) {
3595
3604
  return (event) => {
3596
3605
  if (event.key !== "Enter")
@@ -3620,7 +3629,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3620
3629
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3621
3630
  };
3622
3631
 
3623
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3632
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3624
3633
  function isValidPressEvent(event) {
3625
3634
  return isPrimaryPointer(event) && !isDragActive();
3626
3635
  }
@@ -3638,9 +3647,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3638
3647
  claimedPointerDownEvents.add(startEvent);
3639
3648
  }
3640
3649
  const onPressEnd = onPressStart(target, startEvent);
3650
+ const endEventOptions = { ...eventOptions, capture: true };
3641
3651
  const onPointerEnd = (endEvent, success) => {
3642
- window.removeEventListener("pointerup", onPointerUp);
3643
- window.removeEventListener("pointercancel", onPointerCancel);
3652
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3653
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3644
3654
  if (isPressing.has(target)) {
3645
3655
  isPressing.delete(target);
3646
3656
  }
@@ -3657,8 +3667,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3657
3667
  const onPointerCancel = (cancelEvent) => {
3658
3668
  onPointerEnd(cancelEvent, false);
3659
3669
  };
3660
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3661
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3670
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3671
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3662
3672
  };
3663
3673
  targets.forEach((target) => {
3664
3674
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3673,12 +3683,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3673
3683
  return cancelEvents;
3674
3684
  }
3675
3685
 
3676
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3686
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3677
3687
  function isSVGElement(element) {
3678
3688
  return isObject(element) && "ownerSVGElement" in element;
3679
3689
  }
3680
3690
 
3681
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3691
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3682
3692
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3683
3693
  var observer;
3684
3694
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3736,7 +3746,7 @@ function resizeElement(target, handler) {
3736
3746
  };
3737
3747
  }
3738
3748
 
3739
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3749
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3740
3750
  var windowCallbacks = /* @__PURE__ */ new Set();
3741
3751
  var windowResizeHandler;
3742
3752
  function createWindowResizeHandler() {
@@ -3766,17 +3776,17 @@ function resizeWindow(callback) {
3766
3776
  };
3767
3777
  }
3768
3778
 
3769
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3779
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3770
3780
  function resize(a, b) {
3771
3781
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3772
3782
  }
3773
3783
 
3774
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3784
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3775
3785
  function isSVGSVGElement(element) {
3776
3786
  return isSVGElement(element) && element.tagName === "svg";
3777
3787
  }
3778
3788
 
3779
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/transform.mjs
3789
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/transform.mjs
3780
3790
  function transform(...args) {
3781
3791
  const useImmediate = !Array.isArray(args[0]);
3782
3792
  const argOffset = useImmediate ? 0 : -1;
@@ -3788,11 +3798,11 @@ function transform(...args) {
3788
3798
  return useImmediate ? interpolator(inputValue) : interpolator;
3789
3799
  }
3790
3800
 
3791
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3801
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3792
3802
  var valueTypes = [...dimensionValueTypes, color, complex];
3793
3803
  var findValueType = (v) => valueTypes.find(testValueType(v));
3794
3804
 
3795
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3805
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3796
3806
  var createAxisDelta = () => ({
3797
3807
  translate: 0,
3798
3808
  scale: 1,
@@ -3809,20 +3819,20 @@ var createBox = () => ({
3809
3819
  y: createAxis()
3810
3820
  });
3811
3821
 
3812
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3822
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3813
3823
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3814
3824
 
3815
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3825
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3816
3826
  function isAnimationControls(v) {
3817
3827
  return v !== null && typeof v === "object" && typeof v.start === "function";
3818
3828
  }
3819
3829
 
3820
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3830
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3821
3831
  function isVariantLabel(v) {
3822
3832
  return typeof v === "string" || Array.isArray(v);
3823
3833
  }
3824
3834
 
3825
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3835
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3826
3836
  var variantPriorityOrder = [
3827
3837
  "animate",
3828
3838
  "whileInView",
@@ -3834,7 +3844,7 @@ var variantPriorityOrder = [
3834
3844
  ];
3835
3845
  var variantProps = ["initial", ...variantPriorityOrder];
3836
3846
 
3837
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3847
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3838
3848
  function isControllingVariants(props) {
3839
3849
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3840
3850
  }
@@ -3842,7 +3852,7 @@ function isVariantNode(props) {
3842
3852
  return Boolean(isControllingVariants(props) || props.variants);
3843
3853
  }
3844
3854
 
3845
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3855
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3846
3856
  function updateMotionValuesFromProps(element, next, prev) {
3847
3857
  for (const key in next) {
3848
3858
  const nextValue = next[key];
@@ -3872,15 +3882,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3872
3882
  return next;
3873
3883
  }
3874
3884
 
3875
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3885
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3876
3886
  var prefersReducedMotion = { current: null };
3877
3887
  var hasReducedMotionListener = { current: false };
3878
3888
 
3879
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3880
- var isBrowser2 = typeof window !== "undefined";
3889
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3890
+ var isBrowser3 = typeof window !== "undefined";
3881
3891
  function initPrefersReducedMotion() {
3882
3892
  hasReducedMotionListener.current = true;
3883
- if (!isBrowser2)
3893
+ if (!isBrowser3)
3884
3894
  return;
3885
3895
  if (window.matchMedia) {
3886
3896
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3892,7 +3902,7 @@ function initPrefersReducedMotion() {
3892
3902
  }
3893
3903
  }
3894
3904
 
3895
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3905
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3896
3906
  var propEventHandlers = [
3897
3907
  "AnimationStart",
3898
3908
  "AnimationComplete",
@@ -4081,8 +4091,6 @@ var VisualElement = class {
4081
4091
  removeOnChange();
4082
4092
  if (removeSyncCheck)
4083
4093
  removeSyncCheck();
4084
- if (value.owner)
4085
- value.stop();
4086
4094
  });
4087
4095
  }
4088
4096
  sortNodePosition(other) {
@@ -4293,7 +4301,7 @@ var VisualElement = class {
4293
4301
  }
4294
4302
  };
4295
4303
 
4296
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4304
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4297
4305
  var DOMVisualElement = class extends VisualElement {
4298
4306
  constructor() {
4299
4307
  super(...arguments);
@@ -4326,7 +4334,7 @@ var DOMVisualElement = class extends VisualElement {
4326
4334
  }
4327
4335
  };
4328
4336
 
4329
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4337
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4330
4338
  var Feature = class {
4331
4339
  constructor(node) {
4332
4340
  this.isMounted = false;
@@ -4336,7 +4344,7 @@ var Feature = class {
4336
4344
  }
4337
4345
  };
4338
4346
 
4339
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4347
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4340
4348
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4341
4349
  return {
4342
4350
  x: { min: left, max: right },
@@ -4359,7 +4367,7 @@ function transformBoxPoints(point, transformPoint2) {
4359
4367
  };
4360
4368
  }
4361
4369
 
4362
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4370
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4363
4371
  function isIdentityScale(scale2) {
4364
4372
  return scale2 === void 0 || scale2 === 1;
4365
4373
  }
@@ -4376,7 +4384,7 @@ function is2DTranslate(value) {
4376
4384
  return value && value !== "0%";
4377
4385
  }
4378
4386
 
4379
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4387
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4380
4388
  function scalePoint(point, scale2, originPoint) {
4381
4389
  const distanceFromOrigin = point - originPoint;
4382
4390
  const scaled = scale2 * distanceFromOrigin;
@@ -4452,7 +4460,7 @@ function transformBox(box, transform2, sourceBox) {
4452
4460
  transformAxis(box.y, resolveAxisTranslate(transform2.y, resolveBox.y), transform2.scaleY, transform2.scale, transform2.originY);
4453
4461
  }
4454
4462
 
4455
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4463
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4456
4464
  function measureViewportBox(instance, transformPoint2) {
4457
4465
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4458
4466
  }
@@ -4466,7 +4474,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4466
4474
  return viewportBox;
4467
4475
  }
4468
4476
 
4469
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4477
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4470
4478
  var translateAlias = {
4471
4479
  x: "translateX",
4472
4480
  y: "translateY",
@@ -4501,6 +4509,11 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4501
4509
  }
4502
4510
  }
4503
4511
  }
4512
+ const pathRotation = latestValues.pathRotation;
4513
+ if (pathRotation) {
4514
+ transformIsDefault = false;
4515
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4516
+ }
4504
4517
  transformString = transformString.trim();
4505
4518
  if (transformTemplate) {
4506
4519
  transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString);
@@ -4510,7 +4523,7 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4510
4523
  return transformString;
4511
4524
  }
4512
4525
 
4513
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4526
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4514
4527
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4515
4528
  const { style, vars, transformOrigin } = state;
4516
4529
  let hasTransform2 = false;
@@ -4546,7 +4559,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4546
4559
  }
4547
4560
  }
4548
4561
 
4549
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4562
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4550
4563
  function renderHTML(element, { style, vars }, styleProp, projection) {
4551
4564
  const elementStyle = element.style;
4552
4565
  let key;
@@ -4559,7 +4572,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4559
4572
  }
4560
4573
  }
4561
4574
 
4562
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4575
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4563
4576
  function pixelsToPercent(pixels, axis) {
4564
4577
  if (axis.max === axis.min)
4565
4578
  return 0;
@@ -4582,7 +4595,7 @@ var correctBorderRadius = {
4582
4595
  }
4583
4596
  };
4584
4597
 
4585
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4598
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4586
4599
  var correctBoxShadow = {
4587
4600
  correct: (latest, { treeScale, projectionDelta }) => {
4588
4601
  const original = latest;
@@ -4604,16 +4617,11 @@ var correctBoxShadow = {
4604
4617
  }
4605
4618
  };
4606
4619
 
4607
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4620
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4608
4621
  var scaleCorrectors = {
4609
4622
  borderRadius: {
4610
4623
  ...correctBorderRadius,
4611
- applyTo: [
4612
- "borderTopLeftRadius",
4613
- "borderTopRightRadius",
4614
- "borderBottomLeftRadius",
4615
- "borderBottomRightRadius"
4616
- ]
4624
+ applyTo: [...cornerRadiusProps]
4617
4625
  },
4618
4626
  borderTopLeftRadius: correctBorderRadius,
4619
4627
  borderTopRightRadius: correctBorderRadius,
@@ -4622,12 +4630,12 @@ var scaleCorrectors = {
4622
4630
  boxShadow: correctBoxShadow
4623
4631
  };
4624
4632
 
4625
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4633
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4626
4634
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4627
4635
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4628
4636
  }
4629
4637
 
4630
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4638
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4631
4639
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4632
4640
  const style = props.style;
4633
4641
  const prevStyle = prevProps?.style;
@@ -4642,7 +4650,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4642
4650
  return newValues;
4643
4651
  }
4644
4652
 
4645
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4653
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4646
4654
  function getComputedStyle2(element) {
4647
4655
  return window.getComputedStyle(element);
4648
4656
  }
@@ -4652,6 +4660,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4652
4660
  this.type = "html";
4653
4661
  this.renderInstance = renderHTML;
4654
4662
  }
4663
+ mount(instance) {
4664
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4665
+ super.mount(instance);
4666
+ }
4655
4667
  readValueFromInstance(instance, key) {
4656
4668
  if (transformProps.has(key)) {
4657
4669
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4672,7 +4684,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4672
4684
  }
4673
4685
  };
4674
4686
 
4675
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4687
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4676
4688
  var dashKeys = {
4677
4689
  offset: "stroke-dashoffset",
4678
4690
  array: "stroke-dasharray"
@@ -4688,8 +4700,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4688
4700
  attrs[keys.array] = `${length} ${spacing}`;
4689
4701
  }
4690
4702
 
4691
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4692
- var cssMotionPathProperties = [
4703
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4704
+ var cssStyleProperties = [
4705
+ "transform",
4706
+ "opacity",
4693
4707
  "offsetDistance",
4694
4708
  "offsetPath",
4695
4709
  "offsetRotate",
@@ -4715,9 +4729,11 @@ function buildSVGAttrs(state, {
4715
4729
  state.attrs = state.style;
4716
4730
  state.style = {};
4717
4731
  const { attrs, style } = state;
4718
- if (attrs.transform) {
4719
- style.transform = attrs.transform;
4720
- delete attrs.transform;
4732
+ for (const key of cssStyleProperties) {
4733
+ if (attrs[key] !== void 0) {
4734
+ style[key] = attrs[key];
4735
+ delete attrs[key];
4736
+ }
4721
4737
  }
4722
4738
  if (style.transform || attrs.transformOrigin) {
4723
4739
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4727,12 +4743,6 @@ function buildSVGAttrs(state, {
4727
4743
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4728
4744
  delete attrs.transformBox;
4729
4745
  }
4730
- for (const key of cssMotionPathProperties) {
4731
- if (attrs[key] !== void 0) {
4732
- style[key] = attrs[key];
4733
- delete attrs[key];
4734
- }
4735
- }
4736
4746
  if (attrX !== void 0)
4737
4747
  attrs.x = attrX;
4738
4748
  if (attrY !== void 0)
@@ -4744,7 +4754,7 @@ function buildSVGAttrs(state, {
4744
4754
  }
4745
4755
  }
4746
4756
 
4747
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4757
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4748
4758
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4749
4759
  "baseFrequency",
4750
4760
  "diffuseConstant",
@@ -4771,10 +4781,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4771
4781
  "lengthAdjust"
4772
4782
  ]);
4773
4783
 
4774
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4784
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4775
4785
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4776
4786
 
4777
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4787
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4778
4788
  function renderSVG(element, renderState, _styleProp, projection) {
4779
4789
  renderHTML(element, renderState, void 0, projection);
4780
4790
  for (const key in renderState.attrs) {
@@ -4782,7 +4792,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4782
4792
  }
4783
4793
  }
4784
4794
 
4785
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4795
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4786
4796
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4787
4797
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4788
4798
  for (const key in props) {
@@ -4794,7 +4804,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4794
4804
  return newValues;
4795
4805
  }
4796
4806
 
4797
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4807
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4798
4808
  var SVGVisualElement = class extends DOMVisualElement {
4799
4809
  constructor() {
4800
4810
  super(...arguments);
@@ -4810,6 +4820,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4810
4820
  const defaultType = getDefaultValueType(key);
4811
4821
  return defaultType ? defaultType.default || 0 : 0;
4812
4822
  }
4823
+ if (cssStyleProperties.includes(key)) {
4824
+ const computedStyle = getComputedStyle(instance);
4825
+ const value = computedStyle[key];
4826
+ if (typeof value === "string" && value)
4827
+ return value.trim();
4828
+ }
4813
4829
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4814
4830
  return instance.getAttribute(key);
4815
4831
  }
@@ -4828,7 +4844,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4828
4844
  }
4829
4845
  };
4830
4846
 
4831
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4847
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4832
4848
  var numVariantProps = variantProps.length;
4833
4849
  function getVariantContext(visualElement) {
4834
4850
  if (!visualElement)
@@ -4851,7 +4867,7 @@ function getVariantContext(visualElement) {
4851
4867
  return context;
4852
4868
  }
4853
4869
 
4854
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4870
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4855
4871
  function shallowCompare(next, prev) {
4856
4872
  if (!Array.isArray(prev))
4857
4873
  return false;
@@ -4865,7 +4881,7 @@ function shallowCompare(next, prev) {
4865
4881
  return true;
4866
4882
  }
4867
4883
 
4868
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4884
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4869
4885
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4870
4886
  var numAnimationTypes = variantPriorityOrder.length;
4871
4887
  function createAnimateFunction(visualElement) {
@@ -4958,7 +4974,7 @@ function createAnimationState(visualElement) {
4958
4974
  continue;
4959
4975
  let valueHasChanged = false;
4960
4976
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
4961
- valueHasChanged = !shallowCompare(next, prev);
4977
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
4962
4978
  } else {
4963
4979
  valueHasChanged = next !== prev;
4964
4980
  }
@@ -5077,7 +5093,7 @@ function createState() {
5077
5093
  };
5078
5094
  }
5079
5095
 
5080
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5096
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5081
5097
  function copyAxisInto(axis, originAxis) {
5082
5098
  axis.min = originAxis.min;
5083
5099
  axis.max = originAxis.max;
@@ -5093,7 +5109,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5093
5109
  delta.origin = originDelta.origin;
5094
5110
  }
5095
5111
 
5096
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5112
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5097
5113
  var SCALE_PRECISION = 1e-4;
5098
5114
  var SCALE_MIN = 1 - SCALE_PRECISION;
5099
5115
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5141,7 +5157,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5141
5157
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5142
5158
  }
5143
5159
 
5144
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5160
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5145
5161
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5146
5162
  point -= translate;
5147
5163
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5174,7 +5190,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5174
5190
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5175
5191
  }
5176
5192
 
5177
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5193
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5178
5194
  function isAxisDeltaZero(delta) {
5179
5195
  return delta.translate === 0 && delta.scale === 1;
5180
5196
  }
@@ -5200,12 +5216,12 @@ function axisDeltaEquals(a, b) {
5200
5216
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5201
5217
  }
5202
5218
 
5203
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5219
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5204
5220
  function eachAxis(callback) {
5205
5221
  return [callback("x"), callback("y")];
5206
5222
  }
5207
5223
 
5208
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5224
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5209
5225
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5210
5226
  let transform2 = "";
5211
5227
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5218,11 +5234,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5218
5234
  transform2 += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5219
5235
  }
5220
5236
  if (latestTransform) {
5221
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5237
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5222
5238
  if (transformPerspective)
5223
5239
  transform2 = `perspective(${transformPerspective}px) ${transform2}`;
5224
5240
  if (rotate2)
5225
5241
  transform2 += `rotate(${rotate2}deg) `;
5242
+ if (pathRotation)
5243
+ transform2 += `rotate(${pathRotation}deg) `;
5226
5244
  if (rotateX)
5227
5245
  transform2 += `rotateX(${rotateX}deg) `;
5228
5246
  if (rotateY)
@@ -5240,14 +5258,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5240
5258
  return transform2 || "none";
5241
5259
  }
5242
5260
 
5243
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5244
- var borderLabels = [
5245
- "borderTopLeftRadius",
5246
- "borderTopRightRadius",
5247
- "borderBottomLeftRadius",
5248
- "borderBottomRightRadius"
5249
- ];
5250
- var numBorders = borderLabels.length;
5261
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5262
+ var numBorders = cornerRadiusProps.length;
5251
5263
  var asNumber = (value) => typeof value === "string" ? parseFloat(value) : value;
5252
5264
  var isPx = (value) => typeof value === "number" || px.test(value);
5253
5265
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5258,7 +5270,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5258
5270
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5259
5271
  }
5260
5272
  for (let i = 0; i < numBorders; i++) {
5261
- const borderLabel = borderLabels[i];
5273
+ const borderLabel = cornerRadiusProps[i];
5262
5274
  let followRadius = getRadius(follow, borderLabel);
5263
5275
  let leadRadius = getRadius(lead, borderLabel);
5264
5276
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5294,23 +5306,23 @@ function compress(min, max, easing) {
5294
5306
  };
5295
5307
  }
5296
5308
 
5297
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5309
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5298
5310
  function animateSingleValue(value, keyframes2, options) {
5299
5311
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5300
5312
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5301
5313
  return motionValue$1.animation;
5302
5314
  }
5303
5315
 
5304
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5316
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5305
5317
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5306
5318
  target.addEventListener(eventName, handler, options);
5307
- return () => target.removeEventListener(eventName, handler);
5319
+ return () => target.removeEventListener(eventName, handler, options);
5308
5320
  }
5309
5321
 
5310
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5322
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5311
5323
  var compareByDepth = (a, b) => a.depth - b.depth;
5312
5324
 
5313
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5325
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5314
5326
  var FlatTree = class {
5315
5327
  constructor() {
5316
5328
  this.children = [];
@@ -5331,7 +5343,7 @@ var FlatTree = class {
5331
5343
  }
5332
5344
  };
5333
5345
 
5334
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5346
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5335
5347
  function delay(callback, timeout) {
5336
5348
  const start = time.now();
5337
5349
  const checkElapsed = ({ timestamp }) => {
@@ -5345,12 +5357,12 @@ function delay(callback, timeout) {
5345
5357
  return () => cancelFrame(checkElapsed);
5346
5358
  }
5347
5359
 
5348
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5360
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5349
5361
  function resolveMotionValue(value) {
5350
5362
  return isMotionValue(value) ? value.get() : value;
5351
5363
  }
5352
5364
 
5353
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5365
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5354
5366
  var NodeStack = class {
5355
5367
  constructor() {
5356
5368
  this.members = [];
@@ -5431,7 +5443,7 @@ var NodeStack = class {
5431
5443
  }
5432
5444
  };
5433
5445
 
5434
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5446
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5435
5447
  var globalProjectionState = {
5436
5448
  /**
5437
5449
  * Global flag as to whether the tree has animated since the last time
@@ -5612,7 +5624,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5612
5624
  animationOptions.type = false;
5613
5625
  }
5614
5626
  this.startAnimation(animationOptions);
5615
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5627
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5616
5628
  } else {
5617
5629
  if (!hasLayoutChanged) {
5618
5630
  finishAnimation(this);
@@ -6084,7 +6096,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6084
6096
  this.projectionDelta = createDelta();
6085
6097
  this.projectionDeltaWithTransform = createDelta();
6086
6098
  }
6087
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6099
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6088
6100
  const snapshot = this.snapshot;
6089
6101
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6090
6102
  const mixedValues = { ...this.latestValues };
@@ -6102,10 +6114,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6102
6114
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6103
6115
  this.animationProgress = 0;
6104
6116
  let prevRelativeTarget;
6117
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6105
6118
  this.mixTargetDelta = (latest) => {
6106
6119
  const progress2 = latest / 1e3;
6107
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6108
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6120
+ const point = interpolate2?.(progress2);
6121
+ if (point) {
6122
+ targetDelta.x.translate = point.x;
6123
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6124
+ targetDelta.x.origin = delta.x.origin;
6125
+ targetDelta.x.originPoint = delta.x.originPoint;
6126
+ targetDelta.y.translate = point.y;
6127
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6128
+ targetDelta.y.origin = delta.y.origin;
6129
+ targetDelta.y.originPoint = delta.y.originPoint;
6130
+ } else {
6131
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6132
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6133
+ }
6109
6134
  this.setTargetDelta(targetDelta);
6110
6135
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6111
6136
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6121,6 +6146,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6121
6146
  this.animationValues = mixedValues;
6122
6147
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6123
6148
  }
6149
+ if (point && point.rotate !== void 0) {
6150
+ if (!this.animationValues)
6151
+ this.animationValues = mixedValues;
6152
+ this.animationValues.pathRotation = point.rotate;
6153
+ }
6124
6154
  this.root.scheduleUpdateProjection();
6125
6155
  this.scheduleRender();
6126
6156
  this.animationProgress = progress2;
@@ -6147,8 +6177,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6147
6177
  this.mixTargetDelta(latest);
6148
6178
  options.onUpdate && options.onUpdate(latest);
6149
6179
  },
6150
- onStop: () => {
6151
- },
6152
6180
  onComplete: () => {
6153
6181
  options.onComplete && options.onComplete();
6154
6182
  this.completeAnimation();
@@ -6477,7 +6505,7 @@ function resetSkewAndRotation(node) {
6477
6505
  function removeLeadSnapshots(stack) {
6478
6506
  stack.removeLeadSnapshot();
6479
6507
  }
6480
- function mixAxisDelta(output, delta, p) {
6508
+ function mixAxisDeltaLinear(output, delta, p) {
6481
6509
  output.translate = mixNumber(delta.translate, 0, p);
6482
6510
  output.scale = mixNumber(delta.scale, 1, p);
6483
6511
  output.origin = delta.origin;
@@ -6515,7 +6543,7 @@ function checkNodeWasScrollRoot(node) {
6515
6543
  return node !== node.root && node.scroll?.wasRoot;
6516
6544
  }
6517
6545
 
6518
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6546
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6519
6547
  var DocumentProjectionNode = createProjectionNode({
6520
6548
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6521
6549
  measureScroll: () => ({
@@ -6525,7 +6553,7 @@ var DocumentProjectionNode = createProjectionNode({
6525
6553
  checkIsScrollRoot: () => true
6526
6554
  });
6527
6555
 
6528
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6556
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6529
6557
  var rootProjectionNode = {
6530
6558
  current: void 0
6531
6559
  };
@@ -6588,7 +6616,7 @@ function useComposedRefs(...refs) {
6588
6616
  return React4__namespace.useCallback(composeRefs(...refs), refs);
6589
6617
  }
6590
6618
 
6591
- // ../../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
6619
+ // ../../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
6592
6620
  var PopChildMeasure = class extends React4__namespace.Component {
6593
6621
  getSnapshotBeforeUpdate(prevProps) {
6594
6622
  const element = this.props.childRef.current;
@@ -6604,6 +6632,7 @@ var PopChildMeasure = class extends React4__namespace.Component {
6604
6632
  size.left = element.offsetLeft;
6605
6633
  size.right = parentWidth - size.width - size.left;
6606
6634
  size.bottom = parentHeight - size.height - size.top;
6635
+ size.direction = computedStyle.direction;
6607
6636
  }
6608
6637
  return null;
6609
6638
  }
@@ -6625,16 +6654,18 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6625
6654
  top: 0,
6626
6655
  left: 0,
6627
6656
  right: 0,
6628
- bottom: 0
6657
+ bottom: 0,
6658
+ direction: "ltr"
6629
6659
  });
6630
6660
  const { nonce } = React4.useContext(MotionConfigContext);
6631
- const childRef = children.props?.ref ?? children?.ref;
6661
+ const childRef = pop !== false ? children.props?.ref ?? children?.ref : void 0;
6632
6662
  const composedRef = useComposedRefs(ref, childRef);
6633
6663
  React4.useInsertionEffect(() => {
6634
- const { width, height, top, left, right, bottom } = size.current;
6664
+ const { width, height, top, left, right, bottom, direction } = size.current;
6635
6665
  if (isPresent || pop === false || !ref.current || !width || !height)
6636
6666
  return;
6637
- const x = anchorX === "left" ? `left: ${left}` : `right: ${right}`;
6667
+ const isRTL = direction === "rtl";
6668
+ const x = anchorX === "left" ? isRTL ? `right: ${right}` : `left: ${left}` : isRTL ? `left: ${left}` : `right: ${right}`;
6638
6669
  const y = anchorY === "bottom" ? `bottom: ${bottom}` : `top: ${top}`;
6639
6670
  ref.current.dataset.motionPopId = id3;
6640
6671
  const style = document.createElement("style");
@@ -6663,10 +6694,16 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6663
6694
  return jsxRuntime.jsx(PopChildMeasure, { isPresent, childRef: ref, sizeRef: size, pop, children: pop === false ? children : React4__namespace.cloneElement(children, { ref: composedRef }) });
6664
6695
  }
6665
6696
 
6666
- // ../../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
6697
+ // ../../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
6667
6698
  var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, mode, anchorX, anchorY, root }) => {
6668
6699
  const presenceChildren = useConstant(newChildrenMap);
6669
6700
  const id3 = React4.useId();
6701
+ const isPresentRef = React4.useRef(isPresent);
6702
+ const onExitCompleteRef = React4.useRef(onExitComplete);
6703
+ useIsomorphicLayoutEffect(() => {
6704
+ isPresentRef.current = isPresent;
6705
+ onExitCompleteRef.current = onExitComplete;
6706
+ });
6670
6707
  let isReusedContext = true;
6671
6708
  let context = React4.useMemo(() => {
6672
6709
  isReusedContext = false;
@@ -6685,7 +6722,10 @@ var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, pre
6685
6722
  },
6686
6723
  register: (childId) => {
6687
6724
  presenceChildren.set(childId, false);
6688
- return () => presenceChildren.delete(childId);
6725
+ return () => {
6726
+ presenceChildren.delete(childId);
6727
+ !isPresentRef.current && !presenceChildren.size && onExitCompleteRef.current?.();
6728
+ };
6689
6729
  }
6690
6730
  };
6691
6731
  }, [isPresent, presenceChildren, onExitComplete]);
@@ -6728,7 +6768,7 @@ function onlyElements(children) {
6728
6768
  return filtered;
6729
6769
  }
6730
6770
 
6731
- // ../../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
6771
+ // ../../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
6732
6772
  var AnimatePresence = ({ children, custom, initial = true, onExitComplete, presenceAffectsLayout = true, mode = "sync", propagate = false, anchorX = "left", anchorY = "top", root }) => {
6733
6773
  const [isParentPresent, safeToRemove] = usePresence(propagate);
6734
6774
  const presentChildren = React4.useMemo(() => onlyElements(children), [children]);
@@ -6739,6 +6779,11 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6739
6779
  const exitingComponents = React4.useRef(/* @__PURE__ */ new Set());
6740
6780
  const [diffedChildren, setDiffedChildren] = React4.useState(presentChildren);
6741
6781
  const [renderedChildren, setRenderedChildren] = React4.useState(presentChildren);
6782
+ useIsomorphicLayoutEffect(() => {
6783
+ if (propagate && !isParentPresent && !renderedChildren.length) {
6784
+ safeToRemove?.();
6785
+ }
6786
+ }, [isParentPresent, propagate, renderedChildren.length, safeToRemove]);
6742
6787
  useIsomorphicLayoutEffect(() => {
6743
6788
  isInitialRender.current = false;
6744
6789
  pendingPresentChildren.current = presentChildren;
@@ -6757,12 +6802,14 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6757
6802
  const exitingChildren = [];
6758
6803
  if (presentChildren !== diffedChildren) {
6759
6804
  let nextChildren = [...presentChildren];
6760
- for (let i = 0; i < renderedChildren.length; i++) {
6761
- const child = renderedChildren[i];
6762
- const key = getChildKey(child);
6763
- if (!presentKeys.includes(key)) {
6764
- nextChildren.splice(i, 0, child);
6805
+ let insertionIndex = 0;
6806
+ for (const child of renderedChildren) {
6807
+ const presentIndex = presentKeys.indexOf(getChildKey(child));
6808
+ if (presentIndex === -1) {
6809
+ nextChildren.splice(insertionIndex++, 0, child);
6765
6810
  exitingChildren.push(child);
6811
+ } else {
6812
+ insertionIndex = presentIndex + exitingChildren.length + 1;
6766
6813
  }
6767
6814
  }
6768
6815
  if (mode === "wait" && exitingChildren.length) {
@@ -6806,7 +6853,7 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6806
6853
  };
6807
6854
  var LazyContext = React4.createContext({ strict: false });
6808
6855
 
6809
- // ../../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
6856
+ // ../../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
6810
6857
  var featureProps = {
6811
6858
  animation: [
6812
6859
  "animate",
@@ -6845,7 +6892,7 @@ function getInitializedFeatureDefinitions() {
6845
6892
  return getFeatureDefinitions();
6846
6893
  }
6847
6894
 
6848
- // ../../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
6895
+ // ../../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
6849
6896
  function loadFeatures(features) {
6850
6897
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6851
6898
  for (const key in features) {
@@ -6856,74 +6903,9 @@ function loadFeatures(features) {
6856
6903
  }
6857
6904
  setFeatureDefinitions(featureDefinitions2);
6858
6905
  }
6859
-
6860
- // ../../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
6861
- var validMotionProps = /* @__PURE__ */ new Set([
6862
- "animate",
6863
- "exit",
6864
- "variants",
6865
- "initial",
6866
- "style",
6867
- "values",
6868
- "variants",
6869
- "transition",
6870
- "transformTemplate",
6871
- "custom",
6872
- "inherit",
6873
- "onBeforeLayoutMeasure",
6874
- "onAnimationStart",
6875
- "onAnimationComplete",
6876
- "onUpdate",
6877
- "onDragStart",
6878
- "onDrag",
6879
- "onDragEnd",
6880
- "onMeasureDragConstraints",
6881
- "onDirectionLock",
6882
- "onDragTransitionEnd",
6883
- "_dragX",
6884
- "_dragY",
6885
- "onHoverStart",
6886
- "onHoverEnd",
6887
- "onViewportEnter",
6888
- "onViewportLeave",
6889
- "globalTapTarget",
6890
- "propagate",
6891
- "ignoreStrict",
6892
- "viewport"
6893
- ]);
6894
- function isValidMotionProp(key) {
6895
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6896
- }
6897
-
6898
- // ../../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
6899
- var shouldForward = (key) => !isValidMotionProp(key);
6900
- function loadExternalIsValidProp(isValidProp) {
6901
- if (typeof isValidProp !== "function")
6902
- return;
6903
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6904
- }
6905
- try {
6906
- const emotionPkg = "@emotion/is-prop-valid";
6907
- loadExternalIsValidProp(__require(emotionPkg).default);
6908
- } catch {
6909
- }
6910
- function filterProps(props, isDom, forwardMotionProps) {
6911
- const filteredProps = {};
6912
- for (const key in props) {
6913
- if (key === "values" && typeof props.values === "object")
6914
- continue;
6915
- if (isMotionValue(props[key]))
6916
- continue;
6917
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6918
- props["draggable"] && key.startsWith("onDrag")) {
6919
- filteredProps[key] = props[key];
6920
- }
6921
- }
6922
- return filteredProps;
6923
- }
6924
6906
  var MotionContext = /* @__PURE__ */ React4.createContext({});
6925
6907
 
6926
- // ../../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
6908
+ // ../../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
6927
6909
  function getCurrentTreeVariants(props, context) {
6928
6910
  if (isControllingVariants(props)) {
6929
6911
  const { initial, animate } = props;
@@ -6935,7 +6917,7 @@ function getCurrentTreeVariants(props, context) {
6935
6917
  return props.inherit !== false ? context : {};
6936
6918
  }
6937
6919
 
6938
- // ../../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
6920
+ // ../../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
6939
6921
  function useCreateMotionContext(props) {
6940
6922
  const { initial, animate } = getCurrentTreeVariants(props, React4.useContext(MotionContext));
6941
6923
  return React4.useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6944,7 +6926,7 @@ function variantLabelsAsDependency(prop) {
6944
6926
  return Array.isArray(prop) ? prop.join(" ") : prop;
6945
6927
  }
6946
6928
 
6947
- // ../../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
6929
+ // ../../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
6948
6930
  var createHtmlRenderState = () => ({
6949
6931
  style: {},
6950
6932
  transform: {},
@@ -6952,7 +6934,7 @@ var createHtmlRenderState = () => ({
6952
6934
  vars: {}
6953
6935
  });
6954
6936
 
6955
- // ../../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
6937
+ // ../../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
6956
6938
  function copyRawValuesOnly(target, source, props) {
6957
6939
  for (const key in source) {
6958
6940
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -6989,13 +6971,13 @@ function useHTMLProps(props, visualState) {
6989
6971
  return htmlProps;
6990
6972
  }
6991
6973
 
6992
- // ../../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
6974
+ // ../../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
6993
6975
  var createSvgRenderState = () => ({
6994
6976
  ...createHtmlRenderState(),
6995
6977
  attrs: {}
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/use-props.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/render/svg/use-props.mjs
6999
6981
  function useSVGProps(props, visualState, _isStatic, Component3) {
7000
6982
  const visualProps = React4.useMemo(() => {
7001
6983
  const state = createSvgRenderState();
@@ -7013,7 +6995,64 @@ function useSVGProps(props, visualState, _isStatic, Component3) {
7013
6995
  return visualProps;
7014
6996
  }
7015
6997
 
7016
- // ../../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
6998
+ // ../../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
6999
+ var validMotionProps = /* @__PURE__ */ new Set([
7000
+ "animate",
7001
+ "exit",
7002
+ "variants",
7003
+ "initial",
7004
+ "style",
7005
+ "values",
7006
+ "variants",
7007
+ "transition",
7008
+ "transformTemplate",
7009
+ "custom",
7010
+ "inherit",
7011
+ "onBeforeLayoutMeasure",
7012
+ "onAnimationStart",
7013
+ "onAnimationComplete",
7014
+ "onUpdate",
7015
+ "onDragStart",
7016
+ "onDrag",
7017
+ "onDragEnd",
7018
+ "onMeasureDragConstraints",
7019
+ "onDirectionLock",
7020
+ "onDragTransitionEnd",
7021
+ "_dragX",
7022
+ "_dragY",
7023
+ "onHoverStart",
7024
+ "onHoverEnd",
7025
+ "onViewportEnter",
7026
+ "onViewportLeave",
7027
+ "globalTapTarget",
7028
+ "propagate",
7029
+ "ignoreStrict",
7030
+ "viewport"
7031
+ ]);
7032
+ function isValidMotionProp(key) {
7033
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
7034
+ }
7035
+
7036
+ // ../../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
7037
+ function shouldForward(key, isValidProp) {
7038
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
7039
+ }
7040
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
7041
+ const filteredProps = {};
7042
+ for (const key in props) {
7043
+ if (key === "values" && typeof props.values === "object")
7044
+ continue;
7045
+ if (isMotionValue(props[key]))
7046
+ continue;
7047
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
7048
+ props["draggable"] && key.startsWith("onDrag")) {
7049
+ filteredProps[key] = props[key];
7050
+ }
7051
+ }
7052
+ return filteredProps;
7053
+ }
7054
+
7055
+ // ../../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
7017
7056
  var lowercaseSVGElements = [
7018
7057
  "animate",
7019
7058
  "circle",
@@ -7042,7 +7081,7 @@ var lowercaseSVGElements = [
7042
7081
  "view"
7043
7082
  ];
7044
7083
 
7045
- // ../../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
7084
+ // ../../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
7046
7085
  function isSVGComponent(Component3) {
7047
7086
  if (
7048
7087
  /**
@@ -7069,11 +7108,11 @@ function isSVGComponent(Component3) {
7069
7108
  return false;
7070
7109
  }
7071
7110
 
7072
- // ../../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
7073
- function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
7111
+ // ../../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
7112
+ function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
7074
7113
  const useVisualProps = isSVG ?? isSVGComponent(Component3) ? useSVGProps : useHTMLProps;
7075
7114
  const visualProps = useVisualProps(props, latestValues, isStatic, Component3);
7076
- const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps);
7115
+ const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps, isValidProp);
7077
7116
  const elementProps = Component3 !== React4.Fragment ? { ...filteredProps, ...visualProps, ref } : {};
7078
7117
  const { children } = props;
7079
7118
  const renderedChildren = React4.useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -7138,20 +7177,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
7138
7177
  return isStatic ? make() : useConstant(make);
7139
7178
  };
7140
7179
 
7141
- // ../../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
7180
+ // ../../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
7142
7181
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
7143
7182
  scrapeMotionValuesFromProps,
7144
7183
  createRenderState: createHtmlRenderState
7145
7184
  });
7146
7185
 
7147
- // ../../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
7186
+ // ../../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
7148
7187
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
7149
7188
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
7150
7189
  createRenderState: createSvgRenderState
7151
7190
  });
7152
7191
 
7153
- // ../../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
7154
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
7192
+ // ../../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
7193
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
7155
7194
  function useMotionRef(visualState, visualElement, externalRef) {
7156
7195
  const externalRefContainer = React4.useRef(externalRef);
7157
7196
  React4.useInsertionEffect(() => {
@@ -7162,6 +7201,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
7162
7201
  if (instance) {
7163
7202
  visualState.onMount?.(instance);
7164
7203
  }
7204
+ if (visualElement) {
7205
+ instance ? visualElement.mount(instance) : visualElement.unmount();
7206
+ }
7165
7207
  const ref = externalRefContainer.current;
7166
7208
  if (typeof ref === "function") {
7167
7209
  if (instance) {
@@ -7178,19 +7220,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
7178
7220
  } else if (ref) {
7179
7221
  ref.current = instance;
7180
7222
  }
7181
- if (visualElement) {
7182
- instance ? visualElement.mount(instance) : visualElement.unmount();
7183
- }
7184
7223
  }, [visualElement]);
7185
7224
  }
7186
7225
  var SwitchLayoutGroupContext = React4.createContext({});
7187
7226
 
7188
- // ../../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
7227
+ // ../../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
7189
7228
  function isRefObject(ref) {
7190
7229
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
7191
7230
  }
7192
7231
 
7193
- // ../../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
7232
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs
7194
7233
  function useVisualElement(Component3, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
7195
7234
  const { visualElement: parent } = React4.useContext(MotionContext);
7196
7235
  const lazyContext = React4.useContext(LazyContext);
@@ -7286,7 +7325,7 @@ function getClosestProjectingNode(visualElement) {
7286
7325
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7287
7326
  }
7288
7327
 
7289
- // ../../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
7328
+ // ../../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
7290
7329
  function createMotionComponent(Component3, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7291
7330
  preloadedFeatures && loadFeatures(preloadedFeatures);
7292
7331
  const isSVG = type ? type === "svg" : isSVGComponent(Component3);
@@ -7298,7 +7337,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7298
7337
  ...props,
7299
7338
  layoutId: useLayoutId(props)
7300
7339
  };
7301
- const { isStatic } = configAndProps;
7340
+ const { isStatic, isValidProp } = configAndProps;
7302
7341
  const context = useCreateMotionContext(props);
7303
7342
  const visualState = useVisualState(props, isStatic);
7304
7343
  if (!isStatic && typeof window !== "undefined") {
@@ -7307,7 +7346,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7307
7346
  MeasureLayout2 = layoutProjection.MeasureLayout;
7308
7347
  context.visualElement = useVisualElement(Component3, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7309
7348
  }
7310
- 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)] });
7349
+ 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)] });
7311
7350
  }
7312
7351
  MotionDOMComponent.displayName = `motion.${typeof Component3 === "string" ? Component3 : `create(${Component3.displayName ?? Component3.name ?? ""})`}`;
7313
7352
  const ForwardRefMotionComponent = React4.forwardRef(MotionDOMComponent);
@@ -7337,7 +7376,7 @@ function getProjectionFunctionality(props) {
7337
7376
  };
7338
7377
  }
7339
7378
 
7340
- // ../../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
7379
+ // ../../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
7341
7380
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7342
7381
  if (typeof Proxy === "undefined") {
7343
7382
  return createMotionComponent;
@@ -7375,7 +7414,7 @@ var createDomVisualElement = (Component3, options) => {
7375
7414
  });
7376
7415
  };
7377
7416
 
7378
- // ../../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
7417
+ // ../../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
7379
7418
  var AnimationFeature = class extends Feature {
7380
7419
  /**
7381
7420
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7411,7 +7450,7 @@ var AnimationFeature = class extends Feature {
7411
7450
  }
7412
7451
  };
7413
7452
 
7414
- // ../../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
7453
+ // ../../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
7415
7454
  var id2 = 0;
7416
7455
  var ExitAnimationFeature = class extends Feature {
7417
7456
  constructor() {
@@ -7430,7 +7469,7 @@ var ExitAnimationFeature = class extends Feature {
7430
7469
  if (isPresent && prevIsPresent === false) {
7431
7470
  if (this.isExitComplete) {
7432
7471
  const { initial, custom } = this.node.getProps();
7433
- if (typeof initial === "string") {
7472
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7434
7473
  const resolved = resolveVariant(this.node, initial, custom);
7435
7474
  if (resolved) {
7436
7475
  const { transition, transitionEnd, ...target } = resolved;
@@ -7468,7 +7507,7 @@ var ExitAnimationFeature = class extends Feature {
7468
7507
  }
7469
7508
  };
7470
7509
 
7471
- // ../../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
7510
+ // ../../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
7472
7511
  var animations = {
7473
7512
  animation: {
7474
7513
  Feature: AnimationFeature
@@ -7478,7 +7517,7 @@ var animations = {
7478
7517
  }
7479
7518
  };
7480
7519
 
7481
- // ../../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
7520
+ // ../../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
7482
7521
  function extractEventInfo(event) {
7483
7522
  return {
7484
7523
  point: {
@@ -7489,17 +7528,17 @@ function extractEventInfo(event) {
7489
7528
  }
7490
7529
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
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/events/add-pointer-event.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/events/add-pointer-event.mjs
7493
7532
  function addPointerEvent(target, eventName, handler, options) {
7494
7533
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7495
7534
  }
7496
7535
 
7497
- // ../../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
7536
+ // ../../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
7498
7537
  var getContextWindow = ({ current }) => {
7499
7538
  return current ? current.ownerDocument.defaultView : null;
7500
7539
  };
7501
7540
 
7502
- // ../../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
7541
+ // ../../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
7503
7542
  var distance = (a, b) => Math.abs(a - b);
7504
7543
  function distance2D(a, b) {
7505
7544
  const xDelta = distance(a.x, b.x);
@@ -7507,7 +7546,7 @@ function distance2D(a, b) {
7507
7546
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7508
7547
  }
7509
7548
 
7510
- // ../../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
7549
+ // ../../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
7511
7550
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7512
7551
  var PanSession = class {
7513
7552
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7580,7 +7619,8 @@ var PanSession = class {
7580
7619
  this.history = [{ ...point, timestamp }];
7581
7620
  const { onSessionStart } = handlers;
7582
7621
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7583
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7622
+ const eventOptions = { passive: true, capture: true };
7623
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7584
7624
  if (element) {
7585
7625
  this.startScrollTracking(element);
7586
7626
  }
@@ -7714,7 +7754,7 @@ function getVelocity(history, timeDelta) {
7714
7754
  return currentVelocity;
7715
7755
  }
7716
7756
 
7717
- // ../../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
7757
+ // ../../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
7718
7758
  function applyConstraints(point, { min, max }, elastic) {
7719
7759
  if (min !== void 0 && point < min) {
7720
7760
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7792,7 +7832,7 @@ function resolvePointElastic(dragElastic, label) {
7792
7832
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7793
7833
  }
7794
7834
 
7795
- // ../../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
7835
+ // ../../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
7796
7836
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7797
7837
  var VisualElementDragControls = class {
7798
7838
  constructor(visualElement) {
@@ -7993,6 +8033,10 @@ var VisualElementDragControls = class {
7993
8033
  const { projection } = this.visualElement;
7994
8034
  if (!projection || !projection.layout)
7995
8035
  return false;
8036
+ if (projection.root) {
8037
+ projection.root.scroll = void 0;
8038
+ projection.root.updateScroll();
8039
+ }
7996
8040
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
7997
8041
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
7998
8042
  if (onMeasureDragConstraints) {
@@ -8049,7 +8093,7 @@ var VisualElementDragControls = class {
8049
8093
  const dragKey = `_drag${axis.toUpperCase()}`;
8050
8094
  const props = this.visualElement.getProps();
8051
8095
  const externalMotionValue = props[dragKey];
8052
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
8096
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
8053
8097
  }
8054
8098
  snapToCursor(point) {
8055
8099
  eachAxis((axis) => {
@@ -8197,7 +8241,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
8197
8241
  return direction;
8198
8242
  }
8199
8243
 
8200
- // ../../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
8244
+ // ../../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
8201
8245
  var DragGesture = class extends Feature {
8202
8246
  constructor(node) {
8203
8247
  super(node);
@@ -8231,7 +8275,7 @@ var DragGesture = class extends Feature {
8231
8275
  }
8232
8276
  };
8233
8277
 
8234
- // ../../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
8278
+ // ../../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
8235
8279
  var asyncHandler = (handler) => (event, info) => {
8236
8280
  if (handler) {
8237
8281
  frame.update(() => handler(event, info), false, true);
@@ -8374,7 +8418,7 @@ function MeasureLayout(props) {
8374
8418
  return jsxRuntime.jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: React4.useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8375
8419
  }
8376
8420
 
8377
- // ../../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
8421
+ // ../../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
8378
8422
  var drag = {
8379
8423
  pan: {
8380
8424
  Feature: PanGesture
@@ -8386,7 +8430,7 @@ var drag = {
8386
8430
  }
8387
8431
  };
8388
8432
 
8389
- // ../../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
8433
+ // ../../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
8390
8434
  function handleHoverEvent(node, event, lifecycle) {
8391
8435
  const { props } = node;
8392
8436
  if (node.animationState && props.whileHover) {
@@ -8412,7 +8456,7 @@ var HoverGesture = class extends Feature {
8412
8456
  }
8413
8457
  };
8414
8458
 
8415
- // ../../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
8459
+ // ../../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
8416
8460
  var FocusGesture = class extends Feature {
8417
8461
  constructor() {
8418
8462
  super(...arguments);
@@ -8443,7 +8487,7 @@ var FocusGesture = class extends Feature {
8443
8487
  }
8444
8488
  };
8445
8489
 
8446
- // ../../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
8490
+ // ../../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
8447
8491
  function handlePressEvent(node, event, lifecycle) {
8448
8492
  const { props } = node;
8449
8493
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8476,7 +8520,7 @@ var PressGesture = class extends Feature {
8476
8520
  }
8477
8521
  };
8478
8522
 
8479
- // ../../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
8523
+ // ../../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
8480
8524
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8481
8525
  var observers = /* @__PURE__ */ new WeakMap();
8482
8526
  var fireObserverCallback = (entry) => {
@@ -8508,7 +8552,7 @@ function observeIntersection(element, options, callback) {
8508
8552
  };
8509
8553
  }
8510
8554
 
8511
- // ../../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
8555
+ // ../../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
8512
8556
  var thresholdNames = {
8513
8557
  some: 0,
8514
8558
  all: 1
@@ -8569,7 +8613,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8569
8613
  return (name) => viewport[name] !== prevViewport[name];
8570
8614
  }
8571
8615
 
8572
- // ../../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
8616
+ // ../../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
8573
8617
  var gestureAnimations = {
8574
8618
  inView: {
8575
8619
  Feature: InViewFeature
@@ -8585,7 +8629,7 @@ var gestureAnimations = {
8585
8629
  }
8586
8630
  };
8587
8631
 
8588
- // ../../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
8632
+ // ../../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
8589
8633
  var layout = {
8590
8634
  layout: {
8591
8635
  ProjectionNode: HTMLProjectionNode,
@@ -8593,7 +8637,7 @@ var layout = {
8593
8637
  }
8594
8638
  };
8595
8639
 
8596
- // ../../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
8640
+ // ../../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
8597
8641
  var featureBundle = {
8598
8642
  ...animations,
8599
8643
  ...gestureAnimations,
@@ -8601,7 +8645,7 @@ var featureBundle = {
8601
8645
  ...layout
8602
8646
  };
8603
8647
 
8604
- // ../../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
8648
+ // ../../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
8605
8649
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8606
8650
  function useMotionValue(initial) {
8607
8651
  const value = useConstant(() => motionValue(initial));
@@ -8613,7 +8657,7 @@ function useMotionValue(initial) {
8613
8657
  return value;
8614
8658
  }
8615
8659
 
8616
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-combine-values.mjs
8660
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-combine-values.mjs
8617
8661
  function useCombineMotionValues(values, combineValues) {
8618
8662
  const value = useMotionValue(combineValues());
8619
8663
  const updateValue = () => value.set(combineValues());
@@ -8629,7 +8673,7 @@ function useCombineMotionValues(values, combineValues) {
8629
8673
  return value;
8630
8674
  }
8631
8675
 
8632
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-computed.mjs
8676
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-computed.mjs
8633
8677
  function useComputed(compute) {
8634
8678
  collectMotionValues.current = [];
8635
8679
  compute();
@@ -8638,7 +8682,7 @@ function useComputed(compute) {
8638
8682
  return value;
8639
8683
  }
8640
8684
 
8641
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-transform.mjs
8685
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-transform.mjs
8642
8686
  function useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options) {
8643
8687
  if (typeof input === "function") {
8644
8688
  return useComputed(input);
@@ -8681,6 +8725,9 @@ function useMapTransform(inputValue, inputRange, outputMap, options) {
8681
8725
  }
8682
8726
  return output;
8683
8727
  }
8728
+
8729
+ // ../../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
8730
+ var motion2 = motion;
8684
8731
  function AppleCardsCarousel({
8685
8732
  cards,
8686
8733
  autoPlay = false,
@@ -8782,7 +8829,7 @@ function AppleCardsCarousel({
8782
8829
  const style = getCardStyle(index);
8783
8830
  const isActive = index === currentIndex;
8784
8831
  return /* @__PURE__ */ jsxRuntime.jsx(
8785
- motion.div,
8832
+ motion2.div,
8786
8833
  {
8787
8834
  className: ui.cn(
8788
8835
  "absolute inset-0 w-full h-full",
@@ -8823,7 +8870,7 @@ function AppleCardsCarousel({
8823
8870
  },
8824
8871
  children: [
8825
8872
  card.image && /* @__PURE__ */ jsxRuntime.jsxs(
8826
- motion.div,
8873
+ motion2.div,
8827
8874
  {
8828
8875
  className: "absolute inset-0 w-full h-full",
8829
8876
  style: {
@@ -8849,7 +8896,7 @@ function AppleCardsCarousel({
8849
8896
  ),
8850
8897
  /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { className: "relative z-10 flex flex-col justify-end h-full p-8 md:p-12", children: card.content ? card.content : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8851
8898
  /* @__PURE__ */ jsxRuntime.jsx(
8852
- motion.h3,
8899
+ motion2.h3,
8853
8900
  {
8854
8901
  className: "text-3xl md:text-4xl lg:text-5xl font-bold text-white mb-2",
8855
8902
  initial: { opacity: 0, y: 20 },
@@ -8859,7 +8906,7 @@ function AppleCardsCarousel({
8859
8906
  }
8860
8907
  ),
8861
8908
  card.subtitle && /* @__PURE__ */ jsxRuntime.jsx(
8862
- motion.p,
8909
+ motion2.p,
8863
8910
  {
8864
8911
  className: "text-xl md:text-2xl text-white/80 mb-4",
8865
8912
  initial: { opacity: 0, y: 20 },
@@ -8869,7 +8916,7 @@ function AppleCardsCarousel({
8869
8916
  }
8870
8917
  ),
8871
8918
  card.description && /* @__PURE__ */ jsxRuntime.jsx(
8872
- motion.p,
8919
+ motion2.p,
8873
8920
  {
8874
8921
  className: "text-base md:text-lg text-white/70 max-w-2xl",
8875
8922
  initial: { opacity: 0, y: 20 },