@luxfi/ui 8.2.12 → 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 +39 -39
  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
@@ -3,12 +3,6 @@ import { createContext, useMemo, useState, useEffect, useContext, forwardRef, us
3
3
  import { Box, cn } from '@hanzo/ui';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
5
5
 
6
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
7
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
8
- }) : x)(function(x) {
9
- if (typeof require !== "undefined") return require.apply(this, arguments);
10
- throw Error('Dynamic require of "' + x + '" is not supported');
11
- });
12
6
  var LayoutGroupContext = createContext({});
13
7
  function useConstant(init) {
14
8
  const ref = useRef(null);
@@ -18,14 +12,14 @@ function useConstant(init) {
18
12
  return ref.current;
19
13
  }
20
14
 
21
- // ../../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
15
+ // ../../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
22
16
  var isBrowser = typeof window !== "undefined";
23
17
 
24
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
18
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
25
19
  var useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;
26
20
  var PresenceContext = /* @__PURE__ */ createContext(null);
27
21
 
28
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/array.mjs
22
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/array.mjs
29
23
  function addUniqueItem(arr, item) {
30
24
  if (arr.indexOf(item) === -1)
31
25
  arr.push(item);
@@ -36,7 +30,7 @@ function removeItem(arr, item) {
36
30
  arr.splice(index, 1);
37
31
  }
38
32
 
39
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/clamp.mjs
33
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/clamp.mjs
40
34
  var clamp = (min, max, v) => {
41
35
  if (v > max)
42
36
  return max;
@@ -45,12 +39,12 @@ var clamp = (min, max, v) => {
45
39
  return v;
46
40
  };
47
41
 
48
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/format-error-message.mjs
42
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/format-error-message.mjs
49
43
  function formatErrorMessage(message, errorCode) {
50
44
  return errorCode ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` : message;
51
45
  }
52
46
 
53
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/errors.mjs
47
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/errors.mjs
54
48
  var warning = () => {
55
49
  };
56
50
  var invariant = () => {
@@ -68,21 +62,19 @@ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
68
62
  };
69
63
  }
70
64
 
71
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/global-config.mjs
65
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/global-config.mjs
72
66
  var MotionGlobalConfig = {};
73
67
 
74
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
68
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
75
69
  var isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
76
70
 
77
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-object.mjs
78
- function isObject(value) {
79
- return typeof value === "object" && value !== null;
80
- }
71
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-object.mjs
72
+ var isObject = (value) => typeof value === "object" && value !== null;
81
73
 
82
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
74
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
83
75
  var isZeroValueString = (v) => /^0[^.\s]+$/u.test(v);
84
76
 
85
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/memo.mjs
77
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/memo.mjs
86
78
  // @__NO_SIDE_EFFECTS__
87
79
  function memo(callback) {
88
80
  let result;
@@ -93,20 +85,19 @@ function memo(callback) {
93
85
  };
94
86
  }
95
87
 
96
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/noop.mjs
88
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/noop.mjs
97
89
  var noop = /* @__NO_SIDE_EFFECTS__ */ (any) => any;
98
90
 
99
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/pipe.mjs
100
- var combineFunctions = (a, b) => (v) => b(a(v));
101
- var pipe = (...transformers) => transformers.reduce(combineFunctions);
91
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/pipe.mjs
92
+ var pipe = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v)));
102
93
 
103
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/progress.mjs
94
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/progress.mjs
104
95
  var progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
105
- const toFromDifference = to - from;
106
- return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
96
+ const range = to - from;
97
+ return range ? (value - from) / range : 1;
107
98
  };
108
99
 
109
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
100
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
110
101
  var SubscriptionManager = class {
111
102
  constructor() {
112
103
  this.subscriptions = [];
@@ -136,16 +127,14 @@ var SubscriptionManager = class {
136
127
  }
137
128
  };
138
129
 
139
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/time-conversion.mjs
130
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/time-conversion.mjs
140
131
  var secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3;
141
132
  var millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
142
133
 
143
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
144
- function velocityPerSecond(velocity, frameDuration) {
145
- return frameDuration ? velocity * (1e3 / frameDuration) : 0;
146
- }
134
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
135
+ var velocityPerSecond = /* @__NO_SIDE_EFFECTS__ */ (velocity, frameDuration) => frameDuration ? velocity * (1e3 / frameDuration) : 0;
147
136
 
148
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/warn-once.mjs
137
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/warn-once.mjs
149
138
  var warned = /* @__PURE__ */ new Set();
150
139
  function warnOnce(condition, message, errorCode) {
151
140
  if (condition || warned.has(message))
@@ -154,7 +143,7 @@ function warnOnce(condition, message, errorCode) {
154
143
  warned.add(message);
155
144
  }
156
145
 
157
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
146
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
158
147
  var calcBezier = (t, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t + (3 * a2 - 6 * a1)) * t + 3 * a1) * t;
159
148
  var subdivisionPrecision = 1e-7;
160
149
  var subdivisionMaxIterations = 12;
@@ -173,6 +162,7 @@ function binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {
173
162
  } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations);
174
163
  return currentT;
175
164
  }
165
+ // @__NO_SIDE_EFFECTS__
176
166
  function cubicBezier(mX1, mY1, mX2, mY2) {
177
167
  if (mX1 === mY1 && mX2 === mY2)
178
168
  return noop;
@@ -180,39 +170,39 @@ function cubicBezier(mX1, mY1, mX2, mY2) {
180
170
  return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
181
171
  }
182
172
 
183
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
184
- var mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
173
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
174
+ var mirrorEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
185
175
 
186
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
187
- var reverseEasing = (easing) => (p) => 1 - easing(1 - p);
176
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
177
+ var reverseEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => 1 - easing(1 - p);
188
178
 
189
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/back.mjs
179
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/back.mjs
190
180
  var backOut = /* @__PURE__ */ cubicBezier(0.33, 1.53, 0.69, 0.99);
191
181
  var backIn = /* @__PURE__ */ reverseEasing(backOut);
192
182
  var backInOut = /* @__PURE__ */ mirrorEasing(backIn);
193
183
 
194
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
184
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
195
185
  var anticipate = (p) => p >= 1 ? 1 : (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
196
186
 
197
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/circ.mjs
187
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/circ.mjs
198
188
  var circIn = (p) => 1 - Math.sin(Math.acos(p));
199
189
  var circOut = reverseEasing(circIn);
200
190
  var circInOut = mirrorEasing(circIn);
201
191
 
202
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/ease.mjs
192
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/ease.mjs
203
193
  var easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1);
204
194
  var easeOut = /* @__PURE__ */ cubicBezier(0, 0, 0.58, 1);
205
195
  var easeInOut = /* @__PURE__ */ cubicBezier(0.42, 0, 0.58, 1);
206
196
 
207
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
208
- var isEasingArray = (ease2) => {
197
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
198
+ var isEasingArray = /* @__NO_SIDE_EFFECTS__ */ (ease2) => {
209
199
  return Array.isArray(ease2) && typeof ease2[0] !== "number";
210
200
  };
211
201
 
212
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
213
- var isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number";
202
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
203
+ var isBezierDefinition = /* @__NO_SIDE_EFFECTS__ */ (easing) => Array.isArray(easing) && typeof easing[0] === "number";
214
204
 
215
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
205
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
216
206
  var easingLookup = {
217
207
  linear: noop,
218
208
  easeIn,
@@ -241,7 +231,7 @@ var easingDefinitionToFunction = (definition) => {
241
231
  return definition;
242
232
  };
243
233
 
244
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
234
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/order.mjs
245
235
  var stepsOrder = [
246
236
  "setup",
247
237
  // Compute
@@ -261,8 +251,8 @@ var stepsOrder = [
261
251
  // Compute
262
252
  ];
263
253
 
264
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
265
- function createRenderStep(runNextFrame, stepName) {
254
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
255
+ function createRenderStep(runNextFrame) {
266
256
  let thisFrame = /* @__PURE__ */ new Set();
267
257
  let nextFrame = /* @__PURE__ */ new Set();
268
258
  let isProcessing = false;
@@ -324,7 +314,7 @@ function createRenderStep(runNextFrame, stepName) {
324
314
  return step;
325
315
  }
326
316
 
327
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
317
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
328
318
  var maxElapsed = 40;
329
319
  function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
330
320
  let runNextFrame = false;
@@ -387,10 +377,10 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
387
377
  return { schedule, cancel, state, steps };
388
378
  }
389
379
 
390
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
380
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/frame.mjs
391
381
  var { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true);
392
382
 
393
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
383
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
394
384
  var now;
395
385
  function clearTime() {
396
386
  now = void 0;
@@ -408,7 +398,7 @@ var time = {
408
398
  }
409
399
  };
410
400
 
411
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
401
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
412
402
  var checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
413
403
  var isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
414
404
  var startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
@@ -425,7 +415,7 @@ function containsCSSVariable(value) {
425
415
  return value.split("/*")[0].includes("var(--");
426
416
  }
427
417
 
428
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
418
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
429
419
  var number = {
430
420
  test: (v) => typeof v === "number",
431
421
  parse: parseFloat,
@@ -440,21 +430,21 @@ var scale = {
440
430
  default: 1
441
431
  };
442
432
 
443
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
433
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
444
434
  var sanitize = (v) => Math.round(v * 1e5) / 1e5;
445
435
 
446
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
436
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
447
437
  var floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
448
438
 
449
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
439
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
450
440
  function isNullish(v) {
451
441
  return v == null;
452
442
  }
453
443
 
454
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
444
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
455
445
  var singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
456
446
 
457
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
447
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
458
448
  var isColorString = (type, testProp) => (v) => {
459
449
  return Boolean(typeof v === "string" && singleColorRegex.test(v) && v.startsWith(type) || testProp && !isNullish(v) && Object.prototype.hasOwnProperty.call(v, testProp));
460
450
  };
@@ -470,7 +460,7 @@ var splitColor = (aName, bName, cName) => (v) => {
470
460
  };
471
461
  };
472
462
 
473
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
463
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
474
464
  var clampRgbUnit = (v) => clamp(0, 255, v);
475
465
  var rgbUnit = {
476
466
  ...number,
@@ -482,7 +472,7 @@ var rgba = {
482
472
  transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
483
473
  };
484
474
 
485
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
475
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
486
476
  function parseHex(v) {
487
477
  let r = "";
488
478
  let g = "";
@@ -516,7 +506,7 @@ var hex = {
516
506
  transform: rgba.transform
517
507
  };
518
508
 
519
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
509
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
520
510
  var createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
521
511
  test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
522
512
  parse: parseFloat,
@@ -533,7 +523,7 @@ var progressPercentage = /* @__PURE__ */ (() => ({
533
523
  transform: (v) => percent.transform(v * 100)
534
524
  }))();
535
525
 
536
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
526
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
537
527
  var hsla = {
538
528
  test: /* @__PURE__ */ isColorString("hsl", "hue"),
539
529
  parse: /* @__PURE__ */ splitColor("hue", "saturation", "lightness"),
@@ -542,7 +532,7 @@ var hsla = {
542
532
  }
543
533
  };
544
534
 
545
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
535
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/index.mjs
546
536
  var color = {
547
537
  test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),
548
538
  parse: (v) => {
@@ -564,10 +554,10 @@ var color = {
564
554
  }
565
555
  };
566
556
 
567
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
557
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
568
558
  var colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
569
559
 
570
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
560
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
571
561
  function test(v) {
572
562
  return isNaN(v) && typeof v === "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
573
563
  }
@@ -652,7 +642,7 @@ var complex = {
652
642
  getAnimatableNone
653
643
  };
654
644
 
655
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
645
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
656
646
  function hueToRgb(p, q, t) {
657
647
  if (t < 0)
658
648
  t += 1;
@@ -690,17 +680,17 @@ function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
690
680
  };
691
681
  }
692
682
 
693
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
683
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
694
684
  function mixImmediate(a, b) {
695
685
  return (p) => p > 0 ? b : a;
696
686
  }
697
687
 
698
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
688
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/number.mjs
699
689
  var mixNumber = (from, to, progress2) => {
700
690
  return from + (to - from) * progress2;
701
691
  };
702
692
 
703
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
693
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/color.mjs
704
694
  var mixLinearColor = (from, to, v) => {
705
695
  const fromExpo = from * from;
706
696
  const expo = v * (to * to - fromExpo) + fromExpo;
@@ -735,7 +725,7 @@ var mixColor = (from, to) => {
735
725
  };
736
726
  };
737
727
 
738
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
728
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
739
729
  var invisibleValues = /* @__PURE__ */ new Set(["none", "hidden"]);
740
730
  function mixVisibility(origin, target) {
741
731
  if (invisibleValues.has(origin)) {
@@ -745,7 +735,7 @@ function mixVisibility(origin, target) {
745
735
  }
746
736
  }
747
737
 
748
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
738
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
749
739
  function mixNumber2(a, b) {
750
740
  return (p) => mixNumber(a, b, p);
751
741
  }
@@ -815,7 +805,7 @@ var mixComplex = (origin, target) => {
815
805
  }
816
806
  };
817
807
 
818
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
808
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/index.mjs
819
809
  function mix(from, to, p) {
820
810
  if (typeof from === "number" && typeof to === "number" && typeof p === "number") {
821
811
  return mixNumber(from, to, p);
@@ -824,7 +814,7 @@ function mix(from, to, p) {
824
814
  return mixer(from, to);
825
815
  }
826
816
 
827
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
817
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
828
818
  var frameloopDriver = (update) => {
829
819
  const passTimestamp = ({ timestamp }) => update(timestamp);
830
820
  return {
@@ -838,7 +828,7 @@ var frameloopDriver = (update) => {
838
828
  };
839
829
  };
840
830
 
841
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
831
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
842
832
  var generateLinearEasing = (easing, duration, resolution = 10) => {
843
833
  let points = "";
844
834
  const numPoints = Math.max(Math.round(duration / resolution), 2);
@@ -848,7 +838,7 @@ var generateLinearEasing = (easing, duration, resolution = 10) => {
848
838
  return `linear(${points.substring(0, points.length - 2)})`;
849
839
  };
850
840
 
851
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
841
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
852
842
  var maxGeneratorDuration = 2e4;
853
843
  function calcGeneratorDuration(generator) {
854
844
  let duration = 0;
@@ -861,7 +851,7 @@ function calcGeneratorDuration(generator) {
861
851
  return duration >= maxGeneratorDuration ? Infinity : duration;
862
852
  }
863
853
 
864
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
854
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
865
855
  function createGeneratorEasing(options, scale2 = 100, createGenerator) {
866
856
  const generator = createGenerator({ ...options, keyframes: [0, scale2] });
867
857
  const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
@@ -874,7 +864,7 @@ function createGeneratorEasing(options, scale2 = 100, createGenerator) {
874
864
  };
875
865
  }
876
866
 
877
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
867
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
878
868
  var springDefaults = {
879
869
  // Default spring physics
880
870
  stiffness: 100,
@@ -1113,14 +1103,14 @@ spring.applyToOptions = (options) => {
1113
1103
  return options;
1114
1104
  };
1115
1105
 
1116
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1106
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1117
1107
  var velocitySampleDuration = 5;
1118
1108
  function getGeneratorVelocity(resolveValue, t, current) {
1119
1109
  const prevT = Math.max(t - velocitySampleDuration, 0);
1120
1110
  return velocityPerSecond(current - resolveValue(prevT), t - prevT);
1121
1111
  }
1122
1112
 
1123
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1113
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1124
1114
  function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed }) {
1125
1115
  const origin = keyframes2[0];
1126
1116
  const state = {
@@ -1184,7 +1174,7 @@ function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstan
1184
1174
  };
1185
1175
  }
1186
1176
 
1187
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1177
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1188
1178
  function createMixers(output, ease2, customMixer) {
1189
1179
  const mixers = [];
1190
1180
  const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;
@@ -1229,7 +1219,7 @@ function interpolate(input, output, { clamp: isClamp = true, ease: ease2, mixer
1229
1219
  return isClamp ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator;
1230
1220
  }
1231
1221
 
1232
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1222
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1233
1223
  function fillOffset(offset, remaining) {
1234
1224
  const min = offset[offset.length - 1];
1235
1225
  for (let i = 1; i <= remaining; i++) {
@@ -1238,19 +1228,19 @@ function fillOffset(offset, remaining) {
1238
1228
  }
1239
1229
  }
1240
1230
 
1241
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1231
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1242
1232
  function defaultOffset(arr) {
1243
1233
  const offset = [0];
1244
1234
  fillOffset(offset, arr.length - 1);
1245
1235
  return offset;
1246
1236
  }
1247
1237
 
1248
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1238
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1249
1239
  function convertOffsetToTimes(offset, duration) {
1250
1240
  return offset.map((o) => o * duration);
1251
1241
  }
1252
1242
 
1253
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1243
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1254
1244
  function defaultEasing(values, easing) {
1255
1245
  return values.map(() => easing || easeInOut).splice(0, values.length - 1);
1256
1246
  }
@@ -1279,7 +1269,7 @@ function keyframes({ duration = 300, keyframes: keyframeValues, times, ease: eas
1279
1269
  };
1280
1270
  }
1281
1271
 
1282
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1272
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1283
1273
  var isNotNull = (value) => value !== null;
1284
1274
  function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
1285
1275
  const resolvedKeyframes = keyframes2.filter(isNotNull);
@@ -1288,7 +1278,7 @@ function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyf
1288
1278
  return !index || finalKeyframe === void 0 ? resolvedKeyframes[index] : finalKeyframe;
1289
1279
  }
1290
1280
 
1291
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1281
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1292
1282
  var transitionTypeMap = {
1293
1283
  decay: inertia,
1294
1284
  inertia,
@@ -1302,7 +1292,7 @@ function replaceTransitionType(transition) {
1302
1292
  }
1303
1293
  }
1304
1294
 
1305
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1295
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1306
1296
  var WithPromise = class {
1307
1297
  constructor() {
1308
1298
  this.updateFinished();
@@ -1328,7 +1318,7 @@ var WithPromise = class {
1328
1318
  }
1329
1319
  };
1330
1320
 
1331
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1321
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1332
1322
  var percentToProgress = (percent2) => percent2 / 100;
1333
1323
  var JSAnimation = class extends WithPromise {
1334
1324
  constructor(options) {
@@ -1607,14 +1597,14 @@ var JSAnimation = class extends WithPromise {
1607
1597
  }
1608
1598
  };
1609
1599
 
1610
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1600
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1611
1601
  function fillWildcards(keyframes2) {
1612
1602
  for (let i = 1; i < keyframes2.length; i++) {
1613
1603
  keyframes2[i] ?? (keyframes2[i] = keyframes2[i - 1]);
1614
1604
  }
1615
1605
  }
1616
1606
 
1617
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1607
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1618
1608
  var radToDeg = (rad) => rad * 180 / Math.PI;
1619
1609
  var rotate = (v) => {
1620
1610
  const angle = radToDeg(Math.atan2(v[1], v[0]));
@@ -1694,7 +1684,7 @@ function convertTransformToNumber(value) {
1694
1684
  return parseFloat(value.trim());
1695
1685
  }
1696
1686
 
1697
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1687
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1698
1688
  var transformPropOrder = [
1699
1689
  "transformPerspective",
1700
1690
  "x",
@@ -1714,9 +1704,9 @@ var transformPropOrder = [
1714
1704
  "skewX",
1715
1705
  "skewY"
1716
1706
  ];
1717
- var transformProps = /* @__PURE__ */ (() => new Set(transformPropOrder))();
1707
+ var transformProps = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([...transformPropOrder, "pathRotation"]))();
1718
1708
 
1719
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1709
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1720
1710
  var isNumOrPxType = (v) => v === number || v === px;
1721
1711
  var transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
1722
1712
  var nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
@@ -1752,7 +1742,7 @@ var positionalValues = {
1752
1742
  positionalValues.translateX = positionalValues.x;
1753
1743
  positionalValues.translateY = positionalValues.y;
1754
1744
 
1755
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1745
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1756
1746
  var toResolve = /* @__PURE__ */ new Set();
1757
1747
  var isScheduled = false;
1758
1748
  var anyNeedsMeasurement = false;
@@ -1878,27 +1868,27 @@ var KeyframeResolver = class {
1878
1868
  }
1879
1869
  };
1880
1870
 
1881
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1871
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1882
1872
  var isCSSVar = (name) => name.startsWith("--");
1883
1873
 
1884
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1874
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1885
1875
  function setStyle(element, name, value) {
1886
1876
  isCSSVar(name) ? element.style.setProperty(name, value) : element.style[name] = value;
1887
1877
  }
1888
1878
 
1889
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1879
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1890
1880
  var supportsFlags = {};
1891
1881
 
1892
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1882
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1893
1883
  function memoSupports(callback, supportsFlag) {
1894
1884
  const memoized = memo(callback);
1895
1885
  return () => supportsFlags[supportsFlag] ?? memoized();
1896
1886
  }
1897
1887
 
1898
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1888
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1899
1889
  var supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== void 0, "scrollTimeline");
1900
1890
 
1901
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1891
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1902
1892
  var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1903
1893
  try {
1904
1894
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -1908,10 +1898,10 @@ var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1908
1898
  return true;
1909
1899
  }, "linearEasing");
1910
1900
 
1911
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1901
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1912
1902
  var cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
1913
1903
 
1914
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1904
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1915
1905
  var supportedWaapiEasing = {
1916
1906
  linear: "linear",
1917
1907
  ease: "ease",
@@ -1924,7 +1914,7 @@ var supportedWaapiEasing = {
1924
1914
  backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
1925
1915
  };
1926
1916
 
1927
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1917
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1928
1918
  function mapEasingToNativeEasing(easing, duration) {
1929
1919
  if (!easing) {
1930
1920
  return void 0;
@@ -1939,7 +1929,7 @@ function mapEasingToNativeEasing(easing, duration) {
1939
1929
  }
1940
1930
  }
1941
1931
 
1942
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1932
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1943
1933
  function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeOut", times } = {}, pseudoElement = void 0) {
1944
1934
  const keyframeOptions = {
1945
1935
  [valueName]: keyframes2
@@ -1959,16 +1949,15 @@ function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0
1959
1949
  };
1960
1950
  if (pseudoElement)
1961
1951
  options.pseudoElement = pseudoElement;
1962
- const animation = element.animate(keyframeOptions, options);
1963
- return animation;
1952
+ return element.animate(keyframeOptions, options);
1964
1953
  }
1965
1954
 
1966
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1955
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1967
1956
  function isGenerator(type) {
1968
1957
  return typeof type === "function" && "applyToOptions" in type;
1969
1958
  }
1970
1959
 
1971
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1960
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1972
1961
  function applyGeneratorOptions({ type, ...options }) {
1973
1962
  if (isGenerator(type) && supportsLinearEasing()) {
1974
1963
  return type.applyToOptions(options);
@@ -1979,7 +1968,7 @@ function applyGeneratorOptions({ type, ...options }) {
1979
1968
  return options;
1980
1969
  }
1981
1970
 
1982
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1971
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1983
1972
  var NativeAnimation = class extends WithPromise {
1984
1973
  constructor(options) {
1985
1974
  super();
@@ -2129,7 +2118,7 @@ var NativeAnimation = class extends WithPromise {
2129
2118
  }
2130
2119
  };
2131
2120
 
2132
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2121
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2133
2122
  var unsupportedEasingFunctions = {
2134
2123
  anticipate,
2135
2124
  backInOut,
@@ -2144,7 +2133,7 @@ function replaceStringEasing(transition) {
2144
2133
  }
2145
2134
  }
2146
2135
 
2147
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2136
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2148
2137
  var sampleDelta = 10;
2149
2138
  var NativeAnimationExtended = class extends NativeAnimation {
2150
2139
  constructor(options) {
@@ -2187,7 +2176,7 @@ var NativeAnimationExtended = class extends NativeAnimation {
2187
2176
  }
2188
2177
  };
2189
2178
 
2190
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2179
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2191
2180
  var isAnimatable = (value, name) => {
2192
2181
  if (name === "zIndex")
2193
2182
  return false;
@@ -2201,7 +2190,7 @@ var isAnimatable = (value, name) => {
2201
2190
  return false;
2202
2191
  };
2203
2192
 
2204
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2193
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2205
2194
  function hasKeyframesChanged(keyframes2) {
2206
2195
  const current = keyframes2[0];
2207
2196
  if (keyframes2.length === 1)
@@ -2228,24 +2217,22 @@ function canAnimate(keyframes2, name, type, velocity) {
2228
2217
  return hasKeyframesChanged(keyframes2) || (type === "spring" || isGenerator(type)) && velocity;
2229
2218
  }
2230
2219
 
2231
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2220
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2232
2221
  function makeAnimationInstant(options) {
2233
2222
  options.duration = 0;
2234
2223
  options.type = "keyframes";
2235
2224
  }
2236
2225
 
2237
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2226
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2238
2227
  var acceleratedValues = /* @__PURE__ */ new Set([
2239
2228
  "opacity",
2240
2229
  "clipPath",
2241
2230
  "filter",
2242
- "transform"
2243
- // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
2244
- // or until we implement support for linear() easing.
2245
- // "background-color"
2231
+ "transform",
2232
+ "backgroundColor"
2246
2233
  ]);
2247
2234
 
2248
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2235
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2249
2236
  var browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
2250
2237
  function hasBrowserOnlyColors(keyframes2) {
2251
2238
  for (let i = 0; i < keyframes2.length; i++) {
@@ -2256,7 +2243,7 @@ function hasBrowserOnlyColors(keyframes2) {
2256
2243
  return false;
2257
2244
  }
2258
2245
 
2259
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2246
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2260
2247
  var colorProperties = /* @__PURE__ */ new Set([
2261
2248
  "color",
2262
2249
  "backgroundColor",
@@ -2273,7 +2260,7 @@ var supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Elemen
2273
2260
  function supportsBrowserAnimation(options) {
2274
2261
  const { motionValue: motionValue2, name, repeatDelay, repeatType, damping, type, keyframes: keyframes2 } = options;
2275
2262
  const subject = motionValue2?.owner?.current;
2276
- if (!(subject instanceof HTMLElement)) {
2263
+ if (!(subject instanceof HTMLElement) && !(subject instanceof SVGElement)) {
2277
2264
  return false;
2278
2265
  }
2279
2266
  const { onUpdate, transformTemplate } = motionValue2.owner.getProps();
@@ -2288,7 +2275,7 @@ function supportsBrowserAnimation(options) {
2288
2275
  !onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
2289
2276
  }
2290
2277
 
2291
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2278
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2292
2279
  var MAX_RESOLVE_DELAY = 40;
2293
2280
  var AsyncMotionValueAnimation = class extends WithPromise {
2294
2281
  constructor({ autoplay = true, delay: delay2 = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", keyframes: keyframes2, name, motionValue: motionValue2, element, ...options }) {
@@ -2429,7 +2416,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
2429
2416
  }
2430
2417
  };
2431
2418
 
2432
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2419
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2433
2420
  function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {
2434
2421
  const index = Array.from(children).sort((a, b) => a.sortNodePosition(b)).indexOf(child);
2435
2422
  const numChildren = children.size;
@@ -2438,202 +2425,7 @@ function calcChildStagger(children, child, delayChildren, staggerChildren = 0, s
2438
2425
  return delayIsFunction ? delayChildren(index, numChildren) : staggerDirection === 1 ? index * staggerChildren : maxStaggerDuration - index * staggerChildren;
2439
2426
  }
2440
2427
 
2441
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2442
- var splitCSSVariableRegex = (
2443
- // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2444
- /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2445
- );
2446
- function parseCSSVariable(current) {
2447
- const match = splitCSSVariableRegex.exec(current);
2448
- if (!match)
2449
- return [,];
2450
- const [, token1, token2, fallback] = match;
2451
- return [`--${token1 ?? token2}`, fallback];
2452
- }
2453
- var maxDepth = 4;
2454
- function getVariableValue(current, element, depth = 1) {
2455
- invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2456
- const [token, fallback] = parseCSSVariable(current);
2457
- if (!token)
2458
- return;
2459
- const resolved = window.getComputedStyle(element).getPropertyValue(token);
2460
- if (resolved) {
2461
- const trimmed = resolved.trim();
2462
- return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2463
- }
2464
- return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2465
- }
2466
-
2467
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2468
- var underDampedSpring = {
2469
- type: "spring",
2470
- stiffness: 500,
2471
- damping: 25,
2472
- restSpeed: 10
2473
- };
2474
- var criticallyDampedSpring = (target) => ({
2475
- type: "spring",
2476
- stiffness: 550,
2477
- damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2478
- restSpeed: 10
2479
- });
2480
- var keyframesTransition = {
2481
- type: "keyframes",
2482
- duration: 0.8
2483
- };
2484
- var ease = {
2485
- type: "keyframes",
2486
- ease: [0.25, 0.1, 0.35, 1],
2487
- duration: 0.3
2488
- };
2489
- var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2490
- if (keyframes2.length > 2) {
2491
- return keyframesTransition;
2492
- } else if (transformProps.has(valueKey)) {
2493
- return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2494
- }
2495
- return ease;
2496
- };
2497
-
2498
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2499
- function resolveTransition(transition, parentTransition) {
2500
- if (transition?.inherit && parentTransition) {
2501
- const { inherit: _, ...rest } = transition;
2502
- return { ...parentTransition, ...rest };
2503
- }
2504
- return transition;
2505
- }
2506
-
2507
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2508
- function getValueTransition(transition, key) {
2509
- const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2510
- if (valueTransition !== transition) {
2511
- return resolveTransition(valueTransition, transition);
2512
- }
2513
- return valueTransition;
2514
- }
2515
-
2516
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2517
- var orchestrationKeys = /* @__PURE__ */ new Set([
2518
- "when",
2519
- "delay",
2520
- "delayChildren",
2521
- "staggerChildren",
2522
- "staggerDirection",
2523
- "repeat",
2524
- "repeatType",
2525
- "repeatDelay",
2526
- "from",
2527
- "elapsed"
2528
- ]);
2529
- function isTransitionDefined(transition) {
2530
- for (const key in transition) {
2531
- if (!orchestrationKeys.has(key))
2532
- return true;
2533
- }
2534
- return false;
2535
- }
2536
-
2537
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2538
- var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2539
- const valueTransition = getValueTransition(transition, name) || {};
2540
- const delay2 = valueTransition.delay || transition.delay || 0;
2541
- let { elapsed = 0 } = transition;
2542
- elapsed = elapsed - secondsToMilliseconds(delay2);
2543
- const options = {
2544
- keyframes: Array.isArray(target) ? target : [null, target],
2545
- ease: "easeOut",
2546
- velocity: value.getVelocity(),
2547
- ...valueTransition,
2548
- delay: -elapsed,
2549
- onUpdate: (v) => {
2550
- value.set(v);
2551
- valueTransition.onUpdate && valueTransition.onUpdate(v);
2552
- },
2553
- onComplete: () => {
2554
- onComplete();
2555
- valueTransition.onComplete && valueTransition.onComplete();
2556
- },
2557
- name,
2558
- motionValue: value,
2559
- element: isHandoff ? void 0 : element
2560
- };
2561
- if (!isTransitionDefined(valueTransition)) {
2562
- Object.assign(options, getDefaultTransition(name, options));
2563
- }
2564
- options.duration && (options.duration = secondsToMilliseconds(options.duration));
2565
- options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2566
- if (options.from !== void 0) {
2567
- options.keyframes[0] = options.from;
2568
- }
2569
- let shouldSkip = false;
2570
- if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2571
- makeAnimationInstant(options);
2572
- if (options.delay === 0) {
2573
- shouldSkip = true;
2574
- }
2575
- }
2576
- if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations) {
2577
- shouldSkip = true;
2578
- makeAnimationInstant(options);
2579
- options.delay = 0;
2580
- }
2581
- options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2582
- if (shouldSkip && !isHandoff && value.get() !== void 0) {
2583
- const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2584
- if (finalKeyframe !== void 0) {
2585
- frame.update(() => {
2586
- options.onUpdate(finalKeyframe);
2587
- options.onComplete();
2588
- });
2589
- return;
2590
- }
2591
- }
2592
- return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2593
- };
2594
-
2595
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2596
- function getValueState(visualElement) {
2597
- const state = [{}, {}];
2598
- visualElement?.values.forEach((value, key) => {
2599
- state[0][key] = value.get();
2600
- state[1][key] = value.getVelocity();
2601
- });
2602
- return state;
2603
- }
2604
- function resolveVariantFromProps(props, definition, custom, visualElement) {
2605
- if (typeof definition === "function") {
2606
- const [current, velocity] = getValueState(visualElement);
2607
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2608
- }
2609
- if (typeof definition === "string") {
2610
- definition = props.variants && props.variants[definition];
2611
- }
2612
- if (typeof definition === "function") {
2613
- const [current, velocity] = getValueState(visualElement);
2614
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2615
- }
2616
- return definition;
2617
- }
2618
-
2619
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2620
- function resolveVariant(visualElement, definition, custom) {
2621
- const props = visualElement.getProps();
2622
- return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2623
- }
2624
-
2625
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2626
- var positionalKeys = /* @__PURE__ */ new Set([
2627
- "width",
2628
- "height",
2629
- "top",
2630
- "left",
2631
- "right",
2632
- "bottom",
2633
- ...transformPropOrder
2634
- ]);
2635
-
2636
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/index.mjs
2428
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/index.mjs
2637
2429
  var MAX_VELOCITY_DELTA = 30;
2638
2430
  var isFloat = (value) => {
2639
2431
  return !isNaN(parseFloat(value));
@@ -2884,46 +2676,241 @@ var MotionValue = class {
2884
2676
  }
2885
2677
  this.clearAnimation();
2886
2678
  }
2887
- /**
2888
- * Returns `true` if this value is currently animating.
2889
- *
2890
- * @public
2891
- */
2892
- isAnimating() {
2893
- return !!this.animation;
2679
+ /**
2680
+ * Returns `true` if this value is currently animating.
2681
+ *
2682
+ * @public
2683
+ */
2684
+ isAnimating() {
2685
+ return !!this.animation;
2686
+ }
2687
+ clearAnimation() {
2688
+ delete this.animation;
2689
+ }
2690
+ /**
2691
+ * Destroy and clean up subscribers to this `MotionValue`.
2692
+ *
2693
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2694
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2695
+ * created a `MotionValue` via the `motionValue` function.
2696
+ *
2697
+ * @public
2698
+ */
2699
+ destroy() {
2700
+ this.dependents?.clear();
2701
+ this.events.destroy?.notify();
2702
+ this.clearListeners();
2703
+ this.stop();
2704
+ if (this.stopPassiveEffect) {
2705
+ this.stopPassiveEffect();
2706
+ }
2707
+ }
2708
+ };
2709
+ function motionValue(init, options) {
2710
+ return new MotionValue(init, options);
2711
+ }
2712
+
2713
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2714
+ function resolveTransition(transition, parentTransition) {
2715
+ if (transition?.inherit && parentTransition) {
2716
+ const { inherit: _, ...rest } = transition;
2717
+ return { ...parentTransition, ...rest };
2718
+ }
2719
+ return transition;
2720
+ }
2721
+
2722
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2723
+ function getValueTransition(transition, key) {
2724
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2725
+ if (valueTransition !== transition) {
2726
+ return resolveTransition(valueTransition, transition);
2727
+ }
2728
+ return valueTransition;
2729
+ }
2730
+
2731
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2732
+ var underDampedSpring = {
2733
+ type: "spring",
2734
+ stiffness: 500,
2735
+ damping: 25,
2736
+ restSpeed: 10
2737
+ };
2738
+ var criticallyDampedSpring = (target) => ({
2739
+ type: "spring",
2740
+ stiffness: 550,
2741
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2742
+ restSpeed: 10
2743
+ });
2744
+ var keyframesTransition = {
2745
+ type: "keyframes",
2746
+ duration: 0.8
2747
+ };
2748
+ var ease = {
2749
+ type: "keyframes",
2750
+ ease: [0.25, 0.1, 0.35, 1],
2751
+ duration: 0.3
2752
+ };
2753
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2754
+ if (keyframes2.length > 2) {
2755
+ return keyframesTransition;
2756
+ } else if (transformProps.has(valueKey)) {
2757
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2758
+ }
2759
+ return ease;
2760
+ };
2761
+
2762
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2763
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2764
+ "when",
2765
+ "delay",
2766
+ "delayChildren",
2767
+ "staggerChildren",
2768
+ "staggerDirection",
2769
+ "repeat",
2770
+ "repeatType",
2771
+ "repeatDelay",
2772
+ "from",
2773
+ "elapsed"
2774
+ ]);
2775
+ function isTransitionDefined(transition) {
2776
+ for (const key in transition) {
2777
+ if (!orchestrationKeys.has(key))
2778
+ return true;
2779
+ }
2780
+ return false;
2781
+ }
2782
+
2783
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2784
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2785
+ const valueTransition = getValueTransition(transition, name) || {};
2786
+ const delay2 = valueTransition.delay || transition.delay || 0;
2787
+ let { elapsed = 0 } = transition;
2788
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2789
+ const options = {
2790
+ keyframes: Array.isArray(target) ? target : [null, target],
2791
+ ease: "easeOut",
2792
+ velocity: value.getVelocity(),
2793
+ ...valueTransition,
2794
+ delay: -elapsed,
2795
+ onUpdate: (v) => {
2796
+ value.set(v);
2797
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2798
+ },
2799
+ onComplete: () => {
2800
+ onComplete();
2801
+ valueTransition.onComplete && valueTransition.onComplete();
2802
+ },
2803
+ name,
2804
+ motionValue: value,
2805
+ element: isHandoff ? void 0 : element
2806
+ };
2807
+ if (!isTransitionDefined(valueTransition)) {
2808
+ Object.assign(options, getDefaultTransition(name, options));
2809
+ }
2810
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2811
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2812
+ if (options.from !== void 0) {
2813
+ options.keyframes[0] = options.from;
2814
+ }
2815
+ let shouldSkip = false;
2816
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2817
+ makeAnimationInstant(options);
2818
+ if (options.delay === 0) {
2819
+ shouldSkip = true;
2820
+ }
2894
2821
  }
2895
- clearAnimation() {
2896
- delete this.animation;
2822
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2823
+ shouldSkip = true;
2824
+ makeAnimationInstant(options);
2825
+ options.delay = 0;
2897
2826
  }
2898
- /**
2899
- * Destroy and clean up subscribers to this `MotionValue`.
2900
- *
2901
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2902
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2903
- * created a `MotionValue` via the `motionValue` function.
2904
- *
2905
- * @public
2906
- */
2907
- destroy() {
2908
- this.dependents?.clear();
2909
- this.events.destroy?.notify();
2910
- this.clearListeners();
2911
- this.stop();
2912
- if (this.stopPassiveEffect) {
2913
- this.stopPassiveEffect();
2827
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2828
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2829
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2830
+ if (finalKeyframe !== void 0) {
2831
+ frame.update(() => {
2832
+ options.onUpdate(finalKeyframe);
2833
+ options.onComplete();
2834
+ });
2835
+ return;
2914
2836
  }
2915
2837
  }
2838
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2916
2839
  };
2917
- function motionValue(init, options) {
2918
- return new MotionValue(init, options);
2840
+
2841
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2842
+ var splitCSSVariableRegex = (
2843
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2844
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2845
+ );
2846
+ function parseCSSVariable(current) {
2847
+ const match = splitCSSVariableRegex.exec(current);
2848
+ if (!match)
2849
+ return [,];
2850
+ const [, token1, token2, fallback] = match;
2851
+ return [`--${token1 ?? token2}`, fallback];
2852
+ }
2853
+ var maxDepth = 4;
2854
+ function getVariableValue(current, element, depth = 1) {
2855
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2856
+ const [token, fallback] = parseCSSVariable(current);
2857
+ if (!token)
2858
+ return;
2859
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2860
+ if (resolved) {
2861
+ const trimmed = resolved.trim();
2862
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2863
+ }
2864
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2865
+ }
2866
+
2867
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2868
+ function getValueState(visualElement) {
2869
+ const state = [{}, {}];
2870
+ visualElement?.values.forEach((value, key) => {
2871
+ state[0][key] = value.get();
2872
+ state[1][key] = value.getVelocity();
2873
+ });
2874
+ return state;
2875
+ }
2876
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2877
+ if (typeof definition === "function") {
2878
+ const [current, velocity] = getValueState(visualElement);
2879
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2880
+ }
2881
+ if (typeof definition === "string") {
2882
+ definition = props.variants && props.variants[definition];
2883
+ }
2884
+ if (typeof definition === "function") {
2885
+ const [current, velocity] = getValueState(visualElement);
2886
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2887
+ }
2888
+ return definition;
2889
+ }
2890
+
2891
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2892
+ function resolveVariant(visualElement, definition, custom) {
2893
+ const props = visualElement.getProps();
2894
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2919
2895
  }
2920
2896
 
2921
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2897
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2898
+ var positionalKeys = /* @__PURE__ */ new Set([
2899
+ "width",
2900
+ "height",
2901
+ "top",
2902
+ "left",
2903
+ "right",
2904
+ "bottom",
2905
+ ...transformPropOrder
2906
+ ]);
2907
+
2908
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2922
2909
  var isKeyframesTarget = (v) => {
2923
2910
  return Array.isArray(v);
2924
2911
  };
2925
2912
 
2926
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2913
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2927
2914
  function setMotionValue(visualElement, key, value) {
2928
2915
  if (visualElement.hasValue(key)) {
2929
2916
  visualElement.getValue(key).set(value);
@@ -2944,15 +2931,15 @@ function setTarget(visualElement, definition) {
2944
2931
  }
2945
2932
  }
2946
2933
 
2947
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2934
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2948
2935
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2949
2936
 
2950
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2937
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2951
2938
  function isWillChangeMotionValue(value) {
2952
2939
  return Boolean(isMotionValue(value) && value.add);
2953
2940
  }
2954
2941
 
2955
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2942
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2956
2943
  function addValueToWillChange(visualElement, key) {
2957
2944
  const willChange = visualElement.getValue("willChange");
2958
2945
  if (isWillChangeMotionValue(willChange)) {
@@ -2964,21 +2951,22 @@ function addValueToWillChange(visualElement, key) {
2964
2951
  }
2965
2952
  }
2966
2953
 
2967
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2954
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2968
2955
  function camelToDash(str) {
2969
2956
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
2970
2957
  }
2971
2958
 
2972
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2959
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2973
2960
  var optimizedAppearDataId = "framerAppearId";
2974
2961
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
2975
2962
 
2976
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2963
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2977
2964
  function getOptimisedAppearId(visualElement) {
2978
2965
  return visualElement.props[optimizedAppearDataAttribute];
2979
2966
  }
2980
2967
 
2981
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2968
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2969
+ var isBrowser2 = typeof window !== "undefined";
2982
2970
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
2983
2971
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
2984
2972
  needsAnimating[key] = false;
@@ -2989,10 +2977,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
2989
2977
  const defaultTransition = visualElement.getDefaultTransition();
2990
2978
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
2991
2979
  const reduceMotion = transition?.reduceMotion;
2980
+ const skipAnimations = transition?.skipAnimations;
2992
2981
  if (transitionOverride)
2993
2982
  transition = transitionOverride;
2994
2983
  const animations2 = [];
2995
2984
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
2985
+ const path = transition?.path;
2986
+ if (path) {
2987
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
2988
+ }
2996
2989
  for (const key in target) {
2997
2990
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
2998
2991
  const valueTarget = target[key];
@@ -3003,13 +2996,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3003
2996
  delay: delay2,
3004
2997
  ...getValueTransition(transition || {}, key)
3005
2998
  };
2999
+ if (skipAnimations)
3000
+ valueTransition.skipAnimations = true;
3006
3001
  const currentValue = value.get();
3007
3002
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3008
3003
  frame.update(() => value.set(valueTarget));
3009
3004
  continue;
3010
3005
  }
3011
3006
  let isHandoff = false;
3012
- if (window.MotionHandoffAnimation) {
3007
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3013
3008
  const appearId = getOptimisedAppearId(visualElement);
3014
3009
  if (appearId) {
3015
3010
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3040,7 +3035,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3040
3035
  return animations2;
3041
3036
  }
3042
3037
 
3043
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3038
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3044
3039
  function animateVariant(visualElement, variant, options = {}) {
3045
3040
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3046
3041
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3072,7 +3067,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3072
3067
  return Promise.all(animations2);
3073
3068
  }
3074
3069
 
3075
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3070
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3076
3071
  function animateVisualElement(visualElement, definition, options = {}) {
3077
3072
  visualElement.notify("AnimationStart", definition);
3078
3073
  let animation;
@@ -3090,20 +3085,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3090
3085
  });
3091
3086
  }
3092
3087
 
3093
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3088
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3094
3089
  var auto = {
3095
3090
  test: (v) => v === "auto",
3096
3091
  parse: (v) => v
3097
3092
  };
3098
3093
 
3099
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3094
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3100
3095
  var testValueType = (v) => (type) => type.test(v);
3101
3096
 
3102
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3097
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3103
3098
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3104
3099
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3105
3100
 
3106
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3101
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3107
3102
  function isNone(value) {
3108
3103
  if (typeof value === "number") {
3109
3104
  return value === 0;
@@ -3114,7 +3109,7 @@ function isNone(value) {
3114
3109
  }
3115
3110
  }
3116
3111
 
3117
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3112
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3118
3113
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3119
3114
  function applyDefaultFilter(v) {
3120
3115
  const [name, value] = v.slice(0, -1).split("(");
@@ -3138,7 +3133,7 @@ var filter = {
3138
3133
  }
3139
3134
  };
3140
3135
 
3141
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3136
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3142
3137
  var mask = {
3143
3138
  ...complex,
3144
3139
  getAnimatableNone: (v) => {
@@ -3148,15 +3143,21 @@ var mask = {
3148
3143
  }
3149
3144
  };
3150
3145
 
3151
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3146
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3152
3147
  var int = {
3153
3148
  ...number,
3154
3149
  transform: Math.round
3155
3150
  };
3156
3151
 
3157
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3152
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3158
3153
  var transformValueTypes = {
3159
3154
  rotate: degrees,
3155
+ /**
3156
+ * Internal channel for `transition.path` orientToPath. Composed onto
3157
+ * `rotate` at the transform-build sites so the user's `rotate` is
3158
+ * never read or overwritten. Not part of `transformPropOrder`.
3159
+ */
3160
+ pathRotation: degrees,
3160
3161
  rotateX: degrees,
3161
3162
  rotateY: degrees,
3162
3163
  rotateZ: degrees,
@@ -3182,7 +3183,7 @@ var transformValueTypes = {
3182
3183
  originZ: px
3183
3184
  };
3184
3185
 
3185
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3186
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3186
3187
  var numberValueTypes = {
3187
3188
  // Border props
3188
3189
  borderWidth: px,
@@ -3247,7 +3248,7 @@ var numberValueTypes = {
3247
3248
  numOctaves: int
3248
3249
  };
3249
3250
 
3250
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3251
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3251
3252
  var defaultValueTypes = {
3252
3253
  ...numberValueTypes,
3253
3254
  // Color props
@@ -3269,7 +3270,7 @@ var defaultValueTypes = {
3269
3270
  };
3270
3271
  var getDefaultValueType = (key) => defaultValueTypes[key];
3271
3272
 
3272
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3273
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3273
3274
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3274
3275
  function getAnimatableNone2(key, value) {
3275
3276
  let defaultValueType = getDefaultValueType(key);
@@ -3278,7 +3279,7 @@ function getAnimatableNone2(key, value) {
3278
3279
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3279
3280
  }
3280
3281
 
3281
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3282
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3282
3283
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3283
3284
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3284
3285
  let i = 0;
@@ -3297,7 +3298,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3297
3298
  }
3298
3299
  }
3299
3300
 
3300
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3301
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3301
3302
  var DOMKeyframesResolver = class extends KeyframeResolver {
3302
3303
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3303
3304
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3395,7 +3396,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3395
3396
  }
3396
3397
  };
3397
3398
 
3398
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3399
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3400
+ var cornerRadiusProps = [
3401
+ "borderTopLeftRadius",
3402
+ "borderTopRightRadius",
3403
+ "borderBottomRightRadius",
3404
+ "borderBottomLeftRadius"
3405
+ ];
3406
+
3407
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3399
3408
  function resolveElements(elementOrSelector, scope, selectorCache) {
3400
3409
  if (elementOrSelector == null) {
3401
3410
  return [];
@@ -3410,20 +3419,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3410
3419
  return Array.from(elementOrSelector).filter((element) => element != null);
3411
3420
  }
3412
3421
 
3413
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3422
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3414
3423
  var getValueAsType = (value, type) => {
3415
3424
  return type && typeof value === "number" ? type.transform(value) : value;
3416
3425
  };
3417
3426
 
3418
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3427
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3419
3428
  function isHTMLElement(element) {
3420
3429
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3421
3430
  }
3422
3431
 
3423
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3432
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3424
3433
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3425
3434
 
3426
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3435
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3427
3436
  var isDragging = {
3428
3437
  x: false,
3429
3438
  y: false
@@ -3432,7 +3441,7 @@ function isDragActive() {
3432
3441
  return isDragging.x || isDragging.y;
3433
3442
  }
3434
3443
 
3435
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3444
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3436
3445
  function setDragLock(axis) {
3437
3446
  if (axis === "x" || axis === "y") {
3438
3447
  if (isDragging[axis]) {
@@ -3455,7 +3464,7 @@ function setDragLock(axis) {
3455
3464
  }
3456
3465
  }
3457
3466
 
3458
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3467
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3459
3468
  function setupGesture(elementOrSelector, options) {
3460
3469
  const elements = resolveElements(elementOrSelector);
3461
3470
  const gestureAbortController = new AbortController();
@@ -3468,7 +3477,7 @@ function setupGesture(elementOrSelector, options) {
3468
3477
  return [elements, eventOptions, cancel];
3469
3478
  }
3470
3479
 
3471
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3480
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3472
3481
  function isValidHover(event) {
3473
3482
  return !(event.pointerType === "touch" || isDragActive());
3474
3483
  }
@@ -3527,7 +3536,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3527
3536
  return cancel;
3528
3537
  }
3529
3538
 
3530
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3539
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3531
3540
  var isNodeOrChild = (parent, child) => {
3532
3541
  if (!child) {
3533
3542
  return false;
@@ -3538,7 +3547,7 @@ var isNodeOrChild = (parent, child) => {
3538
3547
  }
3539
3548
  };
3540
3549
 
3541
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3550
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3542
3551
  var isPrimaryPointer = (event) => {
3543
3552
  if (event.pointerType === "mouse") {
3544
3553
  return typeof event.button !== "number" || event.button <= 0;
@@ -3547,7 +3556,7 @@ var isPrimaryPointer = (event) => {
3547
3556
  }
3548
3557
  };
3549
3558
 
3550
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3559
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3551
3560
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3552
3561
  "BUTTON",
3553
3562
  "INPUT",
@@ -3563,10 +3572,10 @@ function isElementTextInput(element) {
3563
3572
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3564
3573
  }
3565
3574
 
3566
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3575
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3567
3576
  var isPressing = /* @__PURE__ */ new WeakSet();
3568
3577
 
3569
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3578
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3570
3579
  function filterEvents(callback) {
3571
3580
  return (event) => {
3572
3581
  if (event.key !== "Enter")
@@ -3596,7 +3605,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3596
3605
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3597
3606
  };
3598
3607
 
3599
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3608
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3600
3609
  function isValidPressEvent(event) {
3601
3610
  return isPrimaryPointer(event) && !isDragActive();
3602
3611
  }
@@ -3614,9 +3623,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3614
3623
  claimedPointerDownEvents.add(startEvent);
3615
3624
  }
3616
3625
  const onPressEnd = onPressStart(target, startEvent);
3626
+ const endEventOptions = { ...eventOptions, capture: true };
3617
3627
  const onPointerEnd = (endEvent, success) => {
3618
- window.removeEventListener("pointerup", onPointerUp);
3619
- window.removeEventListener("pointercancel", onPointerCancel);
3628
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3629
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3620
3630
  if (isPressing.has(target)) {
3621
3631
  isPressing.delete(target);
3622
3632
  }
@@ -3633,8 +3643,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3633
3643
  const onPointerCancel = (cancelEvent) => {
3634
3644
  onPointerEnd(cancelEvent, false);
3635
3645
  };
3636
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3637
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3646
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3647
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3638
3648
  };
3639
3649
  targets.forEach((target) => {
3640
3650
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3649,12 +3659,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3649
3659
  return cancelEvents;
3650
3660
  }
3651
3661
 
3652
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3662
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3653
3663
  function isSVGElement(element) {
3654
3664
  return isObject(element) && "ownerSVGElement" in element;
3655
3665
  }
3656
3666
 
3657
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3667
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3658
3668
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3659
3669
  var observer;
3660
3670
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3712,7 +3722,7 @@ function resizeElement(target, handler) {
3712
3722
  };
3713
3723
  }
3714
3724
 
3715
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3725
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3716
3726
  var windowCallbacks = /* @__PURE__ */ new Set();
3717
3727
  var windowResizeHandler;
3718
3728
  function createWindowResizeHandler() {
@@ -3742,17 +3752,17 @@ function resizeWindow(callback) {
3742
3752
  };
3743
3753
  }
3744
3754
 
3745
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3755
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3746
3756
  function resize(a, b) {
3747
3757
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3748
3758
  }
3749
3759
 
3750
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3760
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3751
3761
  function isSVGSVGElement(element) {
3752
3762
  return isSVGElement(element) && element.tagName === "svg";
3753
3763
  }
3754
3764
 
3755
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/transform.mjs
3765
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/transform.mjs
3756
3766
  function transform(...args) {
3757
3767
  const useImmediate = !Array.isArray(args[0]);
3758
3768
  const argOffset = useImmediate ? 0 : -1;
@@ -3764,11 +3774,11 @@ function transform(...args) {
3764
3774
  return useImmediate ? interpolator(inputValue) : interpolator;
3765
3775
  }
3766
3776
 
3767
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3777
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3768
3778
  var valueTypes = [...dimensionValueTypes, color, complex];
3769
3779
  var findValueType = (v) => valueTypes.find(testValueType(v));
3770
3780
 
3771
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3781
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3772
3782
  var createAxisDelta = () => ({
3773
3783
  translate: 0,
3774
3784
  scale: 1,
@@ -3785,20 +3795,20 @@ var createBox = () => ({
3785
3795
  y: createAxis()
3786
3796
  });
3787
3797
 
3788
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3798
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3789
3799
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3790
3800
 
3791
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3801
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3792
3802
  function isAnimationControls(v) {
3793
3803
  return v !== null && typeof v === "object" && typeof v.start === "function";
3794
3804
  }
3795
3805
 
3796
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3806
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3797
3807
  function isVariantLabel(v) {
3798
3808
  return typeof v === "string" || Array.isArray(v);
3799
3809
  }
3800
3810
 
3801
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3811
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3802
3812
  var variantPriorityOrder = [
3803
3813
  "animate",
3804
3814
  "whileInView",
@@ -3810,7 +3820,7 @@ var variantPriorityOrder = [
3810
3820
  ];
3811
3821
  var variantProps = ["initial", ...variantPriorityOrder];
3812
3822
 
3813
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3823
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3814
3824
  function isControllingVariants(props) {
3815
3825
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3816
3826
  }
@@ -3818,7 +3828,7 @@ function isVariantNode(props) {
3818
3828
  return Boolean(isControllingVariants(props) || props.variants);
3819
3829
  }
3820
3830
 
3821
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3831
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3822
3832
  function updateMotionValuesFromProps(element, next, prev) {
3823
3833
  for (const key in next) {
3824
3834
  const nextValue = next[key];
@@ -3848,15 +3858,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3848
3858
  return next;
3849
3859
  }
3850
3860
 
3851
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3861
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3852
3862
  var prefersReducedMotion = { current: null };
3853
3863
  var hasReducedMotionListener = { current: false };
3854
3864
 
3855
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3856
- var isBrowser2 = typeof window !== "undefined";
3865
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3866
+ var isBrowser3 = typeof window !== "undefined";
3857
3867
  function initPrefersReducedMotion() {
3858
3868
  hasReducedMotionListener.current = true;
3859
- if (!isBrowser2)
3869
+ if (!isBrowser3)
3860
3870
  return;
3861
3871
  if (window.matchMedia) {
3862
3872
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3868,7 +3878,7 @@ function initPrefersReducedMotion() {
3868
3878
  }
3869
3879
  }
3870
3880
 
3871
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3881
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3872
3882
  var propEventHandlers = [
3873
3883
  "AnimationStart",
3874
3884
  "AnimationComplete",
@@ -4057,8 +4067,6 @@ var VisualElement = class {
4057
4067
  removeOnChange();
4058
4068
  if (removeSyncCheck)
4059
4069
  removeSyncCheck();
4060
- if (value.owner)
4061
- value.stop();
4062
4070
  });
4063
4071
  }
4064
4072
  sortNodePosition(other) {
@@ -4269,7 +4277,7 @@ var VisualElement = class {
4269
4277
  }
4270
4278
  };
4271
4279
 
4272
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4280
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4273
4281
  var DOMVisualElement = class extends VisualElement {
4274
4282
  constructor() {
4275
4283
  super(...arguments);
@@ -4302,7 +4310,7 @@ var DOMVisualElement = class extends VisualElement {
4302
4310
  }
4303
4311
  };
4304
4312
 
4305
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4313
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4306
4314
  var Feature = class {
4307
4315
  constructor(node) {
4308
4316
  this.isMounted = false;
@@ -4312,7 +4320,7 @@ var Feature = class {
4312
4320
  }
4313
4321
  };
4314
4322
 
4315
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4323
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4316
4324
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4317
4325
  return {
4318
4326
  x: { min: left, max: right },
@@ -4335,7 +4343,7 @@ function transformBoxPoints(point, transformPoint2) {
4335
4343
  };
4336
4344
  }
4337
4345
 
4338
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4346
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4339
4347
  function isIdentityScale(scale2) {
4340
4348
  return scale2 === void 0 || scale2 === 1;
4341
4349
  }
@@ -4352,7 +4360,7 @@ function is2DTranslate(value) {
4352
4360
  return value && value !== "0%";
4353
4361
  }
4354
4362
 
4355
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4363
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4356
4364
  function scalePoint(point, scale2, originPoint) {
4357
4365
  const distanceFromOrigin = point - originPoint;
4358
4366
  const scaled = scale2 * distanceFromOrigin;
@@ -4428,7 +4436,7 @@ function transformBox(box, transform2, sourceBox) {
4428
4436
  transformAxis(box.y, resolveAxisTranslate(transform2.y, resolveBox.y), transform2.scaleY, transform2.scale, transform2.originY);
4429
4437
  }
4430
4438
 
4431
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4439
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4432
4440
  function measureViewportBox(instance, transformPoint2) {
4433
4441
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4434
4442
  }
@@ -4442,7 +4450,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4442
4450
  return viewportBox;
4443
4451
  }
4444
4452
 
4445
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4453
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4446
4454
  var translateAlias = {
4447
4455
  x: "translateX",
4448
4456
  y: "translateY",
@@ -4477,6 +4485,11 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4477
4485
  }
4478
4486
  }
4479
4487
  }
4488
+ const pathRotation = latestValues.pathRotation;
4489
+ if (pathRotation) {
4490
+ transformIsDefault = false;
4491
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4492
+ }
4480
4493
  transformString = transformString.trim();
4481
4494
  if (transformTemplate) {
4482
4495
  transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString);
@@ -4486,7 +4499,7 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4486
4499
  return transformString;
4487
4500
  }
4488
4501
 
4489
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4502
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4490
4503
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4491
4504
  const { style, vars, transformOrigin } = state;
4492
4505
  let hasTransform2 = false;
@@ -4522,7 +4535,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4522
4535
  }
4523
4536
  }
4524
4537
 
4525
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4538
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4526
4539
  function renderHTML(element, { style, vars }, styleProp, projection) {
4527
4540
  const elementStyle = element.style;
4528
4541
  let key;
@@ -4535,7 +4548,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4535
4548
  }
4536
4549
  }
4537
4550
 
4538
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4551
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4539
4552
  function pixelsToPercent(pixels, axis) {
4540
4553
  if (axis.max === axis.min)
4541
4554
  return 0;
@@ -4558,7 +4571,7 @@ var correctBorderRadius = {
4558
4571
  }
4559
4572
  };
4560
4573
 
4561
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4574
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4562
4575
  var correctBoxShadow = {
4563
4576
  correct: (latest, { treeScale, projectionDelta }) => {
4564
4577
  const original = latest;
@@ -4580,16 +4593,11 @@ var correctBoxShadow = {
4580
4593
  }
4581
4594
  };
4582
4595
 
4583
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4596
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4584
4597
  var scaleCorrectors = {
4585
4598
  borderRadius: {
4586
4599
  ...correctBorderRadius,
4587
- applyTo: [
4588
- "borderTopLeftRadius",
4589
- "borderTopRightRadius",
4590
- "borderBottomLeftRadius",
4591
- "borderBottomRightRadius"
4592
- ]
4600
+ applyTo: [...cornerRadiusProps]
4593
4601
  },
4594
4602
  borderTopLeftRadius: correctBorderRadius,
4595
4603
  borderTopRightRadius: correctBorderRadius,
@@ -4598,12 +4606,12 @@ var scaleCorrectors = {
4598
4606
  boxShadow: correctBoxShadow
4599
4607
  };
4600
4608
 
4601
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4609
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4602
4610
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4603
4611
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4604
4612
  }
4605
4613
 
4606
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4614
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4607
4615
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4608
4616
  const style = props.style;
4609
4617
  const prevStyle = prevProps?.style;
@@ -4618,7 +4626,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4618
4626
  return newValues;
4619
4627
  }
4620
4628
 
4621
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4629
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4622
4630
  function getComputedStyle2(element) {
4623
4631
  return window.getComputedStyle(element);
4624
4632
  }
@@ -4628,6 +4636,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4628
4636
  this.type = "html";
4629
4637
  this.renderInstance = renderHTML;
4630
4638
  }
4639
+ mount(instance) {
4640
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4641
+ super.mount(instance);
4642
+ }
4631
4643
  readValueFromInstance(instance, key) {
4632
4644
  if (transformProps.has(key)) {
4633
4645
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4648,7 +4660,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4648
4660
  }
4649
4661
  };
4650
4662
 
4651
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4663
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4652
4664
  var dashKeys = {
4653
4665
  offset: "stroke-dashoffset",
4654
4666
  array: "stroke-dasharray"
@@ -4664,8 +4676,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4664
4676
  attrs[keys.array] = `${length} ${spacing}`;
4665
4677
  }
4666
4678
 
4667
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4668
- var cssMotionPathProperties = [
4679
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4680
+ var cssStyleProperties = [
4681
+ "transform",
4682
+ "opacity",
4669
4683
  "offsetDistance",
4670
4684
  "offsetPath",
4671
4685
  "offsetRotate",
@@ -4691,9 +4705,11 @@ function buildSVGAttrs(state, {
4691
4705
  state.attrs = state.style;
4692
4706
  state.style = {};
4693
4707
  const { attrs, style } = state;
4694
- if (attrs.transform) {
4695
- style.transform = attrs.transform;
4696
- delete attrs.transform;
4708
+ for (const key of cssStyleProperties) {
4709
+ if (attrs[key] !== void 0) {
4710
+ style[key] = attrs[key];
4711
+ delete attrs[key];
4712
+ }
4697
4713
  }
4698
4714
  if (style.transform || attrs.transformOrigin) {
4699
4715
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4703,12 +4719,6 @@ function buildSVGAttrs(state, {
4703
4719
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4704
4720
  delete attrs.transformBox;
4705
4721
  }
4706
- for (const key of cssMotionPathProperties) {
4707
- if (attrs[key] !== void 0) {
4708
- style[key] = attrs[key];
4709
- delete attrs[key];
4710
- }
4711
- }
4712
4722
  if (attrX !== void 0)
4713
4723
  attrs.x = attrX;
4714
4724
  if (attrY !== void 0)
@@ -4720,7 +4730,7 @@ function buildSVGAttrs(state, {
4720
4730
  }
4721
4731
  }
4722
4732
 
4723
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4733
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4724
4734
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4725
4735
  "baseFrequency",
4726
4736
  "diffuseConstant",
@@ -4747,10 +4757,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4747
4757
  "lengthAdjust"
4748
4758
  ]);
4749
4759
 
4750
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4760
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4751
4761
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4752
4762
 
4753
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4763
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4754
4764
  function renderSVG(element, renderState, _styleProp, projection) {
4755
4765
  renderHTML(element, renderState, void 0, projection);
4756
4766
  for (const key in renderState.attrs) {
@@ -4758,7 +4768,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4758
4768
  }
4759
4769
  }
4760
4770
 
4761
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4771
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4762
4772
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4763
4773
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4764
4774
  for (const key in props) {
@@ -4770,7 +4780,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4770
4780
  return newValues;
4771
4781
  }
4772
4782
 
4773
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4783
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4774
4784
  var SVGVisualElement = class extends DOMVisualElement {
4775
4785
  constructor() {
4776
4786
  super(...arguments);
@@ -4786,6 +4796,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4786
4796
  const defaultType = getDefaultValueType(key);
4787
4797
  return defaultType ? defaultType.default || 0 : 0;
4788
4798
  }
4799
+ if (cssStyleProperties.includes(key)) {
4800
+ const computedStyle = getComputedStyle(instance);
4801
+ const value = computedStyle[key];
4802
+ if (typeof value === "string" && value)
4803
+ return value.trim();
4804
+ }
4789
4805
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4790
4806
  return instance.getAttribute(key);
4791
4807
  }
@@ -4804,7 +4820,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4804
4820
  }
4805
4821
  };
4806
4822
 
4807
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4823
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4808
4824
  var numVariantProps = variantProps.length;
4809
4825
  function getVariantContext(visualElement) {
4810
4826
  if (!visualElement)
@@ -4827,7 +4843,7 @@ function getVariantContext(visualElement) {
4827
4843
  return context;
4828
4844
  }
4829
4845
 
4830
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4846
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4831
4847
  function shallowCompare(next, prev) {
4832
4848
  if (!Array.isArray(prev))
4833
4849
  return false;
@@ -4841,7 +4857,7 @@ function shallowCompare(next, prev) {
4841
4857
  return true;
4842
4858
  }
4843
4859
 
4844
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4860
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4845
4861
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4846
4862
  var numAnimationTypes = variantPriorityOrder.length;
4847
4863
  function createAnimateFunction(visualElement) {
@@ -4934,7 +4950,7 @@ function createAnimationState(visualElement) {
4934
4950
  continue;
4935
4951
  let valueHasChanged = false;
4936
4952
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
4937
- valueHasChanged = !shallowCompare(next, prev);
4953
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
4938
4954
  } else {
4939
4955
  valueHasChanged = next !== prev;
4940
4956
  }
@@ -5053,7 +5069,7 @@ function createState() {
5053
5069
  };
5054
5070
  }
5055
5071
 
5056
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5072
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5057
5073
  function copyAxisInto(axis, originAxis) {
5058
5074
  axis.min = originAxis.min;
5059
5075
  axis.max = originAxis.max;
@@ -5069,7 +5085,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5069
5085
  delta.origin = originDelta.origin;
5070
5086
  }
5071
5087
 
5072
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5088
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5073
5089
  var SCALE_PRECISION = 1e-4;
5074
5090
  var SCALE_MIN = 1 - SCALE_PRECISION;
5075
5091
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5117,7 +5133,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5117
5133
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5118
5134
  }
5119
5135
 
5120
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5136
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5121
5137
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5122
5138
  point -= translate;
5123
5139
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5150,7 +5166,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5150
5166
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5151
5167
  }
5152
5168
 
5153
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5169
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5154
5170
  function isAxisDeltaZero(delta) {
5155
5171
  return delta.translate === 0 && delta.scale === 1;
5156
5172
  }
@@ -5176,12 +5192,12 @@ function axisDeltaEquals(a, b) {
5176
5192
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5177
5193
  }
5178
5194
 
5179
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5195
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5180
5196
  function eachAxis(callback) {
5181
5197
  return [callback("x"), callback("y")];
5182
5198
  }
5183
5199
 
5184
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5200
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5185
5201
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5186
5202
  let transform2 = "";
5187
5203
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5194,11 +5210,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5194
5210
  transform2 += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5195
5211
  }
5196
5212
  if (latestTransform) {
5197
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5213
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5198
5214
  if (transformPerspective)
5199
5215
  transform2 = `perspective(${transformPerspective}px) ${transform2}`;
5200
5216
  if (rotate2)
5201
5217
  transform2 += `rotate(${rotate2}deg) `;
5218
+ if (pathRotation)
5219
+ transform2 += `rotate(${pathRotation}deg) `;
5202
5220
  if (rotateX)
5203
5221
  transform2 += `rotateX(${rotateX}deg) `;
5204
5222
  if (rotateY)
@@ -5216,14 +5234,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5216
5234
  return transform2 || "none";
5217
5235
  }
5218
5236
 
5219
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5220
- var borderLabels = [
5221
- "borderTopLeftRadius",
5222
- "borderTopRightRadius",
5223
- "borderBottomLeftRadius",
5224
- "borderBottomRightRadius"
5225
- ];
5226
- var numBorders = borderLabels.length;
5237
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5238
+ var numBorders = cornerRadiusProps.length;
5227
5239
  var asNumber = (value) => typeof value === "string" ? parseFloat(value) : value;
5228
5240
  var isPx = (value) => typeof value === "number" || px.test(value);
5229
5241
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5234,7 +5246,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5234
5246
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5235
5247
  }
5236
5248
  for (let i = 0; i < numBorders; i++) {
5237
- const borderLabel = borderLabels[i];
5249
+ const borderLabel = cornerRadiusProps[i];
5238
5250
  let followRadius = getRadius(follow, borderLabel);
5239
5251
  let leadRadius = getRadius(lead, borderLabel);
5240
5252
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5270,23 +5282,23 @@ function compress(min, max, easing) {
5270
5282
  };
5271
5283
  }
5272
5284
 
5273
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5285
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5274
5286
  function animateSingleValue(value, keyframes2, options) {
5275
5287
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5276
5288
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5277
5289
  return motionValue$1.animation;
5278
5290
  }
5279
5291
 
5280
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5292
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5281
5293
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5282
5294
  target.addEventListener(eventName, handler, options);
5283
- return () => target.removeEventListener(eventName, handler);
5295
+ return () => target.removeEventListener(eventName, handler, options);
5284
5296
  }
5285
5297
 
5286
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5298
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5287
5299
  var compareByDepth = (a, b) => a.depth - b.depth;
5288
5300
 
5289
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5301
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5290
5302
  var FlatTree = class {
5291
5303
  constructor() {
5292
5304
  this.children = [];
@@ -5307,7 +5319,7 @@ var FlatTree = class {
5307
5319
  }
5308
5320
  };
5309
5321
 
5310
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5322
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5311
5323
  function delay(callback, timeout) {
5312
5324
  const start = time.now();
5313
5325
  const checkElapsed = ({ timestamp }) => {
@@ -5321,12 +5333,12 @@ function delay(callback, timeout) {
5321
5333
  return () => cancelFrame(checkElapsed);
5322
5334
  }
5323
5335
 
5324
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5336
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5325
5337
  function resolveMotionValue(value) {
5326
5338
  return isMotionValue(value) ? value.get() : value;
5327
5339
  }
5328
5340
 
5329
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5341
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5330
5342
  var NodeStack = class {
5331
5343
  constructor() {
5332
5344
  this.members = [];
@@ -5407,7 +5419,7 @@ var NodeStack = class {
5407
5419
  }
5408
5420
  };
5409
5421
 
5410
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5422
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5411
5423
  var globalProjectionState = {
5412
5424
  /**
5413
5425
  * Global flag as to whether the tree has animated since the last time
@@ -5588,7 +5600,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5588
5600
  animationOptions.type = false;
5589
5601
  }
5590
5602
  this.startAnimation(animationOptions);
5591
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5603
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5592
5604
  } else {
5593
5605
  if (!hasLayoutChanged) {
5594
5606
  finishAnimation(this);
@@ -6060,7 +6072,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6060
6072
  this.projectionDelta = createDelta();
6061
6073
  this.projectionDeltaWithTransform = createDelta();
6062
6074
  }
6063
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6075
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6064
6076
  const snapshot = this.snapshot;
6065
6077
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6066
6078
  const mixedValues = { ...this.latestValues };
@@ -6078,10 +6090,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6078
6090
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6079
6091
  this.animationProgress = 0;
6080
6092
  let prevRelativeTarget;
6093
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6081
6094
  this.mixTargetDelta = (latest) => {
6082
6095
  const progress2 = latest / 1e3;
6083
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6084
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6096
+ const point = interpolate2?.(progress2);
6097
+ if (point) {
6098
+ targetDelta.x.translate = point.x;
6099
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6100
+ targetDelta.x.origin = delta.x.origin;
6101
+ targetDelta.x.originPoint = delta.x.originPoint;
6102
+ targetDelta.y.translate = point.y;
6103
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6104
+ targetDelta.y.origin = delta.y.origin;
6105
+ targetDelta.y.originPoint = delta.y.originPoint;
6106
+ } else {
6107
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6108
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6109
+ }
6085
6110
  this.setTargetDelta(targetDelta);
6086
6111
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6087
6112
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6097,6 +6122,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6097
6122
  this.animationValues = mixedValues;
6098
6123
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6099
6124
  }
6125
+ if (point && point.rotate !== void 0) {
6126
+ if (!this.animationValues)
6127
+ this.animationValues = mixedValues;
6128
+ this.animationValues.pathRotation = point.rotate;
6129
+ }
6100
6130
  this.root.scheduleUpdateProjection();
6101
6131
  this.scheduleRender();
6102
6132
  this.animationProgress = progress2;
@@ -6123,8 +6153,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6123
6153
  this.mixTargetDelta(latest);
6124
6154
  options.onUpdate && options.onUpdate(latest);
6125
6155
  },
6126
- onStop: () => {
6127
- },
6128
6156
  onComplete: () => {
6129
6157
  options.onComplete && options.onComplete();
6130
6158
  this.completeAnimation();
@@ -6453,7 +6481,7 @@ function resetSkewAndRotation(node) {
6453
6481
  function removeLeadSnapshots(stack) {
6454
6482
  stack.removeLeadSnapshot();
6455
6483
  }
6456
- function mixAxisDelta(output, delta, p) {
6484
+ function mixAxisDeltaLinear(output, delta, p) {
6457
6485
  output.translate = mixNumber(delta.translate, 0, p);
6458
6486
  output.scale = mixNumber(delta.scale, 1, p);
6459
6487
  output.origin = delta.origin;
@@ -6491,7 +6519,7 @@ function checkNodeWasScrollRoot(node) {
6491
6519
  return node !== node.root && node.scroll?.wasRoot;
6492
6520
  }
6493
6521
 
6494
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6522
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6495
6523
  var DocumentProjectionNode = createProjectionNode({
6496
6524
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6497
6525
  measureScroll: () => ({
@@ -6501,7 +6529,7 @@ var DocumentProjectionNode = createProjectionNode({
6501
6529
  checkIsScrollRoot: () => true
6502
6530
  });
6503
6531
 
6504
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6532
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6505
6533
  var rootProjectionNode = {
6506
6534
  current: void 0
6507
6535
  };
@@ -6545,7 +6573,7 @@ function usePresence(subscribe = true) {
6545
6573
  }
6546
6574
  var LazyContext = createContext({ strict: false });
6547
6575
 
6548
- // ../../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
6576
+ // ../../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
6549
6577
  var featureProps = {
6550
6578
  animation: [
6551
6579
  "animate",
@@ -6584,7 +6612,7 @@ function getInitializedFeatureDefinitions() {
6584
6612
  return getFeatureDefinitions();
6585
6613
  }
6586
6614
 
6587
- // ../../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
6615
+ // ../../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
6588
6616
  function loadFeatures(features) {
6589
6617
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6590
6618
  for (const key in features) {
@@ -6595,74 +6623,9 @@ function loadFeatures(features) {
6595
6623
  }
6596
6624
  setFeatureDefinitions(featureDefinitions2);
6597
6625
  }
6598
-
6599
- // ../../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
6600
- var validMotionProps = /* @__PURE__ */ new Set([
6601
- "animate",
6602
- "exit",
6603
- "variants",
6604
- "initial",
6605
- "style",
6606
- "values",
6607
- "variants",
6608
- "transition",
6609
- "transformTemplate",
6610
- "custom",
6611
- "inherit",
6612
- "onBeforeLayoutMeasure",
6613
- "onAnimationStart",
6614
- "onAnimationComplete",
6615
- "onUpdate",
6616
- "onDragStart",
6617
- "onDrag",
6618
- "onDragEnd",
6619
- "onMeasureDragConstraints",
6620
- "onDirectionLock",
6621
- "onDragTransitionEnd",
6622
- "_dragX",
6623
- "_dragY",
6624
- "onHoverStart",
6625
- "onHoverEnd",
6626
- "onViewportEnter",
6627
- "onViewportLeave",
6628
- "globalTapTarget",
6629
- "propagate",
6630
- "ignoreStrict",
6631
- "viewport"
6632
- ]);
6633
- function isValidMotionProp(key) {
6634
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6635
- }
6636
-
6637
- // ../../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
6638
- var shouldForward = (key) => !isValidMotionProp(key);
6639
- function loadExternalIsValidProp(isValidProp) {
6640
- if (typeof isValidProp !== "function")
6641
- return;
6642
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6643
- }
6644
- try {
6645
- const emotionPkg = "@emotion/is-prop-valid";
6646
- loadExternalIsValidProp(__require(emotionPkg).default);
6647
- } catch {
6648
- }
6649
- function filterProps(props, isDom, forwardMotionProps) {
6650
- const filteredProps = {};
6651
- for (const key in props) {
6652
- if (key === "values" && typeof props.values === "object")
6653
- continue;
6654
- if (isMotionValue(props[key]))
6655
- continue;
6656
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6657
- props["draggable"] && key.startsWith("onDrag")) {
6658
- filteredProps[key] = props[key];
6659
- }
6660
- }
6661
- return filteredProps;
6662
- }
6663
6626
  var MotionContext = /* @__PURE__ */ createContext({});
6664
6627
 
6665
- // ../../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
6628
+ // ../../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
6666
6629
  function getCurrentTreeVariants(props, context) {
6667
6630
  if (isControllingVariants(props)) {
6668
6631
  const { initial, animate } = props;
@@ -6674,7 +6637,7 @@ function getCurrentTreeVariants(props, context) {
6674
6637
  return props.inherit !== false ? context : {};
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/context/MotionContext/create.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/context/MotionContext/create.mjs
6678
6641
  function useCreateMotionContext(props) {
6679
6642
  const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));
6680
6643
  return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6683,7 +6646,7 @@ function variantLabelsAsDependency(prop) {
6683
6646
  return Array.isArray(prop) ? prop.join(" ") : prop;
6684
6647
  }
6685
6648
 
6686
- // ../../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
6649
+ // ../../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
6687
6650
  var createHtmlRenderState = () => ({
6688
6651
  style: {},
6689
6652
  transform: {},
@@ -6691,7 +6654,7 @@ var createHtmlRenderState = () => ({
6691
6654
  vars: {}
6692
6655
  });
6693
6656
 
6694
- // ../../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
6657
+ // ../../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
6695
6658
  function copyRawValuesOnly(target, source, props) {
6696
6659
  for (const key in source) {
6697
6660
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -6728,13 +6691,13 @@ function useHTMLProps(props, visualState) {
6728
6691
  return htmlProps;
6729
6692
  }
6730
6693
 
6731
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs
6694
+ // ../../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
6732
6695
  var createSvgRenderState = () => ({
6733
6696
  ...createHtmlRenderState(),
6734
6697
  attrs: {}
6735
6698
  });
6736
6699
 
6737
- // ../../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
6700
+ // ../../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
6738
6701
  function useSVGProps(props, visualState, _isStatic, Component2) {
6739
6702
  const visualProps = useMemo(() => {
6740
6703
  const state = createSvgRenderState();
@@ -6752,7 +6715,64 @@ function useSVGProps(props, visualState, _isStatic, Component2) {
6752
6715
  return visualProps;
6753
6716
  }
6754
6717
 
6755
- // ../../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
6718
+ // ../../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
6719
+ var validMotionProps = /* @__PURE__ */ new Set([
6720
+ "animate",
6721
+ "exit",
6722
+ "variants",
6723
+ "initial",
6724
+ "style",
6725
+ "values",
6726
+ "variants",
6727
+ "transition",
6728
+ "transformTemplate",
6729
+ "custom",
6730
+ "inherit",
6731
+ "onBeforeLayoutMeasure",
6732
+ "onAnimationStart",
6733
+ "onAnimationComplete",
6734
+ "onUpdate",
6735
+ "onDragStart",
6736
+ "onDrag",
6737
+ "onDragEnd",
6738
+ "onMeasureDragConstraints",
6739
+ "onDirectionLock",
6740
+ "onDragTransitionEnd",
6741
+ "_dragX",
6742
+ "_dragY",
6743
+ "onHoverStart",
6744
+ "onHoverEnd",
6745
+ "onViewportEnter",
6746
+ "onViewportLeave",
6747
+ "globalTapTarget",
6748
+ "propagate",
6749
+ "ignoreStrict",
6750
+ "viewport"
6751
+ ]);
6752
+ function isValidMotionProp(key) {
6753
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6754
+ }
6755
+
6756
+ // ../../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
6757
+ function shouldForward(key, isValidProp) {
6758
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
6759
+ }
6760
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
6761
+ const filteredProps = {};
6762
+ for (const key in props) {
6763
+ if (key === "values" && typeof props.values === "object")
6764
+ continue;
6765
+ if (isMotionValue(props[key]))
6766
+ continue;
6767
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6768
+ props["draggable"] && key.startsWith("onDrag")) {
6769
+ filteredProps[key] = props[key];
6770
+ }
6771
+ }
6772
+ return filteredProps;
6773
+ }
6774
+
6775
+ // ../../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
6756
6776
  var lowercaseSVGElements = [
6757
6777
  "animate",
6758
6778
  "circle",
@@ -6781,7 +6801,7 @@ var lowercaseSVGElements = [
6781
6801
  "view"
6782
6802
  ];
6783
6803
 
6784
- // ../../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
6804
+ // ../../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
6785
6805
  function isSVGComponent(Component2) {
6786
6806
  if (
6787
6807
  /**
@@ -6808,11 +6828,11 @@ function isSVGComponent(Component2) {
6808
6828
  return false;
6809
6829
  }
6810
6830
 
6811
- // ../../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
6812
- function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
6831
+ // ../../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
6832
+ function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
6813
6833
  const useVisualProps = isSVG ?? isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
6814
6834
  const visualProps = useVisualProps(props, latestValues, isStatic, Component2);
6815
- const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
6835
+ const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps, isValidProp);
6816
6836
  const elementProps = Component2 !== Fragment ? { ...filteredProps, ...visualProps, ref } : {};
6817
6837
  const { children } = props;
6818
6838
  const renderedChildren = useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -6877,20 +6897,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
6877
6897
  return isStatic ? make() : useConstant(make);
6878
6898
  };
6879
6899
 
6880
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs
6900
+ // ../../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
6881
6901
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
6882
6902
  scrapeMotionValuesFromProps,
6883
6903
  createRenderState: createHtmlRenderState
6884
6904
  });
6885
6905
 
6886
- // ../../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
6906
+ // ../../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
6887
6907
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
6888
6908
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
6889
6909
  createRenderState: createSvgRenderState
6890
6910
  });
6891
6911
 
6892
- // ../../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
6893
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
6912
+ // ../../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
6913
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
6894
6914
  function useMotionRef(visualState, visualElement, externalRef) {
6895
6915
  const externalRefContainer = useRef(externalRef);
6896
6916
  useInsertionEffect(() => {
@@ -6901,6 +6921,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
6901
6921
  if (instance) {
6902
6922
  visualState.onMount?.(instance);
6903
6923
  }
6924
+ if (visualElement) {
6925
+ instance ? visualElement.mount(instance) : visualElement.unmount();
6926
+ }
6904
6927
  const ref = externalRefContainer.current;
6905
6928
  if (typeof ref === "function") {
6906
6929
  if (instance) {
@@ -6917,19 +6940,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
6917
6940
  } else if (ref) {
6918
6941
  ref.current = instance;
6919
6942
  }
6920
- if (visualElement) {
6921
- instance ? visualElement.mount(instance) : visualElement.unmount();
6922
- }
6923
6943
  }, [visualElement]);
6924
6944
  }
6925
6945
  var SwitchLayoutGroupContext = createContext({});
6926
6946
 
6927
- // ../../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
6947
+ // ../../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
6928
6948
  function isRefObject(ref) {
6929
6949
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
6930
6950
  }
6931
6951
 
6932
- // ../../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
6952
+ // ../../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
6933
6953
  function useVisualElement(Component2, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
6934
6954
  const { visualElement: parent } = useContext(MotionContext);
6935
6955
  const lazyContext = useContext(LazyContext);
@@ -7025,7 +7045,7 @@ function getClosestProjectingNode(visualElement) {
7025
7045
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7026
7046
  }
7027
7047
 
7028
- // ../../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
7048
+ // ../../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
7029
7049
  function createMotionComponent(Component2, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7030
7050
  preloadedFeatures && loadFeatures(preloadedFeatures);
7031
7051
  const isSVG = type ? type === "svg" : isSVGComponent(Component2);
@@ -7037,7 +7057,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7037
7057
  ...props,
7038
7058
  layoutId: useLayoutId(props)
7039
7059
  };
7040
- const { isStatic } = configAndProps;
7060
+ const { isStatic, isValidProp } = configAndProps;
7041
7061
  const context = useCreateMotionContext(props);
7042
7062
  const visualState = useVisualState(props, isStatic);
7043
7063
  if (!isStatic && typeof window !== "undefined") {
@@ -7046,7 +7066,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7046
7066
  MeasureLayout2 = layoutProjection.MeasureLayout;
7047
7067
  context.visualElement = useVisualElement(Component2, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7048
7068
  }
7049
- 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)] });
7069
+ 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)] });
7050
7070
  }
7051
7071
  MotionDOMComponent.displayName = `motion.${typeof Component2 === "string" ? Component2 : `create(${Component2.displayName ?? Component2.name ?? ""})`}`;
7052
7072
  const ForwardRefMotionComponent = forwardRef(MotionDOMComponent);
@@ -7076,7 +7096,7 @@ function getProjectionFunctionality(props) {
7076
7096
  };
7077
7097
  }
7078
7098
 
7079
- // ../../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
7099
+ // ../../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
7080
7100
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7081
7101
  if (typeof Proxy === "undefined") {
7082
7102
  return createMotionComponent;
@@ -7114,7 +7134,7 @@ var createDomVisualElement = (Component2, options) => {
7114
7134
  });
7115
7135
  };
7116
7136
 
7117
- // ../../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
7137
+ // ../../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
7118
7138
  var AnimationFeature = class extends Feature {
7119
7139
  /**
7120
7140
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7150,7 +7170,7 @@ var AnimationFeature = class extends Feature {
7150
7170
  }
7151
7171
  };
7152
7172
 
7153
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs
7173
+ // ../../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
7154
7174
  var id2 = 0;
7155
7175
  var ExitAnimationFeature = class extends Feature {
7156
7176
  constructor() {
@@ -7169,7 +7189,7 @@ var ExitAnimationFeature = class extends Feature {
7169
7189
  if (isPresent && prevIsPresent === false) {
7170
7190
  if (this.isExitComplete) {
7171
7191
  const { initial, custom } = this.node.getProps();
7172
- if (typeof initial === "string") {
7192
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7173
7193
  const resolved = resolveVariant(this.node, initial, custom);
7174
7194
  if (resolved) {
7175
7195
  const { transition, transitionEnd, ...target } = resolved;
@@ -7207,7 +7227,7 @@ var ExitAnimationFeature = class extends Feature {
7207
7227
  }
7208
7228
  };
7209
7229
 
7210
- // ../../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
7230
+ // ../../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
7211
7231
  var animations = {
7212
7232
  animation: {
7213
7233
  Feature: AnimationFeature
@@ -7217,7 +7237,7 @@ var animations = {
7217
7237
  }
7218
7238
  };
7219
7239
 
7220
- // ../../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
7240
+ // ../../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
7221
7241
  function extractEventInfo(event) {
7222
7242
  return {
7223
7243
  point: {
@@ -7228,17 +7248,17 @@ function extractEventInfo(event) {
7228
7248
  }
7229
7249
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
7230
7250
 
7231
- // ../../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
7251
+ // ../../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
7232
7252
  function addPointerEvent(target, eventName, handler, options) {
7233
7253
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7234
7254
  }
7235
7255
 
7236
- // ../../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
7256
+ // ../../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
7237
7257
  var getContextWindow = ({ current }) => {
7238
7258
  return current ? current.ownerDocument.defaultView : null;
7239
7259
  };
7240
7260
 
7241
- // ../../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
7261
+ // ../../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
7242
7262
  var distance = (a, b) => Math.abs(a - b);
7243
7263
  function distance2D(a, b) {
7244
7264
  const xDelta = distance(a.x, b.x);
@@ -7246,7 +7266,7 @@ function distance2D(a, b) {
7246
7266
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7247
7267
  }
7248
7268
 
7249
- // ../../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
7269
+ // ../../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
7250
7270
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7251
7271
  var PanSession = class {
7252
7272
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7319,7 +7339,8 @@ var PanSession = class {
7319
7339
  this.history = [{ ...point, timestamp }];
7320
7340
  const { onSessionStart } = handlers;
7321
7341
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7322
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7342
+ const eventOptions = { passive: true, capture: true };
7343
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7323
7344
  if (element) {
7324
7345
  this.startScrollTracking(element);
7325
7346
  }
@@ -7453,7 +7474,7 @@ function getVelocity(history, timeDelta) {
7453
7474
  return currentVelocity;
7454
7475
  }
7455
7476
 
7456
- // ../../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
7477
+ // ../../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
7457
7478
  function applyConstraints(point, { min, max }, elastic) {
7458
7479
  if (min !== void 0 && point < min) {
7459
7480
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7531,7 +7552,7 @@ function resolvePointElastic(dragElastic, label) {
7531
7552
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7532
7553
  }
7533
7554
 
7534
- // ../../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
7555
+ // ../../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
7535
7556
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7536
7557
  var VisualElementDragControls = class {
7537
7558
  constructor(visualElement) {
@@ -7732,6 +7753,10 @@ var VisualElementDragControls = class {
7732
7753
  const { projection } = this.visualElement;
7733
7754
  if (!projection || !projection.layout)
7734
7755
  return false;
7756
+ if (projection.root) {
7757
+ projection.root.scroll = void 0;
7758
+ projection.root.updateScroll();
7759
+ }
7735
7760
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
7736
7761
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
7737
7762
  if (onMeasureDragConstraints) {
@@ -7788,7 +7813,7 @@ var VisualElementDragControls = class {
7788
7813
  const dragKey = `_drag${axis.toUpperCase()}`;
7789
7814
  const props = this.visualElement.getProps();
7790
7815
  const externalMotionValue = props[dragKey];
7791
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
7816
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
7792
7817
  }
7793
7818
  snapToCursor(point) {
7794
7819
  eachAxis((axis) => {
@@ -7936,7 +7961,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
7936
7961
  return direction;
7937
7962
  }
7938
7963
 
7939
- // ../../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
7964
+ // ../../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
7940
7965
  var DragGesture = class extends Feature {
7941
7966
  constructor(node) {
7942
7967
  super(node);
@@ -7970,7 +7995,7 @@ var DragGesture = class extends Feature {
7970
7995
  }
7971
7996
  };
7972
7997
 
7973
- // ../../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
7998
+ // ../../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
7974
7999
  var asyncHandler = (handler) => (event, info) => {
7975
8000
  if (handler) {
7976
8001
  frame.update(() => handler(event, info), false, true);
@@ -8113,7 +8138,7 @@ function MeasureLayout(props) {
8113
8138
  return jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8114
8139
  }
8115
8140
 
8116
- // ../../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
8141
+ // ../../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
8117
8142
  var drag = {
8118
8143
  pan: {
8119
8144
  Feature: PanGesture
@@ -8125,7 +8150,7 @@ var drag = {
8125
8150
  }
8126
8151
  };
8127
8152
 
8128
- // ../../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
8153
+ // ../../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
8129
8154
  function handleHoverEvent(node, event, lifecycle) {
8130
8155
  const { props } = node;
8131
8156
  if (node.animationState && props.whileHover) {
@@ -8151,7 +8176,7 @@ var HoverGesture = class extends Feature {
8151
8176
  }
8152
8177
  };
8153
8178
 
8154
- // ../../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
8179
+ // ../../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
8155
8180
  var FocusGesture = class extends Feature {
8156
8181
  constructor() {
8157
8182
  super(...arguments);
@@ -8182,7 +8207,7 @@ var FocusGesture = class extends Feature {
8182
8207
  }
8183
8208
  };
8184
8209
 
8185
- // ../../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
8210
+ // ../../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
8186
8211
  function handlePressEvent(node, event, lifecycle) {
8187
8212
  const { props } = node;
8188
8213
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8215,7 +8240,7 @@ var PressGesture = class extends Feature {
8215
8240
  }
8216
8241
  };
8217
8242
 
8218
- // ../../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
8243
+ // ../../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
8219
8244
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8220
8245
  var observers = /* @__PURE__ */ new WeakMap();
8221
8246
  var fireObserverCallback = (entry) => {
@@ -8247,7 +8272,7 @@ function observeIntersection(element, options, callback) {
8247
8272
  };
8248
8273
  }
8249
8274
 
8250
- // ../../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
8275
+ // ../../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
8251
8276
  var thresholdNames = {
8252
8277
  some: 0,
8253
8278
  all: 1
@@ -8308,7 +8333,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8308
8333
  return (name) => viewport[name] !== prevViewport[name];
8309
8334
  }
8310
8335
 
8311
- // ../../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
8336
+ // ../../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
8312
8337
  var gestureAnimations = {
8313
8338
  inView: {
8314
8339
  Feature: InViewFeature
@@ -8324,7 +8349,7 @@ var gestureAnimations = {
8324
8349
  }
8325
8350
  };
8326
8351
 
8327
- // ../../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
8352
+ // ../../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
8328
8353
  var layout = {
8329
8354
  layout: {
8330
8355
  ProjectionNode: HTMLProjectionNode,
@@ -8332,7 +8357,7 @@ var layout = {
8332
8357
  }
8333
8358
  };
8334
8359
 
8335
- // ../../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
8360
+ // ../../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
8336
8361
  var featureBundle = {
8337
8362
  ...animations,
8338
8363
  ...gestureAnimations,
@@ -8340,7 +8365,7 @@ var featureBundle = {
8340
8365
  ...layout
8341
8366
  };
8342
8367
 
8343
- // ../../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
8368
+ // ../../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
8344
8369
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8345
8370
  function useMotionValue(initial) {
8346
8371
  const value = useConstant(() => motionValue(initial));
@@ -8352,7 +8377,7 @@ function useMotionValue(initial) {
8352
8377
  return value;
8353
8378
  }
8354
8379
 
8355
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-combine-values.mjs
8380
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-combine-values.mjs
8356
8381
  function useCombineMotionValues(values, combineValues) {
8357
8382
  const value = useMotionValue(combineValues());
8358
8383
  const updateValue = () => value.set(combineValues());
@@ -8368,7 +8393,7 @@ function useCombineMotionValues(values, combineValues) {
8368
8393
  return value;
8369
8394
  }
8370
8395
 
8371
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-computed.mjs
8396
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-computed.mjs
8372
8397
  function useComputed(compute) {
8373
8398
  collectMotionValues.current = [];
8374
8399
  compute();
@@ -8377,7 +8402,7 @@ function useComputed(compute) {
8377
8402
  return value;
8378
8403
  }
8379
8404
 
8380
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-transform.mjs
8405
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-transform.mjs
8381
8406
  function useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options) {
8382
8407
  if (typeof input === "function") {
8383
8408
  return useComputed(input);
@@ -8420,6 +8445,9 @@ function useMapTransform(inputValue, inputRange, outputMap, options) {
8420
8445
  }
8421
8446
  return output;
8422
8447
  }
8448
+
8449
+ // ../../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
8450
+ var motion2 = motion;
8423
8451
  function usePrefersReducedMotion() {
8424
8452
  const [prefersReducedMotion2, setPrefersReducedMotion] = useState(false);
8425
8453
  useEffect(() => {
@@ -8442,7 +8470,7 @@ function GradientBackground({
8442
8470
  }) {
8443
8471
  const gradientColors = colors.length >= 2 ? colors : ["#ff6b6b", "#4ecdc4", "#45b7d1", "#96ceb4"];
8444
8472
  return /* @__PURE__ */ jsx(
8445
- motion.div,
8473
+ motion2.div,
8446
8474
  {
8447
8475
  className: "absolute inset-0",
8448
8476
  style: {
@@ -8479,7 +8507,7 @@ function BlobBackground({
8479
8507
  [elementCount, colors, speed]
8480
8508
  );
8481
8509
  return /* @__PURE__ */ jsx(Box, { className: "absolute inset-0 overflow-hidden", children: blobs.map((blob) => /* @__PURE__ */ jsx(
8482
- motion.div,
8510
+ motion2.div,
8483
8511
  {
8484
8512
  className: "absolute rounded-full",
8485
8513
  style: {
@@ -8514,7 +8542,7 @@ function WaveBackground({
8514
8542
  }) {
8515
8543
  const waveColor = colors[0] || "#4ecdc4";
8516
8544
  return /* @__PURE__ */ jsx(Box, { className: "absolute inset-0 overflow-hidden", children: [0, 1, 2].map((index) => /* @__PURE__ */ jsx(
8517
- motion.div,
8545
+ motion2.div,
8518
8546
  {
8519
8547
  className: "absolute inset-0",
8520
8548
  style: {
@@ -8542,7 +8570,7 @@ function MeshBackground({
8542
8570
  }) {
8543
8571
  const meshColors = colors.length >= 4 ? colors.slice(0, 4) : ["#ff6b6b", "#4ecdc4", "#45b7d1", "#96ceb4"];
8544
8572
  return /* @__PURE__ */ jsx(Box, { className: "absolute inset-0 overflow-hidden", children: meshColors.map((color2, index) => /* @__PURE__ */ jsx(
8545
- motion.div,
8573
+ motion2.div,
8546
8574
  {
8547
8575
  className: "absolute rounded-full",
8548
8576
  style: {
@@ -8607,7 +8635,7 @@ function ParallaxBackground({
8607
8635
  [-layer.speed * 10, layer.speed * 10]
8608
8636
  );
8609
8637
  return /* @__PURE__ */ jsx(
8610
- motion.div,
8638
+ motion2.div,
8611
8639
  {
8612
8640
  className: "absolute inset-0",
8613
8641
  style: {
@@ -8641,7 +8669,7 @@ function ParticlesBackground({
8641
8669
  [elementCount, colors, speed]
8642
8670
  );
8643
8671
  return /* @__PURE__ */ jsx(Box, { className: "absolute inset-0 overflow-hidden", children: particles.map((particle) => /* @__PURE__ */ jsx(
8644
- motion.div,
8672
+ motion2.div,
8645
8673
  {
8646
8674
  className: "absolute rounded-full",
8647
8675
  style: {