@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
@@ -6,12 +6,6 @@ import { ChevronLeft, ChevronRight } from 'lucide-react';
6
6
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
7
7
  import { Button } from './button.js';
8
8
 
9
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
10
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
11
- }) : x)(function(x) {
12
- if (typeof require !== "undefined") return require.apply(this, arguments);
13
- throw Error('Dynamic require of "' + x + '" is not supported');
14
- });
15
9
  var LayoutGroupContext = createContext({});
16
10
  function useConstant(init) {
17
11
  const ref = useRef(null);
@@ -21,14 +15,14 @@ function useConstant(init) {
21
15
  return ref.current;
22
16
  }
23
17
 
24
- // ../../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
18
+ // ../../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
25
19
  var isBrowser = typeof window !== "undefined";
26
20
 
27
- // ../../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
21
+ // ../../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
28
22
  var useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;
29
23
  var PresenceContext = /* @__PURE__ */ createContext(null);
30
24
 
31
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/array.mjs
25
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/array.mjs
32
26
  function addUniqueItem(arr, item) {
33
27
  if (arr.indexOf(item) === -1)
34
28
  arr.push(item);
@@ -39,7 +33,7 @@ function removeItem(arr, item) {
39
33
  arr.splice(index, 1);
40
34
  }
41
35
 
42
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/clamp.mjs
36
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/clamp.mjs
43
37
  var clamp = (min, max, v) => {
44
38
  if (v > max)
45
39
  return max;
@@ -48,12 +42,12 @@ var clamp = (min, max, v) => {
48
42
  return v;
49
43
  };
50
44
 
51
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/format-error-message.mjs
45
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/format-error-message.mjs
52
46
  function formatErrorMessage(message, errorCode) {
53
47
  return errorCode ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` : message;
54
48
  }
55
49
 
56
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/errors.mjs
50
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/errors.mjs
57
51
  var warning = () => {
58
52
  };
59
53
  var invariant = () => {
@@ -71,21 +65,19 @@ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
71
65
  };
72
66
  }
73
67
 
74
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/global-config.mjs
68
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/global-config.mjs
75
69
  var MotionGlobalConfig = {};
76
70
 
77
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
71
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
78
72
  var isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
79
73
 
80
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-object.mjs
81
- function isObject(value) {
82
- return typeof value === "object" && value !== null;
83
- }
74
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-object.mjs
75
+ var isObject = (value) => typeof value === "object" && value !== null;
84
76
 
85
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
77
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
86
78
  var isZeroValueString = (v) => /^0[^.\s]+$/u.test(v);
87
79
 
88
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/memo.mjs
80
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/memo.mjs
89
81
  // @__NO_SIDE_EFFECTS__
90
82
  function memo(callback) {
91
83
  let result;
@@ -96,20 +88,19 @@ function memo(callback) {
96
88
  };
97
89
  }
98
90
 
99
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/noop.mjs
91
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/noop.mjs
100
92
  var noop = /* @__NO_SIDE_EFFECTS__ */ (any) => any;
101
93
 
102
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/pipe.mjs
103
- var combineFunctions = (a, b) => (v) => b(a(v));
104
- var pipe = (...transformers) => transformers.reduce(combineFunctions);
94
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/pipe.mjs
95
+ var pipe = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v)));
105
96
 
106
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/progress.mjs
97
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/progress.mjs
107
98
  var progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
108
- const toFromDifference = to - from;
109
- return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
99
+ const range = to - from;
100
+ return range ? (value - from) / range : 1;
110
101
  };
111
102
 
112
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
103
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
113
104
  var SubscriptionManager = class {
114
105
  constructor() {
115
106
  this.subscriptions = [];
@@ -139,16 +130,14 @@ var SubscriptionManager = class {
139
130
  }
140
131
  };
141
132
 
142
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/time-conversion.mjs
133
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/time-conversion.mjs
143
134
  var secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3;
144
135
  var millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
145
136
 
146
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
147
- function velocityPerSecond(velocity, frameDuration) {
148
- return frameDuration ? velocity * (1e3 / frameDuration) : 0;
149
- }
137
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
138
+ var velocityPerSecond = /* @__NO_SIDE_EFFECTS__ */ (velocity, frameDuration) => frameDuration ? velocity * (1e3 / frameDuration) : 0;
150
139
 
151
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/warn-once.mjs
140
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/warn-once.mjs
152
141
  var warned = /* @__PURE__ */ new Set();
153
142
  function warnOnce(condition, message, errorCode) {
154
143
  if (condition || warned.has(message))
@@ -157,7 +146,7 @@ function warnOnce(condition, message, errorCode) {
157
146
  warned.add(message);
158
147
  }
159
148
 
160
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
149
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
161
150
  var calcBezier = (t, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t + (3 * a2 - 6 * a1)) * t + 3 * a1) * t;
162
151
  var subdivisionPrecision = 1e-7;
163
152
  var subdivisionMaxIterations = 12;
@@ -176,6 +165,7 @@ function binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {
176
165
  } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations);
177
166
  return currentT;
178
167
  }
168
+ // @__NO_SIDE_EFFECTS__
179
169
  function cubicBezier(mX1, mY1, mX2, mY2) {
180
170
  if (mX1 === mY1 && mX2 === mY2)
181
171
  return noop;
@@ -183,39 +173,39 @@ function cubicBezier(mX1, mY1, mX2, mY2) {
183
173
  return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
184
174
  }
185
175
 
186
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
187
- var mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
176
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
177
+ var mirrorEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
188
178
 
189
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
190
- var reverseEasing = (easing) => (p) => 1 - easing(1 - p);
179
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
180
+ var reverseEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => 1 - easing(1 - p);
191
181
 
192
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/back.mjs
182
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/back.mjs
193
183
  var backOut = /* @__PURE__ */ cubicBezier(0.33, 1.53, 0.69, 0.99);
194
184
  var backIn = /* @__PURE__ */ reverseEasing(backOut);
195
185
  var backInOut = /* @__PURE__ */ mirrorEasing(backIn);
196
186
 
197
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
187
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
198
188
  var anticipate = (p) => p >= 1 ? 1 : (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
199
189
 
200
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/circ.mjs
190
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/circ.mjs
201
191
  var circIn = (p) => 1 - Math.sin(Math.acos(p));
202
192
  var circOut = reverseEasing(circIn);
203
193
  var circInOut = mirrorEasing(circIn);
204
194
 
205
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/ease.mjs
195
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/ease.mjs
206
196
  var easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1);
207
197
  var easeOut = /* @__PURE__ */ cubicBezier(0, 0, 0.58, 1);
208
198
  var easeInOut = /* @__PURE__ */ cubicBezier(0.42, 0, 0.58, 1);
209
199
 
210
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
211
- var isEasingArray = (ease2) => {
200
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
201
+ var isEasingArray = /* @__NO_SIDE_EFFECTS__ */ (ease2) => {
212
202
  return Array.isArray(ease2) && typeof ease2[0] !== "number";
213
203
  };
214
204
 
215
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
216
- var isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number";
205
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
206
+ var isBezierDefinition = /* @__NO_SIDE_EFFECTS__ */ (easing) => Array.isArray(easing) && typeof easing[0] === "number";
217
207
 
218
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
208
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
219
209
  var easingLookup = {
220
210
  linear: noop,
221
211
  easeIn,
@@ -244,7 +234,7 @@ var easingDefinitionToFunction = (definition) => {
244
234
  return definition;
245
235
  };
246
236
 
247
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
237
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/order.mjs
248
238
  var stepsOrder = [
249
239
  "setup",
250
240
  // Compute
@@ -264,8 +254,8 @@ var stepsOrder = [
264
254
  // Compute
265
255
  ];
266
256
 
267
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
268
- function createRenderStep(runNextFrame, stepName) {
257
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
258
+ function createRenderStep(runNextFrame) {
269
259
  let thisFrame = /* @__PURE__ */ new Set();
270
260
  let nextFrame = /* @__PURE__ */ new Set();
271
261
  let isProcessing = false;
@@ -327,7 +317,7 @@ function createRenderStep(runNextFrame, stepName) {
327
317
  return step;
328
318
  }
329
319
 
330
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
320
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
331
321
  var maxElapsed = 40;
332
322
  function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
333
323
  let runNextFrame = false;
@@ -390,10 +380,10 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
390
380
  return { schedule, cancel, state, steps };
391
381
  }
392
382
 
393
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
383
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/frame.mjs
394
384
  var { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true);
395
385
 
396
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
386
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
397
387
  var now;
398
388
  function clearTime() {
399
389
  now = void 0;
@@ -411,7 +401,7 @@ var time = {
411
401
  }
412
402
  };
413
403
 
414
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
404
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
415
405
  var checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
416
406
  var isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
417
407
  var startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
@@ -428,7 +418,7 @@ function containsCSSVariable(value) {
428
418
  return value.split("/*")[0].includes("var(--");
429
419
  }
430
420
 
431
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
421
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
432
422
  var number = {
433
423
  test: (v) => typeof v === "number",
434
424
  parse: parseFloat,
@@ -443,21 +433,21 @@ var scale = {
443
433
  default: 1
444
434
  };
445
435
 
446
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
436
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
447
437
  var sanitize = (v) => Math.round(v * 1e5) / 1e5;
448
438
 
449
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
439
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
450
440
  var floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
451
441
 
452
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
442
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
453
443
  function isNullish(v) {
454
444
  return v == null;
455
445
  }
456
446
 
457
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
447
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
458
448
  var singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
459
449
 
460
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
450
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
461
451
  var isColorString = (type, testProp) => (v) => {
462
452
  return Boolean(typeof v === "string" && singleColorRegex.test(v) && v.startsWith(type) || testProp && !isNullish(v) && Object.prototype.hasOwnProperty.call(v, testProp));
463
453
  };
@@ -473,7 +463,7 @@ var splitColor = (aName, bName, cName) => (v) => {
473
463
  };
474
464
  };
475
465
 
476
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
466
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
477
467
  var clampRgbUnit = (v) => clamp(0, 255, v);
478
468
  var rgbUnit = {
479
469
  ...number,
@@ -485,7 +475,7 @@ var rgba = {
485
475
  transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
486
476
  };
487
477
 
488
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
478
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
489
479
  function parseHex(v) {
490
480
  let r = "";
491
481
  let g = "";
@@ -519,7 +509,7 @@ var hex = {
519
509
  transform: rgba.transform
520
510
  };
521
511
 
522
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
512
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
523
513
  var createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
524
514
  test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
525
515
  parse: parseFloat,
@@ -536,7 +526,7 @@ var progressPercentage = /* @__PURE__ */ (() => ({
536
526
  transform: (v) => percent.transform(v * 100)
537
527
  }))();
538
528
 
539
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
529
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
540
530
  var hsla = {
541
531
  test: /* @__PURE__ */ isColorString("hsl", "hue"),
542
532
  parse: /* @__PURE__ */ splitColor("hue", "saturation", "lightness"),
@@ -545,7 +535,7 @@ var hsla = {
545
535
  }
546
536
  };
547
537
 
548
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
538
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/index.mjs
549
539
  var color = {
550
540
  test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),
551
541
  parse: (v) => {
@@ -567,10 +557,10 @@ var color = {
567
557
  }
568
558
  };
569
559
 
570
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
560
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
571
561
  var colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
572
562
 
573
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
563
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
574
564
  function test(v) {
575
565
  return isNaN(v) && typeof v === "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
576
566
  }
@@ -655,7 +645,7 @@ var complex = {
655
645
  getAnimatableNone
656
646
  };
657
647
 
658
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
648
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
659
649
  function hueToRgb(p, q, t) {
660
650
  if (t < 0)
661
651
  t += 1;
@@ -693,17 +683,17 @@ function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
693
683
  };
694
684
  }
695
685
 
696
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
686
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
697
687
  function mixImmediate(a, b) {
698
688
  return (p) => p > 0 ? b : a;
699
689
  }
700
690
 
701
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
691
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/number.mjs
702
692
  var mixNumber = (from, to, progress2) => {
703
693
  return from + (to - from) * progress2;
704
694
  };
705
695
 
706
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
696
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/color.mjs
707
697
  var mixLinearColor = (from, to, v) => {
708
698
  const fromExpo = from * from;
709
699
  const expo = v * (to * to - fromExpo) + fromExpo;
@@ -738,7 +728,7 @@ var mixColor = (from, to) => {
738
728
  };
739
729
  };
740
730
 
741
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
731
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
742
732
  var invisibleValues = /* @__PURE__ */ new Set(["none", "hidden"]);
743
733
  function mixVisibility(origin, target) {
744
734
  if (invisibleValues.has(origin)) {
@@ -748,7 +738,7 @@ function mixVisibility(origin, target) {
748
738
  }
749
739
  }
750
740
 
751
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
741
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
752
742
  function mixNumber2(a, b) {
753
743
  return (p) => mixNumber(a, b, p);
754
744
  }
@@ -818,7 +808,7 @@ var mixComplex = (origin, target) => {
818
808
  }
819
809
  };
820
810
 
821
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
811
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/index.mjs
822
812
  function mix(from, to, p) {
823
813
  if (typeof from === "number" && typeof to === "number" && typeof p === "number") {
824
814
  return mixNumber(from, to, p);
@@ -827,7 +817,7 @@ function mix(from, to, p) {
827
817
  return mixer(from, to);
828
818
  }
829
819
 
830
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
820
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
831
821
  var frameloopDriver = (update) => {
832
822
  const passTimestamp = ({ timestamp }) => update(timestamp);
833
823
  return {
@@ -841,7 +831,7 @@ var frameloopDriver = (update) => {
841
831
  };
842
832
  };
843
833
 
844
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
834
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
845
835
  var generateLinearEasing = (easing, duration, resolution = 10) => {
846
836
  let points = "";
847
837
  const numPoints = Math.max(Math.round(duration / resolution), 2);
@@ -851,7 +841,7 @@ var generateLinearEasing = (easing, duration, resolution = 10) => {
851
841
  return `linear(${points.substring(0, points.length - 2)})`;
852
842
  };
853
843
 
854
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
844
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
855
845
  var maxGeneratorDuration = 2e4;
856
846
  function calcGeneratorDuration(generator) {
857
847
  let duration = 0;
@@ -864,7 +854,7 @@ function calcGeneratorDuration(generator) {
864
854
  return duration >= maxGeneratorDuration ? Infinity : duration;
865
855
  }
866
856
 
867
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
857
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
868
858
  function createGeneratorEasing(options, scale2 = 100, createGenerator) {
869
859
  const generator = createGenerator({ ...options, keyframes: [0, scale2] });
870
860
  const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
@@ -877,7 +867,7 @@ function createGeneratorEasing(options, scale2 = 100, createGenerator) {
877
867
  };
878
868
  }
879
869
 
880
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
870
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
881
871
  var springDefaults = {
882
872
  // Default spring physics
883
873
  stiffness: 100,
@@ -1116,14 +1106,14 @@ spring.applyToOptions = (options) => {
1116
1106
  return options;
1117
1107
  };
1118
1108
 
1119
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1109
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1120
1110
  var velocitySampleDuration = 5;
1121
1111
  function getGeneratorVelocity(resolveValue, t, current) {
1122
1112
  const prevT = Math.max(t - velocitySampleDuration, 0);
1123
1113
  return velocityPerSecond(current - resolveValue(prevT), t - prevT);
1124
1114
  }
1125
1115
 
1126
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1116
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1127
1117
  function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed }) {
1128
1118
  const origin = keyframes2[0];
1129
1119
  const state = {
@@ -1187,7 +1177,7 @@ function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstan
1187
1177
  };
1188
1178
  }
1189
1179
 
1190
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1180
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1191
1181
  function createMixers(output, ease2, customMixer) {
1192
1182
  const mixers = [];
1193
1183
  const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;
@@ -1232,7 +1222,7 @@ function interpolate(input, output, { clamp: isClamp = true, ease: ease2, mixer
1232
1222
  return isClamp ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator;
1233
1223
  }
1234
1224
 
1235
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1225
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1236
1226
  function fillOffset(offset, remaining) {
1237
1227
  const min = offset[offset.length - 1];
1238
1228
  for (let i = 1; i <= remaining; i++) {
@@ -1241,19 +1231,19 @@ function fillOffset(offset, remaining) {
1241
1231
  }
1242
1232
  }
1243
1233
 
1244
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1234
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1245
1235
  function defaultOffset(arr) {
1246
1236
  const offset = [0];
1247
1237
  fillOffset(offset, arr.length - 1);
1248
1238
  return offset;
1249
1239
  }
1250
1240
 
1251
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1241
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1252
1242
  function convertOffsetToTimes(offset, duration) {
1253
1243
  return offset.map((o) => o * duration);
1254
1244
  }
1255
1245
 
1256
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1246
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1257
1247
  function defaultEasing(values, easing) {
1258
1248
  return values.map(() => easing || easeInOut).splice(0, values.length - 1);
1259
1249
  }
@@ -1282,7 +1272,7 @@ function keyframes({ duration = 300, keyframes: keyframeValues, times, ease: eas
1282
1272
  };
1283
1273
  }
1284
1274
 
1285
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1275
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1286
1276
  var isNotNull = (value) => value !== null;
1287
1277
  function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
1288
1278
  const resolvedKeyframes = keyframes2.filter(isNotNull);
@@ -1291,7 +1281,7 @@ function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyf
1291
1281
  return !index || finalKeyframe === void 0 ? resolvedKeyframes[index] : finalKeyframe;
1292
1282
  }
1293
1283
 
1294
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1284
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1295
1285
  var transitionTypeMap = {
1296
1286
  decay: inertia,
1297
1287
  inertia,
@@ -1305,7 +1295,7 @@ function replaceTransitionType(transition) {
1305
1295
  }
1306
1296
  }
1307
1297
 
1308
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1298
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1309
1299
  var WithPromise = class {
1310
1300
  constructor() {
1311
1301
  this.updateFinished();
@@ -1331,7 +1321,7 @@ var WithPromise = class {
1331
1321
  }
1332
1322
  };
1333
1323
 
1334
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1324
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1335
1325
  var percentToProgress = (percent2) => percent2 / 100;
1336
1326
  var JSAnimation = class extends WithPromise {
1337
1327
  constructor(options) {
@@ -1610,14 +1600,14 @@ var JSAnimation = class extends WithPromise {
1610
1600
  }
1611
1601
  };
1612
1602
 
1613
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1603
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1614
1604
  function fillWildcards(keyframes2) {
1615
1605
  for (let i = 1; i < keyframes2.length; i++) {
1616
1606
  keyframes2[i] ?? (keyframes2[i] = keyframes2[i - 1]);
1617
1607
  }
1618
1608
  }
1619
1609
 
1620
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1610
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1621
1611
  var radToDeg = (rad) => rad * 180 / Math.PI;
1622
1612
  var rotate = (v) => {
1623
1613
  const angle = radToDeg(Math.atan2(v[1], v[0]));
@@ -1697,7 +1687,7 @@ function convertTransformToNumber(value) {
1697
1687
  return parseFloat(value.trim());
1698
1688
  }
1699
1689
 
1700
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1690
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1701
1691
  var transformPropOrder = [
1702
1692
  "transformPerspective",
1703
1693
  "x",
@@ -1717,9 +1707,9 @@ var transformPropOrder = [
1717
1707
  "skewX",
1718
1708
  "skewY"
1719
1709
  ];
1720
- var transformProps = /* @__PURE__ */ (() => new Set(transformPropOrder))();
1710
+ var transformProps = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([...transformPropOrder, "pathRotation"]))();
1721
1711
 
1722
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1712
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1723
1713
  var isNumOrPxType = (v) => v === number || v === px;
1724
1714
  var transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
1725
1715
  var nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
@@ -1755,7 +1745,7 @@ var positionalValues = {
1755
1745
  positionalValues.translateX = positionalValues.x;
1756
1746
  positionalValues.translateY = positionalValues.y;
1757
1747
 
1758
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1748
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1759
1749
  var toResolve = /* @__PURE__ */ new Set();
1760
1750
  var isScheduled = false;
1761
1751
  var anyNeedsMeasurement = false;
@@ -1881,27 +1871,27 @@ var KeyframeResolver = class {
1881
1871
  }
1882
1872
  };
1883
1873
 
1884
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1874
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1885
1875
  var isCSSVar = (name) => name.startsWith("--");
1886
1876
 
1887
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1877
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1888
1878
  function setStyle(element, name, value) {
1889
1879
  isCSSVar(name) ? element.style.setProperty(name, value) : element.style[name] = value;
1890
1880
  }
1891
1881
 
1892
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1882
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1893
1883
  var supportsFlags = {};
1894
1884
 
1895
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1885
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1896
1886
  function memoSupports(callback, supportsFlag) {
1897
1887
  const memoized = memo(callback);
1898
1888
  return () => supportsFlags[supportsFlag] ?? memoized();
1899
1889
  }
1900
1890
 
1901
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1891
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1902
1892
  var supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== void 0, "scrollTimeline");
1903
1893
 
1904
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1894
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1905
1895
  var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1906
1896
  try {
1907
1897
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -1911,10 +1901,10 @@ var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1911
1901
  return true;
1912
1902
  }, "linearEasing");
1913
1903
 
1914
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1904
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1915
1905
  var cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
1916
1906
 
1917
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1907
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1918
1908
  var supportedWaapiEasing = {
1919
1909
  linear: "linear",
1920
1910
  ease: "ease",
@@ -1927,7 +1917,7 @@ var supportedWaapiEasing = {
1927
1917
  backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
1928
1918
  };
1929
1919
 
1930
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1920
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1931
1921
  function mapEasingToNativeEasing(easing, duration) {
1932
1922
  if (!easing) {
1933
1923
  return void 0;
@@ -1942,7 +1932,7 @@ function mapEasingToNativeEasing(easing, duration) {
1942
1932
  }
1943
1933
  }
1944
1934
 
1945
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1935
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1946
1936
  function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeOut", times } = {}, pseudoElement = void 0) {
1947
1937
  const keyframeOptions = {
1948
1938
  [valueName]: keyframes2
@@ -1962,16 +1952,15 @@ function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0
1962
1952
  };
1963
1953
  if (pseudoElement)
1964
1954
  options.pseudoElement = pseudoElement;
1965
- const animation = element.animate(keyframeOptions, options);
1966
- return animation;
1955
+ return element.animate(keyframeOptions, options);
1967
1956
  }
1968
1957
 
1969
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1958
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1970
1959
  function isGenerator(type) {
1971
1960
  return typeof type === "function" && "applyToOptions" in type;
1972
1961
  }
1973
1962
 
1974
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1963
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1975
1964
  function applyGeneratorOptions({ type, ...options }) {
1976
1965
  if (isGenerator(type) && supportsLinearEasing()) {
1977
1966
  return type.applyToOptions(options);
@@ -1982,7 +1971,7 @@ function applyGeneratorOptions({ type, ...options }) {
1982
1971
  return options;
1983
1972
  }
1984
1973
 
1985
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1974
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1986
1975
  var NativeAnimation = class extends WithPromise {
1987
1976
  constructor(options) {
1988
1977
  super();
@@ -2132,7 +2121,7 @@ var NativeAnimation = class extends WithPromise {
2132
2121
  }
2133
2122
  };
2134
2123
 
2135
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2124
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2136
2125
  var unsupportedEasingFunctions = {
2137
2126
  anticipate,
2138
2127
  backInOut,
@@ -2147,7 +2136,7 @@ function replaceStringEasing(transition) {
2147
2136
  }
2148
2137
  }
2149
2138
 
2150
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2139
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2151
2140
  var sampleDelta = 10;
2152
2141
  var NativeAnimationExtended = class extends NativeAnimation {
2153
2142
  constructor(options) {
@@ -2190,7 +2179,7 @@ var NativeAnimationExtended = class extends NativeAnimation {
2190
2179
  }
2191
2180
  };
2192
2181
 
2193
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2182
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2194
2183
  var isAnimatable = (value, name) => {
2195
2184
  if (name === "zIndex")
2196
2185
  return false;
@@ -2204,7 +2193,7 @@ var isAnimatable = (value, name) => {
2204
2193
  return false;
2205
2194
  };
2206
2195
 
2207
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2196
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2208
2197
  function hasKeyframesChanged(keyframes2) {
2209
2198
  const current = keyframes2[0];
2210
2199
  if (keyframes2.length === 1)
@@ -2231,24 +2220,22 @@ function canAnimate(keyframes2, name, type, velocity) {
2231
2220
  return hasKeyframesChanged(keyframes2) || (type === "spring" || isGenerator(type)) && velocity;
2232
2221
  }
2233
2222
 
2234
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2223
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2235
2224
  function makeAnimationInstant(options) {
2236
2225
  options.duration = 0;
2237
2226
  options.type = "keyframes";
2238
2227
  }
2239
2228
 
2240
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2229
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2241
2230
  var acceleratedValues = /* @__PURE__ */ new Set([
2242
2231
  "opacity",
2243
2232
  "clipPath",
2244
2233
  "filter",
2245
- "transform"
2246
- // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
2247
- // or until we implement support for linear() easing.
2248
- // "background-color"
2234
+ "transform",
2235
+ "backgroundColor"
2249
2236
  ]);
2250
2237
 
2251
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2238
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2252
2239
  var browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
2253
2240
  function hasBrowserOnlyColors(keyframes2) {
2254
2241
  for (let i = 0; i < keyframes2.length; i++) {
@@ -2259,7 +2246,7 @@ function hasBrowserOnlyColors(keyframes2) {
2259
2246
  return false;
2260
2247
  }
2261
2248
 
2262
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2249
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2263
2250
  var colorProperties = /* @__PURE__ */ new Set([
2264
2251
  "color",
2265
2252
  "backgroundColor",
@@ -2276,7 +2263,7 @@ var supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Elemen
2276
2263
  function supportsBrowserAnimation(options) {
2277
2264
  const { motionValue: motionValue2, name, repeatDelay, repeatType, damping, type, keyframes: keyframes2 } = options;
2278
2265
  const subject = motionValue2?.owner?.current;
2279
- if (!(subject instanceof HTMLElement)) {
2266
+ if (!(subject instanceof HTMLElement) && !(subject instanceof SVGElement)) {
2280
2267
  return false;
2281
2268
  }
2282
2269
  const { onUpdate, transformTemplate } = motionValue2.owner.getProps();
@@ -2291,7 +2278,7 @@ function supportsBrowserAnimation(options) {
2291
2278
  !onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
2292
2279
  }
2293
2280
 
2294
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2281
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2295
2282
  var MAX_RESOLVE_DELAY = 40;
2296
2283
  var AsyncMotionValueAnimation = class extends WithPromise {
2297
2284
  constructor({ autoplay = true, delay: delay2 = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", keyframes: keyframes2, name, motionValue: motionValue2, element, ...options }) {
@@ -2432,7 +2419,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
2432
2419
  }
2433
2420
  };
2434
2421
 
2435
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2422
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2436
2423
  function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {
2437
2424
  const index = Array.from(children).sort((a, b) => a.sortNodePosition(b)).indexOf(child);
2438
2425
  const numChildren = children.size;
@@ -2441,202 +2428,7 @@ function calcChildStagger(children, child, delayChildren, staggerChildren = 0, s
2441
2428
  return delayIsFunction ? delayChildren(index, numChildren) : staggerDirection === 1 ? index * staggerChildren : maxStaggerDuration - index * staggerChildren;
2442
2429
  }
2443
2430
 
2444
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2445
- var splitCSSVariableRegex = (
2446
- // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2447
- /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2448
- );
2449
- function parseCSSVariable(current) {
2450
- const match = splitCSSVariableRegex.exec(current);
2451
- if (!match)
2452
- return [,];
2453
- const [, token1, token2, fallback] = match;
2454
- return [`--${token1 ?? token2}`, fallback];
2455
- }
2456
- var maxDepth = 4;
2457
- function getVariableValue(current, element, depth = 1) {
2458
- invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2459
- const [token, fallback] = parseCSSVariable(current);
2460
- if (!token)
2461
- return;
2462
- const resolved = window.getComputedStyle(element).getPropertyValue(token);
2463
- if (resolved) {
2464
- const trimmed = resolved.trim();
2465
- return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2466
- }
2467
- return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2468
- }
2469
-
2470
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2471
- var underDampedSpring = {
2472
- type: "spring",
2473
- stiffness: 500,
2474
- damping: 25,
2475
- restSpeed: 10
2476
- };
2477
- var criticallyDampedSpring = (target) => ({
2478
- type: "spring",
2479
- stiffness: 550,
2480
- damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2481
- restSpeed: 10
2482
- });
2483
- var keyframesTransition = {
2484
- type: "keyframes",
2485
- duration: 0.8
2486
- };
2487
- var ease = {
2488
- type: "keyframes",
2489
- ease: [0.25, 0.1, 0.35, 1],
2490
- duration: 0.3
2491
- };
2492
- var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2493
- if (keyframes2.length > 2) {
2494
- return keyframesTransition;
2495
- } else if (transformProps.has(valueKey)) {
2496
- return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2497
- }
2498
- return ease;
2499
- };
2500
-
2501
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2502
- function resolveTransition(transition, parentTransition) {
2503
- if (transition?.inherit && parentTransition) {
2504
- const { inherit: _, ...rest } = transition;
2505
- return { ...parentTransition, ...rest };
2506
- }
2507
- return transition;
2508
- }
2509
-
2510
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2511
- function getValueTransition(transition, key) {
2512
- const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2513
- if (valueTransition !== transition) {
2514
- return resolveTransition(valueTransition, transition);
2515
- }
2516
- return valueTransition;
2517
- }
2518
-
2519
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2520
- var orchestrationKeys = /* @__PURE__ */ new Set([
2521
- "when",
2522
- "delay",
2523
- "delayChildren",
2524
- "staggerChildren",
2525
- "staggerDirection",
2526
- "repeat",
2527
- "repeatType",
2528
- "repeatDelay",
2529
- "from",
2530
- "elapsed"
2531
- ]);
2532
- function isTransitionDefined(transition) {
2533
- for (const key in transition) {
2534
- if (!orchestrationKeys.has(key))
2535
- return true;
2536
- }
2537
- return false;
2538
- }
2539
-
2540
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2541
- var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2542
- const valueTransition = getValueTransition(transition, name) || {};
2543
- const delay2 = valueTransition.delay || transition.delay || 0;
2544
- let { elapsed = 0 } = transition;
2545
- elapsed = elapsed - secondsToMilliseconds(delay2);
2546
- const options = {
2547
- keyframes: Array.isArray(target) ? target : [null, target],
2548
- ease: "easeOut",
2549
- velocity: value.getVelocity(),
2550
- ...valueTransition,
2551
- delay: -elapsed,
2552
- onUpdate: (v) => {
2553
- value.set(v);
2554
- valueTransition.onUpdate && valueTransition.onUpdate(v);
2555
- },
2556
- onComplete: () => {
2557
- onComplete();
2558
- valueTransition.onComplete && valueTransition.onComplete();
2559
- },
2560
- name,
2561
- motionValue: value,
2562
- element: isHandoff ? void 0 : element
2563
- };
2564
- if (!isTransitionDefined(valueTransition)) {
2565
- Object.assign(options, getDefaultTransition(name, options));
2566
- }
2567
- options.duration && (options.duration = secondsToMilliseconds(options.duration));
2568
- options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2569
- if (options.from !== void 0) {
2570
- options.keyframes[0] = options.from;
2571
- }
2572
- let shouldSkip = false;
2573
- if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2574
- makeAnimationInstant(options);
2575
- if (options.delay === 0) {
2576
- shouldSkip = true;
2577
- }
2578
- }
2579
- if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations) {
2580
- shouldSkip = true;
2581
- makeAnimationInstant(options);
2582
- options.delay = 0;
2583
- }
2584
- options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2585
- if (shouldSkip && !isHandoff && value.get() !== void 0) {
2586
- const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2587
- if (finalKeyframe !== void 0) {
2588
- frame.update(() => {
2589
- options.onUpdate(finalKeyframe);
2590
- options.onComplete();
2591
- });
2592
- return;
2593
- }
2594
- }
2595
- return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2596
- };
2597
-
2598
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2599
- function getValueState(visualElement) {
2600
- const state = [{}, {}];
2601
- visualElement?.values.forEach((value, key) => {
2602
- state[0][key] = value.get();
2603
- state[1][key] = value.getVelocity();
2604
- });
2605
- return state;
2606
- }
2607
- function resolveVariantFromProps(props, definition, custom, visualElement) {
2608
- if (typeof definition === "function") {
2609
- const [current, velocity] = getValueState(visualElement);
2610
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2611
- }
2612
- if (typeof definition === "string") {
2613
- definition = props.variants && props.variants[definition];
2614
- }
2615
- if (typeof definition === "function") {
2616
- const [current, velocity] = getValueState(visualElement);
2617
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2618
- }
2619
- return definition;
2620
- }
2621
-
2622
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2623
- function resolveVariant(visualElement, definition, custom) {
2624
- const props = visualElement.getProps();
2625
- return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2626
- }
2627
-
2628
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2629
- var positionalKeys = /* @__PURE__ */ new Set([
2630
- "width",
2631
- "height",
2632
- "top",
2633
- "left",
2634
- "right",
2635
- "bottom",
2636
- ...transformPropOrder
2637
- ]);
2638
-
2639
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/index.mjs
2431
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/index.mjs
2640
2432
  var MAX_VELOCITY_DELTA = 30;
2641
2433
  var isFloat = (value) => {
2642
2434
  return !isNaN(parseFloat(value));
@@ -2885,48 +2677,243 @@ var MotionValue = class {
2885
2677
  this.events.animationCancel.notify();
2886
2678
  }
2887
2679
  }
2888
- this.clearAnimation();
2889
- }
2890
- /**
2891
- * Returns `true` if this value is currently animating.
2892
- *
2893
- * @public
2894
- */
2895
- isAnimating() {
2896
- return !!this.animation;
2680
+ this.clearAnimation();
2681
+ }
2682
+ /**
2683
+ * Returns `true` if this value is currently animating.
2684
+ *
2685
+ * @public
2686
+ */
2687
+ isAnimating() {
2688
+ return !!this.animation;
2689
+ }
2690
+ clearAnimation() {
2691
+ delete this.animation;
2692
+ }
2693
+ /**
2694
+ * Destroy and clean up subscribers to this `MotionValue`.
2695
+ *
2696
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2697
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2698
+ * created a `MotionValue` via the `motionValue` function.
2699
+ *
2700
+ * @public
2701
+ */
2702
+ destroy() {
2703
+ this.dependents?.clear();
2704
+ this.events.destroy?.notify();
2705
+ this.clearListeners();
2706
+ this.stop();
2707
+ if (this.stopPassiveEffect) {
2708
+ this.stopPassiveEffect();
2709
+ }
2710
+ }
2711
+ };
2712
+ function motionValue(init, options) {
2713
+ return new MotionValue(init, options);
2714
+ }
2715
+
2716
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2717
+ function resolveTransition(transition, parentTransition) {
2718
+ if (transition?.inherit && parentTransition) {
2719
+ const { inherit: _, ...rest } = transition;
2720
+ return { ...parentTransition, ...rest };
2721
+ }
2722
+ return transition;
2723
+ }
2724
+
2725
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2726
+ function getValueTransition(transition, key) {
2727
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2728
+ if (valueTransition !== transition) {
2729
+ return resolveTransition(valueTransition, transition);
2730
+ }
2731
+ return valueTransition;
2732
+ }
2733
+
2734
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2735
+ var underDampedSpring = {
2736
+ type: "spring",
2737
+ stiffness: 500,
2738
+ damping: 25,
2739
+ restSpeed: 10
2740
+ };
2741
+ var criticallyDampedSpring = (target) => ({
2742
+ type: "spring",
2743
+ stiffness: 550,
2744
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2745
+ restSpeed: 10
2746
+ });
2747
+ var keyframesTransition = {
2748
+ type: "keyframes",
2749
+ duration: 0.8
2750
+ };
2751
+ var ease = {
2752
+ type: "keyframes",
2753
+ ease: [0.25, 0.1, 0.35, 1],
2754
+ duration: 0.3
2755
+ };
2756
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2757
+ if (keyframes2.length > 2) {
2758
+ return keyframesTransition;
2759
+ } else if (transformProps.has(valueKey)) {
2760
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2761
+ }
2762
+ return ease;
2763
+ };
2764
+
2765
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2766
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2767
+ "when",
2768
+ "delay",
2769
+ "delayChildren",
2770
+ "staggerChildren",
2771
+ "staggerDirection",
2772
+ "repeat",
2773
+ "repeatType",
2774
+ "repeatDelay",
2775
+ "from",
2776
+ "elapsed"
2777
+ ]);
2778
+ function isTransitionDefined(transition) {
2779
+ for (const key in transition) {
2780
+ if (!orchestrationKeys.has(key))
2781
+ return true;
2782
+ }
2783
+ return false;
2784
+ }
2785
+
2786
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2787
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2788
+ const valueTransition = getValueTransition(transition, name) || {};
2789
+ const delay2 = valueTransition.delay || transition.delay || 0;
2790
+ let { elapsed = 0 } = transition;
2791
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2792
+ const options = {
2793
+ keyframes: Array.isArray(target) ? target : [null, target],
2794
+ ease: "easeOut",
2795
+ velocity: value.getVelocity(),
2796
+ ...valueTransition,
2797
+ delay: -elapsed,
2798
+ onUpdate: (v) => {
2799
+ value.set(v);
2800
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2801
+ },
2802
+ onComplete: () => {
2803
+ onComplete();
2804
+ valueTransition.onComplete && valueTransition.onComplete();
2805
+ },
2806
+ name,
2807
+ motionValue: value,
2808
+ element: isHandoff ? void 0 : element
2809
+ };
2810
+ if (!isTransitionDefined(valueTransition)) {
2811
+ Object.assign(options, getDefaultTransition(name, options));
2812
+ }
2813
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2814
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2815
+ if (options.from !== void 0) {
2816
+ options.keyframes[0] = options.from;
2817
+ }
2818
+ let shouldSkip = false;
2819
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2820
+ makeAnimationInstant(options);
2821
+ if (options.delay === 0) {
2822
+ shouldSkip = true;
2823
+ }
2897
2824
  }
2898
- clearAnimation() {
2899
- delete this.animation;
2825
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2826
+ shouldSkip = true;
2827
+ makeAnimationInstant(options);
2828
+ options.delay = 0;
2900
2829
  }
2901
- /**
2902
- * Destroy and clean up subscribers to this `MotionValue`.
2903
- *
2904
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2905
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2906
- * created a `MotionValue` via the `motionValue` function.
2907
- *
2908
- * @public
2909
- */
2910
- destroy() {
2911
- this.dependents?.clear();
2912
- this.events.destroy?.notify();
2913
- this.clearListeners();
2914
- this.stop();
2915
- if (this.stopPassiveEffect) {
2916
- this.stopPassiveEffect();
2830
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2831
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2832
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2833
+ if (finalKeyframe !== void 0) {
2834
+ frame.update(() => {
2835
+ options.onUpdate(finalKeyframe);
2836
+ options.onComplete();
2837
+ });
2838
+ return;
2917
2839
  }
2918
2840
  }
2841
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2919
2842
  };
2920
- function motionValue(init, options) {
2921
- return new MotionValue(init, options);
2843
+
2844
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2845
+ var splitCSSVariableRegex = (
2846
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2847
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2848
+ );
2849
+ function parseCSSVariable(current) {
2850
+ const match = splitCSSVariableRegex.exec(current);
2851
+ if (!match)
2852
+ return [,];
2853
+ const [, token1, token2, fallback] = match;
2854
+ return [`--${token1 ?? token2}`, fallback];
2855
+ }
2856
+ var maxDepth = 4;
2857
+ function getVariableValue(current, element, depth = 1) {
2858
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2859
+ const [token, fallback] = parseCSSVariable(current);
2860
+ if (!token)
2861
+ return;
2862
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2863
+ if (resolved) {
2864
+ const trimmed = resolved.trim();
2865
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2866
+ }
2867
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2868
+ }
2869
+
2870
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2871
+ function getValueState(visualElement) {
2872
+ const state = [{}, {}];
2873
+ visualElement?.values.forEach((value, key) => {
2874
+ state[0][key] = value.get();
2875
+ state[1][key] = value.getVelocity();
2876
+ });
2877
+ return state;
2878
+ }
2879
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2880
+ if (typeof definition === "function") {
2881
+ const [current, velocity] = getValueState(visualElement);
2882
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2883
+ }
2884
+ if (typeof definition === "string") {
2885
+ definition = props.variants && props.variants[definition];
2886
+ }
2887
+ if (typeof definition === "function") {
2888
+ const [current, velocity] = getValueState(visualElement);
2889
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2890
+ }
2891
+ return definition;
2892
+ }
2893
+
2894
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2895
+ function resolveVariant(visualElement, definition, custom) {
2896
+ const props = visualElement.getProps();
2897
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2922
2898
  }
2923
2899
 
2924
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2900
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2901
+ var positionalKeys = /* @__PURE__ */ new Set([
2902
+ "width",
2903
+ "height",
2904
+ "top",
2905
+ "left",
2906
+ "right",
2907
+ "bottom",
2908
+ ...transformPropOrder
2909
+ ]);
2910
+
2911
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2925
2912
  var isKeyframesTarget = (v) => {
2926
2913
  return Array.isArray(v);
2927
2914
  };
2928
2915
 
2929
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2916
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2930
2917
  function setMotionValue(visualElement, key, value) {
2931
2918
  if (visualElement.hasValue(key)) {
2932
2919
  visualElement.getValue(key).set(value);
@@ -2947,15 +2934,15 @@ function setTarget(visualElement, definition) {
2947
2934
  }
2948
2935
  }
2949
2936
 
2950
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2937
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2951
2938
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2952
2939
 
2953
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2940
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2954
2941
  function isWillChangeMotionValue(value) {
2955
2942
  return Boolean(isMotionValue(value) && value.add);
2956
2943
  }
2957
2944
 
2958
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2945
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2959
2946
  function addValueToWillChange(visualElement, key) {
2960
2947
  const willChange = visualElement.getValue("willChange");
2961
2948
  if (isWillChangeMotionValue(willChange)) {
@@ -2967,21 +2954,22 @@ function addValueToWillChange(visualElement, key) {
2967
2954
  }
2968
2955
  }
2969
2956
 
2970
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2957
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2971
2958
  function camelToDash(str) {
2972
2959
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
2973
2960
  }
2974
2961
 
2975
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2962
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2976
2963
  var optimizedAppearDataId = "framerAppearId";
2977
2964
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
2978
2965
 
2979
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2966
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2980
2967
  function getOptimisedAppearId(visualElement) {
2981
2968
  return visualElement.props[optimizedAppearDataAttribute];
2982
2969
  }
2983
2970
 
2984
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2971
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2972
+ var isBrowser2 = typeof window !== "undefined";
2985
2973
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
2986
2974
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
2987
2975
  needsAnimating[key] = false;
@@ -2992,10 +2980,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
2992
2980
  const defaultTransition = visualElement.getDefaultTransition();
2993
2981
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
2994
2982
  const reduceMotion = transition?.reduceMotion;
2983
+ const skipAnimations = transition?.skipAnimations;
2995
2984
  if (transitionOverride)
2996
2985
  transition = transitionOverride;
2997
2986
  const animations2 = [];
2998
2987
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
2988
+ const path = transition?.path;
2989
+ if (path) {
2990
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
2991
+ }
2999
2992
  for (const key in target) {
3000
2993
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
3001
2994
  const valueTarget = target[key];
@@ -3006,13 +2999,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3006
2999
  delay: delay2,
3007
3000
  ...getValueTransition(transition || {}, key)
3008
3001
  };
3002
+ if (skipAnimations)
3003
+ valueTransition.skipAnimations = true;
3009
3004
  const currentValue = value.get();
3010
3005
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3011
3006
  frame.update(() => value.set(valueTarget));
3012
3007
  continue;
3013
3008
  }
3014
3009
  let isHandoff = false;
3015
- if (window.MotionHandoffAnimation) {
3010
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3016
3011
  const appearId = getOptimisedAppearId(visualElement);
3017
3012
  if (appearId) {
3018
3013
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3043,7 +3038,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3043
3038
  return animations2;
3044
3039
  }
3045
3040
 
3046
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3041
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3047
3042
  function animateVariant(visualElement, variant, options = {}) {
3048
3043
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3049
3044
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3075,7 +3070,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3075
3070
  return Promise.all(animations2);
3076
3071
  }
3077
3072
 
3078
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3073
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3079
3074
  function animateVisualElement(visualElement, definition, options = {}) {
3080
3075
  visualElement.notify("AnimationStart", definition);
3081
3076
  let animation;
@@ -3093,20 +3088,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3093
3088
  });
3094
3089
  }
3095
3090
 
3096
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3091
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3097
3092
  var auto = {
3098
3093
  test: (v) => v === "auto",
3099
3094
  parse: (v) => v
3100
3095
  };
3101
3096
 
3102
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3097
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3103
3098
  var testValueType = (v) => (type) => type.test(v);
3104
3099
 
3105
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3100
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3106
3101
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3107
3102
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3108
3103
 
3109
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3104
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3110
3105
  function isNone(value) {
3111
3106
  if (typeof value === "number") {
3112
3107
  return value === 0;
@@ -3117,7 +3112,7 @@ function isNone(value) {
3117
3112
  }
3118
3113
  }
3119
3114
 
3120
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3115
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3121
3116
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3122
3117
  function applyDefaultFilter(v) {
3123
3118
  const [name, value] = v.slice(0, -1).split("(");
@@ -3141,7 +3136,7 @@ var filter = {
3141
3136
  }
3142
3137
  };
3143
3138
 
3144
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3139
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3145
3140
  var mask = {
3146
3141
  ...complex,
3147
3142
  getAnimatableNone: (v) => {
@@ -3151,15 +3146,21 @@ var mask = {
3151
3146
  }
3152
3147
  };
3153
3148
 
3154
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3149
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3155
3150
  var int = {
3156
3151
  ...number,
3157
3152
  transform: Math.round
3158
3153
  };
3159
3154
 
3160
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3155
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3161
3156
  var transformValueTypes = {
3162
3157
  rotate: degrees,
3158
+ /**
3159
+ * Internal channel for `transition.path` orientToPath. Composed onto
3160
+ * `rotate` at the transform-build sites so the user's `rotate` is
3161
+ * never read or overwritten. Not part of `transformPropOrder`.
3162
+ */
3163
+ pathRotation: degrees,
3163
3164
  rotateX: degrees,
3164
3165
  rotateY: degrees,
3165
3166
  rotateZ: degrees,
@@ -3185,7 +3186,7 @@ var transformValueTypes = {
3185
3186
  originZ: px
3186
3187
  };
3187
3188
 
3188
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3189
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3189
3190
  var numberValueTypes = {
3190
3191
  // Border props
3191
3192
  borderWidth: px,
@@ -3250,7 +3251,7 @@ var numberValueTypes = {
3250
3251
  numOctaves: int
3251
3252
  };
3252
3253
 
3253
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3254
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3254
3255
  var defaultValueTypes = {
3255
3256
  ...numberValueTypes,
3256
3257
  // Color props
@@ -3272,7 +3273,7 @@ var defaultValueTypes = {
3272
3273
  };
3273
3274
  var getDefaultValueType = (key) => defaultValueTypes[key];
3274
3275
 
3275
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3276
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3276
3277
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3277
3278
  function getAnimatableNone2(key, value) {
3278
3279
  let defaultValueType = getDefaultValueType(key);
@@ -3281,7 +3282,7 @@ function getAnimatableNone2(key, value) {
3281
3282
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3282
3283
  }
3283
3284
 
3284
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3285
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3285
3286
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3286
3287
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3287
3288
  let i = 0;
@@ -3300,7 +3301,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3300
3301
  }
3301
3302
  }
3302
3303
 
3303
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3304
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3304
3305
  var DOMKeyframesResolver = class extends KeyframeResolver {
3305
3306
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3306
3307
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3398,7 +3399,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3398
3399
  }
3399
3400
  };
3400
3401
 
3401
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3402
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3403
+ var cornerRadiusProps = [
3404
+ "borderTopLeftRadius",
3405
+ "borderTopRightRadius",
3406
+ "borderBottomRightRadius",
3407
+ "borderBottomLeftRadius"
3408
+ ];
3409
+
3410
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3402
3411
  function resolveElements(elementOrSelector, scope, selectorCache) {
3403
3412
  if (elementOrSelector == null) {
3404
3413
  return [];
@@ -3413,20 +3422,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3413
3422
  return Array.from(elementOrSelector).filter((element) => element != null);
3414
3423
  }
3415
3424
 
3416
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3425
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3417
3426
  var getValueAsType = (value, type) => {
3418
3427
  return type && typeof value === "number" ? type.transform(value) : value;
3419
3428
  };
3420
3429
 
3421
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3430
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3422
3431
  function isHTMLElement(element) {
3423
3432
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3424
3433
  }
3425
3434
 
3426
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3435
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3427
3436
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3428
3437
 
3429
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3438
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3430
3439
  var isDragging = {
3431
3440
  x: false,
3432
3441
  y: false
@@ -3435,7 +3444,7 @@ function isDragActive() {
3435
3444
  return isDragging.x || isDragging.y;
3436
3445
  }
3437
3446
 
3438
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3447
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3439
3448
  function setDragLock(axis) {
3440
3449
  if (axis === "x" || axis === "y") {
3441
3450
  if (isDragging[axis]) {
@@ -3458,7 +3467,7 @@ function setDragLock(axis) {
3458
3467
  }
3459
3468
  }
3460
3469
 
3461
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3470
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3462
3471
  function setupGesture(elementOrSelector, options) {
3463
3472
  const elements = resolveElements(elementOrSelector);
3464
3473
  const gestureAbortController = new AbortController();
@@ -3471,7 +3480,7 @@ function setupGesture(elementOrSelector, options) {
3471
3480
  return [elements, eventOptions, cancel];
3472
3481
  }
3473
3482
 
3474
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3483
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3475
3484
  function isValidHover(event) {
3476
3485
  return !(event.pointerType === "touch" || isDragActive());
3477
3486
  }
@@ -3530,7 +3539,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3530
3539
  return cancel;
3531
3540
  }
3532
3541
 
3533
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3542
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3534
3543
  var isNodeOrChild = (parent, child) => {
3535
3544
  if (!child) {
3536
3545
  return false;
@@ -3541,7 +3550,7 @@ var isNodeOrChild = (parent, child) => {
3541
3550
  }
3542
3551
  };
3543
3552
 
3544
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3553
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3545
3554
  var isPrimaryPointer = (event) => {
3546
3555
  if (event.pointerType === "mouse") {
3547
3556
  return typeof event.button !== "number" || event.button <= 0;
@@ -3550,7 +3559,7 @@ var isPrimaryPointer = (event) => {
3550
3559
  }
3551
3560
  };
3552
3561
 
3553
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3562
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3554
3563
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3555
3564
  "BUTTON",
3556
3565
  "INPUT",
@@ -3566,10 +3575,10 @@ function isElementTextInput(element) {
3566
3575
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3567
3576
  }
3568
3577
 
3569
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3578
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3570
3579
  var isPressing = /* @__PURE__ */ new WeakSet();
3571
3580
 
3572
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3581
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3573
3582
  function filterEvents(callback) {
3574
3583
  return (event) => {
3575
3584
  if (event.key !== "Enter")
@@ -3599,7 +3608,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3599
3608
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3600
3609
  };
3601
3610
 
3602
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3611
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3603
3612
  function isValidPressEvent(event) {
3604
3613
  return isPrimaryPointer(event) && !isDragActive();
3605
3614
  }
@@ -3617,9 +3626,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3617
3626
  claimedPointerDownEvents.add(startEvent);
3618
3627
  }
3619
3628
  const onPressEnd = onPressStart(target, startEvent);
3629
+ const endEventOptions = { ...eventOptions, capture: true };
3620
3630
  const onPointerEnd = (endEvent, success) => {
3621
- window.removeEventListener("pointerup", onPointerUp);
3622
- window.removeEventListener("pointercancel", onPointerCancel);
3631
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3632
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3623
3633
  if (isPressing.has(target)) {
3624
3634
  isPressing.delete(target);
3625
3635
  }
@@ -3636,8 +3646,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3636
3646
  const onPointerCancel = (cancelEvent) => {
3637
3647
  onPointerEnd(cancelEvent, false);
3638
3648
  };
3639
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3640
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3649
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3650
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3641
3651
  };
3642
3652
  targets.forEach((target) => {
3643
3653
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3652,12 +3662,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3652
3662
  return cancelEvents;
3653
3663
  }
3654
3664
 
3655
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3665
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3656
3666
  function isSVGElement(element) {
3657
3667
  return isObject(element) && "ownerSVGElement" in element;
3658
3668
  }
3659
3669
 
3660
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3670
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3661
3671
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3662
3672
  var observer;
3663
3673
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3715,7 +3725,7 @@ function resizeElement(target, handler) {
3715
3725
  };
3716
3726
  }
3717
3727
 
3718
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3728
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3719
3729
  var windowCallbacks = /* @__PURE__ */ new Set();
3720
3730
  var windowResizeHandler;
3721
3731
  function createWindowResizeHandler() {
@@ -3745,17 +3755,17 @@ function resizeWindow(callback) {
3745
3755
  };
3746
3756
  }
3747
3757
 
3748
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3758
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3749
3759
  function resize(a, b) {
3750
3760
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3751
3761
  }
3752
3762
 
3753
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3763
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3754
3764
  function isSVGSVGElement(element) {
3755
3765
  return isSVGElement(element) && element.tagName === "svg";
3756
3766
  }
3757
3767
 
3758
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/transform.mjs
3768
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/transform.mjs
3759
3769
  function transform(...args) {
3760
3770
  const useImmediate = !Array.isArray(args[0]);
3761
3771
  const argOffset = useImmediate ? 0 : -1;
@@ -3767,11 +3777,11 @@ function transform(...args) {
3767
3777
  return useImmediate ? interpolator(inputValue) : interpolator;
3768
3778
  }
3769
3779
 
3770
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3780
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3771
3781
  var valueTypes = [...dimensionValueTypes, color, complex];
3772
3782
  var findValueType = (v) => valueTypes.find(testValueType(v));
3773
3783
 
3774
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3784
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3775
3785
  var createAxisDelta = () => ({
3776
3786
  translate: 0,
3777
3787
  scale: 1,
@@ -3788,20 +3798,20 @@ var createBox = () => ({
3788
3798
  y: createAxis()
3789
3799
  });
3790
3800
 
3791
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3801
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3792
3802
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3793
3803
 
3794
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3804
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3795
3805
  function isAnimationControls(v) {
3796
3806
  return v !== null && typeof v === "object" && typeof v.start === "function";
3797
3807
  }
3798
3808
 
3799
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3809
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3800
3810
  function isVariantLabel(v) {
3801
3811
  return typeof v === "string" || Array.isArray(v);
3802
3812
  }
3803
3813
 
3804
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3814
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3805
3815
  var variantPriorityOrder = [
3806
3816
  "animate",
3807
3817
  "whileInView",
@@ -3813,7 +3823,7 @@ var variantPriorityOrder = [
3813
3823
  ];
3814
3824
  var variantProps = ["initial", ...variantPriorityOrder];
3815
3825
 
3816
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3826
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3817
3827
  function isControllingVariants(props) {
3818
3828
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3819
3829
  }
@@ -3821,7 +3831,7 @@ function isVariantNode(props) {
3821
3831
  return Boolean(isControllingVariants(props) || props.variants);
3822
3832
  }
3823
3833
 
3824
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3834
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3825
3835
  function updateMotionValuesFromProps(element, next, prev) {
3826
3836
  for (const key in next) {
3827
3837
  const nextValue = next[key];
@@ -3851,15 +3861,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3851
3861
  return next;
3852
3862
  }
3853
3863
 
3854
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3864
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3855
3865
  var prefersReducedMotion = { current: null };
3856
3866
  var hasReducedMotionListener = { current: false };
3857
3867
 
3858
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3859
- var isBrowser2 = typeof window !== "undefined";
3868
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3869
+ var isBrowser3 = typeof window !== "undefined";
3860
3870
  function initPrefersReducedMotion() {
3861
3871
  hasReducedMotionListener.current = true;
3862
- if (!isBrowser2)
3872
+ if (!isBrowser3)
3863
3873
  return;
3864
3874
  if (window.matchMedia) {
3865
3875
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3871,7 +3881,7 @@ function initPrefersReducedMotion() {
3871
3881
  }
3872
3882
  }
3873
3883
 
3874
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3884
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3875
3885
  var propEventHandlers = [
3876
3886
  "AnimationStart",
3877
3887
  "AnimationComplete",
@@ -4060,8 +4070,6 @@ var VisualElement = class {
4060
4070
  removeOnChange();
4061
4071
  if (removeSyncCheck)
4062
4072
  removeSyncCheck();
4063
- if (value.owner)
4064
- value.stop();
4065
4073
  });
4066
4074
  }
4067
4075
  sortNodePosition(other) {
@@ -4272,7 +4280,7 @@ var VisualElement = class {
4272
4280
  }
4273
4281
  };
4274
4282
 
4275
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4283
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4276
4284
  var DOMVisualElement = class extends VisualElement {
4277
4285
  constructor() {
4278
4286
  super(...arguments);
@@ -4305,7 +4313,7 @@ var DOMVisualElement = class extends VisualElement {
4305
4313
  }
4306
4314
  };
4307
4315
 
4308
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4316
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4309
4317
  var Feature = class {
4310
4318
  constructor(node) {
4311
4319
  this.isMounted = false;
@@ -4315,7 +4323,7 @@ var Feature = class {
4315
4323
  }
4316
4324
  };
4317
4325
 
4318
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4326
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4319
4327
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4320
4328
  return {
4321
4329
  x: { min: left, max: right },
@@ -4338,7 +4346,7 @@ function transformBoxPoints(point, transformPoint2) {
4338
4346
  };
4339
4347
  }
4340
4348
 
4341
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4349
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4342
4350
  function isIdentityScale(scale2) {
4343
4351
  return scale2 === void 0 || scale2 === 1;
4344
4352
  }
@@ -4355,7 +4363,7 @@ function is2DTranslate(value) {
4355
4363
  return value && value !== "0%";
4356
4364
  }
4357
4365
 
4358
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4366
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4359
4367
  function scalePoint(point, scale2, originPoint) {
4360
4368
  const distanceFromOrigin = point - originPoint;
4361
4369
  const scaled = scale2 * distanceFromOrigin;
@@ -4431,7 +4439,7 @@ function transformBox(box, transform2, sourceBox) {
4431
4439
  transformAxis(box.y, resolveAxisTranslate(transform2.y, resolveBox.y), transform2.scaleY, transform2.scale, transform2.originY);
4432
4440
  }
4433
4441
 
4434
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4442
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4435
4443
  function measureViewportBox(instance, transformPoint2) {
4436
4444
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4437
4445
  }
@@ -4445,7 +4453,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4445
4453
  return viewportBox;
4446
4454
  }
4447
4455
 
4448
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4456
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4449
4457
  var translateAlias = {
4450
4458
  x: "translateX",
4451
4459
  y: "translateY",
@@ -4480,6 +4488,11 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4480
4488
  }
4481
4489
  }
4482
4490
  }
4491
+ const pathRotation = latestValues.pathRotation;
4492
+ if (pathRotation) {
4493
+ transformIsDefault = false;
4494
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4495
+ }
4483
4496
  transformString = transformString.trim();
4484
4497
  if (transformTemplate) {
4485
4498
  transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString);
@@ -4489,7 +4502,7 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4489
4502
  return transformString;
4490
4503
  }
4491
4504
 
4492
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4505
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4493
4506
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4494
4507
  const { style, vars, transformOrigin } = state;
4495
4508
  let hasTransform2 = false;
@@ -4525,7 +4538,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4525
4538
  }
4526
4539
  }
4527
4540
 
4528
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4541
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4529
4542
  function renderHTML(element, { style, vars }, styleProp, projection) {
4530
4543
  const elementStyle = element.style;
4531
4544
  let key;
@@ -4538,7 +4551,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4538
4551
  }
4539
4552
  }
4540
4553
 
4541
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4554
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4542
4555
  function pixelsToPercent(pixels, axis) {
4543
4556
  if (axis.max === axis.min)
4544
4557
  return 0;
@@ -4561,7 +4574,7 @@ var correctBorderRadius = {
4561
4574
  }
4562
4575
  };
4563
4576
 
4564
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4577
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4565
4578
  var correctBoxShadow = {
4566
4579
  correct: (latest, { treeScale, projectionDelta }) => {
4567
4580
  const original = latest;
@@ -4583,16 +4596,11 @@ var correctBoxShadow = {
4583
4596
  }
4584
4597
  };
4585
4598
 
4586
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4599
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4587
4600
  var scaleCorrectors = {
4588
4601
  borderRadius: {
4589
4602
  ...correctBorderRadius,
4590
- applyTo: [
4591
- "borderTopLeftRadius",
4592
- "borderTopRightRadius",
4593
- "borderBottomLeftRadius",
4594
- "borderBottomRightRadius"
4595
- ]
4603
+ applyTo: [...cornerRadiusProps]
4596
4604
  },
4597
4605
  borderTopLeftRadius: correctBorderRadius,
4598
4606
  borderTopRightRadius: correctBorderRadius,
@@ -4601,12 +4609,12 @@ var scaleCorrectors = {
4601
4609
  boxShadow: correctBoxShadow
4602
4610
  };
4603
4611
 
4604
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4612
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4605
4613
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4606
4614
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4607
4615
  }
4608
4616
 
4609
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4617
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4610
4618
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4611
4619
  const style = props.style;
4612
4620
  const prevStyle = prevProps?.style;
@@ -4621,7 +4629,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4621
4629
  return newValues;
4622
4630
  }
4623
4631
 
4624
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4632
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4625
4633
  function getComputedStyle2(element) {
4626
4634
  return window.getComputedStyle(element);
4627
4635
  }
@@ -4631,6 +4639,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4631
4639
  this.type = "html";
4632
4640
  this.renderInstance = renderHTML;
4633
4641
  }
4642
+ mount(instance) {
4643
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4644
+ super.mount(instance);
4645
+ }
4634
4646
  readValueFromInstance(instance, key) {
4635
4647
  if (transformProps.has(key)) {
4636
4648
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4651,7 +4663,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4651
4663
  }
4652
4664
  };
4653
4665
 
4654
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4666
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4655
4667
  var dashKeys = {
4656
4668
  offset: "stroke-dashoffset",
4657
4669
  array: "stroke-dasharray"
@@ -4667,8 +4679,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4667
4679
  attrs[keys.array] = `${length} ${spacing}`;
4668
4680
  }
4669
4681
 
4670
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4671
- var cssMotionPathProperties = [
4682
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4683
+ var cssStyleProperties = [
4684
+ "transform",
4685
+ "opacity",
4672
4686
  "offsetDistance",
4673
4687
  "offsetPath",
4674
4688
  "offsetRotate",
@@ -4694,9 +4708,11 @@ function buildSVGAttrs(state, {
4694
4708
  state.attrs = state.style;
4695
4709
  state.style = {};
4696
4710
  const { attrs, style } = state;
4697
- if (attrs.transform) {
4698
- style.transform = attrs.transform;
4699
- delete attrs.transform;
4711
+ for (const key of cssStyleProperties) {
4712
+ if (attrs[key] !== void 0) {
4713
+ style[key] = attrs[key];
4714
+ delete attrs[key];
4715
+ }
4700
4716
  }
4701
4717
  if (style.transform || attrs.transformOrigin) {
4702
4718
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4706,12 +4722,6 @@ function buildSVGAttrs(state, {
4706
4722
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4707
4723
  delete attrs.transformBox;
4708
4724
  }
4709
- for (const key of cssMotionPathProperties) {
4710
- if (attrs[key] !== void 0) {
4711
- style[key] = attrs[key];
4712
- delete attrs[key];
4713
- }
4714
- }
4715
4725
  if (attrX !== void 0)
4716
4726
  attrs.x = attrX;
4717
4727
  if (attrY !== void 0)
@@ -4723,7 +4733,7 @@ function buildSVGAttrs(state, {
4723
4733
  }
4724
4734
  }
4725
4735
 
4726
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4736
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4727
4737
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4728
4738
  "baseFrequency",
4729
4739
  "diffuseConstant",
@@ -4750,10 +4760,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4750
4760
  "lengthAdjust"
4751
4761
  ]);
4752
4762
 
4753
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4763
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4754
4764
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4755
4765
 
4756
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4766
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4757
4767
  function renderSVG(element, renderState, _styleProp, projection) {
4758
4768
  renderHTML(element, renderState, void 0, projection);
4759
4769
  for (const key in renderState.attrs) {
@@ -4761,7 +4771,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4761
4771
  }
4762
4772
  }
4763
4773
 
4764
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4774
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4765
4775
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4766
4776
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4767
4777
  for (const key in props) {
@@ -4773,7 +4783,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4773
4783
  return newValues;
4774
4784
  }
4775
4785
 
4776
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4786
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4777
4787
  var SVGVisualElement = class extends DOMVisualElement {
4778
4788
  constructor() {
4779
4789
  super(...arguments);
@@ -4789,6 +4799,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4789
4799
  const defaultType = getDefaultValueType(key);
4790
4800
  return defaultType ? defaultType.default || 0 : 0;
4791
4801
  }
4802
+ if (cssStyleProperties.includes(key)) {
4803
+ const computedStyle = getComputedStyle(instance);
4804
+ const value = computedStyle[key];
4805
+ if (typeof value === "string" && value)
4806
+ return value.trim();
4807
+ }
4792
4808
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4793
4809
  return instance.getAttribute(key);
4794
4810
  }
@@ -4807,7 +4823,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4807
4823
  }
4808
4824
  };
4809
4825
 
4810
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4826
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4811
4827
  var numVariantProps = variantProps.length;
4812
4828
  function getVariantContext(visualElement) {
4813
4829
  if (!visualElement)
@@ -4830,7 +4846,7 @@ function getVariantContext(visualElement) {
4830
4846
  return context;
4831
4847
  }
4832
4848
 
4833
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4849
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4834
4850
  function shallowCompare(next, prev) {
4835
4851
  if (!Array.isArray(prev))
4836
4852
  return false;
@@ -4844,7 +4860,7 @@ function shallowCompare(next, prev) {
4844
4860
  return true;
4845
4861
  }
4846
4862
 
4847
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4863
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4848
4864
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4849
4865
  var numAnimationTypes = variantPriorityOrder.length;
4850
4866
  function createAnimateFunction(visualElement) {
@@ -4937,7 +4953,7 @@ function createAnimationState(visualElement) {
4937
4953
  continue;
4938
4954
  let valueHasChanged = false;
4939
4955
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
4940
- valueHasChanged = !shallowCompare(next, prev);
4956
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
4941
4957
  } else {
4942
4958
  valueHasChanged = next !== prev;
4943
4959
  }
@@ -5056,7 +5072,7 @@ function createState() {
5056
5072
  };
5057
5073
  }
5058
5074
 
5059
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5075
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5060
5076
  function copyAxisInto(axis, originAxis) {
5061
5077
  axis.min = originAxis.min;
5062
5078
  axis.max = originAxis.max;
@@ -5072,7 +5088,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5072
5088
  delta.origin = originDelta.origin;
5073
5089
  }
5074
5090
 
5075
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5091
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5076
5092
  var SCALE_PRECISION = 1e-4;
5077
5093
  var SCALE_MIN = 1 - SCALE_PRECISION;
5078
5094
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5120,7 +5136,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5120
5136
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5121
5137
  }
5122
5138
 
5123
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5139
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5124
5140
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5125
5141
  point -= translate;
5126
5142
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5153,7 +5169,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5153
5169
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5154
5170
  }
5155
5171
 
5156
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5172
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5157
5173
  function isAxisDeltaZero(delta) {
5158
5174
  return delta.translate === 0 && delta.scale === 1;
5159
5175
  }
@@ -5179,12 +5195,12 @@ function axisDeltaEquals(a, b) {
5179
5195
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5180
5196
  }
5181
5197
 
5182
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5198
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5183
5199
  function eachAxis(callback) {
5184
5200
  return [callback("x"), callback("y")];
5185
5201
  }
5186
5202
 
5187
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5203
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5188
5204
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5189
5205
  let transform2 = "";
5190
5206
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5197,11 +5213,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5197
5213
  transform2 += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5198
5214
  }
5199
5215
  if (latestTransform) {
5200
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5216
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5201
5217
  if (transformPerspective)
5202
5218
  transform2 = `perspective(${transformPerspective}px) ${transform2}`;
5203
5219
  if (rotate2)
5204
5220
  transform2 += `rotate(${rotate2}deg) `;
5221
+ if (pathRotation)
5222
+ transform2 += `rotate(${pathRotation}deg) `;
5205
5223
  if (rotateX)
5206
5224
  transform2 += `rotateX(${rotateX}deg) `;
5207
5225
  if (rotateY)
@@ -5219,14 +5237,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5219
5237
  return transform2 || "none";
5220
5238
  }
5221
5239
 
5222
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5223
- var borderLabels = [
5224
- "borderTopLeftRadius",
5225
- "borderTopRightRadius",
5226
- "borderBottomLeftRadius",
5227
- "borderBottomRightRadius"
5228
- ];
5229
- var numBorders = borderLabels.length;
5240
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5241
+ var numBorders = cornerRadiusProps.length;
5230
5242
  var asNumber = (value) => typeof value === "string" ? parseFloat(value) : value;
5231
5243
  var isPx = (value) => typeof value === "number" || px.test(value);
5232
5244
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5237,7 +5249,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5237
5249
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5238
5250
  }
5239
5251
  for (let i = 0; i < numBorders; i++) {
5240
- const borderLabel = borderLabels[i];
5252
+ const borderLabel = cornerRadiusProps[i];
5241
5253
  let followRadius = getRadius(follow, borderLabel);
5242
5254
  let leadRadius = getRadius(lead, borderLabel);
5243
5255
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5273,23 +5285,23 @@ function compress(min, max, easing) {
5273
5285
  };
5274
5286
  }
5275
5287
 
5276
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5288
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5277
5289
  function animateSingleValue(value, keyframes2, options) {
5278
5290
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5279
5291
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5280
5292
  return motionValue$1.animation;
5281
5293
  }
5282
5294
 
5283
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5295
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5284
5296
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5285
5297
  target.addEventListener(eventName, handler, options);
5286
- return () => target.removeEventListener(eventName, handler);
5298
+ return () => target.removeEventListener(eventName, handler, options);
5287
5299
  }
5288
5300
 
5289
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5301
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5290
5302
  var compareByDepth = (a, b) => a.depth - b.depth;
5291
5303
 
5292
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5304
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5293
5305
  var FlatTree = class {
5294
5306
  constructor() {
5295
5307
  this.children = [];
@@ -5310,7 +5322,7 @@ var FlatTree = class {
5310
5322
  }
5311
5323
  };
5312
5324
 
5313
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5325
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5314
5326
  function delay(callback, timeout) {
5315
5327
  const start = time.now();
5316
5328
  const checkElapsed = ({ timestamp }) => {
@@ -5324,12 +5336,12 @@ function delay(callback, timeout) {
5324
5336
  return () => cancelFrame(checkElapsed);
5325
5337
  }
5326
5338
 
5327
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5339
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5328
5340
  function resolveMotionValue(value) {
5329
5341
  return isMotionValue(value) ? value.get() : value;
5330
5342
  }
5331
5343
 
5332
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5344
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5333
5345
  var NodeStack = class {
5334
5346
  constructor() {
5335
5347
  this.members = [];
@@ -5410,7 +5422,7 @@ var NodeStack = class {
5410
5422
  }
5411
5423
  };
5412
5424
 
5413
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5425
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5414
5426
  var globalProjectionState = {
5415
5427
  /**
5416
5428
  * Global flag as to whether the tree has animated since the last time
@@ -5591,7 +5603,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5591
5603
  animationOptions.type = false;
5592
5604
  }
5593
5605
  this.startAnimation(animationOptions);
5594
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5606
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5595
5607
  } else {
5596
5608
  if (!hasLayoutChanged) {
5597
5609
  finishAnimation(this);
@@ -6063,7 +6075,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6063
6075
  this.projectionDelta = createDelta();
6064
6076
  this.projectionDeltaWithTransform = createDelta();
6065
6077
  }
6066
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6078
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6067
6079
  const snapshot = this.snapshot;
6068
6080
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6069
6081
  const mixedValues = { ...this.latestValues };
@@ -6081,10 +6093,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6081
6093
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6082
6094
  this.animationProgress = 0;
6083
6095
  let prevRelativeTarget;
6096
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6084
6097
  this.mixTargetDelta = (latest) => {
6085
6098
  const progress2 = latest / 1e3;
6086
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6087
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6099
+ const point = interpolate2?.(progress2);
6100
+ if (point) {
6101
+ targetDelta.x.translate = point.x;
6102
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6103
+ targetDelta.x.origin = delta.x.origin;
6104
+ targetDelta.x.originPoint = delta.x.originPoint;
6105
+ targetDelta.y.translate = point.y;
6106
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6107
+ targetDelta.y.origin = delta.y.origin;
6108
+ targetDelta.y.originPoint = delta.y.originPoint;
6109
+ } else {
6110
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6111
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6112
+ }
6088
6113
  this.setTargetDelta(targetDelta);
6089
6114
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6090
6115
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6100,6 +6125,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6100
6125
  this.animationValues = mixedValues;
6101
6126
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6102
6127
  }
6128
+ if (point && point.rotate !== void 0) {
6129
+ if (!this.animationValues)
6130
+ this.animationValues = mixedValues;
6131
+ this.animationValues.pathRotation = point.rotate;
6132
+ }
6103
6133
  this.root.scheduleUpdateProjection();
6104
6134
  this.scheduleRender();
6105
6135
  this.animationProgress = progress2;
@@ -6126,8 +6156,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6126
6156
  this.mixTargetDelta(latest);
6127
6157
  options.onUpdate && options.onUpdate(latest);
6128
6158
  },
6129
- onStop: () => {
6130
- },
6131
6159
  onComplete: () => {
6132
6160
  options.onComplete && options.onComplete();
6133
6161
  this.completeAnimation();
@@ -6456,7 +6484,7 @@ function resetSkewAndRotation(node) {
6456
6484
  function removeLeadSnapshots(stack) {
6457
6485
  stack.removeLeadSnapshot();
6458
6486
  }
6459
- function mixAxisDelta(output, delta, p) {
6487
+ function mixAxisDeltaLinear(output, delta, p) {
6460
6488
  output.translate = mixNumber(delta.translate, 0, p);
6461
6489
  output.scale = mixNumber(delta.scale, 1, p);
6462
6490
  output.origin = delta.origin;
@@ -6494,7 +6522,7 @@ function checkNodeWasScrollRoot(node) {
6494
6522
  return node !== node.root && node.scroll?.wasRoot;
6495
6523
  }
6496
6524
 
6497
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6525
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6498
6526
  var DocumentProjectionNode = createProjectionNode({
6499
6527
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6500
6528
  measureScroll: () => ({
@@ -6504,7 +6532,7 @@ var DocumentProjectionNode = createProjectionNode({
6504
6532
  checkIsScrollRoot: () => true
6505
6533
  });
6506
6534
 
6507
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6535
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6508
6536
  var rootProjectionNode = {
6509
6537
  current: void 0
6510
6538
  };
@@ -6567,7 +6595,7 @@ function useComposedRefs(...refs) {
6567
6595
  return React4.useCallback(composeRefs(...refs), refs);
6568
6596
  }
6569
6597
 
6570
- // ../../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
6598
+ // ../../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
6571
6599
  var PopChildMeasure = class extends React4.Component {
6572
6600
  getSnapshotBeforeUpdate(prevProps) {
6573
6601
  const element = this.props.childRef.current;
@@ -6583,6 +6611,7 @@ var PopChildMeasure = class extends React4.Component {
6583
6611
  size.left = element.offsetLeft;
6584
6612
  size.right = parentWidth - size.width - size.left;
6585
6613
  size.bottom = parentHeight - size.height - size.top;
6614
+ size.direction = computedStyle.direction;
6586
6615
  }
6587
6616
  return null;
6588
6617
  }
@@ -6604,16 +6633,18 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6604
6633
  top: 0,
6605
6634
  left: 0,
6606
6635
  right: 0,
6607
- bottom: 0
6636
+ bottom: 0,
6637
+ direction: "ltr"
6608
6638
  });
6609
6639
  const { nonce } = useContext(MotionConfigContext);
6610
- const childRef = children.props?.ref ?? children?.ref;
6640
+ const childRef = pop !== false ? children.props?.ref ?? children?.ref : void 0;
6611
6641
  const composedRef = useComposedRefs(ref, childRef);
6612
6642
  useInsertionEffect(() => {
6613
- const { width, height, top, left, right, bottom } = size.current;
6643
+ const { width, height, top, left, right, bottom, direction } = size.current;
6614
6644
  if (isPresent || pop === false || !ref.current || !width || !height)
6615
6645
  return;
6616
- const x = anchorX === "left" ? `left: ${left}` : `right: ${right}`;
6646
+ const isRTL = direction === "rtl";
6647
+ const x = anchorX === "left" ? isRTL ? `right: ${right}` : `left: ${left}` : isRTL ? `left: ${left}` : `right: ${right}`;
6617
6648
  const y = anchorY === "bottom" ? `bottom: ${bottom}` : `top: ${top}`;
6618
6649
  ref.current.dataset.motionPopId = id3;
6619
6650
  const style = document.createElement("style");
@@ -6642,10 +6673,16 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6642
6673
  return jsx(PopChildMeasure, { isPresent, childRef: ref, sizeRef: size, pop, children: pop === false ? children : React4.cloneElement(children, { ref: composedRef }) });
6643
6674
  }
6644
6675
 
6645
- // ../../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
6676
+ // ../../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
6646
6677
  var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, mode, anchorX, anchorY, root }) => {
6647
6678
  const presenceChildren = useConstant(newChildrenMap);
6648
6679
  const id3 = useId();
6680
+ const isPresentRef = useRef(isPresent);
6681
+ const onExitCompleteRef = useRef(onExitComplete);
6682
+ useIsomorphicLayoutEffect(() => {
6683
+ isPresentRef.current = isPresent;
6684
+ onExitCompleteRef.current = onExitComplete;
6685
+ });
6649
6686
  let isReusedContext = true;
6650
6687
  let context = useMemo(() => {
6651
6688
  isReusedContext = false;
@@ -6664,7 +6701,10 @@ var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, pre
6664
6701
  },
6665
6702
  register: (childId) => {
6666
6703
  presenceChildren.set(childId, false);
6667
- return () => presenceChildren.delete(childId);
6704
+ return () => {
6705
+ presenceChildren.delete(childId);
6706
+ !isPresentRef.current && !presenceChildren.size && onExitCompleteRef.current?.();
6707
+ };
6668
6708
  }
6669
6709
  };
6670
6710
  }, [isPresent, presenceChildren, onExitComplete]);
@@ -6707,7 +6747,7 @@ function onlyElements(children) {
6707
6747
  return filtered;
6708
6748
  }
6709
6749
 
6710
- // ../../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
6750
+ // ../../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
6711
6751
  var AnimatePresence = ({ children, custom, initial = true, onExitComplete, presenceAffectsLayout = true, mode = "sync", propagate = false, anchorX = "left", anchorY = "top", root }) => {
6712
6752
  const [isParentPresent, safeToRemove] = usePresence(propagate);
6713
6753
  const presentChildren = useMemo(() => onlyElements(children), [children]);
@@ -6718,6 +6758,11 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6718
6758
  const exitingComponents = useRef(/* @__PURE__ */ new Set());
6719
6759
  const [diffedChildren, setDiffedChildren] = useState(presentChildren);
6720
6760
  const [renderedChildren, setRenderedChildren] = useState(presentChildren);
6761
+ useIsomorphicLayoutEffect(() => {
6762
+ if (propagate && !isParentPresent && !renderedChildren.length) {
6763
+ safeToRemove?.();
6764
+ }
6765
+ }, [isParentPresent, propagate, renderedChildren.length, safeToRemove]);
6721
6766
  useIsomorphicLayoutEffect(() => {
6722
6767
  isInitialRender.current = false;
6723
6768
  pendingPresentChildren.current = presentChildren;
@@ -6736,12 +6781,14 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6736
6781
  const exitingChildren = [];
6737
6782
  if (presentChildren !== diffedChildren) {
6738
6783
  let nextChildren = [...presentChildren];
6739
- for (let i = 0; i < renderedChildren.length; i++) {
6740
- const child = renderedChildren[i];
6741
- const key = getChildKey(child);
6742
- if (!presentKeys.includes(key)) {
6743
- nextChildren.splice(i, 0, child);
6784
+ let insertionIndex = 0;
6785
+ for (const child of renderedChildren) {
6786
+ const presentIndex = presentKeys.indexOf(getChildKey(child));
6787
+ if (presentIndex === -1) {
6788
+ nextChildren.splice(insertionIndex++, 0, child);
6744
6789
  exitingChildren.push(child);
6790
+ } else {
6791
+ insertionIndex = presentIndex + exitingChildren.length + 1;
6745
6792
  }
6746
6793
  }
6747
6794
  if (mode === "wait" && exitingChildren.length) {
@@ -6785,7 +6832,7 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6785
6832
  };
6786
6833
  var LazyContext = createContext({ strict: false });
6787
6834
 
6788
- // ../../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
6835
+ // ../../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
6789
6836
  var featureProps = {
6790
6837
  animation: [
6791
6838
  "animate",
@@ -6824,7 +6871,7 @@ function getInitializedFeatureDefinitions() {
6824
6871
  return getFeatureDefinitions();
6825
6872
  }
6826
6873
 
6827
- // ../../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
6874
+ // ../../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
6828
6875
  function loadFeatures(features) {
6829
6876
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6830
6877
  for (const key in features) {
@@ -6835,74 +6882,9 @@ function loadFeatures(features) {
6835
6882
  }
6836
6883
  setFeatureDefinitions(featureDefinitions2);
6837
6884
  }
6838
-
6839
- // ../../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
6840
- var validMotionProps = /* @__PURE__ */ new Set([
6841
- "animate",
6842
- "exit",
6843
- "variants",
6844
- "initial",
6845
- "style",
6846
- "values",
6847
- "variants",
6848
- "transition",
6849
- "transformTemplate",
6850
- "custom",
6851
- "inherit",
6852
- "onBeforeLayoutMeasure",
6853
- "onAnimationStart",
6854
- "onAnimationComplete",
6855
- "onUpdate",
6856
- "onDragStart",
6857
- "onDrag",
6858
- "onDragEnd",
6859
- "onMeasureDragConstraints",
6860
- "onDirectionLock",
6861
- "onDragTransitionEnd",
6862
- "_dragX",
6863
- "_dragY",
6864
- "onHoverStart",
6865
- "onHoverEnd",
6866
- "onViewportEnter",
6867
- "onViewportLeave",
6868
- "globalTapTarget",
6869
- "propagate",
6870
- "ignoreStrict",
6871
- "viewport"
6872
- ]);
6873
- function isValidMotionProp(key) {
6874
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6875
- }
6876
-
6877
- // ../../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
6878
- var shouldForward = (key) => !isValidMotionProp(key);
6879
- function loadExternalIsValidProp(isValidProp) {
6880
- if (typeof isValidProp !== "function")
6881
- return;
6882
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6883
- }
6884
- try {
6885
- const emotionPkg = "@emotion/is-prop-valid";
6886
- loadExternalIsValidProp(__require(emotionPkg).default);
6887
- } catch {
6888
- }
6889
- function filterProps(props, isDom, forwardMotionProps) {
6890
- const filteredProps = {};
6891
- for (const key in props) {
6892
- if (key === "values" && typeof props.values === "object")
6893
- continue;
6894
- if (isMotionValue(props[key]))
6895
- continue;
6896
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6897
- props["draggable"] && key.startsWith("onDrag")) {
6898
- filteredProps[key] = props[key];
6899
- }
6900
- }
6901
- return filteredProps;
6902
- }
6903
6885
  var MotionContext = /* @__PURE__ */ createContext({});
6904
6886
 
6905
- // ../../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
6887
+ // ../../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
6906
6888
  function getCurrentTreeVariants(props, context) {
6907
6889
  if (isControllingVariants(props)) {
6908
6890
  const { initial, animate } = props;
@@ -6914,7 +6896,7 @@ function getCurrentTreeVariants(props, context) {
6914
6896
  return props.inherit !== false ? context : {};
6915
6897
  }
6916
6898
 
6917
- // ../../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
6899
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs
6918
6900
  function useCreateMotionContext(props) {
6919
6901
  const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));
6920
6902
  return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6923,7 +6905,7 @@ function variantLabelsAsDependency(prop) {
6923
6905
  return Array.isArray(prop) ? prop.join(" ") : prop;
6924
6906
  }
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/render/html/utils/create-render-state.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/render/html/utils/create-render-state.mjs
6927
6909
  var createHtmlRenderState = () => ({
6928
6910
  style: {},
6929
6911
  transform: {},
@@ -6931,7 +6913,7 @@ var createHtmlRenderState = () => ({
6931
6913
  vars: {}
6932
6914
  });
6933
6915
 
6934
- // ../../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
6916
+ // ../../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
6935
6917
  function copyRawValuesOnly(target, source, props) {
6936
6918
  for (const key in source) {
6937
6919
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -6968,13 +6950,13 @@ function useHTMLProps(props, visualState) {
6968
6950
  return htmlProps;
6969
6951
  }
6970
6952
 
6971
- // ../../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
6953
+ // ../../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
6972
6954
  var createSvgRenderState = () => ({
6973
6955
  ...createHtmlRenderState(),
6974
6956
  attrs: {}
6975
6957
  });
6976
6958
 
6977
- // ../../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
6959
+ // ../../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
6978
6960
  function useSVGProps(props, visualState, _isStatic, Component3) {
6979
6961
  const visualProps = useMemo(() => {
6980
6962
  const state = createSvgRenderState();
@@ -6992,7 +6974,64 @@ function useSVGProps(props, visualState, _isStatic, Component3) {
6992
6974
  return visualProps;
6993
6975
  }
6994
6976
 
6995
- // ../../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
6977
+ // ../../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
6978
+ var validMotionProps = /* @__PURE__ */ new Set([
6979
+ "animate",
6980
+ "exit",
6981
+ "variants",
6982
+ "initial",
6983
+ "style",
6984
+ "values",
6985
+ "variants",
6986
+ "transition",
6987
+ "transformTemplate",
6988
+ "custom",
6989
+ "inherit",
6990
+ "onBeforeLayoutMeasure",
6991
+ "onAnimationStart",
6992
+ "onAnimationComplete",
6993
+ "onUpdate",
6994
+ "onDragStart",
6995
+ "onDrag",
6996
+ "onDragEnd",
6997
+ "onMeasureDragConstraints",
6998
+ "onDirectionLock",
6999
+ "onDragTransitionEnd",
7000
+ "_dragX",
7001
+ "_dragY",
7002
+ "onHoverStart",
7003
+ "onHoverEnd",
7004
+ "onViewportEnter",
7005
+ "onViewportLeave",
7006
+ "globalTapTarget",
7007
+ "propagate",
7008
+ "ignoreStrict",
7009
+ "viewport"
7010
+ ]);
7011
+ function isValidMotionProp(key) {
7012
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
7013
+ }
7014
+
7015
+ // ../../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
7016
+ function shouldForward(key, isValidProp) {
7017
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
7018
+ }
7019
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
7020
+ const filteredProps = {};
7021
+ for (const key in props) {
7022
+ if (key === "values" && typeof props.values === "object")
7023
+ continue;
7024
+ if (isMotionValue(props[key]))
7025
+ continue;
7026
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
7027
+ props["draggable"] && key.startsWith("onDrag")) {
7028
+ filteredProps[key] = props[key];
7029
+ }
7030
+ }
7031
+ return filteredProps;
7032
+ }
7033
+
7034
+ // ../../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
6996
7035
  var lowercaseSVGElements = [
6997
7036
  "animate",
6998
7037
  "circle",
@@ -7021,7 +7060,7 @@ var lowercaseSVGElements = [
7021
7060
  "view"
7022
7061
  ];
7023
7062
 
7024
- // ../../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
7063
+ // ../../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
7025
7064
  function isSVGComponent(Component3) {
7026
7065
  if (
7027
7066
  /**
@@ -7048,11 +7087,11 @@ function isSVGComponent(Component3) {
7048
7087
  return false;
7049
7088
  }
7050
7089
 
7051
- // ../../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
7052
- function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
7090
+ // ../../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
7091
+ function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
7053
7092
  const useVisualProps = isSVG ?? isSVGComponent(Component3) ? useSVGProps : useHTMLProps;
7054
7093
  const visualProps = useVisualProps(props, latestValues, isStatic, Component3);
7055
- const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps);
7094
+ const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps, isValidProp);
7056
7095
  const elementProps = Component3 !== Fragment$1 ? { ...filteredProps, ...visualProps, ref } : {};
7057
7096
  const { children } = props;
7058
7097
  const renderedChildren = useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -7117,20 +7156,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
7117
7156
  return isStatic ? make() : useConstant(make);
7118
7157
  };
7119
7158
 
7120
- // ../../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
7159
+ // ../../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
7121
7160
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
7122
7161
  scrapeMotionValuesFromProps,
7123
7162
  createRenderState: createHtmlRenderState
7124
7163
  });
7125
7164
 
7126
- // ../../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
7165
+ // ../../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
7127
7166
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
7128
7167
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
7129
7168
  createRenderState: createSvgRenderState
7130
7169
  });
7131
7170
 
7132
- // ../../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
7133
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
7171
+ // ../../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
7172
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
7134
7173
  function useMotionRef(visualState, visualElement, externalRef) {
7135
7174
  const externalRefContainer = useRef(externalRef);
7136
7175
  useInsertionEffect(() => {
@@ -7141,6 +7180,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
7141
7180
  if (instance) {
7142
7181
  visualState.onMount?.(instance);
7143
7182
  }
7183
+ if (visualElement) {
7184
+ instance ? visualElement.mount(instance) : visualElement.unmount();
7185
+ }
7144
7186
  const ref = externalRefContainer.current;
7145
7187
  if (typeof ref === "function") {
7146
7188
  if (instance) {
@@ -7157,19 +7199,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
7157
7199
  } else if (ref) {
7158
7200
  ref.current = instance;
7159
7201
  }
7160
- if (visualElement) {
7161
- instance ? visualElement.mount(instance) : visualElement.unmount();
7162
- }
7163
7202
  }, [visualElement]);
7164
7203
  }
7165
7204
  var SwitchLayoutGroupContext = createContext({});
7166
7205
 
7167
- // ../../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
7206
+ // ../../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
7168
7207
  function isRefObject(ref) {
7169
7208
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
7170
7209
  }
7171
7210
 
7172
- // ../../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
7211
+ // ../../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
7173
7212
  function useVisualElement(Component3, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
7174
7213
  const { visualElement: parent } = useContext(MotionContext);
7175
7214
  const lazyContext = useContext(LazyContext);
@@ -7265,7 +7304,7 @@ function getClosestProjectingNode(visualElement) {
7265
7304
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7266
7305
  }
7267
7306
 
7268
- // ../../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
7307
+ // ../../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
7269
7308
  function createMotionComponent(Component3, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7270
7309
  preloadedFeatures && loadFeatures(preloadedFeatures);
7271
7310
  const isSVG = type ? type === "svg" : isSVGComponent(Component3);
@@ -7277,7 +7316,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7277
7316
  ...props,
7278
7317
  layoutId: useLayoutId(props)
7279
7318
  };
7280
- const { isStatic } = configAndProps;
7319
+ const { isStatic, isValidProp } = configAndProps;
7281
7320
  const context = useCreateMotionContext(props);
7282
7321
  const visualState = useVisualState(props, isStatic);
7283
7322
  if (!isStatic && typeof window !== "undefined") {
@@ -7286,7 +7325,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7286
7325
  MeasureLayout2 = layoutProjection.MeasureLayout;
7287
7326
  context.visualElement = useVisualElement(Component3, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7288
7327
  }
7289
- return jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component3, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] });
7328
+ return jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component3, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG, isValidProp)] });
7290
7329
  }
7291
7330
  MotionDOMComponent.displayName = `motion.${typeof Component3 === "string" ? Component3 : `create(${Component3.displayName ?? Component3.name ?? ""})`}`;
7292
7331
  const ForwardRefMotionComponent = forwardRef(MotionDOMComponent);
@@ -7316,7 +7355,7 @@ function getProjectionFunctionality(props) {
7316
7355
  };
7317
7356
  }
7318
7357
 
7319
- // ../../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
7358
+ // ../../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
7320
7359
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7321
7360
  if (typeof Proxy === "undefined") {
7322
7361
  return createMotionComponent;
@@ -7354,7 +7393,7 @@ var createDomVisualElement = (Component3, options) => {
7354
7393
  });
7355
7394
  };
7356
7395
 
7357
- // ../../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
7396
+ // ../../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
7358
7397
  var AnimationFeature = class extends Feature {
7359
7398
  /**
7360
7399
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7390,7 +7429,7 @@ var AnimationFeature = class extends Feature {
7390
7429
  }
7391
7430
  };
7392
7431
 
7393
- // ../../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
7432
+ // ../../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
7394
7433
  var id2 = 0;
7395
7434
  var ExitAnimationFeature = class extends Feature {
7396
7435
  constructor() {
@@ -7409,7 +7448,7 @@ var ExitAnimationFeature = class extends Feature {
7409
7448
  if (isPresent && prevIsPresent === false) {
7410
7449
  if (this.isExitComplete) {
7411
7450
  const { initial, custom } = this.node.getProps();
7412
- if (typeof initial === "string") {
7451
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7413
7452
  const resolved = resolveVariant(this.node, initial, custom);
7414
7453
  if (resolved) {
7415
7454
  const { transition, transitionEnd, ...target } = resolved;
@@ -7447,7 +7486,7 @@ var ExitAnimationFeature = class extends Feature {
7447
7486
  }
7448
7487
  };
7449
7488
 
7450
- // ../../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
7489
+ // ../../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
7451
7490
  var animations = {
7452
7491
  animation: {
7453
7492
  Feature: AnimationFeature
@@ -7457,7 +7496,7 @@ var animations = {
7457
7496
  }
7458
7497
  };
7459
7498
 
7460
- // ../../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
7499
+ // ../../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
7461
7500
  function extractEventInfo(event) {
7462
7501
  return {
7463
7502
  point: {
@@ -7468,17 +7507,17 @@ function extractEventInfo(event) {
7468
7507
  }
7469
7508
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
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/events/add-pointer-event.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/events/add-pointer-event.mjs
7472
7511
  function addPointerEvent(target, eventName, handler, options) {
7473
7512
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7474
7513
  }
7475
7514
 
7476
- // ../../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
7515
+ // ../../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
7477
7516
  var getContextWindow = ({ current }) => {
7478
7517
  return current ? current.ownerDocument.defaultView : null;
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/utils/distance.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/utils/distance.mjs
7482
7521
  var distance = (a, b) => Math.abs(a - b);
7483
7522
  function distance2D(a, b) {
7484
7523
  const xDelta = distance(a.x, b.x);
@@ -7486,7 +7525,7 @@ function distance2D(a, b) {
7486
7525
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7487
7526
  }
7488
7527
 
7489
- // ../../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
7528
+ // ../../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
7490
7529
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7491
7530
  var PanSession = class {
7492
7531
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7559,7 +7598,8 @@ var PanSession = class {
7559
7598
  this.history = [{ ...point, timestamp }];
7560
7599
  const { onSessionStart } = handlers;
7561
7600
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7562
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7601
+ const eventOptions = { passive: true, capture: true };
7602
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7563
7603
  if (element) {
7564
7604
  this.startScrollTracking(element);
7565
7605
  }
@@ -7693,7 +7733,7 @@ function getVelocity(history, timeDelta) {
7693
7733
  return currentVelocity;
7694
7734
  }
7695
7735
 
7696
- // ../../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
7736
+ // ../../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
7697
7737
  function applyConstraints(point, { min, max }, elastic) {
7698
7738
  if (min !== void 0 && point < min) {
7699
7739
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7771,7 +7811,7 @@ function resolvePointElastic(dragElastic, label) {
7771
7811
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7772
7812
  }
7773
7813
 
7774
- // ../../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
7814
+ // ../../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
7775
7815
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7776
7816
  var VisualElementDragControls = class {
7777
7817
  constructor(visualElement) {
@@ -7972,6 +8012,10 @@ var VisualElementDragControls = class {
7972
8012
  const { projection } = this.visualElement;
7973
8013
  if (!projection || !projection.layout)
7974
8014
  return false;
8015
+ if (projection.root) {
8016
+ projection.root.scroll = void 0;
8017
+ projection.root.updateScroll();
8018
+ }
7975
8019
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
7976
8020
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
7977
8021
  if (onMeasureDragConstraints) {
@@ -8028,7 +8072,7 @@ var VisualElementDragControls = class {
8028
8072
  const dragKey = `_drag${axis.toUpperCase()}`;
8029
8073
  const props = this.visualElement.getProps();
8030
8074
  const externalMotionValue = props[dragKey];
8031
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
8075
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
8032
8076
  }
8033
8077
  snapToCursor(point) {
8034
8078
  eachAxis((axis) => {
@@ -8176,7 +8220,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
8176
8220
  return direction;
8177
8221
  }
8178
8222
 
8179
- // ../../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
8223
+ // ../../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
8180
8224
  var DragGesture = class extends Feature {
8181
8225
  constructor(node) {
8182
8226
  super(node);
@@ -8210,7 +8254,7 @@ var DragGesture = class extends Feature {
8210
8254
  }
8211
8255
  };
8212
8256
 
8213
- // ../../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
8257
+ // ../../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
8214
8258
  var asyncHandler = (handler) => (event, info) => {
8215
8259
  if (handler) {
8216
8260
  frame.update(() => handler(event, info), false, true);
@@ -8353,7 +8397,7 @@ function MeasureLayout(props) {
8353
8397
  return jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8354
8398
  }
8355
8399
 
8356
- // ../../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
8400
+ // ../../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
8357
8401
  var drag = {
8358
8402
  pan: {
8359
8403
  Feature: PanGesture
@@ -8365,7 +8409,7 @@ var drag = {
8365
8409
  }
8366
8410
  };
8367
8411
 
8368
- // ../../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
8412
+ // ../../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
8369
8413
  function handleHoverEvent(node, event, lifecycle) {
8370
8414
  const { props } = node;
8371
8415
  if (node.animationState && props.whileHover) {
@@ -8391,7 +8435,7 @@ var HoverGesture = class extends Feature {
8391
8435
  }
8392
8436
  };
8393
8437
 
8394
- // ../../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
8438
+ // ../../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
8395
8439
  var FocusGesture = class extends Feature {
8396
8440
  constructor() {
8397
8441
  super(...arguments);
@@ -8422,7 +8466,7 @@ var FocusGesture = class extends Feature {
8422
8466
  }
8423
8467
  };
8424
8468
 
8425
- // ../../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
8469
+ // ../../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
8426
8470
  function handlePressEvent(node, event, lifecycle) {
8427
8471
  const { props } = node;
8428
8472
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8455,7 +8499,7 @@ var PressGesture = class extends Feature {
8455
8499
  }
8456
8500
  };
8457
8501
 
8458
- // ../../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
8502
+ // ../../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
8459
8503
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8460
8504
  var observers = /* @__PURE__ */ new WeakMap();
8461
8505
  var fireObserverCallback = (entry) => {
@@ -8487,7 +8531,7 @@ function observeIntersection(element, options, callback) {
8487
8531
  };
8488
8532
  }
8489
8533
 
8490
- // ../../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
8534
+ // ../../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
8491
8535
  var thresholdNames = {
8492
8536
  some: 0,
8493
8537
  all: 1
@@ -8548,7 +8592,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8548
8592
  return (name) => viewport[name] !== prevViewport[name];
8549
8593
  }
8550
8594
 
8551
- // ../../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
8595
+ // ../../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
8552
8596
  var gestureAnimations = {
8553
8597
  inView: {
8554
8598
  Feature: InViewFeature
@@ -8564,7 +8608,7 @@ var gestureAnimations = {
8564
8608
  }
8565
8609
  };
8566
8610
 
8567
- // ../../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
8611
+ // ../../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
8568
8612
  var layout = {
8569
8613
  layout: {
8570
8614
  ProjectionNode: HTMLProjectionNode,
@@ -8572,7 +8616,7 @@ var layout = {
8572
8616
  }
8573
8617
  };
8574
8618
 
8575
- // ../../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
8619
+ // ../../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
8576
8620
  var featureBundle = {
8577
8621
  ...animations,
8578
8622
  ...gestureAnimations,
@@ -8580,7 +8624,7 @@ var featureBundle = {
8580
8624
  ...layout
8581
8625
  };
8582
8626
 
8583
- // ../../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
8627
+ // ../../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
8584
8628
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8585
8629
  function useMotionValue(initial) {
8586
8630
  const value = useConstant(() => motionValue(initial));
@@ -8592,7 +8636,7 @@ function useMotionValue(initial) {
8592
8636
  return value;
8593
8637
  }
8594
8638
 
8595
- // ../../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
8639
+ // ../../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
8596
8640
  function useCombineMotionValues(values, combineValues) {
8597
8641
  const value = useMotionValue(combineValues());
8598
8642
  const updateValue = () => value.set(combineValues());
@@ -8608,7 +8652,7 @@ function useCombineMotionValues(values, combineValues) {
8608
8652
  return value;
8609
8653
  }
8610
8654
 
8611
- // ../../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
8655
+ // ../../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
8612
8656
  function useComputed(compute) {
8613
8657
  collectMotionValues.current = [];
8614
8658
  compute();
@@ -8617,7 +8661,7 @@ function useComputed(compute) {
8617
8661
  return value;
8618
8662
  }
8619
8663
 
8620
- // ../../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
8664
+ // ../../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
8621
8665
  function useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options) {
8622
8666
  if (typeof input === "function") {
8623
8667
  return useComputed(input);
@@ -8660,6 +8704,9 @@ function useMapTransform(inputValue, inputRange, outputMap, options) {
8660
8704
  }
8661
8705
  return output;
8662
8706
  }
8707
+
8708
+ // ../../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
8709
+ var motion2 = motion;
8663
8710
  function AppleCardsCarousel({
8664
8711
  cards,
8665
8712
  autoPlay = false,
@@ -8761,7 +8808,7 @@ function AppleCardsCarousel({
8761
8808
  const style = getCardStyle(index);
8762
8809
  const isActive = index === currentIndex;
8763
8810
  return /* @__PURE__ */ jsx(
8764
- motion.div,
8811
+ motion2.div,
8765
8812
  {
8766
8813
  className: cn(
8767
8814
  "absolute inset-0 w-full h-full",
@@ -8802,7 +8849,7 @@ function AppleCardsCarousel({
8802
8849
  },
8803
8850
  children: [
8804
8851
  card.image && /* @__PURE__ */ jsxs(
8805
- motion.div,
8852
+ motion2.div,
8806
8853
  {
8807
8854
  className: "absolute inset-0 w-full h-full",
8808
8855
  style: {
@@ -8828,7 +8875,7 @@ function AppleCardsCarousel({
8828
8875
  ),
8829
8876
  /* @__PURE__ */ jsx(Box, { className: "relative z-10 flex flex-col justify-end h-full p-8 md:p-12", children: card.content ? card.content : /* @__PURE__ */ jsxs(Fragment, { children: [
8830
8877
  /* @__PURE__ */ jsx(
8831
- motion.h3,
8878
+ motion2.h3,
8832
8879
  {
8833
8880
  className: "text-3xl md:text-4xl lg:text-5xl font-bold text-white mb-2",
8834
8881
  initial: { opacity: 0, y: 20 },
@@ -8838,7 +8885,7 @@ function AppleCardsCarousel({
8838
8885
  }
8839
8886
  ),
8840
8887
  card.subtitle && /* @__PURE__ */ jsx(
8841
- motion.p,
8888
+ motion2.p,
8842
8889
  {
8843
8890
  className: "text-xl md:text-2xl text-white/80 mb-4",
8844
8891
  initial: { opacity: 0, y: 20 },
@@ -8848,7 +8895,7 @@ function AppleCardsCarousel({
8848
8895
  }
8849
8896
  ),
8850
8897
  card.description && /* @__PURE__ */ jsx(
8851
- motion.p,
8898
+ motion2.p,
8852
8899
  {
8853
8900
  className: "text-base md:text-lg text-white/70 max-w-2xl",
8854
8901
  initial: { opacity: 0, y: 20 },