@luxfi/ui 8.2.11 → 8.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/3d-carousel.d.ts +2 -1
  2. package/dist/3d-carousel.d.ts.map +1 -1
  3. package/dist/3d-marquee.cjs +635 -607
  4. package/dist/3d-marquee.js +635 -607
  5. package/dist/animated-background.cjs +643 -615
  6. package/dist/animated-background.js +643 -615
  7. package/dist/animated-beam.cjs +634 -606
  8. package/dist/animated-beam.js +634 -606
  9. package/dist/animated-icon.cjs +672 -625
  10. package/dist/animated-icon.js +672 -625
  11. package/dist/animated-list.cjs +794 -663
  12. package/dist/animated-list.js +794 -663
  13. package/dist/animated-number.cjs +644 -616
  14. package/dist/animated-number.js +644 -616
  15. package/dist/animated-testimonials.cjs +668 -621
  16. package/dist/animated-testimonials.js +668 -621
  17. package/dist/animated-text.cjs +675 -628
  18. package/dist/animated-text.js +675 -628
  19. package/dist/animated-tooltip.cjs +668 -621
  20. package/dist/animated-tooltip.js +668 -621
  21. package/dist/apple-cards-carousel.cjs +676 -629
  22. package/dist/apple-cards-carousel.js +676 -629
  23. package/dist/apple-hello-effect.cjs +634 -606
  24. package/dist/apple-hello-effect.js +634 -606
  25. package/dist/calendar.cjs +2 -37
  26. package/dist/calendar.d.ts +11 -1
  27. package/dist/calendar.d.ts.map +1 -1
  28. package/dist/calendar.js +3 -38
  29. package/dist/dock.cjs +645 -617
  30. package/dist/dock.js +645 -617
  31. package/dist/image-zoom.d.ts +3 -2
  32. package/dist/image-zoom.d.ts.map +1 -1
  33. package/dist/input-otp.d.ts +4 -2
  34. package/dist/input-otp.d.ts.map +1 -1
  35. package/dist/pulse-animation.cjs +636 -608
  36. package/dist/pulse-animation.js +636 -608
  37. package/dist/resizable.cjs +4 -24
  38. package/dist/resizable.d.ts +12 -12
  39. package/dist/resizable.d.ts.map +1 -1
  40. package/dist/resizable.js +4 -4
  41. package/dist/reveal-animation.cjs +639 -611
  42. package/dist/reveal-animation.js +639 -611
  43. package/package.json +43 -41
  44. package/src/3d-carousel.tsx +2 -2
  45. package/src/calendar.tsx +12 -43
  46. package/src/image-zoom.tsx +2 -2
  47. package/src/resizable.tsx +7 -7
  48. package/src/table.tsx +9 -9
  49. package/tokens.css +21 -0
@@ -7,12 +7,6 @@ var react = require('react');
7
7
  var ui = require('@hanzo/ui');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
 
10
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
11
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
12
- }) : x)(function(x) {
13
- if (typeof require !== "undefined") return require.apply(this, arguments);
14
- throw Error('Dynamic require of "' + x + '" is not supported');
15
- });
16
10
  var LayoutGroupContext = react.createContext({});
17
11
  function useConstant(init) {
18
12
  const ref = react.useRef(null);
@@ -22,14 +16,14 @@ function useConstant(init) {
22
16
  return ref.current;
23
17
  }
24
18
 
25
- // ../../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
19
+ // ../../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
26
20
  var isBrowser = typeof window !== "undefined";
27
21
 
28
- // ../../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
22
+ // ../../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
29
23
  var useIsomorphicLayoutEffect = isBrowser ? react.useLayoutEffect : react.useEffect;
30
24
  var PresenceContext = /* @__PURE__ */ react.createContext(null);
31
25
 
32
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/array.mjs
26
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/array.mjs
33
27
  function addUniqueItem(arr, item) {
34
28
  if (arr.indexOf(item) === -1)
35
29
  arr.push(item);
@@ -40,7 +34,7 @@ function removeItem(arr, item) {
40
34
  arr.splice(index, 1);
41
35
  }
42
36
 
43
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/clamp.mjs
37
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/clamp.mjs
44
38
  var clamp = (min, max, v) => {
45
39
  if (v > max)
46
40
  return max;
@@ -49,12 +43,12 @@ var clamp = (min, max, v) => {
49
43
  return v;
50
44
  };
51
45
 
52
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/format-error-message.mjs
46
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/format-error-message.mjs
53
47
  function formatErrorMessage(message, errorCode) {
54
48
  return errorCode ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` : message;
55
49
  }
56
50
 
57
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/errors.mjs
51
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/errors.mjs
58
52
  var warning = () => {
59
53
  };
60
54
  var invariant = () => {
@@ -72,21 +66,19 @@ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
72
66
  };
73
67
  }
74
68
 
75
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/global-config.mjs
69
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/global-config.mjs
76
70
  var MotionGlobalConfig = {};
77
71
 
78
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
72
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
79
73
  var isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
80
74
 
81
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-object.mjs
82
- function isObject(value) {
83
- return typeof value === "object" && value !== null;
84
- }
75
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-object.mjs
76
+ var isObject = (value) => typeof value === "object" && value !== null;
85
77
 
86
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
78
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
87
79
  var isZeroValueString = (v) => /^0[^.\s]+$/u.test(v);
88
80
 
89
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/memo.mjs
81
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/memo.mjs
90
82
  // @__NO_SIDE_EFFECTS__
91
83
  function memo(callback) {
92
84
  let result;
@@ -97,20 +89,19 @@ function memo(callback) {
97
89
  };
98
90
  }
99
91
 
100
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/noop.mjs
92
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/noop.mjs
101
93
  var noop = /* @__NO_SIDE_EFFECTS__ */ (any) => any;
102
94
 
103
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/pipe.mjs
104
- var combineFunctions = (a, b) => (v) => b(a(v));
105
- var pipe = (...transformers) => transformers.reduce(combineFunctions);
95
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/pipe.mjs
96
+ var pipe = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v)));
106
97
 
107
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/progress.mjs
98
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/progress.mjs
108
99
  var progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
109
- const toFromDifference = to - from;
110
- return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
100
+ const range = to - from;
101
+ return range ? (value - from) / range : 1;
111
102
  };
112
103
 
113
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
104
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
114
105
  var SubscriptionManager = class {
115
106
  constructor() {
116
107
  this.subscriptions = [];
@@ -140,16 +131,14 @@ var SubscriptionManager = class {
140
131
  }
141
132
  };
142
133
 
143
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/time-conversion.mjs
134
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/time-conversion.mjs
144
135
  var secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3;
145
136
  var millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
146
137
 
147
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
148
- function velocityPerSecond(velocity, frameDuration) {
149
- return frameDuration ? velocity * (1e3 / frameDuration) : 0;
150
- }
138
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
139
+ var velocityPerSecond = /* @__NO_SIDE_EFFECTS__ */ (velocity, frameDuration) => frameDuration ? velocity * (1e3 / frameDuration) : 0;
151
140
 
152
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/warn-once.mjs
141
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/warn-once.mjs
153
142
  var warned = /* @__PURE__ */ new Set();
154
143
  function warnOnce(condition, message, errorCode) {
155
144
  if (condition || warned.has(message))
@@ -158,7 +147,7 @@ function warnOnce(condition, message, errorCode) {
158
147
  warned.add(message);
159
148
  }
160
149
 
161
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
150
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
162
151
  var calcBezier = (t, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t + (3 * a2 - 6 * a1)) * t + 3 * a1) * t;
163
152
  var subdivisionPrecision = 1e-7;
164
153
  var subdivisionMaxIterations = 12;
@@ -177,6 +166,7 @@ function binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {
177
166
  } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations);
178
167
  return currentT;
179
168
  }
169
+ // @__NO_SIDE_EFFECTS__
180
170
  function cubicBezier(mX1, mY1, mX2, mY2) {
181
171
  if (mX1 === mY1 && mX2 === mY2)
182
172
  return noop;
@@ -184,39 +174,39 @@ function cubicBezier(mX1, mY1, mX2, mY2) {
184
174
  return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
185
175
  }
186
176
 
187
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
188
- var mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
177
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
178
+ var mirrorEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
189
179
 
190
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
191
- var reverseEasing = (easing) => (p) => 1 - easing(1 - p);
180
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
181
+ var reverseEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => 1 - easing(1 - p);
192
182
 
193
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/back.mjs
183
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/back.mjs
194
184
  var backOut = /* @__PURE__ */ cubicBezier(0.33, 1.53, 0.69, 0.99);
195
185
  var backIn = /* @__PURE__ */ reverseEasing(backOut);
196
186
  var backInOut = /* @__PURE__ */ mirrorEasing(backIn);
197
187
 
198
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
188
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
199
189
  var anticipate = (p) => p >= 1 ? 1 : (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
200
190
 
201
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/circ.mjs
191
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/circ.mjs
202
192
  var circIn = (p) => 1 - Math.sin(Math.acos(p));
203
193
  var circOut = reverseEasing(circIn);
204
194
  var circInOut = mirrorEasing(circIn);
205
195
 
206
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/ease.mjs
196
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/ease.mjs
207
197
  var easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1);
208
198
  var easeOut = /* @__PURE__ */ cubicBezier(0, 0, 0.58, 1);
209
199
  var easeInOut = /* @__PURE__ */ cubicBezier(0.42, 0, 0.58, 1);
210
200
 
211
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
212
- var isEasingArray = (ease2) => {
201
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
202
+ var isEasingArray = /* @__NO_SIDE_EFFECTS__ */ (ease2) => {
213
203
  return Array.isArray(ease2) && typeof ease2[0] !== "number";
214
204
  };
215
205
 
216
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
217
- var isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number";
206
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
207
+ var isBezierDefinition = /* @__NO_SIDE_EFFECTS__ */ (easing) => Array.isArray(easing) && typeof easing[0] === "number";
218
208
 
219
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
209
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
220
210
  var easingLookup = {
221
211
  linear: noop,
222
212
  easeIn,
@@ -245,7 +235,7 @@ var easingDefinitionToFunction = (definition) => {
245
235
  return definition;
246
236
  };
247
237
 
248
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
238
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/order.mjs
249
239
  var stepsOrder = [
250
240
  "setup",
251
241
  // Compute
@@ -265,8 +255,8 @@ var stepsOrder = [
265
255
  // Compute
266
256
  ];
267
257
 
268
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
269
- function createRenderStep(runNextFrame, stepName) {
258
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
259
+ function createRenderStep(runNextFrame) {
270
260
  let thisFrame = /* @__PURE__ */ new Set();
271
261
  let nextFrame = /* @__PURE__ */ new Set();
272
262
  let isProcessing = false;
@@ -328,7 +318,7 @@ function createRenderStep(runNextFrame, stepName) {
328
318
  return step;
329
319
  }
330
320
 
331
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
321
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
332
322
  var maxElapsed = 40;
333
323
  function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
334
324
  let runNextFrame = false;
@@ -391,10 +381,10 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
391
381
  return { schedule, cancel, state, steps };
392
382
  }
393
383
 
394
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
384
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/frame.mjs
395
385
  var { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true);
396
386
 
397
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
387
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
398
388
  var now;
399
389
  function clearTime() {
400
390
  now = void 0;
@@ -412,7 +402,7 @@ var time = {
412
402
  }
413
403
  };
414
404
 
415
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
405
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
416
406
  var checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
417
407
  var isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
418
408
  var startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
@@ -429,7 +419,7 @@ function containsCSSVariable(value) {
429
419
  return value.split("/*")[0].includes("var(--");
430
420
  }
431
421
 
432
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
422
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
433
423
  var number = {
434
424
  test: (v) => typeof v === "number",
435
425
  parse: parseFloat,
@@ -444,21 +434,21 @@ var scale = {
444
434
  default: 1
445
435
  };
446
436
 
447
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
437
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
448
438
  var sanitize = (v) => Math.round(v * 1e5) / 1e5;
449
439
 
450
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
440
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
451
441
  var floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
452
442
 
453
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
443
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
454
444
  function isNullish(v) {
455
445
  return v == null;
456
446
  }
457
447
 
458
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
448
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
459
449
  var singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
460
450
 
461
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
451
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
462
452
  var isColorString = (type, testProp) => (v) => {
463
453
  return Boolean(typeof v === "string" && singleColorRegex.test(v) && v.startsWith(type) || testProp && !isNullish(v) && Object.prototype.hasOwnProperty.call(v, testProp));
464
454
  };
@@ -474,7 +464,7 @@ var splitColor = (aName, bName, cName) => (v) => {
474
464
  };
475
465
  };
476
466
 
477
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
467
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
478
468
  var clampRgbUnit = (v) => clamp(0, 255, v);
479
469
  var rgbUnit = {
480
470
  ...number,
@@ -486,7 +476,7 @@ var rgba = {
486
476
  transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
487
477
  };
488
478
 
489
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
479
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
490
480
  function parseHex(v) {
491
481
  let r = "";
492
482
  let g = "";
@@ -520,7 +510,7 @@ var hex = {
520
510
  transform: rgba.transform
521
511
  };
522
512
 
523
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
513
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
524
514
  var createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
525
515
  test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
526
516
  parse: parseFloat,
@@ -537,7 +527,7 @@ var progressPercentage = /* @__PURE__ */ (() => ({
537
527
  transform: (v) => percent.transform(v * 100)
538
528
  }))();
539
529
 
540
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
530
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
541
531
  var hsla = {
542
532
  test: /* @__PURE__ */ isColorString("hsl", "hue"),
543
533
  parse: /* @__PURE__ */ splitColor("hue", "saturation", "lightness"),
@@ -546,7 +536,7 @@ var hsla = {
546
536
  }
547
537
  };
548
538
 
549
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
539
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/index.mjs
550
540
  var color = {
551
541
  test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),
552
542
  parse: (v) => {
@@ -568,10 +558,10 @@ var color = {
568
558
  }
569
559
  };
570
560
 
571
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
561
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
572
562
  var colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
573
563
 
574
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
564
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
575
565
  function test(v) {
576
566
  return isNaN(v) && typeof v === "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
577
567
  }
@@ -656,7 +646,7 @@ var complex = {
656
646
  getAnimatableNone
657
647
  };
658
648
 
659
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
649
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
660
650
  function hueToRgb(p, q, t) {
661
651
  if (t < 0)
662
652
  t += 1;
@@ -694,17 +684,17 @@ function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
694
684
  };
695
685
  }
696
686
 
697
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
687
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
698
688
  function mixImmediate(a, b) {
699
689
  return (p) => p > 0 ? b : a;
700
690
  }
701
691
 
702
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
692
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/number.mjs
703
693
  var mixNumber = (from, to, progress2) => {
704
694
  return from + (to - from) * progress2;
705
695
  };
706
696
 
707
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
697
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/color.mjs
708
698
  var mixLinearColor = (from, to, v) => {
709
699
  const fromExpo = from * from;
710
700
  const expo = v * (to * to - fromExpo) + fromExpo;
@@ -739,7 +729,7 @@ var mixColor = (from, to) => {
739
729
  };
740
730
  };
741
731
 
742
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
732
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
743
733
  var invisibleValues = /* @__PURE__ */ new Set(["none", "hidden"]);
744
734
  function mixVisibility(origin, target) {
745
735
  if (invisibleValues.has(origin)) {
@@ -749,7 +739,7 @@ function mixVisibility(origin, target) {
749
739
  }
750
740
  }
751
741
 
752
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
742
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
753
743
  function mixNumber2(a, b) {
754
744
  return (p) => mixNumber(a, b, p);
755
745
  }
@@ -819,7 +809,7 @@ var mixComplex = (origin, target) => {
819
809
  }
820
810
  };
821
811
 
822
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
812
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/index.mjs
823
813
  function mix(from, to, p) {
824
814
  if (typeof from === "number" && typeof to === "number" && typeof p === "number") {
825
815
  return mixNumber(from, to, p);
@@ -828,7 +818,7 @@ function mix(from, to, p) {
828
818
  return mixer(from, to);
829
819
  }
830
820
 
831
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
821
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
832
822
  var frameloopDriver = (update) => {
833
823
  const passTimestamp = ({ timestamp }) => update(timestamp);
834
824
  return {
@@ -842,7 +832,7 @@ var frameloopDriver = (update) => {
842
832
  };
843
833
  };
844
834
 
845
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
835
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
846
836
  var generateLinearEasing = (easing, duration, resolution = 10) => {
847
837
  let points = "";
848
838
  const numPoints = Math.max(Math.round(duration / resolution), 2);
@@ -852,7 +842,7 @@ var generateLinearEasing = (easing, duration, resolution = 10) => {
852
842
  return `linear(${points.substring(0, points.length - 2)})`;
853
843
  };
854
844
 
855
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
845
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
856
846
  var maxGeneratorDuration = 2e4;
857
847
  function calcGeneratorDuration(generator) {
858
848
  let duration = 0;
@@ -865,7 +855,7 @@ function calcGeneratorDuration(generator) {
865
855
  return duration >= maxGeneratorDuration ? Infinity : duration;
866
856
  }
867
857
 
868
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
858
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
869
859
  function createGeneratorEasing(options, scale2 = 100, createGenerator) {
870
860
  const generator = createGenerator({ ...options, keyframes: [0, scale2] });
871
861
  const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
@@ -878,7 +868,7 @@ function createGeneratorEasing(options, scale2 = 100, createGenerator) {
878
868
  };
879
869
  }
880
870
 
881
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
871
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
882
872
  var springDefaults = {
883
873
  // Default spring physics
884
874
  stiffness: 100,
@@ -1117,14 +1107,14 @@ spring.applyToOptions = (options) => {
1117
1107
  return options;
1118
1108
  };
1119
1109
 
1120
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1110
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1121
1111
  var velocitySampleDuration = 5;
1122
1112
  function getGeneratorVelocity(resolveValue, t, current) {
1123
1113
  const prevT = Math.max(t - velocitySampleDuration, 0);
1124
1114
  return velocityPerSecond(current - resolveValue(prevT), t - prevT);
1125
1115
  }
1126
1116
 
1127
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1117
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1128
1118
  function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed }) {
1129
1119
  const origin = keyframes2[0];
1130
1120
  const state = {
@@ -1188,7 +1178,7 @@ function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstan
1188
1178
  };
1189
1179
  }
1190
1180
 
1191
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1181
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1192
1182
  function createMixers(output, ease2, customMixer) {
1193
1183
  const mixers = [];
1194
1184
  const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;
@@ -1233,7 +1223,7 @@ function interpolate(input, output, { clamp: isClamp = true, ease: ease2, mixer
1233
1223
  return isClamp ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator;
1234
1224
  }
1235
1225
 
1236
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1226
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1237
1227
  function fillOffset(offset, remaining) {
1238
1228
  const min = offset[offset.length - 1];
1239
1229
  for (let i = 1; i <= remaining; i++) {
@@ -1242,19 +1232,19 @@ function fillOffset(offset, remaining) {
1242
1232
  }
1243
1233
  }
1244
1234
 
1245
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1235
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1246
1236
  function defaultOffset(arr) {
1247
1237
  const offset = [0];
1248
1238
  fillOffset(offset, arr.length - 1);
1249
1239
  return offset;
1250
1240
  }
1251
1241
 
1252
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1242
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1253
1243
  function convertOffsetToTimes(offset, duration) {
1254
1244
  return offset.map((o) => o * duration);
1255
1245
  }
1256
1246
 
1257
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1247
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1258
1248
  function defaultEasing(values, easing) {
1259
1249
  return values.map(() => easing || easeInOut).splice(0, values.length - 1);
1260
1250
  }
@@ -1283,7 +1273,7 @@ function keyframes({ duration = 300, keyframes: keyframeValues, times, ease: eas
1283
1273
  };
1284
1274
  }
1285
1275
 
1286
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1276
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1287
1277
  var isNotNull = (value) => value !== null;
1288
1278
  function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
1289
1279
  const resolvedKeyframes = keyframes2.filter(isNotNull);
@@ -1292,7 +1282,7 @@ function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyf
1292
1282
  return !index || finalKeyframe === void 0 ? resolvedKeyframes[index] : finalKeyframe;
1293
1283
  }
1294
1284
 
1295
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1285
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1296
1286
  var transitionTypeMap = {
1297
1287
  decay: inertia,
1298
1288
  inertia,
@@ -1306,7 +1296,7 @@ function replaceTransitionType(transition) {
1306
1296
  }
1307
1297
  }
1308
1298
 
1309
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1299
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1310
1300
  var WithPromise = class {
1311
1301
  constructor() {
1312
1302
  this.updateFinished();
@@ -1332,7 +1322,7 @@ var WithPromise = class {
1332
1322
  }
1333
1323
  };
1334
1324
 
1335
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1325
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1336
1326
  var percentToProgress = (percent2) => percent2 / 100;
1337
1327
  var JSAnimation = class extends WithPromise {
1338
1328
  constructor(options) {
@@ -1611,14 +1601,14 @@ var JSAnimation = class extends WithPromise {
1611
1601
  }
1612
1602
  };
1613
1603
 
1614
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1604
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1615
1605
  function fillWildcards(keyframes2) {
1616
1606
  for (let i = 1; i < keyframes2.length; i++) {
1617
1607
  keyframes2[i] ?? (keyframes2[i] = keyframes2[i - 1]);
1618
1608
  }
1619
1609
  }
1620
1610
 
1621
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1611
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1622
1612
  var radToDeg = (rad) => rad * 180 / Math.PI;
1623
1613
  var rotate = (v) => {
1624
1614
  const angle = radToDeg(Math.atan2(v[1], v[0]));
@@ -1698,7 +1688,7 @@ function convertTransformToNumber(value) {
1698
1688
  return parseFloat(value.trim());
1699
1689
  }
1700
1690
 
1701
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1691
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1702
1692
  var transformPropOrder = [
1703
1693
  "transformPerspective",
1704
1694
  "x",
@@ -1718,9 +1708,9 @@ var transformPropOrder = [
1718
1708
  "skewX",
1719
1709
  "skewY"
1720
1710
  ];
1721
- var transformProps = /* @__PURE__ */ (() => new Set(transformPropOrder))();
1711
+ var transformProps = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([...transformPropOrder, "pathRotation"]))();
1722
1712
 
1723
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1713
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1724
1714
  var isNumOrPxType = (v) => v === number || v === px;
1725
1715
  var transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
1726
1716
  var nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
@@ -1756,7 +1746,7 @@ var positionalValues = {
1756
1746
  positionalValues.translateX = positionalValues.x;
1757
1747
  positionalValues.translateY = positionalValues.y;
1758
1748
 
1759
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1749
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1760
1750
  var toResolve = /* @__PURE__ */ new Set();
1761
1751
  var isScheduled = false;
1762
1752
  var anyNeedsMeasurement = false;
@@ -1882,27 +1872,27 @@ var KeyframeResolver = class {
1882
1872
  }
1883
1873
  };
1884
1874
 
1885
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1875
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1886
1876
  var isCSSVar = (name) => name.startsWith("--");
1887
1877
 
1888
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1878
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1889
1879
  function setStyle(element, name, value) {
1890
1880
  isCSSVar(name) ? element.style.setProperty(name, value) : element.style[name] = value;
1891
1881
  }
1892
1882
 
1893
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1883
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1894
1884
  var supportsFlags = {};
1895
1885
 
1896
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1886
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1897
1887
  function memoSupports(callback, supportsFlag) {
1898
1888
  const memoized = memo(callback);
1899
1889
  return () => supportsFlags[supportsFlag] ?? memoized();
1900
1890
  }
1901
1891
 
1902
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1892
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1903
1893
  var supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== void 0, "scrollTimeline");
1904
1894
 
1905
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1895
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1906
1896
  var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1907
1897
  try {
1908
1898
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -1912,10 +1902,10 @@ var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1912
1902
  return true;
1913
1903
  }, "linearEasing");
1914
1904
 
1915
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1905
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1916
1906
  var cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
1917
1907
 
1918
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1908
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1919
1909
  var supportedWaapiEasing = {
1920
1910
  linear: "linear",
1921
1911
  ease: "ease",
@@ -1928,7 +1918,7 @@ var supportedWaapiEasing = {
1928
1918
  backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
1929
1919
  };
1930
1920
 
1931
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1921
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1932
1922
  function mapEasingToNativeEasing(easing, duration) {
1933
1923
  if (!easing) {
1934
1924
  return void 0;
@@ -1943,7 +1933,7 @@ function mapEasingToNativeEasing(easing, duration) {
1943
1933
  }
1944
1934
  }
1945
1935
 
1946
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1936
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1947
1937
  function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeOut", times } = {}, pseudoElement = void 0) {
1948
1938
  const keyframeOptions = {
1949
1939
  [valueName]: keyframes2
@@ -1963,16 +1953,15 @@ function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0
1963
1953
  };
1964
1954
  if (pseudoElement)
1965
1955
  options.pseudoElement = pseudoElement;
1966
- const animation = element.animate(keyframeOptions, options);
1967
- return animation;
1956
+ return element.animate(keyframeOptions, options);
1968
1957
  }
1969
1958
 
1970
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1959
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1971
1960
  function isGenerator(type) {
1972
1961
  return typeof type === "function" && "applyToOptions" in type;
1973
1962
  }
1974
1963
 
1975
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1964
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1976
1965
  function applyGeneratorOptions({ type, ...options }) {
1977
1966
  if (isGenerator(type) && supportsLinearEasing()) {
1978
1967
  return type.applyToOptions(options);
@@ -1983,7 +1972,7 @@ function applyGeneratorOptions({ type, ...options }) {
1983
1972
  return options;
1984
1973
  }
1985
1974
 
1986
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1975
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1987
1976
  var NativeAnimation = class extends WithPromise {
1988
1977
  constructor(options) {
1989
1978
  super();
@@ -2133,7 +2122,7 @@ var NativeAnimation = class extends WithPromise {
2133
2122
  }
2134
2123
  };
2135
2124
 
2136
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2125
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2137
2126
  var unsupportedEasingFunctions = {
2138
2127
  anticipate,
2139
2128
  backInOut,
@@ -2148,7 +2137,7 @@ function replaceStringEasing(transition) {
2148
2137
  }
2149
2138
  }
2150
2139
 
2151
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2140
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2152
2141
  var sampleDelta = 10;
2153
2142
  var NativeAnimationExtended = class extends NativeAnimation {
2154
2143
  constructor(options) {
@@ -2191,7 +2180,7 @@ var NativeAnimationExtended = class extends NativeAnimation {
2191
2180
  }
2192
2181
  };
2193
2182
 
2194
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2183
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2195
2184
  var isAnimatable = (value, name) => {
2196
2185
  if (name === "zIndex")
2197
2186
  return false;
@@ -2205,7 +2194,7 @@ var isAnimatable = (value, name) => {
2205
2194
  return false;
2206
2195
  };
2207
2196
 
2208
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2197
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2209
2198
  function hasKeyframesChanged(keyframes2) {
2210
2199
  const current = keyframes2[0];
2211
2200
  if (keyframes2.length === 1)
@@ -2232,24 +2221,22 @@ function canAnimate(keyframes2, name, type, velocity) {
2232
2221
  return hasKeyframesChanged(keyframes2) || (type === "spring" || isGenerator(type)) && velocity;
2233
2222
  }
2234
2223
 
2235
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2224
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2236
2225
  function makeAnimationInstant(options) {
2237
2226
  options.duration = 0;
2238
2227
  options.type = "keyframes";
2239
2228
  }
2240
2229
 
2241
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2230
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2242
2231
  var acceleratedValues = /* @__PURE__ */ new Set([
2243
2232
  "opacity",
2244
2233
  "clipPath",
2245
2234
  "filter",
2246
- "transform"
2247
- // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
2248
- // or until we implement support for linear() easing.
2249
- // "background-color"
2235
+ "transform",
2236
+ "backgroundColor"
2250
2237
  ]);
2251
2238
 
2252
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2239
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2253
2240
  var browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
2254
2241
  function hasBrowserOnlyColors(keyframes2) {
2255
2242
  for (let i = 0; i < keyframes2.length; i++) {
@@ -2260,7 +2247,7 @@ function hasBrowserOnlyColors(keyframes2) {
2260
2247
  return false;
2261
2248
  }
2262
2249
 
2263
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2250
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2264
2251
  var colorProperties = /* @__PURE__ */ new Set([
2265
2252
  "color",
2266
2253
  "backgroundColor",
@@ -2277,7 +2264,7 @@ var supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Elemen
2277
2264
  function supportsBrowserAnimation(options) {
2278
2265
  const { motionValue: motionValue2, name, repeatDelay, repeatType, damping, type, keyframes: keyframes2 } = options;
2279
2266
  const subject = motionValue2?.owner?.current;
2280
- if (!(subject instanceof HTMLElement)) {
2267
+ if (!(subject instanceof HTMLElement) && !(subject instanceof SVGElement)) {
2281
2268
  return false;
2282
2269
  }
2283
2270
  const { onUpdate, transformTemplate } = motionValue2.owner.getProps();
@@ -2292,7 +2279,7 @@ function supportsBrowserAnimation(options) {
2292
2279
  !onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
2293
2280
  }
2294
2281
 
2295
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2282
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2296
2283
  var MAX_RESOLVE_DELAY = 40;
2297
2284
  var AsyncMotionValueAnimation = class extends WithPromise {
2298
2285
  constructor({ autoplay = true, delay: delay2 = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", keyframes: keyframes2, name, motionValue: motionValue2, element, ...options }) {
@@ -2433,7 +2420,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
2433
2420
  }
2434
2421
  };
2435
2422
 
2436
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2423
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2437
2424
  function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {
2438
2425
  const index = Array.from(children).sort((a, b) => a.sortNodePosition(b)).indexOf(child);
2439
2426
  const numChildren = children.size;
@@ -2442,202 +2429,7 @@ function calcChildStagger(children, child, delayChildren, staggerChildren = 0, s
2442
2429
  return delayIsFunction ? delayChildren(index, numChildren) : staggerDirection === 1 ? index * staggerChildren : maxStaggerDuration - index * staggerChildren;
2443
2430
  }
2444
2431
 
2445
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2446
- var splitCSSVariableRegex = (
2447
- // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2448
- /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2449
- );
2450
- function parseCSSVariable(current) {
2451
- const match = splitCSSVariableRegex.exec(current);
2452
- if (!match)
2453
- return [,];
2454
- const [, token1, token2, fallback] = match;
2455
- return [`--${token1 ?? token2}`, fallback];
2456
- }
2457
- var maxDepth = 4;
2458
- function getVariableValue(current, element, depth = 1) {
2459
- invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2460
- const [token, fallback] = parseCSSVariable(current);
2461
- if (!token)
2462
- return;
2463
- const resolved = window.getComputedStyle(element).getPropertyValue(token);
2464
- if (resolved) {
2465
- const trimmed = resolved.trim();
2466
- return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2467
- }
2468
- return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2469
- }
2470
-
2471
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2472
- var underDampedSpring = {
2473
- type: "spring",
2474
- stiffness: 500,
2475
- damping: 25,
2476
- restSpeed: 10
2477
- };
2478
- var criticallyDampedSpring = (target) => ({
2479
- type: "spring",
2480
- stiffness: 550,
2481
- damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2482
- restSpeed: 10
2483
- });
2484
- var keyframesTransition = {
2485
- type: "keyframes",
2486
- duration: 0.8
2487
- };
2488
- var ease = {
2489
- type: "keyframes",
2490
- ease: [0.25, 0.1, 0.35, 1],
2491
- duration: 0.3
2492
- };
2493
- var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2494
- if (keyframes2.length > 2) {
2495
- return keyframesTransition;
2496
- } else if (transformProps.has(valueKey)) {
2497
- return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2498
- }
2499
- return ease;
2500
- };
2501
-
2502
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2503
- function resolveTransition(transition, parentTransition) {
2504
- if (transition?.inherit && parentTransition) {
2505
- const { inherit: _, ...rest } = transition;
2506
- return { ...parentTransition, ...rest };
2507
- }
2508
- return transition;
2509
- }
2510
-
2511
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2512
- function getValueTransition(transition, key) {
2513
- const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2514
- if (valueTransition !== transition) {
2515
- return resolveTransition(valueTransition, transition);
2516
- }
2517
- return valueTransition;
2518
- }
2519
-
2520
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2521
- var orchestrationKeys = /* @__PURE__ */ new Set([
2522
- "when",
2523
- "delay",
2524
- "delayChildren",
2525
- "staggerChildren",
2526
- "staggerDirection",
2527
- "repeat",
2528
- "repeatType",
2529
- "repeatDelay",
2530
- "from",
2531
- "elapsed"
2532
- ]);
2533
- function isTransitionDefined(transition) {
2534
- for (const key in transition) {
2535
- if (!orchestrationKeys.has(key))
2536
- return true;
2537
- }
2538
- return false;
2539
- }
2540
-
2541
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2542
- var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2543
- const valueTransition = getValueTransition(transition, name) || {};
2544
- const delay2 = valueTransition.delay || transition.delay || 0;
2545
- let { elapsed = 0 } = transition;
2546
- elapsed = elapsed - secondsToMilliseconds(delay2);
2547
- const options = {
2548
- keyframes: Array.isArray(target) ? target : [null, target],
2549
- ease: "easeOut",
2550
- velocity: value.getVelocity(),
2551
- ...valueTransition,
2552
- delay: -elapsed,
2553
- onUpdate: (v) => {
2554
- value.set(v);
2555
- valueTransition.onUpdate && valueTransition.onUpdate(v);
2556
- },
2557
- onComplete: () => {
2558
- onComplete();
2559
- valueTransition.onComplete && valueTransition.onComplete();
2560
- },
2561
- name,
2562
- motionValue: value,
2563
- element: isHandoff ? void 0 : element
2564
- };
2565
- if (!isTransitionDefined(valueTransition)) {
2566
- Object.assign(options, getDefaultTransition(name, options));
2567
- }
2568
- options.duration && (options.duration = secondsToMilliseconds(options.duration));
2569
- options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2570
- if (options.from !== void 0) {
2571
- options.keyframes[0] = options.from;
2572
- }
2573
- let shouldSkip = false;
2574
- if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2575
- makeAnimationInstant(options);
2576
- if (options.delay === 0) {
2577
- shouldSkip = true;
2578
- }
2579
- }
2580
- if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations) {
2581
- shouldSkip = true;
2582
- makeAnimationInstant(options);
2583
- options.delay = 0;
2584
- }
2585
- options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2586
- if (shouldSkip && !isHandoff && value.get() !== void 0) {
2587
- const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2588
- if (finalKeyframe !== void 0) {
2589
- frame.update(() => {
2590
- options.onUpdate(finalKeyframe);
2591
- options.onComplete();
2592
- });
2593
- return;
2594
- }
2595
- }
2596
- return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2597
- };
2598
-
2599
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2600
- function getValueState(visualElement) {
2601
- const state = [{}, {}];
2602
- visualElement?.values.forEach((value, key) => {
2603
- state[0][key] = value.get();
2604
- state[1][key] = value.getVelocity();
2605
- });
2606
- return state;
2607
- }
2608
- function resolveVariantFromProps(props, definition, custom, visualElement) {
2609
- if (typeof definition === "function") {
2610
- const [current, velocity] = getValueState(visualElement);
2611
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2612
- }
2613
- if (typeof definition === "string") {
2614
- definition = props.variants && props.variants[definition];
2615
- }
2616
- if (typeof definition === "function") {
2617
- const [current, velocity] = getValueState(visualElement);
2618
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2619
- }
2620
- return definition;
2621
- }
2622
-
2623
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2624
- function resolveVariant(visualElement, definition, custom) {
2625
- const props = visualElement.getProps();
2626
- return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2627
- }
2628
-
2629
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2630
- var positionalKeys = /* @__PURE__ */ new Set([
2631
- "width",
2632
- "height",
2633
- "top",
2634
- "left",
2635
- "right",
2636
- "bottom",
2637
- ...transformPropOrder
2638
- ]);
2639
-
2640
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/index.mjs
2432
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/index.mjs
2641
2433
  var MAX_VELOCITY_DELTA = 30;
2642
2434
  var isFloat = (value) => {
2643
2435
  return !isNaN(parseFloat(value));
@@ -2888,46 +2680,241 @@ var MotionValue = class {
2888
2680
  }
2889
2681
  this.clearAnimation();
2890
2682
  }
2891
- /**
2892
- * Returns `true` if this value is currently animating.
2893
- *
2894
- * @public
2895
- */
2896
- isAnimating() {
2897
- return !!this.animation;
2683
+ /**
2684
+ * Returns `true` if this value is currently animating.
2685
+ *
2686
+ * @public
2687
+ */
2688
+ isAnimating() {
2689
+ return !!this.animation;
2690
+ }
2691
+ clearAnimation() {
2692
+ delete this.animation;
2693
+ }
2694
+ /**
2695
+ * Destroy and clean up subscribers to this `MotionValue`.
2696
+ *
2697
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2698
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2699
+ * created a `MotionValue` via the `motionValue` function.
2700
+ *
2701
+ * @public
2702
+ */
2703
+ destroy() {
2704
+ this.dependents?.clear();
2705
+ this.events.destroy?.notify();
2706
+ this.clearListeners();
2707
+ this.stop();
2708
+ if (this.stopPassiveEffect) {
2709
+ this.stopPassiveEffect();
2710
+ }
2711
+ }
2712
+ };
2713
+ function motionValue(init, options) {
2714
+ return new MotionValue(init, options);
2715
+ }
2716
+
2717
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2718
+ function resolveTransition(transition, parentTransition) {
2719
+ if (transition?.inherit && parentTransition) {
2720
+ const { inherit: _, ...rest } = transition;
2721
+ return { ...parentTransition, ...rest };
2722
+ }
2723
+ return transition;
2724
+ }
2725
+
2726
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2727
+ function getValueTransition(transition, key) {
2728
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2729
+ if (valueTransition !== transition) {
2730
+ return resolveTransition(valueTransition, transition);
2731
+ }
2732
+ return valueTransition;
2733
+ }
2734
+
2735
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2736
+ var underDampedSpring = {
2737
+ type: "spring",
2738
+ stiffness: 500,
2739
+ damping: 25,
2740
+ restSpeed: 10
2741
+ };
2742
+ var criticallyDampedSpring = (target) => ({
2743
+ type: "spring",
2744
+ stiffness: 550,
2745
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2746
+ restSpeed: 10
2747
+ });
2748
+ var keyframesTransition = {
2749
+ type: "keyframes",
2750
+ duration: 0.8
2751
+ };
2752
+ var ease = {
2753
+ type: "keyframes",
2754
+ ease: [0.25, 0.1, 0.35, 1],
2755
+ duration: 0.3
2756
+ };
2757
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2758
+ if (keyframes2.length > 2) {
2759
+ return keyframesTransition;
2760
+ } else if (transformProps.has(valueKey)) {
2761
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2762
+ }
2763
+ return ease;
2764
+ };
2765
+
2766
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2767
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2768
+ "when",
2769
+ "delay",
2770
+ "delayChildren",
2771
+ "staggerChildren",
2772
+ "staggerDirection",
2773
+ "repeat",
2774
+ "repeatType",
2775
+ "repeatDelay",
2776
+ "from",
2777
+ "elapsed"
2778
+ ]);
2779
+ function isTransitionDefined(transition) {
2780
+ for (const key in transition) {
2781
+ if (!orchestrationKeys.has(key))
2782
+ return true;
2783
+ }
2784
+ return false;
2785
+ }
2786
+
2787
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2788
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2789
+ const valueTransition = getValueTransition(transition, name) || {};
2790
+ const delay2 = valueTransition.delay || transition.delay || 0;
2791
+ let { elapsed = 0 } = transition;
2792
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2793
+ const options = {
2794
+ keyframes: Array.isArray(target) ? target : [null, target],
2795
+ ease: "easeOut",
2796
+ velocity: value.getVelocity(),
2797
+ ...valueTransition,
2798
+ delay: -elapsed,
2799
+ onUpdate: (v) => {
2800
+ value.set(v);
2801
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2802
+ },
2803
+ onComplete: () => {
2804
+ onComplete();
2805
+ valueTransition.onComplete && valueTransition.onComplete();
2806
+ },
2807
+ name,
2808
+ motionValue: value,
2809
+ element: isHandoff ? void 0 : element
2810
+ };
2811
+ if (!isTransitionDefined(valueTransition)) {
2812
+ Object.assign(options, getDefaultTransition(name, options));
2813
+ }
2814
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2815
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2816
+ if (options.from !== void 0) {
2817
+ options.keyframes[0] = options.from;
2818
+ }
2819
+ let shouldSkip = false;
2820
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2821
+ makeAnimationInstant(options);
2822
+ if (options.delay === 0) {
2823
+ shouldSkip = true;
2824
+ }
2898
2825
  }
2899
- clearAnimation() {
2900
- delete this.animation;
2826
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2827
+ shouldSkip = true;
2828
+ makeAnimationInstant(options);
2829
+ options.delay = 0;
2901
2830
  }
2902
- /**
2903
- * Destroy and clean up subscribers to this `MotionValue`.
2904
- *
2905
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2906
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2907
- * created a `MotionValue` via the `motionValue` function.
2908
- *
2909
- * @public
2910
- */
2911
- destroy() {
2912
- this.dependents?.clear();
2913
- this.events.destroy?.notify();
2914
- this.clearListeners();
2915
- this.stop();
2916
- if (this.stopPassiveEffect) {
2917
- this.stopPassiveEffect();
2831
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2832
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2833
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2834
+ if (finalKeyframe !== void 0) {
2835
+ frame.update(() => {
2836
+ options.onUpdate(finalKeyframe);
2837
+ options.onComplete();
2838
+ });
2839
+ return;
2918
2840
  }
2919
2841
  }
2842
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2920
2843
  };
2921
- function motionValue(init, options) {
2922
- return new MotionValue(init, options);
2844
+
2845
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2846
+ var splitCSSVariableRegex = (
2847
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2848
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2849
+ );
2850
+ function parseCSSVariable(current) {
2851
+ const match = splitCSSVariableRegex.exec(current);
2852
+ if (!match)
2853
+ return [,];
2854
+ const [, token1, token2, fallback] = match;
2855
+ return [`--${token1 ?? token2}`, fallback];
2856
+ }
2857
+ var maxDepth = 4;
2858
+ function getVariableValue(current, element, depth = 1) {
2859
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2860
+ const [token, fallback] = parseCSSVariable(current);
2861
+ if (!token)
2862
+ return;
2863
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2864
+ if (resolved) {
2865
+ const trimmed = resolved.trim();
2866
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2867
+ }
2868
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2869
+ }
2870
+
2871
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2872
+ function getValueState(visualElement) {
2873
+ const state = [{}, {}];
2874
+ visualElement?.values.forEach((value, key) => {
2875
+ state[0][key] = value.get();
2876
+ state[1][key] = value.getVelocity();
2877
+ });
2878
+ return state;
2879
+ }
2880
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2881
+ if (typeof definition === "function") {
2882
+ const [current, velocity] = getValueState(visualElement);
2883
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2884
+ }
2885
+ if (typeof definition === "string") {
2886
+ definition = props.variants && props.variants[definition];
2887
+ }
2888
+ if (typeof definition === "function") {
2889
+ const [current, velocity] = getValueState(visualElement);
2890
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2891
+ }
2892
+ return definition;
2893
+ }
2894
+
2895
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2896
+ function resolveVariant(visualElement, definition, custom) {
2897
+ const props = visualElement.getProps();
2898
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2923
2899
  }
2924
2900
 
2925
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2901
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2902
+ var positionalKeys = /* @__PURE__ */ new Set([
2903
+ "width",
2904
+ "height",
2905
+ "top",
2906
+ "left",
2907
+ "right",
2908
+ "bottom",
2909
+ ...transformPropOrder
2910
+ ]);
2911
+
2912
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2926
2913
  var isKeyframesTarget = (v) => {
2927
2914
  return Array.isArray(v);
2928
2915
  };
2929
2916
 
2930
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2917
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2931
2918
  function setMotionValue(visualElement, key, value) {
2932
2919
  if (visualElement.hasValue(key)) {
2933
2920
  visualElement.getValue(key).set(value);
@@ -2948,15 +2935,15 @@ function setTarget(visualElement, definition) {
2948
2935
  }
2949
2936
  }
2950
2937
 
2951
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2938
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2952
2939
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2953
2940
 
2954
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2941
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2955
2942
  function isWillChangeMotionValue(value) {
2956
2943
  return Boolean(isMotionValue(value) && value.add);
2957
2944
  }
2958
2945
 
2959
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2946
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2960
2947
  function addValueToWillChange(visualElement, key) {
2961
2948
  const willChange = visualElement.getValue("willChange");
2962
2949
  if (isWillChangeMotionValue(willChange)) {
@@ -2968,21 +2955,22 @@ function addValueToWillChange(visualElement, key) {
2968
2955
  }
2969
2956
  }
2970
2957
 
2971
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2958
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2972
2959
  function camelToDash(str) {
2973
2960
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
2974
2961
  }
2975
2962
 
2976
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2963
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2977
2964
  var optimizedAppearDataId = "framerAppearId";
2978
2965
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
2979
2966
 
2980
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2967
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2981
2968
  function getOptimisedAppearId(visualElement) {
2982
2969
  return visualElement.props[optimizedAppearDataAttribute];
2983
2970
  }
2984
2971
 
2985
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2972
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2973
+ var isBrowser2 = typeof window !== "undefined";
2986
2974
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
2987
2975
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
2988
2976
  needsAnimating[key] = false;
@@ -2993,10 +2981,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
2993
2981
  const defaultTransition = visualElement.getDefaultTransition();
2994
2982
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
2995
2983
  const reduceMotion = transition?.reduceMotion;
2984
+ const skipAnimations = transition?.skipAnimations;
2996
2985
  if (transitionOverride)
2997
2986
  transition = transitionOverride;
2998
2987
  const animations2 = [];
2999
2988
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
2989
+ const path = transition?.path;
2990
+ if (path) {
2991
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
2992
+ }
3000
2993
  for (const key in target) {
3001
2994
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
3002
2995
  const valueTarget = target[key];
@@ -3007,13 +3000,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3007
3000
  delay: delay2,
3008
3001
  ...getValueTransition(transition || {}, key)
3009
3002
  };
3003
+ if (skipAnimations)
3004
+ valueTransition.skipAnimations = true;
3010
3005
  const currentValue = value.get();
3011
3006
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3012
3007
  frame.update(() => value.set(valueTarget));
3013
3008
  continue;
3014
3009
  }
3015
3010
  let isHandoff = false;
3016
- if (window.MotionHandoffAnimation) {
3011
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3017
3012
  const appearId = getOptimisedAppearId(visualElement);
3018
3013
  if (appearId) {
3019
3014
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3044,7 +3039,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3044
3039
  return animations2;
3045
3040
  }
3046
3041
 
3047
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3042
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3048
3043
  function animateVariant(visualElement, variant, options = {}) {
3049
3044
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3050
3045
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3076,7 +3071,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3076
3071
  return Promise.all(animations2);
3077
3072
  }
3078
3073
 
3079
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3074
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3080
3075
  function animateVisualElement(visualElement, definition, options = {}) {
3081
3076
  visualElement.notify("AnimationStart", definition);
3082
3077
  let animation;
@@ -3094,20 +3089,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3094
3089
  });
3095
3090
  }
3096
3091
 
3097
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3092
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3098
3093
  var auto = {
3099
3094
  test: (v) => v === "auto",
3100
3095
  parse: (v) => v
3101
3096
  };
3102
3097
 
3103
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3098
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3104
3099
  var testValueType = (v) => (type) => type.test(v);
3105
3100
 
3106
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3101
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3107
3102
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3108
3103
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3109
3104
 
3110
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3105
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3111
3106
  function isNone(value) {
3112
3107
  if (typeof value === "number") {
3113
3108
  return value === 0;
@@ -3118,7 +3113,7 @@ function isNone(value) {
3118
3113
  }
3119
3114
  }
3120
3115
 
3121
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3116
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3122
3117
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3123
3118
  function applyDefaultFilter(v) {
3124
3119
  const [name, value] = v.slice(0, -1).split("(");
@@ -3142,7 +3137,7 @@ var filter = {
3142
3137
  }
3143
3138
  };
3144
3139
 
3145
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3140
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3146
3141
  var mask = {
3147
3142
  ...complex,
3148
3143
  getAnimatableNone: (v) => {
@@ -3152,15 +3147,21 @@ var mask = {
3152
3147
  }
3153
3148
  };
3154
3149
 
3155
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3150
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3156
3151
  var int = {
3157
3152
  ...number,
3158
3153
  transform: Math.round
3159
3154
  };
3160
3155
 
3161
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3156
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3162
3157
  var transformValueTypes = {
3163
3158
  rotate: degrees,
3159
+ /**
3160
+ * Internal channel for `transition.path` orientToPath. Composed onto
3161
+ * `rotate` at the transform-build sites so the user's `rotate` is
3162
+ * never read or overwritten. Not part of `transformPropOrder`.
3163
+ */
3164
+ pathRotation: degrees,
3164
3165
  rotateX: degrees,
3165
3166
  rotateY: degrees,
3166
3167
  rotateZ: degrees,
@@ -3186,7 +3187,7 @@ var transformValueTypes = {
3186
3187
  originZ: px
3187
3188
  };
3188
3189
 
3189
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3190
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3190
3191
  var numberValueTypes = {
3191
3192
  // Border props
3192
3193
  borderWidth: px,
@@ -3251,7 +3252,7 @@ var numberValueTypes = {
3251
3252
  numOctaves: int
3252
3253
  };
3253
3254
 
3254
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3255
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3255
3256
  var defaultValueTypes = {
3256
3257
  ...numberValueTypes,
3257
3258
  // Color props
@@ -3273,7 +3274,7 @@ var defaultValueTypes = {
3273
3274
  };
3274
3275
  var getDefaultValueType = (key) => defaultValueTypes[key];
3275
3276
 
3276
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3277
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3277
3278
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3278
3279
  function getAnimatableNone2(key, value) {
3279
3280
  let defaultValueType = getDefaultValueType(key);
@@ -3282,7 +3283,7 @@ function getAnimatableNone2(key, value) {
3282
3283
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3283
3284
  }
3284
3285
 
3285
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3286
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3286
3287
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3287
3288
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3288
3289
  let i = 0;
@@ -3301,7 +3302,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3301
3302
  }
3302
3303
  }
3303
3304
 
3304
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3305
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3305
3306
  var DOMKeyframesResolver = class extends KeyframeResolver {
3306
3307
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3307
3308
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3399,7 +3400,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3399
3400
  }
3400
3401
  };
3401
3402
 
3402
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3403
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3404
+ var cornerRadiusProps = [
3405
+ "borderTopLeftRadius",
3406
+ "borderTopRightRadius",
3407
+ "borderBottomRightRadius",
3408
+ "borderBottomLeftRadius"
3409
+ ];
3410
+
3411
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3403
3412
  function resolveElements(elementOrSelector, scope, selectorCache) {
3404
3413
  if (elementOrSelector == null) {
3405
3414
  return [];
@@ -3414,20 +3423,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3414
3423
  return Array.from(elementOrSelector).filter((element) => element != null);
3415
3424
  }
3416
3425
 
3417
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3426
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3418
3427
  var getValueAsType = (value, type) => {
3419
3428
  return type && typeof value === "number" ? type.transform(value) : value;
3420
3429
  };
3421
3430
 
3422
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3431
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3423
3432
  function isHTMLElement(element) {
3424
3433
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3425
3434
  }
3426
3435
 
3427
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3436
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3428
3437
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3429
3438
 
3430
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3439
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3431
3440
  var isDragging = {
3432
3441
  x: false,
3433
3442
  y: false
@@ -3436,7 +3445,7 @@ function isDragActive() {
3436
3445
  return isDragging.x || isDragging.y;
3437
3446
  }
3438
3447
 
3439
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3448
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3440
3449
  function setDragLock(axis) {
3441
3450
  if (axis === "x" || axis === "y") {
3442
3451
  if (isDragging[axis]) {
@@ -3459,7 +3468,7 @@ function setDragLock(axis) {
3459
3468
  }
3460
3469
  }
3461
3470
 
3462
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3471
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3463
3472
  function setupGesture(elementOrSelector, options) {
3464
3473
  const elements = resolveElements(elementOrSelector);
3465
3474
  const gestureAbortController = new AbortController();
@@ -3472,7 +3481,7 @@ function setupGesture(elementOrSelector, options) {
3472
3481
  return [elements, eventOptions, cancel];
3473
3482
  }
3474
3483
 
3475
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3484
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3476
3485
  function isValidHover(event) {
3477
3486
  return !(event.pointerType === "touch" || isDragActive());
3478
3487
  }
@@ -3531,7 +3540,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3531
3540
  return cancel;
3532
3541
  }
3533
3542
 
3534
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3543
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3535
3544
  var isNodeOrChild = (parent, child) => {
3536
3545
  if (!child) {
3537
3546
  return false;
@@ -3542,7 +3551,7 @@ var isNodeOrChild = (parent, child) => {
3542
3551
  }
3543
3552
  };
3544
3553
 
3545
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3554
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3546
3555
  var isPrimaryPointer = (event) => {
3547
3556
  if (event.pointerType === "mouse") {
3548
3557
  return typeof event.button !== "number" || event.button <= 0;
@@ -3551,7 +3560,7 @@ var isPrimaryPointer = (event) => {
3551
3560
  }
3552
3561
  };
3553
3562
 
3554
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3563
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3555
3564
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3556
3565
  "BUTTON",
3557
3566
  "INPUT",
@@ -3567,10 +3576,10 @@ function isElementTextInput(element) {
3567
3576
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3568
3577
  }
3569
3578
 
3570
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3579
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3571
3580
  var isPressing = /* @__PURE__ */ new WeakSet();
3572
3581
 
3573
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3582
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3574
3583
  function filterEvents(callback) {
3575
3584
  return (event) => {
3576
3585
  if (event.key !== "Enter")
@@ -3600,7 +3609,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3600
3609
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3601
3610
  };
3602
3611
 
3603
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3612
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3604
3613
  function isValidPressEvent(event) {
3605
3614
  return isPrimaryPointer(event) && !isDragActive();
3606
3615
  }
@@ -3618,9 +3627,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3618
3627
  claimedPointerDownEvents.add(startEvent);
3619
3628
  }
3620
3629
  const onPressEnd = onPressStart(target, startEvent);
3630
+ const endEventOptions = { ...eventOptions, capture: true };
3621
3631
  const onPointerEnd = (endEvent, success) => {
3622
- window.removeEventListener("pointerup", onPointerUp);
3623
- window.removeEventListener("pointercancel", onPointerCancel);
3632
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3633
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3624
3634
  if (isPressing.has(target)) {
3625
3635
  isPressing.delete(target);
3626
3636
  }
@@ -3637,8 +3647,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3637
3647
  const onPointerCancel = (cancelEvent) => {
3638
3648
  onPointerEnd(cancelEvent, false);
3639
3649
  };
3640
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3641
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3650
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3651
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3642
3652
  };
3643
3653
  targets.forEach((target) => {
3644
3654
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3653,12 +3663,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3653
3663
  return cancelEvents;
3654
3664
  }
3655
3665
 
3656
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3666
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3657
3667
  function isSVGElement(element) {
3658
3668
  return isObject(element) && "ownerSVGElement" in element;
3659
3669
  }
3660
3670
 
3661
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3671
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3662
3672
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3663
3673
  var observer;
3664
3674
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3716,7 +3726,7 @@ function resizeElement(target, handler) {
3716
3726
  };
3717
3727
  }
3718
3728
 
3719
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3729
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3720
3730
  var windowCallbacks = /* @__PURE__ */ new Set();
3721
3731
  var windowResizeHandler;
3722
3732
  function createWindowResizeHandler() {
@@ -3746,17 +3756,17 @@ function resizeWindow(callback) {
3746
3756
  };
3747
3757
  }
3748
3758
 
3749
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3759
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3750
3760
  function resize(a, b) {
3751
3761
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3752
3762
  }
3753
3763
 
3754
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3764
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3755
3765
  function isSVGSVGElement(element) {
3756
3766
  return isSVGElement(element) && element.tagName === "svg";
3757
3767
  }
3758
3768
 
3759
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/transform.mjs
3769
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/transform.mjs
3760
3770
  function transform(...args) {
3761
3771
  const useImmediate = !Array.isArray(args[0]);
3762
3772
  const argOffset = useImmediate ? 0 : -1;
@@ -3768,11 +3778,11 @@ function transform(...args) {
3768
3778
  return useImmediate ? interpolator(inputValue) : interpolator;
3769
3779
  }
3770
3780
 
3771
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3781
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3772
3782
  var valueTypes = [...dimensionValueTypes, color, complex];
3773
3783
  var findValueType = (v) => valueTypes.find(testValueType(v));
3774
3784
 
3775
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3785
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3776
3786
  var createAxisDelta = () => ({
3777
3787
  translate: 0,
3778
3788
  scale: 1,
@@ -3789,20 +3799,20 @@ var createBox = () => ({
3789
3799
  y: createAxis()
3790
3800
  });
3791
3801
 
3792
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3802
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3793
3803
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3794
3804
 
3795
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3805
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3796
3806
  function isAnimationControls(v) {
3797
3807
  return v !== null && typeof v === "object" && typeof v.start === "function";
3798
3808
  }
3799
3809
 
3800
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3810
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3801
3811
  function isVariantLabel(v) {
3802
3812
  return typeof v === "string" || Array.isArray(v);
3803
3813
  }
3804
3814
 
3805
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3815
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3806
3816
  var variantPriorityOrder = [
3807
3817
  "animate",
3808
3818
  "whileInView",
@@ -3814,7 +3824,7 @@ var variantPriorityOrder = [
3814
3824
  ];
3815
3825
  var variantProps = ["initial", ...variantPriorityOrder];
3816
3826
 
3817
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3827
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3818
3828
  function isControllingVariants(props) {
3819
3829
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3820
3830
  }
@@ -3822,7 +3832,7 @@ function isVariantNode(props) {
3822
3832
  return Boolean(isControllingVariants(props) || props.variants);
3823
3833
  }
3824
3834
 
3825
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3835
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3826
3836
  function updateMotionValuesFromProps(element, next, prev) {
3827
3837
  for (const key in next) {
3828
3838
  const nextValue = next[key];
@@ -3852,15 +3862,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3852
3862
  return next;
3853
3863
  }
3854
3864
 
3855
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3865
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3856
3866
  var prefersReducedMotion = { current: null };
3857
3867
  var hasReducedMotionListener = { current: false };
3858
3868
 
3859
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3860
- var isBrowser2 = typeof window !== "undefined";
3869
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3870
+ var isBrowser3 = typeof window !== "undefined";
3861
3871
  function initPrefersReducedMotion() {
3862
3872
  hasReducedMotionListener.current = true;
3863
- if (!isBrowser2)
3873
+ if (!isBrowser3)
3864
3874
  return;
3865
3875
  if (window.matchMedia) {
3866
3876
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3872,7 +3882,7 @@ function initPrefersReducedMotion() {
3872
3882
  }
3873
3883
  }
3874
3884
 
3875
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3885
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3876
3886
  var propEventHandlers = [
3877
3887
  "AnimationStart",
3878
3888
  "AnimationComplete",
@@ -4061,8 +4071,6 @@ var VisualElement = class {
4061
4071
  removeOnChange();
4062
4072
  if (removeSyncCheck)
4063
4073
  removeSyncCheck();
4064
- if (value.owner)
4065
- value.stop();
4066
4074
  });
4067
4075
  }
4068
4076
  sortNodePosition(other) {
@@ -4273,7 +4281,7 @@ var VisualElement = class {
4273
4281
  }
4274
4282
  };
4275
4283
 
4276
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4284
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4277
4285
  var DOMVisualElement = class extends VisualElement {
4278
4286
  constructor() {
4279
4287
  super(...arguments);
@@ -4306,7 +4314,7 @@ var DOMVisualElement = class extends VisualElement {
4306
4314
  }
4307
4315
  };
4308
4316
 
4309
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4317
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4310
4318
  var Feature = class {
4311
4319
  constructor(node) {
4312
4320
  this.isMounted = false;
@@ -4316,7 +4324,7 @@ var Feature = class {
4316
4324
  }
4317
4325
  };
4318
4326
 
4319
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4327
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4320
4328
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4321
4329
  return {
4322
4330
  x: { min: left, max: right },
@@ -4339,7 +4347,7 @@ function transformBoxPoints(point, transformPoint2) {
4339
4347
  };
4340
4348
  }
4341
4349
 
4342
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4350
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4343
4351
  function isIdentityScale(scale2) {
4344
4352
  return scale2 === void 0 || scale2 === 1;
4345
4353
  }
@@ -4356,7 +4364,7 @@ function is2DTranslate(value) {
4356
4364
  return value && value !== "0%";
4357
4365
  }
4358
4366
 
4359
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4367
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4360
4368
  function scalePoint(point, scale2, originPoint) {
4361
4369
  const distanceFromOrigin = point - originPoint;
4362
4370
  const scaled = scale2 * distanceFromOrigin;
@@ -4432,7 +4440,7 @@ function transformBox(box, transform2, sourceBox) {
4432
4440
  transformAxis(box.y, resolveAxisTranslate(transform2.y, resolveBox.y), transform2.scaleY, transform2.scale, transform2.originY);
4433
4441
  }
4434
4442
 
4435
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4443
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4436
4444
  function measureViewportBox(instance, transformPoint2) {
4437
4445
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4438
4446
  }
@@ -4446,7 +4454,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4446
4454
  return viewportBox;
4447
4455
  }
4448
4456
 
4449
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4457
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4450
4458
  var translateAlias = {
4451
4459
  x: "translateX",
4452
4460
  y: "translateY",
@@ -4481,6 +4489,11 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4481
4489
  }
4482
4490
  }
4483
4491
  }
4492
+ const pathRotation = latestValues.pathRotation;
4493
+ if (pathRotation) {
4494
+ transformIsDefault = false;
4495
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4496
+ }
4484
4497
  transformString = transformString.trim();
4485
4498
  if (transformTemplate) {
4486
4499
  transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString);
@@ -4490,7 +4503,7 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4490
4503
  return transformString;
4491
4504
  }
4492
4505
 
4493
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4506
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4494
4507
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4495
4508
  const { style, vars, transformOrigin } = state;
4496
4509
  let hasTransform2 = false;
@@ -4526,7 +4539,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4526
4539
  }
4527
4540
  }
4528
4541
 
4529
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4542
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4530
4543
  function renderHTML(element, { style, vars }, styleProp, projection) {
4531
4544
  const elementStyle = element.style;
4532
4545
  let key;
@@ -4539,7 +4552,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4539
4552
  }
4540
4553
  }
4541
4554
 
4542
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4555
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4543
4556
  function pixelsToPercent(pixels, axis) {
4544
4557
  if (axis.max === axis.min)
4545
4558
  return 0;
@@ -4562,7 +4575,7 @@ var correctBorderRadius = {
4562
4575
  }
4563
4576
  };
4564
4577
 
4565
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4578
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4566
4579
  var correctBoxShadow = {
4567
4580
  correct: (latest, { treeScale, projectionDelta }) => {
4568
4581
  const original = latest;
@@ -4584,16 +4597,11 @@ var correctBoxShadow = {
4584
4597
  }
4585
4598
  };
4586
4599
 
4587
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4600
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4588
4601
  var scaleCorrectors = {
4589
4602
  borderRadius: {
4590
4603
  ...correctBorderRadius,
4591
- applyTo: [
4592
- "borderTopLeftRadius",
4593
- "borderTopRightRadius",
4594
- "borderBottomLeftRadius",
4595
- "borderBottomRightRadius"
4596
- ]
4604
+ applyTo: [...cornerRadiusProps]
4597
4605
  },
4598
4606
  borderTopLeftRadius: correctBorderRadius,
4599
4607
  borderTopRightRadius: correctBorderRadius,
@@ -4602,12 +4610,12 @@ var scaleCorrectors = {
4602
4610
  boxShadow: correctBoxShadow
4603
4611
  };
4604
4612
 
4605
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4613
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4606
4614
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4607
4615
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4608
4616
  }
4609
4617
 
4610
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4618
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4611
4619
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4612
4620
  const style = props.style;
4613
4621
  const prevStyle = prevProps?.style;
@@ -4622,7 +4630,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4622
4630
  return newValues;
4623
4631
  }
4624
4632
 
4625
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4633
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4626
4634
  function getComputedStyle2(element) {
4627
4635
  return window.getComputedStyle(element);
4628
4636
  }
@@ -4632,6 +4640,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4632
4640
  this.type = "html";
4633
4641
  this.renderInstance = renderHTML;
4634
4642
  }
4643
+ mount(instance) {
4644
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4645
+ super.mount(instance);
4646
+ }
4635
4647
  readValueFromInstance(instance, key) {
4636
4648
  if (transformProps.has(key)) {
4637
4649
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4652,7 +4664,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4652
4664
  }
4653
4665
  };
4654
4666
 
4655
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4667
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4656
4668
  var dashKeys = {
4657
4669
  offset: "stroke-dashoffset",
4658
4670
  array: "stroke-dasharray"
@@ -4668,8 +4680,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4668
4680
  attrs[keys.array] = `${length} ${spacing}`;
4669
4681
  }
4670
4682
 
4671
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4672
- var cssMotionPathProperties = [
4683
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4684
+ var cssStyleProperties = [
4685
+ "transform",
4686
+ "opacity",
4673
4687
  "offsetDistance",
4674
4688
  "offsetPath",
4675
4689
  "offsetRotate",
@@ -4695,9 +4709,11 @@ function buildSVGAttrs(state, {
4695
4709
  state.attrs = state.style;
4696
4710
  state.style = {};
4697
4711
  const { attrs, style } = state;
4698
- if (attrs.transform) {
4699
- style.transform = attrs.transform;
4700
- delete attrs.transform;
4712
+ for (const key of cssStyleProperties) {
4713
+ if (attrs[key] !== void 0) {
4714
+ style[key] = attrs[key];
4715
+ delete attrs[key];
4716
+ }
4701
4717
  }
4702
4718
  if (style.transform || attrs.transformOrigin) {
4703
4719
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4707,12 +4723,6 @@ function buildSVGAttrs(state, {
4707
4723
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4708
4724
  delete attrs.transformBox;
4709
4725
  }
4710
- for (const key of cssMotionPathProperties) {
4711
- if (attrs[key] !== void 0) {
4712
- style[key] = attrs[key];
4713
- delete attrs[key];
4714
- }
4715
- }
4716
4726
  if (attrX !== void 0)
4717
4727
  attrs.x = attrX;
4718
4728
  if (attrY !== void 0)
@@ -4724,7 +4734,7 @@ function buildSVGAttrs(state, {
4724
4734
  }
4725
4735
  }
4726
4736
 
4727
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4737
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4728
4738
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4729
4739
  "baseFrequency",
4730
4740
  "diffuseConstant",
@@ -4751,10 +4761,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4751
4761
  "lengthAdjust"
4752
4762
  ]);
4753
4763
 
4754
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4764
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4755
4765
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4756
4766
 
4757
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4767
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4758
4768
  function renderSVG(element, renderState, _styleProp, projection) {
4759
4769
  renderHTML(element, renderState, void 0, projection);
4760
4770
  for (const key in renderState.attrs) {
@@ -4762,7 +4772,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4762
4772
  }
4763
4773
  }
4764
4774
 
4765
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4775
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4766
4776
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4767
4777
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4768
4778
  for (const key in props) {
@@ -4774,7 +4784,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4774
4784
  return newValues;
4775
4785
  }
4776
4786
 
4777
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4787
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4778
4788
  var SVGVisualElement = class extends DOMVisualElement {
4779
4789
  constructor() {
4780
4790
  super(...arguments);
@@ -4790,6 +4800,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4790
4800
  const defaultType = getDefaultValueType(key);
4791
4801
  return defaultType ? defaultType.default || 0 : 0;
4792
4802
  }
4803
+ if (cssStyleProperties.includes(key)) {
4804
+ const computedStyle = getComputedStyle(instance);
4805
+ const value = computedStyle[key];
4806
+ if (typeof value === "string" && value)
4807
+ return value.trim();
4808
+ }
4793
4809
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4794
4810
  return instance.getAttribute(key);
4795
4811
  }
@@ -4808,7 +4824,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4808
4824
  }
4809
4825
  };
4810
4826
 
4811
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4827
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4812
4828
  var numVariantProps = variantProps.length;
4813
4829
  function getVariantContext(visualElement) {
4814
4830
  if (!visualElement)
@@ -4831,7 +4847,7 @@ function getVariantContext(visualElement) {
4831
4847
  return context;
4832
4848
  }
4833
4849
 
4834
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4850
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4835
4851
  function shallowCompare(next, prev) {
4836
4852
  if (!Array.isArray(prev))
4837
4853
  return false;
@@ -4845,7 +4861,7 @@ function shallowCompare(next, prev) {
4845
4861
  return true;
4846
4862
  }
4847
4863
 
4848
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4864
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4849
4865
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4850
4866
  var numAnimationTypes = variantPriorityOrder.length;
4851
4867
  function createAnimateFunction(visualElement) {
@@ -4938,7 +4954,7 @@ function createAnimationState(visualElement) {
4938
4954
  continue;
4939
4955
  let valueHasChanged = false;
4940
4956
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
4941
- valueHasChanged = !shallowCompare(next, prev);
4957
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
4942
4958
  } else {
4943
4959
  valueHasChanged = next !== prev;
4944
4960
  }
@@ -5057,7 +5073,7 @@ function createState() {
5057
5073
  };
5058
5074
  }
5059
5075
 
5060
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5076
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5061
5077
  function copyAxisInto(axis, originAxis) {
5062
5078
  axis.min = originAxis.min;
5063
5079
  axis.max = originAxis.max;
@@ -5073,7 +5089,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5073
5089
  delta.origin = originDelta.origin;
5074
5090
  }
5075
5091
 
5076
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5092
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5077
5093
  var SCALE_PRECISION = 1e-4;
5078
5094
  var SCALE_MIN = 1 - SCALE_PRECISION;
5079
5095
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5121,7 +5137,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5121
5137
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5122
5138
  }
5123
5139
 
5124
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5140
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5125
5141
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5126
5142
  point -= translate;
5127
5143
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5154,7 +5170,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5154
5170
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5155
5171
  }
5156
5172
 
5157
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5173
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5158
5174
  function isAxisDeltaZero(delta) {
5159
5175
  return delta.translate === 0 && delta.scale === 1;
5160
5176
  }
@@ -5180,12 +5196,12 @@ function axisDeltaEquals(a, b) {
5180
5196
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5181
5197
  }
5182
5198
 
5183
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5199
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5184
5200
  function eachAxis(callback) {
5185
5201
  return [callback("x"), callback("y")];
5186
5202
  }
5187
5203
 
5188
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5204
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5189
5205
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5190
5206
  let transform2 = "";
5191
5207
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5198,11 +5214,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5198
5214
  transform2 += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5199
5215
  }
5200
5216
  if (latestTransform) {
5201
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5217
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5202
5218
  if (transformPerspective)
5203
5219
  transform2 = `perspective(${transformPerspective}px) ${transform2}`;
5204
5220
  if (rotate2)
5205
5221
  transform2 += `rotate(${rotate2}deg) `;
5222
+ if (pathRotation)
5223
+ transform2 += `rotate(${pathRotation}deg) `;
5206
5224
  if (rotateX)
5207
5225
  transform2 += `rotateX(${rotateX}deg) `;
5208
5226
  if (rotateY)
@@ -5220,14 +5238,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5220
5238
  return transform2 || "none";
5221
5239
  }
5222
5240
 
5223
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5224
- var borderLabels = [
5225
- "borderTopLeftRadius",
5226
- "borderTopRightRadius",
5227
- "borderBottomLeftRadius",
5228
- "borderBottomRightRadius"
5229
- ];
5230
- var numBorders = borderLabels.length;
5241
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5242
+ var numBorders = cornerRadiusProps.length;
5231
5243
  var asNumber = (value) => typeof value === "string" ? parseFloat(value) : value;
5232
5244
  var isPx = (value) => typeof value === "number" || px.test(value);
5233
5245
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5238,7 +5250,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5238
5250
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5239
5251
  }
5240
5252
  for (let i = 0; i < numBorders; i++) {
5241
- const borderLabel = borderLabels[i];
5253
+ const borderLabel = cornerRadiusProps[i];
5242
5254
  let followRadius = getRadius(follow, borderLabel);
5243
5255
  let leadRadius = getRadius(lead, borderLabel);
5244
5256
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5274,23 +5286,23 @@ function compress(min, max, easing) {
5274
5286
  };
5275
5287
  }
5276
5288
 
5277
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5289
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5278
5290
  function animateSingleValue(value, keyframes2, options) {
5279
5291
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5280
5292
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5281
5293
  return motionValue$1.animation;
5282
5294
  }
5283
5295
 
5284
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5296
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5285
5297
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5286
5298
  target.addEventListener(eventName, handler, options);
5287
- return () => target.removeEventListener(eventName, handler);
5299
+ return () => target.removeEventListener(eventName, handler, options);
5288
5300
  }
5289
5301
 
5290
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5302
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5291
5303
  var compareByDepth = (a, b) => a.depth - b.depth;
5292
5304
 
5293
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5305
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5294
5306
  var FlatTree = class {
5295
5307
  constructor() {
5296
5308
  this.children = [];
@@ -5311,7 +5323,7 @@ var FlatTree = class {
5311
5323
  }
5312
5324
  };
5313
5325
 
5314
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5326
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5315
5327
  function delay(callback, timeout) {
5316
5328
  const start = time.now();
5317
5329
  const checkElapsed = ({ timestamp }) => {
@@ -5325,12 +5337,12 @@ function delay(callback, timeout) {
5325
5337
  return () => cancelFrame(checkElapsed);
5326
5338
  }
5327
5339
 
5328
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5340
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5329
5341
  function resolveMotionValue(value) {
5330
5342
  return isMotionValue(value) ? value.get() : value;
5331
5343
  }
5332
5344
 
5333
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5345
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5334
5346
  var NodeStack = class {
5335
5347
  constructor() {
5336
5348
  this.members = [];
@@ -5411,7 +5423,7 @@ var NodeStack = class {
5411
5423
  }
5412
5424
  };
5413
5425
 
5414
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5426
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5415
5427
  var globalProjectionState = {
5416
5428
  /**
5417
5429
  * Global flag as to whether the tree has animated since the last time
@@ -5592,7 +5604,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5592
5604
  animationOptions.type = false;
5593
5605
  }
5594
5606
  this.startAnimation(animationOptions);
5595
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5607
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5596
5608
  } else {
5597
5609
  if (!hasLayoutChanged) {
5598
5610
  finishAnimation(this);
@@ -6064,7 +6076,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6064
6076
  this.projectionDelta = createDelta();
6065
6077
  this.projectionDeltaWithTransform = createDelta();
6066
6078
  }
6067
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6079
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6068
6080
  const snapshot = this.snapshot;
6069
6081
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6070
6082
  const mixedValues = { ...this.latestValues };
@@ -6082,10 +6094,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6082
6094
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6083
6095
  this.animationProgress = 0;
6084
6096
  let prevRelativeTarget;
6097
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6085
6098
  this.mixTargetDelta = (latest) => {
6086
6099
  const progress2 = latest / 1e3;
6087
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6088
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6100
+ const point = interpolate2?.(progress2);
6101
+ if (point) {
6102
+ targetDelta.x.translate = point.x;
6103
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6104
+ targetDelta.x.origin = delta.x.origin;
6105
+ targetDelta.x.originPoint = delta.x.originPoint;
6106
+ targetDelta.y.translate = point.y;
6107
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6108
+ targetDelta.y.origin = delta.y.origin;
6109
+ targetDelta.y.originPoint = delta.y.originPoint;
6110
+ } else {
6111
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6112
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6113
+ }
6089
6114
  this.setTargetDelta(targetDelta);
6090
6115
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6091
6116
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6101,6 +6126,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6101
6126
  this.animationValues = mixedValues;
6102
6127
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6103
6128
  }
6129
+ if (point && point.rotate !== void 0) {
6130
+ if (!this.animationValues)
6131
+ this.animationValues = mixedValues;
6132
+ this.animationValues.pathRotation = point.rotate;
6133
+ }
6104
6134
  this.root.scheduleUpdateProjection();
6105
6135
  this.scheduleRender();
6106
6136
  this.animationProgress = progress2;
@@ -6127,8 +6157,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6127
6157
  this.mixTargetDelta(latest);
6128
6158
  options.onUpdate && options.onUpdate(latest);
6129
6159
  },
6130
- onStop: () => {
6131
- },
6132
6160
  onComplete: () => {
6133
6161
  options.onComplete && options.onComplete();
6134
6162
  this.completeAnimation();
@@ -6457,7 +6485,7 @@ function resetSkewAndRotation(node) {
6457
6485
  function removeLeadSnapshots(stack) {
6458
6486
  stack.removeLeadSnapshot();
6459
6487
  }
6460
- function mixAxisDelta(output, delta, p) {
6488
+ function mixAxisDeltaLinear(output, delta, p) {
6461
6489
  output.translate = mixNumber(delta.translate, 0, p);
6462
6490
  output.scale = mixNumber(delta.scale, 1, p);
6463
6491
  output.origin = delta.origin;
@@ -6495,7 +6523,7 @@ function checkNodeWasScrollRoot(node) {
6495
6523
  return node !== node.root && node.scroll?.wasRoot;
6496
6524
  }
6497
6525
 
6498
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6526
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6499
6527
  var DocumentProjectionNode = createProjectionNode({
6500
6528
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6501
6529
  measureScroll: () => ({
@@ -6505,7 +6533,7 @@ var DocumentProjectionNode = createProjectionNode({
6505
6533
  checkIsScrollRoot: () => true
6506
6534
  });
6507
6535
 
6508
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6536
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6509
6537
  var rootProjectionNode = {
6510
6538
  current: void 0
6511
6539
  };
@@ -6549,7 +6577,7 @@ function usePresence(subscribe = true) {
6549
6577
  }
6550
6578
  var LazyContext = react.createContext({ strict: false });
6551
6579
 
6552
- // ../../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
6580
+ // ../../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
6553
6581
  var featureProps = {
6554
6582
  animation: [
6555
6583
  "animate",
@@ -6588,7 +6616,7 @@ function getInitializedFeatureDefinitions() {
6588
6616
  return getFeatureDefinitions();
6589
6617
  }
6590
6618
 
6591
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/load-features.mjs
6619
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/load-features.mjs
6592
6620
  function loadFeatures(features) {
6593
6621
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6594
6622
  for (const key in features) {
@@ -6599,74 +6627,9 @@ function loadFeatures(features) {
6599
6627
  }
6600
6628
  setFeatureDefinitions(featureDefinitions2);
6601
6629
  }
6602
-
6603
- // ../../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
6604
- var validMotionProps = /* @__PURE__ */ new Set([
6605
- "animate",
6606
- "exit",
6607
- "variants",
6608
- "initial",
6609
- "style",
6610
- "values",
6611
- "variants",
6612
- "transition",
6613
- "transformTemplate",
6614
- "custom",
6615
- "inherit",
6616
- "onBeforeLayoutMeasure",
6617
- "onAnimationStart",
6618
- "onAnimationComplete",
6619
- "onUpdate",
6620
- "onDragStart",
6621
- "onDrag",
6622
- "onDragEnd",
6623
- "onMeasureDragConstraints",
6624
- "onDirectionLock",
6625
- "onDragTransitionEnd",
6626
- "_dragX",
6627
- "_dragY",
6628
- "onHoverStart",
6629
- "onHoverEnd",
6630
- "onViewportEnter",
6631
- "onViewportLeave",
6632
- "globalTapTarget",
6633
- "propagate",
6634
- "ignoreStrict",
6635
- "viewport"
6636
- ]);
6637
- function isValidMotionProp(key) {
6638
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6639
- }
6640
-
6641
- // ../../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
6642
- var shouldForward = (key) => !isValidMotionProp(key);
6643
- function loadExternalIsValidProp(isValidProp) {
6644
- if (typeof isValidProp !== "function")
6645
- return;
6646
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6647
- }
6648
- try {
6649
- const emotionPkg = "@emotion/is-prop-valid";
6650
- loadExternalIsValidProp(__require(emotionPkg).default);
6651
- } catch {
6652
- }
6653
- function filterProps(props, isDom, forwardMotionProps) {
6654
- const filteredProps = {};
6655
- for (const key in props) {
6656
- if (key === "values" && typeof props.values === "object")
6657
- continue;
6658
- if (isMotionValue(props[key]))
6659
- continue;
6660
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6661
- props["draggable"] && key.startsWith("onDrag")) {
6662
- filteredProps[key] = props[key];
6663
- }
6664
- }
6665
- return filteredProps;
6666
- }
6667
6630
  var MotionContext = /* @__PURE__ */ react.createContext({});
6668
6631
 
6669
- // ../../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
6632
+ // ../../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
6670
6633
  function getCurrentTreeVariants(props, context) {
6671
6634
  if (isControllingVariants(props)) {
6672
6635
  const { initial, animate } = props;
@@ -6678,7 +6641,7 @@ function getCurrentTreeVariants(props, context) {
6678
6641
  return props.inherit !== false ? context : {};
6679
6642
  }
6680
6643
 
6681
- // ../../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
6644
+ // ../../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
6682
6645
  function useCreateMotionContext(props) {
6683
6646
  const { initial, animate } = getCurrentTreeVariants(props, react.useContext(MotionContext));
6684
6647
  return react.useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6687,7 +6650,7 @@ function variantLabelsAsDependency(prop) {
6687
6650
  return Array.isArray(prop) ? prop.join(" ") : prop;
6688
6651
  }
6689
6652
 
6690
- // ../../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
6653
+ // ../../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
6691
6654
  var createHtmlRenderState = () => ({
6692
6655
  style: {},
6693
6656
  transform: {},
@@ -6695,7 +6658,7 @@ var createHtmlRenderState = () => ({
6695
6658
  vars: {}
6696
6659
  });
6697
6660
 
6698
- // ../../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
6661
+ // ../../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
6699
6662
  function copyRawValuesOnly(target, source, props) {
6700
6663
  for (const key in source) {
6701
6664
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -6732,13 +6695,13 @@ function useHTMLProps(props, visualState) {
6732
6695
  return htmlProps;
6733
6696
  }
6734
6697
 
6735
- // ../../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
6698
+ // ../../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
6736
6699
  var createSvgRenderState = () => ({
6737
6700
  ...createHtmlRenderState(),
6738
6701
  attrs: {}
6739
6702
  });
6740
6703
 
6741
- // ../../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
6704
+ // ../../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
6742
6705
  function useSVGProps(props, visualState, _isStatic, Component2) {
6743
6706
  const visualProps = react.useMemo(() => {
6744
6707
  const state = createSvgRenderState();
@@ -6756,7 +6719,64 @@ function useSVGProps(props, visualState, _isStatic, Component2) {
6756
6719
  return visualProps;
6757
6720
  }
6758
6721
 
6759
- // ../../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
6722
+ // ../../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
6723
+ var validMotionProps = /* @__PURE__ */ new Set([
6724
+ "animate",
6725
+ "exit",
6726
+ "variants",
6727
+ "initial",
6728
+ "style",
6729
+ "values",
6730
+ "variants",
6731
+ "transition",
6732
+ "transformTemplate",
6733
+ "custom",
6734
+ "inherit",
6735
+ "onBeforeLayoutMeasure",
6736
+ "onAnimationStart",
6737
+ "onAnimationComplete",
6738
+ "onUpdate",
6739
+ "onDragStart",
6740
+ "onDrag",
6741
+ "onDragEnd",
6742
+ "onMeasureDragConstraints",
6743
+ "onDirectionLock",
6744
+ "onDragTransitionEnd",
6745
+ "_dragX",
6746
+ "_dragY",
6747
+ "onHoverStart",
6748
+ "onHoverEnd",
6749
+ "onViewportEnter",
6750
+ "onViewportLeave",
6751
+ "globalTapTarget",
6752
+ "propagate",
6753
+ "ignoreStrict",
6754
+ "viewport"
6755
+ ]);
6756
+ function isValidMotionProp(key) {
6757
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6758
+ }
6759
+
6760
+ // ../../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
6761
+ function shouldForward(key, isValidProp) {
6762
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
6763
+ }
6764
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
6765
+ const filteredProps = {};
6766
+ for (const key in props) {
6767
+ if (key === "values" && typeof props.values === "object")
6768
+ continue;
6769
+ if (isMotionValue(props[key]))
6770
+ continue;
6771
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6772
+ props["draggable"] && key.startsWith("onDrag")) {
6773
+ filteredProps[key] = props[key];
6774
+ }
6775
+ }
6776
+ return filteredProps;
6777
+ }
6778
+
6779
+ // ../../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
6760
6780
  var lowercaseSVGElements = [
6761
6781
  "animate",
6762
6782
  "circle",
@@ -6785,7 +6805,7 @@ var lowercaseSVGElements = [
6785
6805
  "view"
6786
6806
  ];
6787
6807
 
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/render/dom/utils/is-svg-component.mjs
6808
+ // ../../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
6789
6809
  function isSVGComponent(Component2) {
6790
6810
  if (
6791
6811
  /**
@@ -6812,11 +6832,11 @@ function isSVGComponent(Component2) {
6812
6832
  return false;
6813
6833
  }
6814
6834
 
6815
- // ../../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
6816
- function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
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/render/dom/use-render.mjs
6836
+ function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
6817
6837
  const useVisualProps = isSVG ?? isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
6818
6838
  const visualProps = useVisualProps(props, latestValues, isStatic, Component2);
6819
- const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
6839
+ const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps, isValidProp);
6820
6840
  const elementProps = Component2 !== react.Fragment ? { ...filteredProps, ...visualProps, ref } : {};
6821
6841
  const { children } = props;
6822
6842
  const renderedChildren = react.useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -6881,20 +6901,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
6881
6901
  return isStatic ? make() : useConstant(make);
6882
6902
  };
6883
6903
 
6884
- // ../../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
6904
+ // ../../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
6885
6905
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
6886
6906
  scrapeMotionValuesFromProps,
6887
6907
  createRenderState: createHtmlRenderState
6888
6908
  });
6889
6909
 
6890
- // ../../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
6910
+ // ../../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
6891
6911
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
6892
6912
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
6893
6913
  createRenderState: createSvgRenderState
6894
6914
  });
6895
6915
 
6896
- // ../../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
6897
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
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/motion/utils/symbol.mjs
6917
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
6898
6918
  function useMotionRef(visualState, visualElement, externalRef) {
6899
6919
  const externalRefContainer = react.useRef(externalRef);
6900
6920
  react.useInsertionEffect(() => {
@@ -6905,6 +6925,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
6905
6925
  if (instance) {
6906
6926
  visualState.onMount?.(instance);
6907
6927
  }
6928
+ if (visualElement) {
6929
+ instance ? visualElement.mount(instance) : visualElement.unmount();
6930
+ }
6908
6931
  const ref = externalRefContainer.current;
6909
6932
  if (typeof ref === "function") {
6910
6933
  if (instance) {
@@ -6921,19 +6944,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
6921
6944
  } else if (ref) {
6922
6945
  ref.current = instance;
6923
6946
  }
6924
- if (visualElement) {
6925
- instance ? visualElement.mount(instance) : visualElement.unmount();
6926
- }
6927
6947
  }, [visualElement]);
6928
6948
  }
6929
6949
  var SwitchLayoutGroupContext = react.createContext({});
6930
6950
 
6931
- // ../../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
6951
+ // ../../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
6932
6952
  function isRefObject(ref) {
6933
6953
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
6934
6954
  }
6935
6955
 
6936
- // ../../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
6956
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs
6937
6957
  function useVisualElement(Component2, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
6938
6958
  const { visualElement: parent } = react.useContext(MotionContext);
6939
6959
  const lazyContext = react.useContext(LazyContext);
@@ -7029,7 +7049,7 @@ function getClosestProjectingNode(visualElement) {
7029
7049
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7030
7050
  }
7031
7051
 
7032
- // ../../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
7052
+ // ../../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
7033
7053
  function createMotionComponent(Component2, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7034
7054
  preloadedFeatures && loadFeatures(preloadedFeatures);
7035
7055
  const isSVG = type ? type === "svg" : isSVGComponent(Component2);
@@ -7041,7 +7061,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7041
7061
  ...props,
7042
7062
  layoutId: useLayoutId(props)
7043
7063
  };
7044
- const { isStatic } = configAndProps;
7064
+ const { isStatic, isValidProp } = configAndProps;
7045
7065
  const context = useCreateMotionContext(props);
7046
7066
  const visualState = useVisualState(props, isStatic);
7047
7067
  if (!isStatic && typeof window !== "undefined") {
@@ -7050,7 +7070,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7050
7070
  MeasureLayout2 = layoutProjection.MeasureLayout;
7051
7071
  context.visualElement = useVisualElement(Component2, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7052
7072
  }
7053
- return jsxRuntime.jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsxRuntime.jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] });
7073
+ return jsxRuntime.jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsxRuntime.jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG, isValidProp)] });
7054
7074
  }
7055
7075
  MotionDOMComponent.displayName = `motion.${typeof Component2 === "string" ? Component2 : `create(${Component2.displayName ?? Component2.name ?? ""})`}`;
7056
7076
  const ForwardRefMotionComponent = react.forwardRef(MotionDOMComponent);
@@ -7080,7 +7100,7 @@ function getProjectionFunctionality(props) {
7080
7100
  };
7081
7101
  }
7082
7102
 
7083
- // ../../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
7103
+ // ../../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
7084
7104
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7085
7105
  if (typeof Proxy === "undefined") {
7086
7106
  return createMotionComponent;
@@ -7118,7 +7138,7 @@ var createDomVisualElement = (Component2, options) => {
7118
7138
  });
7119
7139
  };
7120
7140
 
7121
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs
7141
+ // ../../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
7122
7142
  var AnimationFeature = class extends Feature {
7123
7143
  /**
7124
7144
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7154,7 +7174,7 @@ var AnimationFeature = class extends Feature {
7154
7174
  }
7155
7175
  };
7156
7176
 
7157
- // ../../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
7177
+ // ../../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
7158
7178
  var id2 = 0;
7159
7179
  var ExitAnimationFeature = class extends Feature {
7160
7180
  constructor() {
@@ -7173,7 +7193,7 @@ var ExitAnimationFeature = class extends Feature {
7173
7193
  if (isPresent && prevIsPresent === false) {
7174
7194
  if (this.isExitComplete) {
7175
7195
  const { initial, custom } = this.node.getProps();
7176
- if (typeof initial === "string") {
7196
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7177
7197
  const resolved = resolveVariant(this.node, initial, custom);
7178
7198
  if (resolved) {
7179
7199
  const { transition, transitionEnd, ...target } = resolved;
@@ -7211,7 +7231,7 @@ var ExitAnimationFeature = class extends Feature {
7211
7231
  }
7212
7232
  };
7213
7233
 
7214
- // ../../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
7234
+ // ../../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
7215
7235
  var animations = {
7216
7236
  animation: {
7217
7237
  Feature: AnimationFeature
@@ -7221,7 +7241,7 @@ var animations = {
7221
7241
  }
7222
7242
  };
7223
7243
 
7224
- // ../../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
7244
+ // ../../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
7225
7245
  function extractEventInfo(event) {
7226
7246
  return {
7227
7247
  point: {
@@ -7232,17 +7252,17 @@ function extractEventInfo(event) {
7232
7252
  }
7233
7253
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
7234
7254
 
7235
- // ../../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
7255
+ // ../../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
7236
7256
  function addPointerEvent(target, eventName, handler, options) {
7237
7257
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7238
7258
  }
7239
7259
 
7240
- // ../../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
7260
+ // ../../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
7241
7261
  var getContextWindow = ({ current }) => {
7242
7262
  return current ? current.ownerDocument.defaultView : null;
7243
7263
  };
7244
7264
 
7245
- // ../../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
7265
+ // ../../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
7246
7266
  var distance = (a, b) => Math.abs(a - b);
7247
7267
  function distance2D(a, b) {
7248
7268
  const xDelta = distance(a.x, b.x);
@@ -7250,7 +7270,7 @@ function distance2D(a, b) {
7250
7270
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7251
7271
  }
7252
7272
 
7253
- // ../../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
7273
+ // ../../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
7254
7274
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7255
7275
  var PanSession = class {
7256
7276
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7323,7 +7343,8 @@ var PanSession = class {
7323
7343
  this.history = [{ ...point, timestamp }];
7324
7344
  const { onSessionStart } = handlers;
7325
7345
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7326
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7346
+ const eventOptions = { passive: true, capture: true };
7347
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7327
7348
  if (element) {
7328
7349
  this.startScrollTracking(element);
7329
7350
  }
@@ -7457,7 +7478,7 @@ function getVelocity(history, timeDelta) {
7457
7478
  return currentVelocity;
7458
7479
  }
7459
7480
 
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/gestures/drag/utils/constraints.mjs
7481
+ // ../../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
7461
7482
  function applyConstraints(point, { min, max }, elastic) {
7462
7483
  if (min !== void 0 && point < min) {
7463
7484
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7535,7 +7556,7 @@ function resolvePointElastic(dragElastic, label) {
7535
7556
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7536
7557
  }
7537
7558
 
7538
- // ../../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
7559
+ // ../../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
7539
7560
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7540
7561
  var VisualElementDragControls = class {
7541
7562
  constructor(visualElement) {
@@ -7736,6 +7757,10 @@ var VisualElementDragControls = class {
7736
7757
  const { projection } = this.visualElement;
7737
7758
  if (!projection || !projection.layout)
7738
7759
  return false;
7760
+ if (projection.root) {
7761
+ projection.root.scroll = void 0;
7762
+ projection.root.updateScroll();
7763
+ }
7739
7764
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
7740
7765
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
7741
7766
  if (onMeasureDragConstraints) {
@@ -7792,7 +7817,7 @@ var VisualElementDragControls = class {
7792
7817
  const dragKey = `_drag${axis.toUpperCase()}`;
7793
7818
  const props = this.visualElement.getProps();
7794
7819
  const externalMotionValue = props[dragKey];
7795
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
7820
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
7796
7821
  }
7797
7822
  snapToCursor(point) {
7798
7823
  eachAxis((axis) => {
@@ -7940,7 +7965,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
7940
7965
  return direction;
7941
7966
  }
7942
7967
 
7943
- // ../../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
7968
+ // ../../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
7944
7969
  var DragGesture = class extends Feature {
7945
7970
  constructor(node) {
7946
7971
  super(node);
@@ -7974,7 +7999,7 @@ var DragGesture = class extends Feature {
7974
7999
  }
7975
8000
  };
7976
8001
 
7977
- // ../../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
8002
+ // ../../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
7978
8003
  var asyncHandler = (handler) => (event, info) => {
7979
8004
  if (handler) {
7980
8005
  frame.update(() => handler(event, info), false, true);
@@ -8117,7 +8142,7 @@ function MeasureLayout(props) {
8117
8142
  return jsxRuntime.jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: react.useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8118
8143
  }
8119
8144
 
8120
- // ../../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
8145
+ // ../../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
8121
8146
  var drag = {
8122
8147
  pan: {
8123
8148
  Feature: PanGesture
@@ -8129,7 +8154,7 @@ var drag = {
8129
8154
  }
8130
8155
  };
8131
8156
 
8132
- // ../../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
8157
+ // ../../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
8133
8158
  function handleHoverEvent(node, event, lifecycle) {
8134
8159
  const { props } = node;
8135
8160
  if (node.animationState && props.whileHover) {
@@ -8155,7 +8180,7 @@ var HoverGesture = class extends Feature {
8155
8180
  }
8156
8181
  };
8157
8182
 
8158
- // ../../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
8183
+ // ../../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
8159
8184
  var FocusGesture = class extends Feature {
8160
8185
  constructor() {
8161
8186
  super(...arguments);
@@ -8186,7 +8211,7 @@ var FocusGesture = class extends Feature {
8186
8211
  }
8187
8212
  };
8188
8213
 
8189
- // ../../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
8214
+ // ../../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
8190
8215
  function handlePressEvent(node, event, lifecycle) {
8191
8216
  const { props } = node;
8192
8217
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8219,7 +8244,7 @@ var PressGesture = class extends Feature {
8219
8244
  }
8220
8245
  };
8221
8246
 
8222
- // ../../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
8247
+ // ../../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
8223
8248
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8224
8249
  var observers = /* @__PURE__ */ new WeakMap();
8225
8250
  var fireObserverCallback = (entry) => {
@@ -8251,7 +8276,7 @@ function observeIntersection(element, options, callback) {
8251
8276
  };
8252
8277
  }
8253
8278
 
8254
- // ../../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
8279
+ // ../../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
8255
8280
  var thresholdNames = {
8256
8281
  some: 0,
8257
8282
  all: 1
@@ -8312,7 +8337,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8312
8337
  return (name) => viewport[name] !== prevViewport[name];
8313
8338
  }
8314
8339
 
8315
- // ../../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
8340
+ // ../../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
8316
8341
  var gestureAnimations = {
8317
8342
  inView: {
8318
8343
  Feature: InViewFeature
@@ -8328,7 +8353,7 @@ var gestureAnimations = {
8328
8353
  }
8329
8354
  };
8330
8355
 
8331
- // ../../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
8356
+ // ../../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
8332
8357
  var layout = {
8333
8358
  layout: {
8334
8359
  ProjectionNode: HTMLProjectionNode,
@@ -8336,7 +8361,7 @@ var layout = {
8336
8361
  }
8337
8362
  };
8338
8363
 
8339
- // ../../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
8364
+ // ../../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
8340
8365
  var featureBundle = {
8341
8366
  ...animations,
8342
8367
  ...gestureAnimations,
@@ -8344,7 +8369,7 @@ var featureBundle = {
8344
8369
  ...layout
8345
8370
  };
8346
8371
 
8347
- // ../../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
8372
+ // ../../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
8348
8373
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8349
8374
  function useMotionValue(initial) {
8350
8375
  const value = useConstant(() => motionValue(initial));
@@ -8356,7 +8381,7 @@ function useMotionValue(initial) {
8356
8381
  return value;
8357
8382
  }
8358
8383
 
8359
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-combine-values.mjs
8384
+ // ../../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
8360
8385
  function useCombineMotionValues(values, combineValues) {
8361
8386
  const value = useMotionValue(combineValues());
8362
8387
  const updateValue = () => value.set(combineValues());
@@ -8372,7 +8397,7 @@ function useCombineMotionValues(values, combineValues) {
8372
8397
  return value;
8373
8398
  }
8374
8399
 
8375
- // ../../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
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/value/use-computed.mjs
8376
8401
  function useComputed(compute) {
8377
8402
  collectMotionValues.current = [];
8378
8403
  compute();
@@ -8381,7 +8406,7 @@ function useComputed(compute) {
8381
8406
  return value;
8382
8407
  }
8383
8408
 
8384
- // ../../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
8409
+ // ../../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
8385
8410
  function useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options) {
8386
8411
  if (typeof input === "function") {
8387
8412
  return useComputed(input);
@@ -8424,6 +8449,9 @@ function useMapTransform(inputValue, inputRange, outputMap, options) {
8424
8449
  }
8425
8450
  return output;
8426
8451
  }
8452
+
8453
+ // ../../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
8454
+ var motion2 = motion;
8427
8455
  function usePrefersReducedMotion() {
8428
8456
  const [prefersReducedMotion2, setPrefersReducedMotion] = react.useState(false);
8429
8457
  react.useEffect(() => {
@@ -8446,7 +8474,7 @@ function GradientBackground({
8446
8474
  }) {
8447
8475
  const gradientColors = colors.length >= 2 ? colors : ["#ff6b6b", "#4ecdc4", "#45b7d1", "#96ceb4"];
8448
8476
  return /* @__PURE__ */ jsxRuntime.jsx(
8449
- motion.div,
8477
+ motion2.div,
8450
8478
  {
8451
8479
  className: "absolute inset-0",
8452
8480
  style: {
@@ -8483,7 +8511,7 @@ function BlobBackground({
8483
8511
  [elementCount, colors, speed]
8484
8512
  );
8485
8513
  return /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { className: "absolute inset-0 overflow-hidden", children: blobs.map((blob) => /* @__PURE__ */ jsxRuntime.jsx(
8486
- motion.div,
8514
+ motion2.div,
8487
8515
  {
8488
8516
  className: "absolute rounded-full",
8489
8517
  style: {
@@ -8518,7 +8546,7 @@ function WaveBackground({
8518
8546
  }) {
8519
8547
  const waveColor = colors[0] || "#4ecdc4";
8520
8548
  return /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { className: "absolute inset-0 overflow-hidden", children: [0, 1, 2].map((index) => /* @__PURE__ */ jsxRuntime.jsx(
8521
- motion.div,
8549
+ motion2.div,
8522
8550
  {
8523
8551
  className: "absolute inset-0",
8524
8552
  style: {
@@ -8546,7 +8574,7 @@ function MeshBackground({
8546
8574
  }) {
8547
8575
  const meshColors = colors.length >= 4 ? colors.slice(0, 4) : ["#ff6b6b", "#4ecdc4", "#45b7d1", "#96ceb4"];
8548
8576
  return /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { className: "absolute inset-0 overflow-hidden", children: meshColors.map((color2, index) => /* @__PURE__ */ jsxRuntime.jsx(
8549
- motion.div,
8577
+ motion2.div,
8550
8578
  {
8551
8579
  className: "absolute rounded-full",
8552
8580
  style: {
@@ -8611,7 +8639,7 @@ function ParallaxBackground({
8611
8639
  [-layer.speed * 10, layer.speed * 10]
8612
8640
  );
8613
8641
  return /* @__PURE__ */ jsxRuntime.jsx(
8614
- motion.div,
8642
+ motion2.div,
8615
8643
  {
8616
8644
  className: "absolute inset-0",
8617
8645
  style: {
@@ -8645,7 +8673,7 @@ function ParticlesBackground({
8645
8673
  [elementCount, colors, speed]
8646
8674
  );
8647
8675
  return /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { className: "absolute inset-0 overflow-hidden", children: particles.map((particle) => /* @__PURE__ */ jsxRuntime.jsx(
8648
- motion.div,
8676
+ motion2.div,
8649
8677
  {
8650
8678
  className: "absolute rounded-full",
8651
8679
  style: {