@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
@@ -4,12 +4,6 @@ import { createContext, forwardRef, useContext, useMemo, useRef, useInsertionEff
4
4
  import { variants, Box, cn } from '@hanzo/ui';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
6
6
 
7
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
8
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
9
- }) : x)(function(x) {
10
- if (typeof require !== "undefined") return require.apply(this, arguments);
11
- throw Error('Dynamic require of "' + x + '" is not supported');
12
- });
13
7
  var LayoutGroupContext = createContext({});
14
8
  function useConstant(init) {
15
9
  const ref = useRef(null);
@@ -19,14 +13,14 @@ function useConstant(init) {
19
13
  return ref.current;
20
14
  }
21
15
 
22
- // ../../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
16
+ // ../../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
23
17
  var isBrowser = typeof window !== "undefined";
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/use-isomorphic-effect.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/use-isomorphic-effect.mjs
26
20
  var useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;
27
21
  var PresenceContext = /* @__PURE__ */ createContext(null);
28
22
 
29
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/array.mjs
23
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/array.mjs
30
24
  function addUniqueItem(arr, item) {
31
25
  if (arr.indexOf(item) === -1)
32
26
  arr.push(item);
@@ -37,7 +31,7 @@ function removeItem(arr, item) {
37
31
  arr.splice(index, 1);
38
32
  }
39
33
 
40
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/clamp.mjs
34
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/clamp.mjs
41
35
  var clamp = (min, max, v) => {
42
36
  if (v > max)
43
37
  return max;
@@ -46,12 +40,12 @@ var clamp = (min, max, v) => {
46
40
  return v;
47
41
  };
48
42
 
49
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/format-error-message.mjs
43
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/format-error-message.mjs
50
44
  function formatErrorMessage(message, errorCode) {
51
45
  return errorCode ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` : message;
52
46
  }
53
47
 
54
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/errors.mjs
48
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/errors.mjs
55
49
  var warning = () => {
56
50
  };
57
51
  var invariant = () => {
@@ -69,21 +63,19 @@ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
69
63
  };
70
64
  }
71
65
 
72
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/global-config.mjs
66
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/global-config.mjs
73
67
  var MotionGlobalConfig = {};
74
68
 
75
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
69
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
76
70
  var isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
77
71
 
78
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-object.mjs
79
- function isObject(value) {
80
- return typeof value === "object" && value !== null;
81
- }
72
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-object.mjs
73
+ var isObject = (value) => typeof value === "object" && value !== null;
82
74
 
83
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
75
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
84
76
  var isZeroValueString = (v) => /^0[^.\s]+$/u.test(v);
85
77
 
86
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/memo.mjs
78
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/memo.mjs
87
79
  // @__NO_SIDE_EFFECTS__
88
80
  function memo(callback) {
89
81
  let result;
@@ -94,20 +86,19 @@ function memo(callback) {
94
86
  };
95
87
  }
96
88
 
97
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/noop.mjs
89
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/noop.mjs
98
90
  var noop = /* @__NO_SIDE_EFFECTS__ */ (any) => any;
99
91
 
100
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/pipe.mjs
101
- var combineFunctions = (a, b) => (v) => b(a(v));
102
- var pipe = (...transformers) => transformers.reduce(combineFunctions);
92
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/pipe.mjs
93
+ var pipe = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v)));
103
94
 
104
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/progress.mjs
95
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/progress.mjs
105
96
  var progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
106
- const toFromDifference = to - from;
107
- return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
97
+ const range = to - from;
98
+ return range ? (value - from) / range : 1;
108
99
  };
109
100
 
110
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
101
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
111
102
  var SubscriptionManager = class {
112
103
  constructor() {
113
104
  this.subscriptions = [];
@@ -137,16 +128,14 @@ var SubscriptionManager = class {
137
128
  }
138
129
  };
139
130
 
140
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/time-conversion.mjs
131
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/time-conversion.mjs
141
132
  var secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3;
142
133
  var millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
143
134
 
144
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
145
- function velocityPerSecond(velocity, frameDuration) {
146
- return frameDuration ? velocity * (1e3 / frameDuration) : 0;
147
- }
135
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
136
+ var velocityPerSecond = /* @__NO_SIDE_EFFECTS__ */ (velocity, frameDuration) => frameDuration ? velocity * (1e3 / frameDuration) : 0;
148
137
 
149
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/warn-once.mjs
138
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/warn-once.mjs
150
139
  var warned = /* @__PURE__ */ new Set();
151
140
  function warnOnce(condition, message, errorCode) {
152
141
  if (condition || warned.has(message))
@@ -155,7 +144,7 @@ function warnOnce(condition, message, errorCode) {
155
144
  warned.add(message);
156
145
  }
157
146
 
158
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
147
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
159
148
  var calcBezier = (t, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t + (3 * a2 - 6 * a1)) * t + 3 * a1) * t;
160
149
  var subdivisionPrecision = 1e-7;
161
150
  var subdivisionMaxIterations = 12;
@@ -174,6 +163,7 @@ function binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {
174
163
  } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations);
175
164
  return currentT;
176
165
  }
166
+ // @__NO_SIDE_EFFECTS__
177
167
  function cubicBezier(mX1, mY1, mX2, mY2) {
178
168
  if (mX1 === mY1 && mX2 === mY2)
179
169
  return noop;
@@ -181,39 +171,39 @@ function cubicBezier(mX1, mY1, mX2, mY2) {
181
171
  return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
182
172
  }
183
173
 
184
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
185
- var mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
174
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
175
+ var mirrorEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
186
176
 
187
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
188
- var reverseEasing = (easing) => (p) => 1 - easing(1 - p);
177
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
178
+ var reverseEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => 1 - easing(1 - p);
189
179
 
190
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/back.mjs
180
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/back.mjs
191
181
  var backOut = /* @__PURE__ */ cubicBezier(0.33, 1.53, 0.69, 0.99);
192
182
  var backIn = /* @__PURE__ */ reverseEasing(backOut);
193
183
  var backInOut = /* @__PURE__ */ mirrorEasing(backIn);
194
184
 
195
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
185
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
196
186
  var anticipate = (p) => p >= 1 ? 1 : (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
197
187
 
198
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/circ.mjs
188
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/circ.mjs
199
189
  var circIn = (p) => 1 - Math.sin(Math.acos(p));
200
190
  var circOut = reverseEasing(circIn);
201
191
  var circInOut = mirrorEasing(circIn);
202
192
 
203
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/ease.mjs
193
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/ease.mjs
204
194
  var easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1);
205
195
  var easeOut = /* @__PURE__ */ cubicBezier(0, 0, 0.58, 1);
206
196
  var easeInOut = /* @__PURE__ */ cubicBezier(0.42, 0, 0.58, 1);
207
197
 
208
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
209
- var isEasingArray = (ease2) => {
198
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
199
+ var isEasingArray = /* @__NO_SIDE_EFFECTS__ */ (ease2) => {
210
200
  return Array.isArray(ease2) && typeof ease2[0] !== "number";
211
201
  };
212
202
 
213
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
214
- var isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number";
203
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
204
+ var isBezierDefinition = /* @__NO_SIDE_EFFECTS__ */ (easing) => Array.isArray(easing) && typeof easing[0] === "number";
215
205
 
216
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
206
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
217
207
  var easingLookup = {
218
208
  linear: noop,
219
209
  easeIn,
@@ -242,7 +232,7 @@ var easingDefinitionToFunction = (definition) => {
242
232
  return definition;
243
233
  };
244
234
 
245
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
235
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/order.mjs
246
236
  var stepsOrder = [
247
237
  "setup",
248
238
  // Compute
@@ -262,8 +252,8 @@ var stepsOrder = [
262
252
  // Compute
263
253
  ];
264
254
 
265
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
266
- function createRenderStep(runNextFrame, stepName) {
255
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
256
+ function createRenderStep(runNextFrame) {
267
257
  let thisFrame = /* @__PURE__ */ new Set();
268
258
  let nextFrame = /* @__PURE__ */ new Set();
269
259
  let isProcessing = false;
@@ -325,7 +315,7 @@ function createRenderStep(runNextFrame, stepName) {
325
315
  return step;
326
316
  }
327
317
 
328
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
318
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
329
319
  var maxElapsed = 40;
330
320
  function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
331
321
  let runNextFrame = false;
@@ -388,10 +378,10 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
388
378
  return { schedule, cancel, state, steps };
389
379
  }
390
380
 
391
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
381
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/frame.mjs
392
382
  var { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true);
393
383
 
394
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
384
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
395
385
  var now;
396
386
  function clearTime() {
397
387
  now = void 0;
@@ -409,7 +399,7 @@ var time = {
409
399
  }
410
400
  };
411
401
 
412
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
402
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
413
403
  var checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
414
404
  var isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
415
405
  var startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
@@ -426,7 +416,7 @@ function containsCSSVariable(value) {
426
416
  return value.split("/*")[0].includes("var(--");
427
417
  }
428
418
 
429
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
419
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
430
420
  var number = {
431
421
  test: (v) => typeof v === "number",
432
422
  parse: parseFloat,
@@ -441,21 +431,21 @@ var scale = {
441
431
  default: 1
442
432
  };
443
433
 
444
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
434
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
445
435
  var sanitize = (v) => Math.round(v * 1e5) / 1e5;
446
436
 
447
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
437
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
448
438
  var floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
449
439
 
450
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
440
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
451
441
  function isNullish(v) {
452
442
  return v == null;
453
443
  }
454
444
 
455
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
445
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
456
446
  var singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
457
447
 
458
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
448
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
459
449
  var isColorString = (type, testProp) => (v) => {
460
450
  return Boolean(typeof v === "string" && singleColorRegex.test(v) && v.startsWith(type) || testProp && !isNullish(v) && Object.prototype.hasOwnProperty.call(v, testProp));
461
451
  };
@@ -471,7 +461,7 @@ var splitColor = (aName, bName, cName) => (v) => {
471
461
  };
472
462
  };
473
463
 
474
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
464
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
475
465
  var clampRgbUnit = (v) => clamp(0, 255, v);
476
466
  var rgbUnit = {
477
467
  ...number,
@@ -483,7 +473,7 @@ var rgba = {
483
473
  transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
484
474
  };
485
475
 
486
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
476
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
487
477
  function parseHex(v) {
488
478
  let r = "";
489
479
  let g = "";
@@ -517,7 +507,7 @@ var hex = {
517
507
  transform: rgba.transform
518
508
  };
519
509
 
520
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
510
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
521
511
  var createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
522
512
  test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
523
513
  parse: parseFloat,
@@ -534,7 +524,7 @@ var progressPercentage = /* @__PURE__ */ (() => ({
534
524
  transform: (v) => percent.transform(v * 100)
535
525
  }))();
536
526
 
537
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
527
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
538
528
  var hsla = {
539
529
  test: /* @__PURE__ */ isColorString("hsl", "hue"),
540
530
  parse: /* @__PURE__ */ splitColor("hue", "saturation", "lightness"),
@@ -543,7 +533,7 @@ var hsla = {
543
533
  }
544
534
  };
545
535
 
546
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
536
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/index.mjs
547
537
  var color = {
548
538
  test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),
549
539
  parse: (v) => {
@@ -565,10 +555,10 @@ var color = {
565
555
  }
566
556
  };
567
557
 
568
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
558
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
569
559
  var colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
570
560
 
571
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
561
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
572
562
  function test(v) {
573
563
  return isNaN(v) && typeof v === "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
574
564
  }
@@ -653,7 +643,7 @@ var complex = {
653
643
  getAnimatableNone
654
644
  };
655
645
 
656
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
646
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
657
647
  function hueToRgb(p, q, t) {
658
648
  if (t < 0)
659
649
  t += 1;
@@ -691,17 +681,17 @@ function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
691
681
  };
692
682
  }
693
683
 
694
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
684
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
695
685
  function mixImmediate(a, b) {
696
686
  return (p) => p > 0 ? b : a;
697
687
  }
698
688
 
699
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
689
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/number.mjs
700
690
  var mixNumber = (from, to, progress2) => {
701
691
  return from + (to - from) * progress2;
702
692
  };
703
693
 
704
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
694
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/color.mjs
705
695
  var mixLinearColor = (from, to, v) => {
706
696
  const fromExpo = from * from;
707
697
  const expo = v * (to * to - fromExpo) + fromExpo;
@@ -736,7 +726,7 @@ var mixColor = (from, to) => {
736
726
  };
737
727
  };
738
728
 
739
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
729
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
740
730
  var invisibleValues = /* @__PURE__ */ new Set(["none", "hidden"]);
741
731
  function mixVisibility(origin, target) {
742
732
  if (invisibleValues.has(origin)) {
@@ -746,7 +736,7 @@ function mixVisibility(origin, target) {
746
736
  }
747
737
  }
748
738
 
749
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
739
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
750
740
  function mixNumber2(a, b) {
751
741
  return (p) => mixNumber(a, b, p);
752
742
  }
@@ -816,7 +806,7 @@ var mixComplex = (origin, target) => {
816
806
  }
817
807
  };
818
808
 
819
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
809
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/index.mjs
820
810
  function mix(from, to, p) {
821
811
  if (typeof from === "number" && typeof to === "number" && typeof p === "number") {
822
812
  return mixNumber(from, to, p);
@@ -825,7 +815,7 @@ function mix(from, to, p) {
825
815
  return mixer(from, to);
826
816
  }
827
817
 
828
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
818
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
829
819
  var frameloopDriver = (update) => {
830
820
  const passTimestamp = ({ timestamp }) => update(timestamp);
831
821
  return {
@@ -839,7 +829,7 @@ var frameloopDriver = (update) => {
839
829
  };
840
830
  };
841
831
 
842
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
832
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
843
833
  var generateLinearEasing = (easing, duration, resolution = 10) => {
844
834
  let points = "";
845
835
  const numPoints = Math.max(Math.round(duration / resolution), 2);
@@ -849,7 +839,7 @@ var generateLinearEasing = (easing, duration, resolution = 10) => {
849
839
  return `linear(${points.substring(0, points.length - 2)})`;
850
840
  };
851
841
 
852
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
842
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
853
843
  var maxGeneratorDuration = 2e4;
854
844
  function calcGeneratorDuration(generator) {
855
845
  let duration = 0;
@@ -862,7 +852,7 @@ function calcGeneratorDuration(generator) {
862
852
  return duration >= maxGeneratorDuration ? Infinity : duration;
863
853
  }
864
854
 
865
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
855
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
866
856
  function createGeneratorEasing(options, scale2 = 100, createGenerator) {
867
857
  const generator = createGenerator({ ...options, keyframes: [0, scale2] });
868
858
  const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
@@ -875,7 +865,7 @@ function createGeneratorEasing(options, scale2 = 100, createGenerator) {
875
865
  };
876
866
  }
877
867
 
878
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
868
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
879
869
  var springDefaults = {
880
870
  // Default spring physics
881
871
  stiffness: 100,
@@ -1114,14 +1104,14 @@ spring.applyToOptions = (options) => {
1114
1104
  return options;
1115
1105
  };
1116
1106
 
1117
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1107
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1118
1108
  var velocitySampleDuration = 5;
1119
1109
  function getGeneratorVelocity(resolveValue, t, current) {
1120
1110
  const prevT = Math.max(t - velocitySampleDuration, 0);
1121
1111
  return velocityPerSecond(current - resolveValue(prevT), t - prevT);
1122
1112
  }
1123
1113
 
1124
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1114
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1125
1115
  function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed }) {
1126
1116
  const origin = keyframes2[0];
1127
1117
  const state = {
@@ -1185,7 +1175,7 @@ function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstan
1185
1175
  };
1186
1176
  }
1187
1177
 
1188
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1178
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1189
1179
  function createMixers(output, ease2, customMixer) {
1190
1180
  const mixers = [];
1191
1181
  const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;
@@ -1230,7 +1220,7 @@ function interpolate(input, output, { clamp: isClamp = true, ease: ease2, mixer
1230
1220
  return isClamp ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator;
1231
1221
  }
1232
1222
 
1233
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1223
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1234
1224
  function fillOffset(offset, remaining) {
1235
1225
  const min = offset[offset.length - 1];
1236
1226
  for (let i = 1; i <= remaining; i++) {
@@ -1239,19 +1229,19 @@ function fillOffset(offset, remaining) {
1239
1229
  }
1240
1230
  }
1241
1231
 
1242
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1232
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1243
1233
  function defaultOffset(arr) {
1244
1234
  const offset = [0];
1245
1235
  fillOffset(offset, arr.length - 1);
1246
1236
  return offset;
1247
1237
  }
1248
1238
 
1249
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1239
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1250
1240
  function convertOffsetToTimes(offset, duration) {
1251
1241
  return offset.map((o) => o * duration);
1252
1242
  }
1253
1243
 
1254
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1244
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1255
1245
  function defaultEasing(values, easing) {
1256
1246
  return values.map(() => easing || easeInOut).splice(0, values.length - 1);
1257
1247
  }
@@ -1280,7 +1270,7 @@ function keyframes({ duration = 300, keyframes: keyframeValues, times, ease: eas
1280
1270
  };
1281
1271
  }
1282
1272
 
1283
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1273
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1284
1274
  var isNotNull = (value) => value !== null;
1285
1275
  function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
1286
1276
  const resolvedKeyframes = keyframes2.filter(isNotNull);
@@ -1289,7 +1279,7 @@ function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyf
1289
1279
  return !index || finalKeyframe === void 0 ? resolvedKeyframes[index] : finalKeyframe;
1290
1280
  }
1291
1281
 
1292
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1282
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1293
1283
  var transitionTypeMap = {
1294
1284
  decay: inertia,
1295
1285
  inertia,
@@ -1303,7 +1293,7 @@ function replaceTransitionType(transition) {
1303
1293
  }
1304
1294
  }
1305
1295
 
1306
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1296
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1307
1297
  var WithPromise = class {
1308
1298
  constructor() {
1309
1299
  this.updateFinished();
@@ -1329,7 +1319,7 @@ var WithPromise = class {
1329
1319
  }
1330
1320
  };
1331
1321
 
1332
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1322
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1333
1323
  var percentToProgress = (percent2) => percent2 / 100;
1334
1324
  var JSAnimation = class extends WithPromise {
1335
1325
  constructor(options) {
@@ -1608,14 +1598,14 @@ var JSAnimation = class extends WithPromise {
1608
1598
  }
1609
1599
  };
1610
1600
 
1611
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1601
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1612
1602
  function fillWildcards(keyframes2) {
1613
1603
  for (let i = 1; i < keyframes2.length; i++) {
1614
1604
  keyframes2[i] ?? (keyframes2[i] = keyframes2[i - 1]);
1615
1605
  }
1616
1606
  }
1617
1607
 
1618
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1608
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1619
1609
  var radToDeg = (rad) => rad * 180 / Math.PI;
1620
1610
  var rotate = (v) => {
1621
1611
  const angle = radToDeg(Math.atan2(v[1], v[0]));
@@ -1695,7 +1685,7 @@ function convertTransformToNumber(value) {
1695
1685
  return parseFloat(value.trim());
1696
1686
  }
1697
1687
 
1698
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1688
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1699
1689
  var transformPropOrder = [
1700
1690
  "transformPerspective",
1701
1691
  "x",
@@ -1715,9 +1705,9 @@ var transformPropOrder = [
1715
1705
  "skewX",
1716
1706
  "skewY"
1717
1707
  ];
1718
- var transformProps = /* @__PURE__ */ (() => new Set(transformPropOrder))();
1708
+ var transformProps = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([...transformPropOrder, "pathRotation"]))();
1719
1709
 
1720
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1710
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1721
1711
  var isNumOrPxType = (v) => v === number || v === px;
1722
1712
  var transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
1723
1713
  var nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
@@ -1753,7 +1743,7 @@ var positionalValues = {
1753
1743
  positionalValues.translateX = positionalValues.x;
1754
1744
  positionalValues.translateY = positionalValues.y;
1755
1745
 
1756
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1746
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1757
1747
  var toResolve = /* @__PURE__ */ new Set();
1758
1748
  var isScheduled = false;
1759
1749
  var anyNeedsMeasurement = false;
@@ -1879,27 +1869,27 @@ var KeyframeResolver = class {
1879
1869
  }
1880
1870
  };
1881
1871
 
1882
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1872
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1883
1873
  var isCSSVar = (name) => name.startsWith("--");
1884
1874
 
1885
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1875
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1886
1876
  function setStyle(element, name, value) {
1887
1877
  isCSSVar(name) ? element.style.setProperty(name, value) : element.style[name] = value;
1888
1878
  }
1889
1879
 
1890
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1880
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1891
1881
  var supportsFlags = {};
1892
1882
 
1893
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1883
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1894
1884
  function memoSupports(callback, supportsFlag) {
1895
1885
  const memoized = memo(callback);
1896
1886
  return () => supportsFlags[supportsFlag] ?? memoized();
1897
1887
  }
1898
1888
 
1899
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1889
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1900
1890
  var supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== void 0, "scrollTimeline");
1901
1891
 
1902
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1892
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1903
1893
  var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1904
1894
  try {
1905
1895
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -1909,10 +1899,10 @@ var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1909
1899
  return true;
1910
1900
  }, "linearEasing");
1911
1901
 
1912
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1902
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1913
1903
  var cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
1914
1904
 
1915
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1905
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1916
1906
  var supportedWaapiEasing = {
1917
1907
  linear: "linear",
1918
1908
  ease: "ease",
@@ -1925,7 +1915,7 @@ var supportedWaapiEasing = {
1925
1915
  backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
1926
1916
  };
1927
1917
 
1928
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1918
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1929
1919
  function mapEasingToNativeEasing(easing, duration) {
1930
1920
  if (!easing) {
1931
1921
  return void 0;
@@ -1940,7 +1930,7 @@ function mapEasingToNativeEasing(easing, duration) {
1940
1930
  }
1941
1931
  }
1942
1932
 
1943
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1933
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1944
1934
  function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeOut", times } = {}, pseudoElement = void 0) {
1945
1935
  const keyframeOptions = {
1946
1936
  [valueName]: keyframes2
@@ -1960,16 +1950,15 @@ function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0
1960
1950
  };
1961
1951
  if (pseudoElement)
1962
1952
  options.pseudoElement = pseudoElement;
1963
- const animation = element.animate(keyframeOptions, options);
1964
- return animation;
1953
+ return element.animate(keyframeOptions, options);
1965
1954
  }
1966
1955
 
1967
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1956
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1968
1957
  function isGenerator(type) {
1969
1958
  return typeof type === "function" && "applyToOptions" in type;
1970
1959
  }
1971
1960
 
1972
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1961
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1973
1962
  function applyGeneratorOptions({ type, ...options }) {
1974
1963
  if (isGenerator(type) && supportsLinearEasing()) {
1975
1964
  return type.applyToOptions(options);
@@ -1980,7 +1969,7 @@ function applyGeneratorOptions({ type, ...options }) {
1980
1969
  return options;
1981
1970
  }
1982
1971
 
1983
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1972
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1984
1973
  var NativeAnimation = class extends WithPromise {
1985
1974
  constructor(options) {
1986
1975
  super();
@@ -2130,7 +2119,7 @@ var NativeAnimation = class extends WithPromise {
2130
2119
  }
2131
2120
  };
2132
2121
 
2133
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2122
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2134
2123
  var unsupportedEasingFunctions = {
2135
2124
  anticipate,
2136
2125
  backInOut,
@@ -2145,7 +2134,7 @@ function replaceStringEasing(transition) {
2145
2134
  }
2146
2135
  }
2147
2136
 
2148
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2137
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2149
2138
  var sampleDelta = 10;
2150
2139
  var NativeAnimationExtended = class extends NativeAnimation {
2151
2140
  constructor(options) {
@@ -2188,7 +2177,7 @@ var NativeAnimationExtended = class extends NativeAnimation {
2188
2177
  }
2189
2178
  };
2190
2179
 
2191
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2180
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2192
2181
  var isAnimatable = (value, name) => {
2193
2182
  if (name === "zIndex")
2194
2183
  return false;
@@ -2202,7 +2191,7 @@ var isAnimatable = (value, name) => {
2202
2191
  return false;
2203
2192
  };
2204
2193
 
2205
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2194
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2206
2195
  function hasKeyframesChanged(keyframes2) {
2207
2196
  const current = keyframes2[0];
2208
2197
  if (keyframes2.length === 1)
@@ -2229,24 +2218,22 @@ function canAnimate(keyframes2, name, type, velocity) {
2229
2218
  return hasKeyframesChanged(keyframes2) || (type === "spring" || isGenerator(type)) && velocity;
2230
2219
  }
2231
2220
 
2232
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2221
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2233
2222
  function makeAnimationInstant(options) {
2234
2223
  options.duration = 0;
2235
2224
  options.type = "keyframes";
2236
2225
  }
2237
2226
 
2238
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2227
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2239
2228
  var acceleratedValues = /* @__PURE__ */ new Set([
2240
2229
  "opacity",
2241
2230
  "clipPath",
2242
2231
  "filter",
2243
- "transform"
2244
- // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
2245
- // or until we implement support for linear() easing.
2246
- // "background-color"
2232
+ "transform",
2233
+ "backgroundColor"
2247
2234
  ]);
2248
2235
 
2249
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2236
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2250
2237
  var browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
2251
2238
  function hasBrowserOnlyColors(keyframes2) {
2252
2239
  for (let i = 0; i < keyframes2.length; i++) {
@@ -2257,7 +2244,7 @@ function hasBrowserOnlyColors(keyframes2) {
2257
2244
  return false;
2258
2245
  }
2259
2246
 
2260
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2247
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2261
2248
  var colorProperties = /* @__PURE__ */ new Set([
2262
2249
  "color",
2263
2250
  "backgroundColor",
@@ -2274,7 +2261,7 @@ var supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Elemen
2274
2261
  function supportsBrowserAnimation(options) {
2275
2262
  const { motionValue: motionValue2, name, repeatDelay, repeatType, damping, type, keyframes: keyframes2 } = options;
2276
2263
  const subject = motionValue2?.owner?.current;
2277
- if (!(subject instanceof HTMLElement)) {
2264
+ if (!(subject instanceof HTMLElement) && !(subject instanceof SVGElement)) {
2278
2265
  return false;
2279
2266
  }
2280
2267
  const { onUpdate, transformTemplate } = motionValue2.owner.getProps();
@@ -2289,7 +2276,7 @@ function supportsBrowserAnimation(options) {
2289
2276
  !onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
2290
2277
  }
2291
2278
 
2292
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2279
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2293
2280
  var MAX_RESOLVE_DELAY = 40;
2294
2281
  var AsyncMotionValueAnimation = class extends WithPromise {
2295
2282
  constructor({ autoplay = true, delay: delay2 = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", keyframes: keyframes2, name, motionValue: motionValue2, element, ...options }) {
@@ -2430,7 +2417,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
2430
2417
  }
2431
2418
  };
2432
2419
 
2433
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2420
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2434
2421
  function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {
2435
2422
  const index = Array.from(children).sort((a, b) => a.sortNodePosition(b)).indexOf(child);
2436
2423
  const numChildren = children.size;
@@ -2439,202 +2426,7 @@ function calcChildStagger(children, child, delayChildren, staggerChildren = 0, s
2439
2426
  return delayIsFunction ? delayChildren(index, numChildren) : staggerDirection === 1 ? index * staggerChildren : maxStaggerDuration - index * staggerChildren;
2440
2427
  }
2441
2428
 
2442
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2443
- var splitCSSVariableRegex = (
2444
- // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2445
- /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2446
- );
2447
- function parseCSSVariable(current) {
2448
- const match = splitCSSVariableRegex.exec(current);
2449
- if (!match)
2450
- return [,];
2451
- const [, token1, token2, fallback] = match;
2452
- return [`--${token1 ?? token2}`, fallback];
2453
- }
2454
- var maxDepth = 4;
2455
- function getVariableValue(current, element, depth = 1) {
2456
- invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2457
- const [token, fallback] = parseCSSVariable(current);
2458
- if (!token)
2459
- return;
2460
- const resolved = window.getComputedStyle(element).getPropertyValue(token);
2461
- if (resolved) {
2462
- const trimmed = resolved.trim();
2463
- return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2464
- }
2465
- return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2466
- }
2467
-
2468
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2469
- var underDampedSpring = {
2470
- type: "spring",
2471
- stiffness: 500,
2472
- damping: 25,
2473
- restSpeed: 10
2474
- };
2475
- var criticallyDampedSpring = (target) => ({
2476
- type: "spring",
2477
- stiffness: 550,
2478
- damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2479
- restSpeed: 10
2480
- });
2481
- var keyframesTransition = {
2482
- type: "keyframes",
2483
- duration: 0.8
2484
- };
2485
- var ease = {
2486
- type: "keyframes",
2487
- ease: [0.25, 0.1, 0.35, 1],
2488
- duration: 0.3
2489
- };
2490
- var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2491
- if (keyframes2.length > 2) {
2492
- return keyframesTransition;
2493
- } else if (transformProps.has(valueKey)) {
2494
- return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2495
- }
2496
- return ease;
2497
- };
2498
-
2499
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2500
- function resolveTransition(transition, parentTransition) {
2501
- if (transition?.inherit && parentTransition) {
2502
- const { inherit: _, ...rest } = transition;
2503
- return { ...parentTransition, ...rest };
2504
- }
2505
- return transition;
2506
- }
2507
-
2508
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2509
- function getValueTransition(transition, key) {
2510
- const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2511
- if (valueTransition !== transition) {
2512
- return resolveTransition(valueTransition, transition);
2513
- }
2514
- return valueTransition;
2515
- }
2516
-
2517
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2518
- var orchestrationKeys = /* @__PURE__ */ new Set([
2519
- "when",
2520
- "delay",
2521
- "delayChildren",
2522
- "staggerChildren",
2523
- "staggerDirection",
2524
- "repeat",
2525
- "repeatType",
2526
- "repeatDelay",
2527
- "from",
2528
- "elapsed"
2529
- ]);
2530
- function isTransitionDefined(transition) {
2531
- for (const key in transition) {
2532
- if (!orchestrationKeys.has(key))
2533
- return true;
2534
- }
2535
- return false;
2536
- }
2537
-
2538
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2539
- var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2540
- const valueTransition = getValueTransition(transition, name) || {};
2541
- const delay2 = valueTransition.delay || transition.delay || 0;
2542
- let { elapsed = 0 } = transition;
2543
- elapsed = elapsed - secondsToMilliseconds(delay2);
2544
- const options = {
2545
- keyframes: Array.isArray(target) ? target : [null, target],
2546
- ease: "easeOut",
2547
- velocity: value.getVelocity(),
2548
- ...valueTransition,
2549
- delay: -elapsed,
2550
- onUpdate: (v) => {
2551
- value.set(v);
2552
- valueTransition.onUpdate && valueTransition.onUpdate(v);
2553
- },
2554
- onComplete: () => {
2555
- onComplete();
2556
- valueTransition.onComplete && valueTransition.onComplete();
2557
- },
2558
- name,
2559
- motionValue: value,
2560
- element: isHandoff ? void 0 : element
2561
- };
2562
- if (!isTransitionDefined(valueTransition)) {
2563
- Object.assign(options, getDefaultTransition(name, options));
2564
- }
2565
- options.duration && (options.duration = secondsToMilliseconds(options.duration));
2566
- options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2567
- if (options.from !== void 0) {
2568
- options.keyframes[0] = options.from;
2569
- }
2570
- let shouldSkip = false;
2571
- if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2572
- makeAnimationInstant(options);
2573
- if (options.delay === 0) {
2574
- shouldSkip = true;
2575
- }
2576
- }
2577
- if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations) {
2578
- shouldSkip = true;
2579
- makeAnimationInstant(options);
2580
- options.delay = 0;
2581
- }
2582
- options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2583
- if (shouldSkip && !isHandoff && value.get() !== void 0) {
2584
- const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2585
- if (finalKeyframe !== void 0) {
2586
- frame.update(() => {
2587
- options.onUpdate(finalKeyframe);
2588
- options.onComplete();
2589
- });
2590
- return;
2591
- }
2592
- }
2593
- return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2594
- };
2595
-
2596
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2597
- function getValueState(visualElement) {
2598
- const state = [{}, {}];
2599
- visualElement?.values.forEach((value, key) => {
2600
- state[0][key] = value.get();
2601
- state[1][key] = value.getVelocity();
2602
- });
2603
- return state;
2604
- }
2605
- function resolveVariantFromProps(props, definition, custom, visualElement) {
2606
- if (typeof definition === "function") {
2607
- const [current, velocity] = getValueState(visualElement);
2608
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2609
- }
2610
- if (typeof definition === "string") {
2611
- definition = props.variants && props.variants[definition];
2612
- }
2613
- if (typeof definition === "function") {
2614
- const [current, velocity] = getValueState(visualElement);
2615
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2616
- }
2617
- return definition;
2618
- }
2619
-
2620
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2621
- function resolveVariant(visualElement, definition, custom) {
2622
- const props = visualElement.getProps();
2623
- return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2624
- }
2625
-
2626
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2627
- var positionalKeys = /* @__PURE__ */ new Set([
2628
- "width",
2629
- "height",
2630
- "top",
2631
- "left",
2632
- "right",
2633
- "bottom",
2634
- ...transformPropOrder
2635
- ]);
2636
-
2637
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/index.mjs
2429
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/index.mjs
2638
2430
  var MAX_VELOCITY_DELTA = 30;
2639
2431
  var isFloat = (value) => {
2640
2432
  return !isNaN(parseFloat(value));
@@ -2879,46 +2671,241 @@ var MotionValue = class {
2879
2671
  }
2880
2672
  this.clearAnimation();
2881
2673
  }
2882
- /**
2883
- * Returns `true` if this value is currently animating.
2884
- *
2885
- * @public
2886
- */
2887
- isAnimating() {
2888
- return !!this.animation;
2674
+ /**
2675
+ * Returns `true` if this value is currently animating.
2676
+ *
2677
+ * @public
2678
+ */
2679
+ isAnimating() {
2680
+ return !!this.animation;
2681
+ }
2682
+ clearAnimation() {
2683
+ delete this.animation;
2684
+ }
2685
+ /**
2686
+ * Destroy and clean up subscribers to this `MotionValue`.
2687
+ *
2688
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2689
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2690
+ * created a `MotionValue` via the `motionValue` function.
2691
+ *
2692
+ * @public
2693
+ */
2694
+ destroy() {
2695
+ this.dependents?.clear();
2696
+ this.events.destroy?.notify();
2697
+ this.clearListeners();
2698
+ this.stop();
2699
+ if (this.stopPassiveEffect) {
2700
+ this.stopPassiveEffect();
2701
+ }
2702
+ }
2703
+ };
2704
+ function motionValue(init, options) {
2705
+ return new MotionValue(init, options);
2706
+ }
2707
+
2708
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2709
+ function resolveTransition(transition, parentTransition) {
2710
+ if (transition?.inherit && parentTransition) {
2711
+ const { inherit: _, ...rest } = transition;
2712
+ return { ...parentTransition, ...rest };
2713
+ }
2714
+ return transition;
2715
+ }
2716
+
2717
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2718
+ function getValueTransition(transition, key) {
2719
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2720
+ if (valueTransition !== transition) {
2721
+ return resolveTransition(valueTransition, transition);
2722
+ }
2723
+ return valueTransition;
2724
+ }
2725
+
2726
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2727
+ var underDampedSpring = {
2728
+ type: "spring",
2729
+ stiffness: 500,
2730
+ damping: 25,
2731
+ restSpeed: 10
2732
+ };
2733
+ var criticallyDampedSpring = (target) => ({
2734
+ type: "spring",
2735
+ stiffness: 550,
2736
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2737
+ restSpeed: 10
2738
+ });
2739
+ var keyframesTransition = {
2740
+ type: "keyframes",
2741
+ duration: 0.8
2742
+ };
2743
+ var ease = {
2744
+ type: "keyframes",
2745
+ ease: [0.25, 0.1, 0.35, 1],
2746
+ duration: 0.3
2747
+ };
2748
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2749
+ if (keyframes2.length > 2) {
2750
+ return keyframesTransition;
2751
+ } else if (transformProps.has(valueKey)) {
2752
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2753
+ }
2754
+ return ease;
2755
+ };
2756
+
2757
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2758
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2759
+ "when",
2760
+ "delay",
2761
+ "delayChildren",
2762
+ "staggerChildren",
2763
+ "staggerDirection",
2764
+ "repeat",
2765
+ "repeatType",
2766
+ "repeatDelay",
2767
+ "from",
2768
+ "elapsed"
2769
+ ]);
2770
+ function isTransitionDefined(transition) {
2771
+ for (const key in transition) {
2772
+ if (!orchestrationKeys.has(key))
2773
+ return true;
2774
+ }
2775
+ return false;
2776
+ }
2777
+
2778
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2779
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2780
+ const valueTransition = getValueTransition(transition, name) || {};
2781
+ const delay2 = valueTransition.delay || transition.delay || 0;
2782
+ let { elapsed = 0 } = transition;
2783
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2784
+ const options = {
2785
+ keyframes: Array.isArray(target) ? target : [null, target],
2786
+ ease: "easeOut",
2787
+ velocity: value.getVelocity(),
2788
+ ...valueTransition,
2789
+ delay: -elapsed,
2790
+ onUpdate: (v) => {
2791
+ value.set(v);
2792
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2793
+ },
2794
+ onComplete: () => {
2795
+ onComplete();
2796
+ valueTransition.onComplete && valueTransition.onComplete();
2797
+ },
2798
+ name,
2799
+ motionValue: value,
2800
+ element: isHandoff ? void 0 : element
2801
+ };
2802
+ if (!isTransitionDefined(valueTransition)) {
2803
+ Object.assign(options, getDefaultTransition(name, options));
2804
+ }
2805
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2806
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2807
+ if (options.from !== void 0) {
2808
+ options.keyframes[0] = options.from;
2809
+ }
2810
+ let shouldSkip = false;
2811
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2812
+ makeAnimationInstant(options);
2813
+ if (options.delay === 0) {
2814
+ shouldSkip = true;
2815
+ }
2889
2816
  }
2890
- clearAnimation() {
2891
- delete this.animation;
2817
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2818
+ shouldSkip = true;
2819
+ makeAnimationInstant(options);
2820
+ options.delay = 0;
2892
2821
  }
2893
- /**
2894
- * Destroy and clean up subscribers to this `MotionValue`.
2895
- *
2896
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2897
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2898
- * created a `MotionValue` via the `motionValue` function.
2899
- *
2900
- * @public
2901
- */
2902
- destroy() {
2903
- this.dependents?.clear();
2904
- this.events.destroy?.notify();
2905
- this.clearListeners();
2906
- this.stop();
2907
- if (this.stopPassiveEffect) {
2908
- this.stopPassiveEffect();
2822
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2823
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2824
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2825
+ if (finalKeyframe !== void 0) {
2826
+ frame.update(() => {
2827
+ options.onUpdate(finalKeyframe);
2828
+ options.onComplete();
2829
+ });
2830
+ return;
2909
2831
  }
2910
2832
  }
2833
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2911
2834
  };
2912
- function motionValue(init, options) {
2913
- return new MotionValue(init, options);
2835
+
2836
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2837
+ var splitCSSVariableRegex = (
2838
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2839
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2840
+ );
2841
+ function parseCSSVariable(current) {
2842
+ const match = splitCSSVariableRegex.exec(current);
2843
+ if (!match)
2844
+ return [,];
2845
+ const [, token1, token2, fallback] = match;
2846
+ return [`--${token1 ?? token2}`, fallback];
2847
+ }
2848
+ var maxDepth = 4;
2849
+ function getVariableValue(current, element, depth = 1) {
2850
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2851
+ const [token, fallback] = parseCSSVariable(current);
2852
+ if (!token)
2853
+ return;
2854
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2855
+ if (resolved) {
2856
+ const trimmed = resolved.trim();
2857
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2858
+ }
2859
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2860
+ }
2861
+
2862
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2863
+ function getValueState(visualElement) {
2864
+ const state = [{}, {}];
2865
+ visualElement?.values.forEach((value, key) => {
2866
+ state[0][key] = value.get();
2867
+ state[1][key] = value.getVelocity();
2868
+ });
2869
+ return state;
2870
+ }
2871
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2872
+ if (typeof definition === "function") {
2873
+ const [current, velocity] = getValueState(visualElement);
2874
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2875
+ }
2876
+ if (typeof definition === "string") {
2877
+ definition = props.variants && props.variants[definition];
2878
+ }
2879
+ if (typeof definition === "function") {
2880
+ const [current, velocity] = getValueState(visualElement);
2881
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2882
+ }
2883
+ return definition;
2884
+ }
2885
+
2886
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2887
+ function resolveVariant(visualElement, definition, custom) {
2888
+ const props = visualElement.getProps();
2889
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2914
2890
  }
2915
2891
 
2916
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2892
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2893
+ var positionalKeys = /* @__PURE__ */ new Set([
2894
+ "width",
2895
+ "height",
2896
+ "top",
2897
+ "left",
2898
+ "right",
2899
+ "bottom",
2900
+ ...transformPropOrder
2901
+ ]);
2902
+
2903
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2917
2904
  var isKeyframesTarget = (v) => {
2918
2905
  return Array.isArray(v);
2919
2906
  };
2920
2907
 
2921
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2908
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2922
2909
  function setMotionValue(visualElement, key, value) {
2923
2910
  if (visualElement.hasValue(key)) {
2924
2911
  visualElement.getValue(key).set(value);
@@ -2939,15 +2926,15 @@ function setTarget(visualElement, definition) {
2939
2926
  }
2940
2927
  }
2941
2928
 
2942
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2929
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2943
2930
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2944
2931
 
2945
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2932
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2946
2933
  function isWillChangeMotionValue(value) {
2947
2934
  return Boolean(isMotionValue(value) && value.add);
2948
2935
  }
2949
2936
 
2950
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2937
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2951
2938
  function addValueToWillChange(visualElement, key) {
2952
2939
  const willChange = visualElement.getValue("willChange");
2953
2940
  if (isWillChangeMotionValue(willChange)) {
@@ -2959,21 +2946,22 @@ function addValueToWillChange(visualElement, key) {
2959
2946
  }
2960
2947
  }
2961
2948
 
2962
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2949
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2963
2950
  function camelToDash(str) {
2964
2951
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
2965
2952
  }
2966
2953
 
2967
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2954
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2968
2955
  var optimizedAppearDataId = "framerAppearId";
2969
2956
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
2970
2957
 
2971
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2958
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2972
2959
  function getOptimisedAppearId(visualElement) {
2973
2960
  return visualElement.props[optimizedAppearDataAttribute];
2974
2961
  }
2975
2962
 
2976
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2963
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2964
+ var isBrowser2 = typeof window !== "undefined";
2977
2965
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
2978
2966
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
2979
2967
  needsAnimating[key] = false;
@@ -2984,10 +2972,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
2984
2972
  const defaultTransition = visualElement.getDefaultTransition();
2985
2973
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
2986
2974
  const reduceMotion = transition?.reduceMotion;
2975
+ const skipAnimations = transition?.skipAnimations;
2987
2976
  if (transitionOverride)
2988
2977
  transition = transitionOverride;
2989
2978
  const animations2 = [];
2990
2979
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
2980
+ const path = transition?.path;
2981
+ if (path) {
2982
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
2983
+ }
2991
2984
  for (const key in target) {
2992
2985
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
2993
2986
  const valueTarget = target[key];
@@ -2998,13 +2991,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
2998
2991
  delay: delay2,
2999
2992
  ...getValueTransition(transition || {}, key)
3000
2993
  };
2994
+ if (skipAnimations)
2995
+ valueTransition.skipAnimations = true;
3001
2996
  const currentValue = value.get();
3002
2997
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3003
2998
  frame.update(() => value.set(valueTarget));
3004
2999
  continue;
3005
3000
  }
3006
3001
  let isHandoff = false;
3007
- if (window.MotionHandoffAnimation) {
3002
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3008
3003
  const appearId = getOptimisedAppearId(visualElement);
3009
3004
  if (appearId) {
3010
3005
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3035,7 +3030,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3035
3030
  return animations2;
3036
3031
  }
3037
3032
 
3038
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3033
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3039
3034
  function animateVariant(visualElement, variant, options = {}) {
3040
3035
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3041
3036
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3067,7 +3062,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3067
3062
  return Promise.all(animations2);
3068
3063
  }
3069
3064
 
3070
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3065
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3071
3066
  function animateVisualElement(visualElement, definition, options = {}) {
3072
3067
  visualElement.notify("AnimationStart", definition);
3073
3068
  let animation;
@@ -3085,20 +3080,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3085
3080
  });
3086
3081
  }
3087
3082
 
3088
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3083
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3089
3084
  var auto = {
3090
3085
  test: (v) => v === "auto",
3091
3086
  parse: (v) => v
3092
3087
  };
3093
3088
 
3094
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3089
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3095
3090
  var testValueType = (v) => (type) => type.test(v);
3096
3091
 
3097
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3092
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3098
3093
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3099
3094
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3100
3095
 
3101
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3096
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3102
3097
  function isNone(value) {
3103
3098
  if (typeof value === "number") {
3104
3099
  return value === 0;
@@ -3109,7 +3104,7 @@ function isNone(value) {
3109
3104
  }
3110
3105
  }
3111
3106
 
3112
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3107
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3113
3108
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3114
3109
  function applyDefaultFilter(v) {
3115
3110
  const [name, value] = v.slice(0, -1).split("(");
@@ -3133,7 +3128,7 @@ var filter = {
3133
3128
  }
3134
3129
  };
3135
3130
 
3136
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3131
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3137
3132
  var mask = {
3138
3133
  ...complex,
3139
3134
  getAnimatableNone: (v) => {
@@ -3143,15 +3138,21 @@ var mask = {
3143
3138
  }
3144
3139
  };
3145
3140
 
3146
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3141
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3147
3142
  var int = {
3148
3143
  ...number,
3149
3144
  transform: Math.round
3150
3145
  };
3151
3146
 
3152
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3147
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3153
3148
  var transformValueTypes = {
3154
3149
  rotate: degrees,
3150
+ /**
3151
+ * Internal channel for `transition.path` orientToPath. Composed onto
3152
+ * `rotate` at the transform-build sites so the user's `rotate` is
3153
+ * never read or overwritten. Not part of `transformPropOrder`.
3154
+ */
3155
+ pathRotation: degrees,
3155
3156
  rotateX: degrees,
3156
3157
  rotateY: degrees,
3157
3158
  rotateZ: degrees,
@@ -3177,7 +3178,7 @@ var transformValueTypes = {
3177
3178
  originZ: px
3178
3179
  };
3179
3180
 
3180
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3181
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3181
3182
  var numberValueTypes = {
3182
3183
  // Border props
3183
3184
  borderWidth: px,
@@ -3242,7 +3243,7 @@ var numberValueTypes = {
3242
3243
  numOctaves: int
3243
3244
  };
3244
3245
 
3245
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3246
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3246
3247
  var defaultValueTypes = {
3247
3248
  ...numberValueTypes,
3248
3249
  // Color props
@@ -3264,7 +3265,7 @@ var defaultValueTypes = {
3264
3265
  };
3265
3266
  var getDefaultValueType = (key) => defaultValueTypes[key];
3266
3267
 
3267
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3268
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3268
3269
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3269
3270
  function getAnimatableNone2(key, value) {
3270
3271
  let defaultValueType = getDefaultValueType(key);
@@ -3273,7 +3274,7 @@ function getAnimatableNone2(key, value) {
3273
3274
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3274
3275
  }
3275
3276
 
3276
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3277
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3277
3278
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3278
3279
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3279
3280
  let i = 0;
@@ -3292,7 +3293,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3292
3293
  }
3293
3294
  }
3294
3295
 
3295
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3296
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3296
3297
  var DOMKeyframesResolver = class extends KeyframeResolver {
3297
3298
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3298
3299
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3390,7 +3391,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3390
3391
  }
3391
3392
  };
3392
3393
 
3393
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3394
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3395
+ var cornerRadiusProps = [
3396
+ "borderTopLeftRadius",
3397
+ "borderTopRightRadius",
3398
+ "borderBottomRightRadius",
3399
+ "borderBottomLeftRadius"
3400
+ ];
3401
+
3402
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3394
3403
  function resolveElements(elementOrSelector, scope, selectorCache) {
3395
3404
  if (elementOrSelector == null) {
3396
3405
  return [];
@@ -3405,20 +3414,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3405
3414
  return Array.from(elementOrSelector).filter((element) => element != null);
3406
3415
  }
3407
3416
 
3408
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3417
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3409
3418
  var getValueAsType = (value, type) => {
3410
3419
  return type && typeof value === "number" ? type.transform(value) : value;
3411
3420
  };
3412
3421
 
3413
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3422
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3414
3423
  function isHTMLElement(element) {
3415
3424
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3416
3425
  }
3417
3426
 
3418
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3427
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3419
3428
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3420
3429
 
3421
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3430
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3422
3431
  var isDragging = {
3423
3432
  x: false,
3424
3433
  y: false
@@ -3427,7 +3436,7 @@ function isDragActive() {
3427
3436
  return isDragging.x || isDragging.y;
3428
3437
  }
3429
3438
 
3430
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3439
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3431
3440
  function setDragLock(axis) {
3432
3441
  if (axis === "x" || axis === "y") {
3433
3442
  if (isDragging[axis]) {
@@ -3450,7 +3459,7 @@ function setDragLock(axis) {
3450
3459
  }
3451
3460
  }
3452
3461
 
3453
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3462
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3454
3463
  function setupGesture(elementOrSelector, options) {
3455
3464
  const elements = resolveElements(elementOrSelector);
3456
3465
  const gestureAbortController = new AbortController();
@@ -3463,7 +3472,7 @@ function setupGesture(elementOrSelector, options) {
3463
3472
  return [elements, eventOptions, cancel];
3464
3473
  }
3465
3474
 
3466
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3475
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3467
3476
  function isValidHover(event) {
3468
3477
  return !(event.pointerType === "touch" || isDragActive());
3469
3478
  }
@@ -3522,7 +3531,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3522
3531
  return cancel;
3523
3532
  }
3524
3533
 
3525
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3534
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3526
3535
  var isNodeOrChild = (parent, child) => {
3527
3536
  if (!child) {
3528
3537
  return false;
@@ -3533,7 +3542,7 @@ var isNodeOrChild = (parent, child) => {
3533
3542
  }
3534
3543
  };
3535
3544
 
3536
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3545
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3537
3546
  var isPrimaryPointer = (event) => {
3538
3547
  if (event.pointerType === "mouse") {
3539
3548
  return typeof event.button !== "number" || event.button <= 0;
@@ -3542,7 +3551,7 @@ var isPrimaryPointer = (event) => {
3542
3551
  }
3543
3552
  };
3544
3553
 
3545
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3554
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3546
3555
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3547
3556
  "BUTTON",
3548
3557
  "INPUT",
@@ -3558,10 +3567,10 @@ function isElementTextInput(element) {
3558
3567
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3559
3568
  }
3560
3569
 
3561
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3570
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3562
3571
  var isPressing = /* @__PURE__ */ new WeakSet();
3563
3572
 
3564
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3573
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3565
3574
  function filterEvents(callback) {
3566
3575
  return (event) => {
3567
3576
  if (event.key !== "Enter")
@@ -3591,7 +3600,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3591
3600
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3592
3601
  };
3593
3602
 
3594
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3603
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3595
3604
  function isValidPressEvent(event) {
3596
3605
  return isPrimaryPointer(event) && !isDragActive();
3597
3606
  }
@@ -3609,9 +3618,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3609
3618
  claimedPointerDownEvents.add(startEvent);
3610
3619
  }
3611
3620
  const onPressEnd = onPressStart(target, startEvent);
3621
+ const endEventOptions = { ...eventOptions, capture: true };
3612
3622
  const onPointerEnd = (endEvent, success) => {
3613
- window.removeEventListener("pointerup", onPointerUp);
3614
- window.removeEventListener("pointercancel", onPointerCancel);
3623
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3624
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3615
3625
  if (isPressing.has(target)) {
3616
3626
  isPressing.delete(target);
3617
3627
  }
@@ -3628,8 +3638,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3628
3638
  const onPointerCancel = (cancelEvent) => {
3629
3639
  onPointerEnd(cancelEvent, false);
3630
3640
  };
3631
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3632
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3641
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3642
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3633
3643
  };
3634
3644
  targets.forEach((target) => {
3635
3645
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3644,12 +3654,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3644
3654
  return cancelEvents;
3645
3655
  }
3646
3656
 
3647
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3657
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3648
3658
  function isSVGElement(element) {
3649
3659
  return isObject(element) && "ownerSVGElement" in element;
3650
3660
  }
3651
3661
 
3652
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3662
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3653
3663
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3654
3664
  var observer;
3655
3665
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3707,7 +3717,7 @@ function resizeElement(target, handler) {
3707
3717
  };
3708
3718
  }
3709
3719
 
3710
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3720
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3711
3721
  var windowCallbacks = /* @__PURE__ */ new Set();
3712
3722
  var windowResizeHandler;
3713
3723
  function createWindowResizeHandler() {
@@ -3737,21 +3747,21 @@ function resizeWindow(callback) {
3737
3747
  };
3738
3748
  }
3739
3749
 
3740
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3750
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3741
3751
  function resize(a, b) {
3742
3752
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3743
3753
  }
3744
3754
 
3745
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3755
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3746
3756
  function isSVGSVGElement(element) {
3747
3757
  return isSVGElement(element) && element.tagName === "svg";
3748
3758
  }
3749
3759
 
3750
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3760
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3751
3761
  var valueTypes = [...dimensionValueTypes, color, complex];
3752
3762
  var findValueType = (v) => valueTypes.find(testValueType(v));
3753
3763
 
3754
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3764
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3755
3765
  var createAxisDelta = () => ({
3756
3766
  translate: 0,
3757
3767
  scale: 1,
@@ -3768,20 +3778,20 @@ var createBox = () => ({
3768
3778
  y: createAxis()
3769
3779
  });
3770
3780
 
3771
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3781
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3772
3782
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3773
3783
 
3774
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3784
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3775
3785
  function isAnimationControls(v) {
3776
3786
  return v !== null && typeof v === "object" && typeof v.start === "function";
3777
3787
  }
3778
3788
 
3779
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3789
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3780
3790
  function isVariantLabel(v) {
3781
3791
  return typeof v === "string" || Array.isArray(v);
3782
3792
  }
3783
3793
 
3784
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3794
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3785
3795
  var variantPriorityOrder = [
3786
3796
  "animate",
3787
3797
  "whileInView",
@@ -3793,7 +3803,7 @@ var variantPriorityOrder = [
3793
3803
  ];
3794
3804
  var variantProps = ["initial", ...variantPriorityOrder];
3795
3805
 
3796
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3806
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3797
3807
  function isControllingVariants(props) {
3798
3808
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3799
3809
  }
@@ -3801,7 +3811,7 @@ function isVariantNode(props) {
3801
3811
  return Boolean(isControllingVariants(props) || props.variants);
3802
3812
  }
3803
3813
 
3804
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3814
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3805
3815
  function updateMotionValuesFromProps(element, next, prev) {
3806
3816
  for (const key in next) {
3807
3817
  const nextValue = next[key];
@@ -3831,15 +3841,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3831
3841
  return next;
3832
3842
  }
3833
3843
 
3834
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3844
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3835
3845
  var prefersReducedMotion = { current: null };
3836
3846
  var hasReducedMotionListener = { current: false };
3837
3847
 
3838
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3839
- var isBrowser2 = typeof window !== "undefined";
3848
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3849
+ var isBrowser3 = typeof window !== "undefined";
3840
3850
  function initPrefersReducedMotion() {
3841
3851
  hasReducedMotionListener.current = true;
3842
- if (!isBrowser2)
3852
+ if (!isBrowser3)
3843
3853
  return;
3844
3854
  if (window.matchMedia) {
3845
3855
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3851,7 +3861,7 @@ function initPrefersReducedMotion() {
3851
3861
  }
3852
3862
  }
3853
3863
 
3854
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3864
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3855
3865
  var propEventHandlers = [
3856
3866
  "AnimationStart",
3857
3867
  "AnimationComplete",
@@ -4040,8 +4050,6 @@ var VisualElement = class {
4040
4050
  removeOnChange();
4041
4051
  if (removeSyncCheck)
4042
4052
  removeSyncCheck();
4043
- if (value.owner)
4044
- value.stop();
4045
4053
  });
4046
4054
  }
4047
4055
  sortNodePosition(other) {
@@ -4252,7 +4260,7 @@ var VisualElement = class {
4252
4260
  }
4253
4261
  };
4254
4262
 
4255
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4263
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4256
4264
  var DOMVisualElement = class extends VisualElement {
4257
4265
  constructor() {
4258
4266
  super(...arguments);
@@ -4285,7 +4293,7 @@ var DOMVisualElement = class extends VisualElement {
4285
4293
  }
4286
4294
  };
4287
4295
 
4288
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4296
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4289
4297
  var Feature = class {
4290
4298
  constructor(node) {
4291
4299
  this.isMounted = false;
@@ -4295,7 +4303,7 @@ var Feature = class {
4295
4303
  }
4296
4304
  };
4297
4305
 
4298
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4306
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4299
4307
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4300
4308
  return {
4301
4309
  x: { min: left, max: right },
@@ -4318,7 +4326,7 @@ function transformBoxPoints(point, transformPoint2) {
4318
4326
  };
4319
4327
  }
4320
4328
 
4321
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4329
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4322
4330
  function isIdentityScale(scale2) {
4323
4331
  return scale2 === void 0 || scale2 === 1;
4324
4332
  }
@@ -4335,7 +4343,7 @@ function is2DTranslate(value) {
4335
4343
  return value && value !== "0%";
4336
4344
  }
4337
4345
 
4338
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4346
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4339
4347
  function scalePoint(point, scale2, originPoint) {
4340
4348
  const distanceFromOrigin = point - originPoint;
4341
4349
  const scaled = scale2 * distanceFromOrigin;
@@ -4411,7 +4419,7 @@ function transformBox(box, transform, sourceBox) {
4411
4419
  transformAxis(box.y, resolveAxisTranslate(transform.y, resolveBox.y), transform.scaleY, transform.scale, transform.originY);
4412
4420
  }
4413
4421
 
4414
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4422
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4415
4423
  function measureViewportBox(instance, transformPoint2) {
4416
4424
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4417
4425
  }
@@ -4425,7 +4433,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4425
4433
  return viewportBox;
4426
4434
  }
4427
4435
 
4428
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4436
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4429
4437
  var translateAlias = {
4430
4438
  x: "translateX",
4431
4439
  y: "translateY",
@@ -4460,6 +4468,11 @@ function buildTransform(latestValues, transform, transformTemplate) {
4460
4468
  }
4461
4469
  }
4462
4470
  }
4471
+ const pathRotation = latestValues.pathRotation;
4472
+ if (pathRotation) {
4473
+ transformIsDefault = false;
4474
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4475
+ }
4463
4476
  transformString = transformString.trim();
4464
4477
  if (transformTemplate) {
4465
4478
  transformString = transformTemplate(transform, transformIsDefault ? "" : transformString);
@@ -4469,7 +4482,7 @@ function buildTransform(latestValues, transform, transformTemplate) {
4469
4482
  return transformString;
4470
4483
  }
4471
4484
 
4472
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4485
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4473
4486
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4474
4487
  const { style, vars, transformOrigin } = state;
4475
4488
  let hasTransform2 = false;
@@ -4505,7 +4518,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4505
4518
  }
4506
4519
  }
4507
4520
 
4508
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4521
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4509
4522
  function renderHTML(element, { style, vars }, styleProp, projection) {
4510
4523
  const elementStyle = element.style;
4511
4524
  let key;
@@ -4518,7 +4531,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4518
4531
  }
4519
4532
  }
4520
4533
 
4521
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4534
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4522
4535
  function pixelsToPercent(pixels, axis) {
4523
4536
  if (axis.max === axis.min)
4524
4537
  return 0;
@@ -4541,7 +4554,7 @@ var correctBorderRadius = {
4541
4554
  }
4542
4555
  };
4543
4556
 
4544
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4557
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4545
4558
  var correctBoxShadow = {
4546
4559
  correct: (latest, { treeScale, projectionDelta }) => {
4547
4560
  const original = latest;
@@ -4563,16 +4576,11 @@ var correctBoxShadow = {
4563
4576
  }
4564
4577
  };
4565
4578
 
4566
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4579
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4567
4580
  var scaleCorrectors = {
4568
4581
  borderRadius: {
4569
4582
  ...correctBorderRadius,
4570
- applyTo: [
4571
- "borderTopLeftRadius",
4572
- "borderTopRightRadius",
4573
- "borderBottomLeftRadius",
4574
- "borderBottomRightRadius"
4575
- ]
4583
+ applyTo: [...cornerRadiusProps]
4576
4584
  },
4577
4585
  borderTopLeftRadius: correctBorderRadius,
4578
4586
  borderTopRightRadius: correctBorderRadius,
@@ -4581,12 +4589,12 @@ var scaleCorrectors = {
4581
4589
  boxShadow: correctBoxShadow
4582
4590
  };
4583
4591
 
4584
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4592
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4585
4593
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4586
4594
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4587
4595
  }
4588
4596
 
4589
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4597
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4590
4598
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4591
4599
  const style = props.style;
4592
4600
  const prevStyle = prevProps?.style;
@@ -4601,7 +4609,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4601
4609
  return newValues;
4602
4610
  }
4603
4611
 
4604
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4612
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4605
4613
  function getComputedStyle2(element) {
4606
4614
  return window.getComputedStyle(element);
4607
4615
  }
@@ -4611,6 +4619,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4611
4619
  this.type = "html";
4612
4620
  this.renderInstance = renderHTML;
4613
4621
  }
4622
+ mount(instance) {
4623
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4624
+ super.mount(instance);
4625
+ }
4614
4626
  readValueFromInstance(instance, key) {
4615
4627
  if (transformProps.has(key)) {
4616
4628
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4631,7 +4643,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4631
4643
  }
4632
4644
  };
4633
4645
 
4634
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4646
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4635
4647
  var dashKeys = {
4636
4648
  offset: "stroke-dashoffset",
4637
4649
  array: "stroke-dasharray"
@@ -4647,8 +4659,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4647
4659
  attrs[keys.array] = `${length} ${spacing}`;
4648
4660
  }
4649
4661
 
4650
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4651
- var cssMotionPathProperties = [
4662
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4663
+ var cssStyleProperties = [
4664
+ "transform",
4665
+ "opacity",
4652
4666
  "offsetDistance",
4653
4667
  "offsetPath",
4654
4668
  "offsetRotate",
@@ -4674,9 +4688,11 @@ function buildSVGAttrs(state, {
4674
4688
  state.attrs = state.style;
4675
4689
  state.style = {};
4676
4690
  const { attrs, style } = state;
4677
- if (attrs.transform) {
4678
- style.transform = attrs.transform;
4679
- delete attrs.transform;
4691
+ for (const key of cssStyleProperties) {
4692
+ if (attrs[key] !== void 0) {
4693
+ style[key] = attrs[key];
4694
+ delete attrs[key];
4695
+ }
4680
4696
  }
4681
4697
  if (style.transform || attrs.transformOrigin) {
4682
4698
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4686,12 +4702,6 @@ function buildSVGAttrs(state, {
4686
4702
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4687
4703
  delete attrs.transformBox;
4688
4704
  }
4689
- for (const key of cssMotionPathProperties) {
4690
- if (attrs[key] !== void 0) {
4691
- style[key] = attrs[key];
4692
- delete attrs[key];
4693
- }
4694
- }
4695
4705
  if (attrX !== void 0)
4696
4706
  attrs.x = attrX;
4697
4707
  if (attrY !== void 0)
@@ -4703,7 +4713,7 @@ function buildSVGAttrs(state, {
4703
4713
  }
4704
4714
  }
4705
4715
 
4706
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4716
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4707
4717
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4708
4718
  "baseFrequency",
4709
4719
  "diffuseConstant",
@@ -4730,10 +4740,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4730
4740
  "lengthAdjust"
4731
4741
  ]);
4732
4742
 
4733
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4743
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4734
4744
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4735
4745
 
4736
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4746
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4737
4747
  function renderSVG(element, renderState, _styleProp, projection) {
4738
4748
  renderHTML(element, renderState, void 0, projection);
4739
4749
  for (const key in renderState.attrs) {
@@ -4741,7 +4751,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4741
4751
  }
4742
4752
  }
4743
4753
 
4744
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4754
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4745
4755
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4746
4756
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4747
4757
  for (const key in props) {
@@ -4753,7 +4763,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4753
4763
  return newValues;
4754
4764
  }
4755
4765
 
4756
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4766
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4757
4767
  var SVGVisualElement = class extends DOMVisualElement {
4758
4768
  constructor() {
4759
4769
  super(...arguments);
@@ -4769,6 +4779,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4769
4779
  const defaultType = getDefaultValueType(key);
4770
4780
  return defaultType ? defaultType.default || 0 : 0;
4771
4781
  }
4782
+ if (cssStyleProperties.includes(key)) {
4783
+ const computedStyle = getComputedStyle(instance);
4784
+ const value = computedStyle[key];
4785
+ if (typeof value === "string" && value)
4786
+ return value.trim();
4787
+ }
4772
4788
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4773
4789
  return instance.getAttribute(key);
4774
4790
  }
@@ -4787,7 +4803,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4787
4803
  }
4788
4804
  };
4789
4805
 
4790
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4806
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4791
4807
  var numVariantProps = variantProps.length;
4792
4808
  function getVariantContext(visualElement) {
4793
4809
  if (!visualElement)
@@ -4810,7 +4826,7 @@ function getVariantContext(visualElement) {
4810
4826
  return context;
4811
4827
  }
4812
4828
 
4813
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4829
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4814
4830
  function shallowCompare(next, prev) {
4815
4831
  if (!Array.isArray(prev))
4816
4832
  return false;
@@ -4824,7 +4840,7 @@ function shallowCompare(next, prev) {
4824
4840
  return true;
4825
4841
  }
4826
4842
 
4827
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4843
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4828
4844
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4829
4845
  var numAnimationTypes = variantPriorityOrder.length;
4830
4846
  function createAnimateFunction(visualElement) {
@@ -4917,7 +4933,7 @@ function createAnimationState(visualElement) {
4917
4933
  continue;
4918
4934
  let valueHasChanged = false;
4919
4935
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
4920
- valueHasChanged = !shallowCompare(next, prev);
4936
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
4921
4937
  } else {
4922
4938
  valueHasChanged = next !== prev;
4923
4939
  }
@@ -5036,7 +5052,7 @@ function createState() {
5036
5052
  };
5037
5053
  }
5038
5054
 
5039
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5055
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5040
5056
  function copyAxisInto(axis, originAxis) {
5041
5057
  axis.min = originAxis.min;
5042
5058
  axis.max = originAxis.max;
@@ -5052,7 +5068,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5052
5068
  delta.origin = originDelta.origin;
5053
5069
  }
5054
5070
 
5055
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5071
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5056
5072
  var SCALE_PRECISION = 1e-4;
5057
5073
  var SCALE_MIN = 1 - SCALE_PRECISION;
5058
5074
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5100,7 +5116,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5100
5116
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5101
5117
  }
5102
5118
 
5103
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5119
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5104
5120
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5105
5121
  point -= translate;
5106
5122
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5133,7 +5149,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5133
5149
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5134
5150
  }
5135
5151
 
5136
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5152
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5137
5153
  function isAxisDeltaZero(delta) {
5138
5154
  return delta.translate === 0 && delta.scale === 1;
5139
5155
  }
@@ -5159,12 +5175,12 @@ function axisDeltaEquals(a, b) {
5159
5175
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5160
5176
  }
5161
5177
 
5162
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5178
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5163
5179
  function eachAxis(callback) {
5164
5180
  return [callback("x"), callback("y")];
5165
5181
  }
5166
5182
 
5167
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5183
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5168
5184
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5169
5185
  let transform = "";
5170
5186
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5177,11 +5193,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5177
5193
  transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5178
5194
  }
5179
5195
  if (latestTransform) {
5180
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5196
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5181
5197
  if (transformPerspective)
5182
5198
  transform = `perspective(${transformPerspective}px) ${transform}`;
5183
5199
  if (rotate2)
5184
5200
  transform += `rotate(${rotate2}deg) `;
5201
+ if (pathRotation)
5202
+ transform += `rotate(${pathRotation}deg) `;
5185
5203
  if (rotateX)
5186
5204
  transform += `rotateX(${rotateX}deg) `;
5187
5205
  if (rotateY)
@@ -5199,14 +5217,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5199
5217
  return transform || "none";
5200
5218
  }
5201
5219
 
5202
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5203
- var borderLabels = [
5204
- "borderTopLeftRadius",
5205
- "borderTopRightRadius",
5206
- "borderBottomLeftRadius",
5207
- "borderBottomRightRadius"
5208
- ];
5209
- var numBorders = borderLabels.length;
5220
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5221
+ var numBorders = cornerRadiusProps.length;
5210
5222
  var asNumber = (value) => typeof value === "string" ? parseFloat(value) : value;
5211
5223
  var isPx = (value) => typeof value === "number" || px.test(value);
5212
5224
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5217,7 +5229,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5217
5229
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5218
5230
  }
5219
5231
  for (let i = 0; i < numBorders; i++) {
5220
- const borderLabel = borderLabels[i];
5232
+ const borderLabel = cornerRadiusProps[i];
5221
5233
  let followRadius = getRadius(follow, borderLabel);
5222
5234
  let leadRadius = getRadius(lead, borderLabel);
5223
5235
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5253,23 +5265,23 @@ function compress(min, max, easing) {
5253
5265
  };
5254
5266
  }
5255
5267
 
5256
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5268
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5257
5269
  function animateSingleValue(value, keyframes2, options) {
5258
5270
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5259
5271
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5260
5272
  return motionValue$1.animation;
5261
5273
  }
5262
5274
 
5263
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5275
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5264
5276
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5265
5277
  target.addEventListener(eventName, handler, options);
5266
- return () => target.removeEventListener(eventName, handler);
5278
+ return () => target.removeEventListener(eventName, handler, options);
5267
5279
  }
5268
5280
 
5269
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5281
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5270
5282
  var compareByDepth = (a, b) => a.depth - b.depth;
5271
5283
 
5272
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5284
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5273
5285
  var FlatTree = class {
5274
5286
  constructor() {
5275
5287
  this.children = [];
@@ -5290,7 +5302,7 @@ var FlatTree = class {
5290
5302
  }
5291
5303
  };
5292
5304
 
5293
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5305
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5294
5306
  function delay(callback, timeout) {
5295
5307
  const start = time.now();
5296
5308
  const checkElapsed = ({ timestamp }) => {
@@ -5304,12 +5316,12 @@ function delay(callback, timeout) {
5304
5316
  return () => cancelFrame(checkElapsed);
5305
5317
  }
5306
5318
 
5307
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5319
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5308
5320
  function resolveMotionValue(value) {
5309
5321
  return isMotionValue(value) ? value.get() : value;
5310
5322
  }
5311
5323
 
5312
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5324
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5313
5325
  var NodeStack = class {
5314
5326
  constructor() {
5315
5327
  this.members = [];
@@ -5390,7 +5402,7 @@ var NodeStack = class {
5390
5402
  }
5391
5403
  };
5392
5404
 
5393
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5405
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5394
5406
  var globalProjectionState = {
5395
5407
  /**
5396
5408
  * Global flag as to whether the tree has animated since the last time
@@ -5571,7 +5583,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5571
5583
  animationOptions.type = false;
5572
5584
  }
5573
5585
  this.startAnimation(animationOptions);
5574
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5586
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5575
5587
  } else {
5576
5588
  if (!hasLayoutChanged) {
5577
5589
  finishAnimation(this);
@@ -6043,7 +6055,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6043
6055
  this.projectionDelta = createDelta();
6044
6056
  this.projectionDeltaWithTransform = createDelta();
6045
6057
  }
6046
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6058
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6047
6059
  const snapshot = this.snapshot;
6048
6060
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6049
6061
  const mixedValues = { ...this.latestValues };
@@ -6061,10 +6073,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6061
6073
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6062
6074
  this.animationProgress = 0;
6063
6075
  let prevRelativeTarget;
6076
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6064
6077
  this.mixTargetDelta = (latest) => {
6065
6078
  const progress2 = latest / 1e3;
6066
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6067
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6079
+ const point = interpolate2?.(progress2);
6080
+ if (point) {
6081
+ targetDelta.x.translate = point.x;
6082
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6083
+ targetDelta.x.origin = delta.x.origin;
6084
+ targetDelta.x.originPoint = delta.x.originPoint;
6085
+ targetDelta.y.translate = point.y;
6086
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6087
+ targetDelta.y.origin = delta.y.origin;
6088
+ targetDelta.y.originPoint = delta.y.originPoint;
6089
+ } else {
6090
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6091
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6092
+ }
6068
6093
  this.setTargetDelta(targetDelta);
6069
6094
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6070
6095
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6080,6 +6105,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6080
6105
  this.animationValues = mixedValues;
6081
6106
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6082
6107
  }
6108
+ if (point && point.rotate !== void 0) {
6109
+ if (!this.animationValues)
6110
+ this.animationValues = mixedValues;
6111
+ this.animationValues.pathRotation = point.rotate;
6112
+ }
6083
6113
  this.root.scheduleUpdateProjection();
6084
6114
  this.scheduleRender();
6085
6115
  this.animationProgress = progress2;
@@ -6106,8 +6136,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6106
6136
  this.mixTargetDelta(latest);
6107
6137
  options.onUpdate && options.onUpdate(latest);
6108
6138
  },
6109
- onStop: () => {
6110
- },
6111
6139
  onComplete: () => {
6112
6140
  options.onComplete && options.onComplete();
6113
6141
  this.completeAnimation();
@@ -6436,7 +6464,7 @@ function resetSkewAndRotation(node) {
6436
6464
  function removeLeadSnapshots(stack) {
6437
6465
  stack.removeLeadSnapshot();
6438
6466
  }
6439
- function mixAxisDelta(output, delta, p) {
6467
+ function mixAxisDeltaLinear(output, delta, p) {
6440
6468
  output.translate = mixNumber(delta.translate, 0, p);
6441
6469
  output.scale = mixNumber(delta.scale, 1, p);
6442
6470
  output.origin = delta.origin;
@@ -6474,7 +6502,7 @@ function checkNodeWasScrollRoot(node) {
6474
6502
  return node !== node.root && node.scroll?.wasRoot;
6475
6503
  }
6476
6504
 
6477
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6505
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6478
6506
  var DocumentProjectionNode = createProjectionNode({
6479
6507
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6480
6508
  measureScroll: () => ({
@@ -6484,7 +6512,7 @@ var DocumentProjectionNode = createProjectionNode({
6484
6512
  checkIsScrollRoot: () => true
6485
6513
  });
6486
6514
 
6487
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6515
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6488
6516
  var rootProjectionNode = {
6489
6517
  current: void 0
6490
6518
  };
@@ -6528,7 +6556,7 @@ function usePresence(subscribe = true) {
6528
6556
  }
6529
6557
  var LazyContext = createContext({ strict: false });
6530
6558
 
6531
- // ../../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
6559
+ // ../../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
6532
6560
  var featureProps = {
6533
6561
  animation: [
6534
6562
  "animate",
@@ -6567,7 +6595,7 @@ function getInitializedFeatureDefinitions() {
6567
6595
  return getFeatureDefinitions();
6568
6596
  }
6569
6597
 
6570
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/load-features.mjs
6598
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/load-features.mjs
6571
6599
  function loadFeatures(features) {
6572
6600
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6573
6601
  for (const key in features) {
@@ -6578,74 +6606,9 @@ function loadFeatures(features) {
6578
6606
  }
6579
6607
  setFeatureDefinitions(featureDefinitions2);
6580
6608
  }
6581
-
6582
- // ../../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
6583
- var validMotionProps = /* @__PURE__ */ new Set([
6584
- "animate",
6585
- "exit",
6586
- "variants",
6587
- "initial",
6588
- "style",
6589
- "values",
6590
- "variants",
6591
- "transition",
6592
- "transformTemplate",
6593
- "custom",
6594
- "inherit",
6595
- "onBeforeLayoutMeasure",
6596
- "onAnimationStart",
6597
- "onAnimationComplete",
6598
- "onUpdate",
6599
- "onDragStart",
6600
- "onDrag",
6601
- "onDragEnd",
6602
- "onMeasureDragConstraints",
6603
- "onDirectionLock",
6604
- "onDragTransitionEnd",
6605
- "_dragX",
6606
- "_dragY",
6607
- "onHoverStart",
6608
- "onHoverEnd",
6609
- "onViewportEnter",
6610
- "onViewportLeave",
6611
- "globalTapTarget",
6612
- "propagate",
6613
- "ignoreStrict",
6614
- "viewport"
6615
- ]);
6616
- function isValidMotionProp(key) {
6617
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6618
- }
6619
-
6620
- // ../../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
6621
- var shouldForward = (key) => !isValidMotionProp(key);
6622
- function loadExternalIsValidProp(isValidProp) {
6623
- if (typeof isValidProp !== "function")
6624
- return;
6625
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6626
- }
6627
- try {
6628
- const emotionPkg = "@emotion/is-prop-valid";
6629
- loadExternalIsValidProp(__require(emotionPkg).default);
6630
- } catch {
6631
- }
6632
- function filterProps(props, isDom, forwardMotionProps) {
6633
- const filteredProps = {};
6634
- for (const key in props) {
6635
- if (key === "values" && typeof props.values === "object")
6636
- continue;
6637
- if (isMotionValue(props[key]))
6638
- continue;
6639
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6640
- props["draggable"] && key.startsWith("onDrag")) {
6641
- filteredProps[key] = props[key];
6642
- }
6643
- }
6644
- return filteredProps;
6645
- }
6646
6609
  var MotionContext = /* @__PURE__ */ createContext({});
6647
6610
 
6648
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs
6611
+ // ../../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
6649
6612
  function getCurrentTreeVariants(props, context) {
6650
6613
  if (isControllingVariants(props)) {
6651
6614
  const { initial, animate } = props;
@@ -6657,7 +6620,7 @@ function getCurrentTreeVariants(props, context) {
6657
6620
  return props.inherit !== false ? context : {};
6658
6621
  }
6659
6622
 
6660
- // ../../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
6623
+ // ../../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
6661
6624
  function useCreateMotionContext(props) {
6662
6625
  const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));
6663
6626
  return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6666,7 +6629,7 @@ function variantLabelsAsDependency(prop) {
6666
6629
  return Array.isArray(prop) ? prop.join(" ") : prop;
6667
6630
  }
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/render/html/utils/create-render-state.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/render/html/utils/create-render-state.mjs
6670
6633
  var createHtmlRenderState = () => ({
6671
6634
  style: {},
6672
6635
  transform: {},
@@ -6674,7 +6637,7 @@ var createHtmlRenderState = () => ({
6674
6637
  vars: {}
6675
6638
  });
6676
6639
 
6677
- // ../../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
6640
+ // ../../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
6678
6641
  function copyRawValuesOnly(target, source, props) {
6679
6642
  for (const key in source) {
6680
6643
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -6711,13 +6674,13 @@ function useHTMLProps(props, visualState) {
6711
6674
  return htmlProps;
6712
6675
  }
6713
6676
 
6714
- // ../../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
6677
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs
6715
6678
  var createSvgRenderState = () => ({
6716
6679
  ...createHtmlRenderState(),
6717
6680
  attrs: {}
6718
6681
  });
6719
6682
 
6720
- // ../../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
6683
+ // ../../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
6721
6684
  function useSVGProps(props, visualState, _isStatic, Component2) {
6722
6685
  const visualProps = useMemo(() => {
6723
6686
  const state = createSvgRenderState();
@@ -6735,7 +6698,64 @@ function useSVGProps(props, visualState, _isStatic, Component2) {
6735
6698
  return visualProps;
6736
6699
  }
6737
6700
 
6738
- // ../../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
6701
+ // ../../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
6702
+ var validMotionProps = /* @__PURE__ */ new Set([
6703
+ "animate",
6704
+ "exit",
6705
+ "variants",
6706
+ "initial",
6707
+ "style",
6708
+ "values",
6709
+ "variants",
6710
+ "transition",
6711
+ "transformTemplate",
6712
+ "custom",
6713
+ "inherit",
6714
+ "onBeforeLayoutMeasure",
6715
+ "onAnimationStart",
6716
+ "onAnimationComplete",
6717
+ "onUpdate",
6718
+ "onDragStart",
6719
+ "onDrag",
6720
+ "onDragEnd",
6721
+ "onMeasureDragConstraints",
6722
+ "onDirectionLock",
6723
+ "onDragTransitionEnd",
6724
+ "_dragX",
6725
+ "_dragY",
6726
+ "onHoverStart",
6727
+ "onHoverEnd",
6728
+ "onViewportEnter",
6729
+ "onViewportLeave",
6730
+ "globalTapTarget",
6731
+ "propagate",
6732
+ "ignoreStrict",
6733
+ "viewport"
6734
+ ]);
6735
+ function isValidMotionProp(key) {
6736
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6737
+ }
6738
+
6739
+ // ../../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
6740
+ function shouldForward(key, isValidProp) {
6741
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
6742
+ }
6743
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
6744
+ const filteredProps = {};
6745
+ for (const key in props) {
6746
+ if (key === "values" && typeof props.values === "object")
6747
+ continue;
6748
+ if (isMotionValue(props[key]))
6749
+ continue;
6750
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6751
+ props["draggable"] && key.startsWith("onDrag")) {
6752
+ filteredProps[key] = props[key];
6753
+ }
6754
+ }
6755
+ return filteredProps;
6756
+ }
6757
+
6758
+ // ../../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
6739
6759
  var lowercaseSVGElements = [
6740
6760
  "animate",
6741
6761
  "circle",
@@ -6764,7 +6784,7 @@ var lowercaseSVGElements = [
6764
6784
  "view"
6765
6785
  ];
6766
6786
 
6767
- // ../../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
6787
+ // ../../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
6768
6788
  function isSVGComponent(Component2) {
6769
6789
  if (
6770
6790
  /**
@@ -6791,11 +6811,11 @@ function isSVGComponent(Component2) {
6791
6811
  return false;
6792
6812
  }
6793
6813
 
6794
- // ../../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
6795
- function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
6814
+ // ../../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
6815
+ function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
6796
6816
  const useVisualProps = isSVG ?? isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
6797
6817
  const visualProps = useVisualProps(props, latestValues, isStatic, Component2);
6798
- const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
6818
+ const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps, isValidProp);
6799
6819
  const elementProps = Component2 !== Fragment ? { ...filteredProps, ...visualProps, ref } : {};
6800
6820
  const { children } = props;
6801
6821
  const renderedChildren = useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -6860,20 +6880,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
6860
6880
  return isStatic ? make() : useConstant(make);
6861
6881
  };
6862
6882
 
6863
- // ../../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
6883
+ // ../../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
6864
6884
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
6865
6885
  scrapeMotionValuesFromProps,
6866
6886
  createRenderState: createHtmlRenderState
6867
6887
  });
6868
6888
 
6869
- // ../../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
6889
+ // ../../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
6870
6890
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
6871
6891
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
6872
6892
  createRenderState: createSvgRenderState
6873
6893
  });
6874
6894
 
6875
- // ../../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
6876
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
6895
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs
6896
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
6877
6897
  function useMotionRef(visualState, visualElement, externalRef) {
6878
6898
  const externalRefContainer = useRef(externalRef);
6879
6899
  useInsertionEffect(() => {
@@ -6884,6 +6904,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
6884
6904
  if (instance) {
6885
6905
  visualState.onMount?.(instance);
6886
6906
  }
6907
+ if (visualElement) {
6908
+ instance ? visualElement.mount(instance) : visualElement.unmount();
6909
+ }
6887
6910
  const ref = externalRefContainer.current;
6888
6911
  if (typeof ref === "function") {
6889
6912
  if (instance) {
@@ -6900,19 +6923,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
6900
6923
  } else if (ref) {
6901
6924
  ref.current = instance;
6902
6925
  }
6903
- if (visualElement) {
6904
- instance ? visualElement.mount(instance) : visualElement.unmount();
6905
- }
6906
6926
  }, [visualElement]);
6907
6927
  }
6908
6928
  var SwitchLayoutGroupContext = createContext({});
6909
6929
 
6910
- // ../../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
6930
+ // ../../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
6911
6931
  function isRefObject(ref) {
6912
6932
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
6913
6933
  }
6914
6934
 
6915
- // ../../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
6935
+ // ../../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
6916
6936
  function useVisualElement(Component2, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
6917
6937
  const { visualElement: parent } = useContext(MotionContext);
6918
6938
  const lazyContext = useContext(LazyContext);
@@ -7008,7 +7028,7 @@ function getClosestProjectingNode(visualElement) {
7008
7028
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7009
7029
  }
7010
7030
 
7011
- // ../../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
7031
+ // ../../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
7012
7032
  function createMotionComponent(Component2, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7013
7033
  preloadedFeatures && loadFeatures(preloadedFeatures);
7014
7034
  const isSVG = type ? type === "svg" : isSVGComponent(Component2);
@@ -7020,7 +7040,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7020
7040
  ...props,
7021
7041
  layoutId: useLayoutId(props)
7022
7042
  };
7023
- const { isStatic } = configAndProps;
7043
+ const { isStatic, isValidProp } = configAndProps;
7024
7044
  const context = useCreateMotionContext(props);
7025
7045
  const visualState = useVisualState(props, isStatic);
7026
7046
  if (!isStatic && typeof window !== "undefined") {
@@ -7029,7 +7049,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7029
7049
  MeasureLayout2 = layoutProjection.MeasureLayout;
7030
7050
  context.visualElement = useVisualElement(Component2, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7031
7051
  }
7032
- return jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] });
7052
+ return jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG, isValidProp)] });
7033
7053
  }
7034
7054
  MotionDOMComponent.displayName = `motion.${typeof Component2 === "string" ? Component2 : `create(${Component2.displayName ?? Component2.name ?? ""})`}`;
7035
7055
  const ForwardRefMotionComponent = forwardRef(MotionDOMComponent);
@@ -7059,7 +7079,7 @@ function getProjectionFunctionality(props) {
7059
7079
  };
7060
7080
  }
7061
7081
 
7062
- // ../../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
7082
+ // ../../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
7063
7083
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7064
7084
  if (typeof Proxy === "undefined") {
7065
7085
  return createMotionComponent;
@@ -7097,7 +7117,7 @@ var createDomVisualElement = (Component2, options) => {
7097
7117
  });
7098
7118
  };
7099
7119
 
7100
- // ../../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
7120
+ // ../../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
7101
7121
  var AnimationFeature = class extends Feature {
7102
7122
  /**
7103
7123
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7133,7 +7153,7 @@ var AnimationFeature = class extends Feature {
7133
7153
  }
7134
7154
  };
7135
7155
 
7136
- // ../../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
7156
+ // ../../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
7137
7157
  var id2 = 0;
7138
7158
  var ExitAnimationFeature = class extends Feature {
7139
7159
  constructor() {
@@ -7152,7 +7172,7 @@ var ExitAnimationFeature = class extends Feature {
7152
7172
  if (isPresent && prevIsPresent === false) {
7153
7173
  if (this.isExitComplete) {
7154
7174
  const { initial, custom } = this.node.getProps();
7155
- if (typeof initial === "string") {
7175
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7156
7176
  const resolved = resolveVariant(this.node, initial, custom);
7157
7177
  if (resolved) {
7158
7178
  const { transition, transitionEnd, ...target } = resolved;
@@ -7190,7 +7210,7 @@ var ExitAnimationFeature = class extends Feature {
7190
7210
  }
7191
7211
  };
7192
7212
 
7193
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/animations.mjs
7213
+ // ../../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
7194
7214
  var animations = {
7195
7215
  animation: {
7196
7216
  Feature: AnimationFeature
@@ -7200,7 +7220,7 @@ var animations = {
7200
7220
  }
7201
7221
  };
7202
7222
 
7203
- // ../../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
7223
+ // ../../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
7204
7224
  function extractEventInfo(event) {
7205
7225
  return {
7206
7226
  point: {
@@ -7211,17 +7231,17 @@ function extractEventInfo(event) {
7211
7231
  }
7212
7232
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
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/events/add-pointer-event.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/events/add-pointer-event.mjs
7215
7235
  function addPointerEvent(target, eventName, handler, options) {
7216
7236
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7217
7237
  }
7218
7238
 
7219
- // ../../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
7239
+ // ../../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
7220
7240
  var getContextWindow = ({ current }) => {
7221
7241
  return current ? current.ownerDocument.defaultView : null;
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/utils/distance.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/utils/distance.mjs
7225
7245
  var distance = (a, b) => Math.abs(a - b);
7226
7246
  function distance2D(a, b) {
7227
7247
  const xDelta = distance(a.x, b.x);
@@ -7229,7 +7249,7 @@ function distance2D(a, b) {
7229
7249
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7230
7250
  }
7231
7251
 
7232
- // ../../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
7252
+ // ../../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
7233
7253
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7234
7254
  var PanSession = class {
7235
7255
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7302,7 +7322,8 @@ var PanSession = class {
7302
7322
  this.history = [{ ...point, timestamp }];
7303
7323
  const { onSessionStart } = handlers;
7304
7324
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7305
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7325
+ const eventOptions = { passive: true, capture: true };
7326
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7306
7327
  if (element) {
7307
7328
  this.startScrollTracking(element);
7308
7329
  }
@@ -7436,7 +7457,7 @@ function getVelocity(history, timeDelta) {
7436
7457
  return currentVelocity;
7437
7458
  }
7438
7459
 
7439
- // ../../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
7460
+ // ../../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
7440
7461
  function applyConstraints(point, { min, max }, elastic) {
7441
7462
  if (min !== void 0 && point < min) {
7442
7463
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7514,7 +7535,7 @@ function resolvePointElastic(dragElastic, label) {
7514
7535
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7515
7536
  }
7516
7537
 
7517
- // ../../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
7538
+ // ../../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
7518
7539
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7519
7540
  var VisualElementDragControls = class {
7520
7541
  constructor(visualElement) {
@@ -7715,6 +7736,10 @@ var VisualElementDragControls = class {
7715
7736
  const { projection } = this.visualElement;
7716
7737
  if (!projection || !projection.layout)
7717
7738
  return false;
7739
+ if (projection.root) {
7740
+ projection.root.scroll = void 0;
7741
+ projection.root.updateScroll();
7742
+ }
7718
7743
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
7719
7744
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
7720
7745
  if (onMeasureDragConstraints) {
@@ -7771,7 +7796,7 @@ var VisualElementDragControls = class {
7771
7796
  const dragKey = `_drag${axis.toUpperCase()}`;
7772
7797
  const props = this.visualElement.getProps();
7773
7798
  const externalMotionValue = props[dragKey];
7774
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
7799
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
7775
7800
  }
7776
7801
  snapToCursor(point) {
7777
7802
  eachAxis((axis) => {
@@ -7919,7 +7944,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
7919
7944
  return direction;
7920
7945
  }
7921
7946
 
7922
- // ../../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
7947
+ // ../../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
7923
7948
  var DragGesture = class extends Feature {
7924
7949
  constructor(node) {
7925
7950
  super(node);
@@ -7953,7 +7978,7 @@ var DragGesture = class extends Feature {
7953
7978
  }
7954
7979
  };
7955
7980
 
7956
- // ../../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
7981
+ // ../../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
7957
7982
  var asyncHandler = (handler) => (event, info) => {
7958
7983
  if (handler) {
7959
7984
  frame.update(() => handler(event, info), false, true);
@@ -8096,7 +8121,7 @@ function MeasureLayout(props) {
8096
8121
  return jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8097
8122
  }
8098
8123
 
8099
- // ../../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
8124
+ // ../../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
8100
8125
  var drag = {
8101
8126
  pan: {
8102
8127
  Feature: PanGesture
@@ -8108,7 +8133,7 @@ var drag = {
8108
8133
  }
8109
8134
  };
8110
8135
 
8111
- // ../../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
8136
+ // ../../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
8112
8137
  function handleHoverEvent(node, event, lifecycle) {
8113
8138
  const { props } = node;
8114
8139
  if (node.animationState && props.whileHover) {
@@ -8134,7 +8159,7 @@ var HoverGesture = class extends Feature {
8134
8159
  }
8135
8160
  };
8136
8161
 
8137
- // ../../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
8162
+ // ../../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
8138
8163
  var FocusGesture = class extends Feature {
8139
8164
  constructor() {
8140
8165
  super(...arguments);
@@ -8165,7 +8190,7 @@ var FocusGesture = class extends Feature {
8165
8190
  }
8166
8191
  };
8167
8192
 
8168
- // ../../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
8193
+ // ../../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
8169
8194
  function handlePressEvent(node, event, lifecycle) {
8170
8195
  const { props } = node;
8171
8196
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8198,7 +8223,7 @@ var PressGesture = class extends Feature {
8198
8223
  }
8199
8224
  };
8200
8225
 
8201
- // ../../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
8226
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs
8202
8227
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8203
8228
  var observers = /* @__PURE__ */ new WeakMap();
8204
8229
  var fireObserverCallback = (entry) => {
@@ -8230,7 +8255,7 @@ function observeIntersection(element, options, callback) {
8230
8255
  };
8231
8256
  }
8232
8257
 
8233
- // ../../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
8258
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs
8234
8259
  var thresholdNames = {
8235
8260
  some: 0,
8236
8261
  all: 1
@@ -8291,7 +8316,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8291
8316
  return (name) => viewport[name] !== prevViewport[name];
8292
8317
  }
8293
8318
 
8294
- // ../../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
8319
+ // ../../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
8295
8320
  var gestureAnimations = {
8296
8321
  inView: {
8297
8322
  Feature: InViewFeature
@@ -8307,7 +8332,7 @@ var gestureAnimations = {
8307
8332
  }
8308
8333
  };
8309
8334
 
8310
- // ../../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
8335
+ // ../../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
8311
8336
  var layout = {
8312
8337
  layout: {
8313
8338
  ProjectionNode: HTMLProjectionNode,
@@ -8315,7 +8340,7 @@ var layout = {
8315
8340
  }
8316
8341
  };
8317
8342
 
8318
- // ../../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
8343
+ // ../../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
8319
8344
  var featureBundle = {
8320
8345
  ...animations,
8321
8346
  ...gestureAnimations,
@@ -8323,8 +8348,11 @@ var featureBundle = {
8323
8348
  ...layout
8324
8349
  };
8325
8350
 
8326
- // ../../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
8351
+ // ../../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
8327
8352
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8353
+
8354
+ // ../../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
8355
+ var motion2 = motion;
8328
8356
  var marquee3DVariants = variants(
8329
8357
  [
8330
8358
  "relative overflow-hidden whitespace-nowrap",
@@ -8502,7 +8530,7 @@ var Marquee3D = React.forwardRef(
8502
8530
  },
8503
8531
  ...props,
8504
8532
  children: /* @__PURE__ */ jsx(
8505
- motion.div,
8533
+ motion2.div,
8506
8534
  {
8507
8535
  ref: contentRef,
8508
8536
  className: cn(
@@ -8621,7 +8649,7 @@ Marquee3DPreset.Glass.displayName = "Marquee3DPreset.Glass";
8621
8649
  var Marquee3DFloating = React.forwardRef(({ children, floatIntensity = 10, floatSpeed = 3, ...props }, ref) => {
8622
8650
  const text = typeof children === "string" ? children : "";
8623
8651
  return /* @__PURE__ */ jsx(Marquee3D, { ref, ...props, children: text ? /* @__PURE__ */ jsx(Box, { className: "flex space-x-1", children: text.split("").map((char, index) => /* @__PURE__ */ jsx(
8624
- motion.span,
8652
+ motion2.span,
8625
8653
  {
8626
8654
  className: "inline-block",
8627
8655
  animate: {