@luxfi/ui 8.2.11 → 8.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/3d-carousel.d.ts +2 -1
  2. package/dist/3d-carousel.d.ts.map +1 -1
  3. package/dist/3d-marquee.cjs +635 -607
  4. package/dist/3d-marquee.js +635 -607
  5. package/dist/animated-background.cjs +643 -615
  6. package/dist/animated-background.js +643 -615
  7. package/dist/animated-beam.cjs +634 -606
  8. package/dist/animated-beam.js +634 -606
  9. package/dist/animated-icon.cjs +672 -625
  10. package/dist/animated-icon.js +672 -625
  11. package/dist/animated-list.cjs +794 -663
  12. package/dist/animated-list.js +794 -663
  13. package/dist/animated-number.cjs +644 -616
  14. package/dist/animated-number.js +644 -616
  15. package/dist/animated-testimonials.cjs +668 -621
  16. package/dist/animated-testimonials.js +668 -621
  17. package/dist/animated-text.cjs +675 -628
  18. package/dist/animated-text.js +675 -628
  19. package/dist/animated-tooltip.cjs +668 -621
  20. package/dist/animated-tooltip.js +668 -621
  21. package/dist/apple-cards-carousel.cjs +676 -629
  22. package/dist/apple-cards-carousel.js +676 -629
  23. package/dist/apple-hello-effect.cjs +634 -606
  24. package/dist/apple-hello-effect.js +634 -606
  25. package/dist/calendar.cjs +2 -37
  26. package/dist/calendar.d.ts +11 -1
  27. package/dist/calendar.d.ts.map +1 -1
  28. package/dist/calendar.js +3 -38
  29. package/dist/dock.cjs +645 -617
  30. package/dist/dock.js +645 -617
  31. package/dist/image-zoom.d.ts +3 -2
  32. package/dist/image-zoom.d.ts.map +1 -1
  33. package/dist/input-otp.d.ts +4 -2
  34. package/dist/input-otp.d.ts.map +1 -1
  35. package/dist/pulse-animation.cjs +636 -608
  36. package/dist/pulse-animation.js +636 -608
  37. package/dist/resizable.cjs +4 -24
  38. package/dist/resizable.d.ts +12 -12
  39. package/dist/resizable.d.ts.map +1 -1
  40. package/dist/resizable.js +4 -4
  41. package/dist/reveal-animation.cjs +639 -611
  42. package/dist/reveal-animation.js +639 -611
  43. package/package.json +43 -41
  44. package/src/3d-carousel.tsx +2 -2
  45. package/src/calendar.tsx +12 -43
  46. package/src/image-zoom.tsx +2 -2
  47. package/src/resizable.tsx +7 -7
  48. package/src/table.tsx +9 -9
  49. package/tokens.css +21 -0
@@ -7,12 +7,6 @@ var react = require('react');
7
7
  var ui = require('@hanzo/ui');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
 
10
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
11
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
12
- }) : x)(function(x) {
13
- if (typeof require !== "undefined") return require.apply(this, arguments);
14
- throw Error('Dynamic require of "' + x + '" is not supported');
15
- });
16
10
  var LayoutGroupContext = react.createContext({});
17
11
  function useConstant(init) {
18
12
  const ref = react.useRef(null);
@@ -22,14 +16,14 @@ function useConstant(init) {
22
16
  return ref.current;
23
17
  }
24
18
 
25
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-browser.mjs
19
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-browser.mjs
26
20
  var isBrowser = typeof window !== "undefined";
27
21
 
28
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
22
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
29
23
  var useIsomorphicLayoutEffect = isBrowser ? react.useLayoutEffect : react.useEffect;
30
24
  var PresenceContext = /* @__PURE__ */ react.createContext(null);
31
25
 
32
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/array.mjs
26
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/array.mjs
33
27
  function addUniqueItem(arr, item) {
34
28
  if (arr.indexOf(item) === -1)
35
29
  arr.push(item);
@@ -40,7 +34,7 @@ function removeItem(arr, item) {
40
34
  arr.splice(index, 1);
41
35
  }
42
36
 
43
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/clamp.mjs
37
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/clamp.mjs
44
38
  var clamp = (min, max, v) => {
45
39
  if (v > max)
46
40
  return max;
@@ -49,12 +43,12 @@ var clamp = (min, max, v) => {
49
43
  return v;
50
44
  };
51
45
 
52
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/format-error-message.mjs
46
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/format-error-message.mjs
53
47
  function formatErrorMessage(message, errorCode) {
54
48
  return errorCode ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` : message;
55
49
  }
56
50
 
57
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/errors.mjs
51
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/errors.mjs
58
52
  var warning = () => {
59
53
  };
60
54
  var invariant = () => {
@@ -72,21 +66,19 @@ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
72
66
  };
73
67
  }
74
68
 
75
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/global-config.mjs
69
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/global-config.mjs
76
70
  var MotionGlobalConfig = {};
77
71
 
78
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
72
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
79
73
  var isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
80
74
 
81
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-object.mjs
82
- function isObject(value) {
83
- return typeof value === "object" && value !== null;
84
- }
75
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-object.mjs
76
+ var isObject = (value) => typeof value === "object" && value !== null;
85
77
 
86
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
78
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
87
79
  var isZeroValueString = (v) => /^0[^.\s]+$/u.test(v);
88
80
 
89
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/memo.mjs
81
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/memo.mjs
90
82
  // @__NO_SIDE_EFFECTS__
91
83
  function memo(callback) {
92
84
  let result;
@@ -97,20 +89,19 @@ function memo(callback) {
97
89
  };
98
90
  }
99
91
 
100
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/noop.mjs
92
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/noop.mjs
101
93
  var noop = /* @__NO_SIDE_EFFECTS__ */ (any) => any;
102
94
 
103
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/pipe.mjs
104
- var combineFunctions = (a, b) => (v) => b(a(v));
105
- var pipe = (...transformers) => transformers.reduce(combineFunctions);
95
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/pipe.mjs
96
+ var pipe = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v)));
106
97
 
107
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/progress.mjs
98
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/progress.mjs
108
99
  var progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
109
- const toFromDifference = to - from;
110
- return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
100
+ const range = to - from;
101
+ return range ? (value - from) / range : 1;
111
102
  };
112
103
 
113
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
104
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
114
105
  var SubscriptionManager = class {
115
106
  constructor() {
116
107
  this.subscriptions = [];
@@ -140,16 +131,14 @@ var SubscriptionManager = class {
140
131
  }
141
132
  };
142
133
 
143
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/time-conversion.mjs
134
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/time-conversion.mjs
144
135
  var secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3;
145
136
  var millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
146
137
 
147
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
148
- function velocityPerSecond(velocity, frameDuration) {
149
- return frameDuration ? velocity * (1e3 / frameDuration) : 0;
150
- }
138
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
139
+ var velocityPerSecond = /* @__NO_SIDE_EFFECTS__ */ (velocity, frameDuration) => frameDuration ? velocity * (1e3 / frameDuration) : 0;
151
140
 
152
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/warn-once.mjs
141
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/warn-once.mjs
153
142
  var warned = /* @__PURE__ */ new Set();
154
143
  function warnOnce(condition, message, errorCode) {
155
144
  if (condition || warned.has(message))
@@ -158,7 +147,7 @@ function warnOnce(condition, message, errorCode) {
158
147
  warned.add(message);
159
148
  }
160
149
 
161
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
150
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
162
151
  var calcBezier = (t, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t + (3 * a2 - 6 * a1)) * t + 3 * a1) * t;
163
152
  var subdivisionPrecision = 1e-7;
164
153
  var subdivisionMaxIterations = 12;
@@ -177,6 +166,7 @@ function binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {
177
166
  } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations);
178
167
  return currentT;
179
168
  }
169
+ // @__NO_SIDE_EFFECTS__
180
170
  function cubicBezier(mX1, mY1, mX2, mY2) {
181
171
  if (mX1 === mY1 && mX2 === mY2)
182
172
  return noop;
@@ -184,39 +174,39 @@ function cubicBezier(mX1, mY1, mX2, mY2) {
184
174
  return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
185
175
  }
186
176
 
187
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
188
- var mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
177
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
178
+ var mirrorEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
189
179
 
190
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
191
- var reverseEasing = (easing) => (p) => 1 - easing(1 - p);
180
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
181
+ var reverseEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => 1 - easing(1 - p);
192
182
 
193
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/back.mjs
183
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/back.mjs
194
184
  var backOut = /* @__PURE__ */ cubicBezier(0.33, 1.53, 0.69, 0.99);
195
185
  var backIn = /* @__PURE__ */ reverseEasing(backOut);
196
186
  var backInOut = /* @__PURE__ */ mirrorEasing(backIn);
197
187
 
198
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
188
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
199
189
  var anticipate = (p) => p >= 1 ? 1 : (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
200
190
 
201
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/circ.mjs
191
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/circ.mjs
202
192
  var circIn = (p) => 1 - Math.sin(Math.acos(p));
203
193
  var circOut = reverseEasing(circIn);
204
194
  var circInOut = mirrorEasing(circIn);
205
195
 
206
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/ease.mjs
196
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/ease.mjs
207
197
  var easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1);
208
198
  var easeOut = /* @__PURE__ */ cubicBezier(0, 0, 0.58, 1);
209
199
  var easeInOut = /* @__PURE__ */ cubicBezier(0.42, 0, 0.58, 1);
210
200
 
211
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
212
- var isEasingArray = (ease2) => {
201
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
202
+ var isEasingArray = /* @__NO_SIDE_EFFECTS__ */ (ease2) => {
213
203
  return Array.isArray(ease2) && typeof ease2[0] !== "number";
214
204
  };
215
205
 
216
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
217
- var isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number";
206
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
207
+ var isBezierDefinition = /* @__NO_SIDE_EFFECTS__ */ (easing) => Array.isArray(easing) && typeof easing[0] === "number";
218
208
 
219
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
209
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
220
210
  var easingLookup = {
221
211
  linear: noop,
222
212
  easeIn,
@@ -245,7 +235,7 @@ var easingDefinitionToFunction = (definition) => {
245
235
  return definition;
246
236
  };
247
237
 
248
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
238
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/order.mjs
249
239
  var stepsOrder = [
250
240
  "setup",
251
241
  // Compute
@@ -265,8 +255,8 @@ var stepsOrder = [
265
255
  // Compute
266
256
  ];
267
257
 
268
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
269
- function createRenderStep(runNextFrame, stepName) {
258
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
259
+ function createRenderStep(runNextFrame) {
270
260
  let thisFrame = /* @__PURE__ */ new Set();
271
261
  let nextFrame = /* @__PURE__ */ new Set();
272
262
  let isProcessing = false;
@@ -328,7 +318,7 @@ function createRenderStep(runNextFrame, stepName) {
328
318
  return step;
329
319
  }
330
320
 
331
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
321
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
332
322
  var maxElapsed = 40;
333
323
  function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
334
324
  let runNextFrame = false;
@@ -391,10 +381,10 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
391
381
  return { schedule, cancel, state, steps };
392
382
  }
393
383
 
394
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
384
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/frame.mjs
395
385
  var { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true);
396
386
 
397
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
387
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
398
388
  var now;
399
389
  function clearTime() {
400
390
  now = void 0;
@@ -412,7 +402,7 @@ var time = {
412
402
  }
413
403
  };
414
404
 
415
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
405
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
416
406
  var checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
417
407
  var isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
418
408
  var startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
@@ -429,7 +419,7 @@ function containsCSSVariable(value) {
429
419
  return value.split("/*")[0].includes("var(--");
430
420
  }
431
421
 
432
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
422
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
433
423
  var number = {
434
424
  test: (v) => typeof v === "number",
435
425
  parse: parseFloat,
@@ -444,21 +434,21 @@ var scale = {
444
434
  default: 1
445
435
  };
446
436
 
447
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
437
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
448
438
  var sanitize = (v) => Math.round(v * 1e5) / 1e5;
449
439
 
450
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
440
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
451
441
  var floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
452
442
 
453
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
443
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
454
444
  function isNullish(v) {
455
445
  return v == null;
456
446
  }
457
447
 
458
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
448
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
459
449
  var singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
460
450
 
461
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
451
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
462
452
  var isColorString = (type, testProp) => (v) => {
463
453
  return Boolean(typeof v === "string" && singleColorRegex.test(v) && v.startsWith(type) || testProp && !isNullish(v) && Object.prototype.hasOwnProperty.call(v, testProp));
464
454
  };
@@ -474,7 +464,7 @@ var splitColor = (aName, bName, cName) => (v) => {
474
464
  };
475
465
  };
476
466
 
477
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
467
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
478
468
  var clampRgbUnit = (v) => clamp(0, 255, v);
479
469
  var rgbUnit = {
480
470
  ...number,
@@ -486,7 +476,7 @@ var rgba = {
486
476
  transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
487
477
  };
488
478
 
489
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
479
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
490
480
  function parseHex(v) {
491
481
  let r = "";
492
482
  let g = "";
@@ -520,7 +510,7 @@ var hex = {
520
510
  transform: rgba.transform
521
511
  };
522
512
 
523
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
513
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
524
514
  var createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
525
515
  test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
526
516
  parse: parseFloat,
@@ -537,7 +527,7 @@ var progressPercentage = /* @__PURE__ */ (() => ({
537
527
  transform: (v) => percent.transform(v * 100)
538
528
  }))();
539
529
 
540
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
530
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
541
531
  var hsla = {
542
532
  test: /* @__PURE__ */ isColorString("hsl", "hue"),
543
533
  parse: /* @__PURE__ */ splitColor("hue", "saturation", "lightness"),
@@ -546,7 +536,7 @@ var hsla = {
546
536
  }
547
537
  };
548
538
 
549
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
539
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/index.mjs
550
540
  var color = {
551
541
  test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),
552
542
  parse: (v) => {
@@ -568,10 +558,10 @@ var color = {
568
558
  }
569
559
  };
570
560
 
571
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
561
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
572
562
  var colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
573
563
 
574
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
564
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
575
565
  function test(v) {
576
566
  return isNaN(v) && typeof v === "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
577
567
  }
@@ -656,7 +646,7 @@ var complex = {
656
646
  getAnimatableNone
657
647
  };
658
648
 
659
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
649
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
660
650
  function hueToRgb(p, q, t) {
661
651
  if (t < 0)
662
652
  t += 1;
@@ -694,17 +684,17 @@ function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
694
684
  };
695
685
  }
696
686
 
697
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
687
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
698
688
  function mixImmediate(a, b) {
699
689
  return (p) => p > 0 ? b : a;
700
690
  }
701
691
 
702
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
692
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/number.mjs
703
693
  var mixNumber = (from, to, progress2) => {
704
694
  return from + (to - from) * progress2;
705
695
  };
706
696
 
707
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
697
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/color.mjs
708
698
  var mixLinearColor = (from, to, v) => {
709
699
  const fromExpo = from * from;
710
700
  const expo = v * (to * to - fromExpo) + fromExpo;
@@ -739,7 +729,7 @@ var mixColor = (from, to) => {
739
729
  };
740
730
  };
741
731
 
742
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
732
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
743
733
  var invisibleValues = /* @__PURE__ */ new Set(["none", "hidden"]);
744
734
  function mixVisibility(origin, target) {
745
735
  if (invisibleValues.has(origin)) {
@@ -749,7 +739,7 @@ function mixVisibility(origin, target) {
749
739
  }
750
740
  }
751
741
 
752
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
742
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
753
743
  function mixNumber2(a, b) {
754
744
  return (p) => mixNumber(a, b, p);
755
745
  }
@@ -819,7 +809,7 @@ var mixComplex = (origin, target) => {
819
809
  }
820
810
  };
821
811
 
822
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
812
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/index.mjs
823
813
  function mix(from, to, p) {
824
814
  if (typeof from === "number" && typeof to === "number" && typeof p === "number") {
825
815
  return mixNumber(from, to, p);
@@ -828,7 +818,7 @@ function mix(from, to, p) {
828
818
  return mixer(from, to);
829
819
  }
830
820
 
831
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
821
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
832
822
  var frameloopDriver = (update) => {
833
823
  const passTimestamp = ({ timestamp }) => update(timestamp);
834
824
  return {
@@ -842,7 +832,7 @@ var frameloopDriver = (update) => {
842
832
  };
843
833
  };
844
834
 
845
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
835
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
846
836
  var generateLinearEasing = (easing, duration, resolution = 10) => {
847
837
  let points = "";
848
838
  const numPoints = Math.max(Math.round(duration / resolution), 2);
@@ -852,7 +842,7 @@ var generateLinearEasing = (easing, duration, resolution = 10) => {
852
842
  return `linear(${points.substring(0, points.length - 2)})`;
853
843
  };
854
844
 
855
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
845
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
856
846
  var maxGeneratorDuration = 2e4;
857
847
  function calcGeneratorDuration(generator) {
858
848
  let duration = 0;
@@ -865,7 +855,7 @@ function calcGeneratorDuration(generator) {
865
855
  return duration >= maxGeneratorDuration ? Infinity : duration;
866
856
  }
867
857
 
868
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
858
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
869
859
  function createGeneratorEasing(options, scale2 = 100, createGenerator) {
870
860
  const generator = createGenerator({ ...options, keyframes: [0, scale2] });
871
861
  const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
@@ -878,7 +868,7 @@ function createGeneratorEasing(options, scale2 = 100, createGenerator) {
878
868
  };
879
869
  }
880
870
 
881
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
871
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
882
872
  var springDefaults = {
883
873
  // Default spring physics
884
874
  stiffness: 100,
@@ -1117,14 +1107,14 @@ spring.applyToOptions = (options) => {
1117
1107
  return options;
1118
1108
  };
1119
1109
 
1120
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1110
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1121
1111
  var velocitySampleDuration = 5;
1122
1112
  function getGeneratorVelocity(resolveValue, t, current) {
1123
1113
  const prevT = Math.max(t - velocitySampleDuration, 0);
1124
1114
  return velocityPerSecond(current - resolveValue(prevT), t - prevT);
1125
1115
  }
1126
1116
 
1127
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1117
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1128
1118
  function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed }) {
1129
1119
  const origin = keyframes2[0];
1130
1120
  const state = {
@@ -1188,7 +1178,7 @@ function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstan
1188
1178
  };
1189
1179
  }
1190
1180
 
1191
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1181
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1192
1182
  function createMixers(output, ease2, customMixer) {
1193
1183
  const mixers = [];
1194
1184
  const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;
@@ -1233,7 +1223,7 @@ function interpolate(input, output, { clamp: isClamp = true, ease: ease2, mixer
1233
1223
  return isClamp ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator;
1234
1224
  }
1235
1225
 
1236
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1226
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1237
1227
  function fillOffset(offset, remaining) {
1238
1228
  const min = offset[offset.length - 1];
1239
1229
  for (let i = 1; i <= remaining; i++) {
@@ -1242,19 +1232,19 @@ function fillOffset(offset, remaining) {
1242
1232
  }
1243
1233
  }
1244
1234
 
1245
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1235
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1246
1236
  function defaultOffset(arr) {
1247
1237
  const offset = [0];
1248
1238
  fillOffset(offset, arr.length - 1);
1249
1239
  return offset;
1250
1240
  }
1251
1241
 
1252
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1242
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1253
1243
  function convertOffsetToTimes(offset, duration) {
1254
1244
  return offset.map((o) => o * duration);
1255
1245
  }
1256
1246
 
1257
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1247
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1258
1248
  function defaultEasing(values, easing) {
1259
1249
  return values.map(() => easing || easeInOut).splice(0, values.length - 1);
1260
1250
  }
@@ -1283,7 +1273,7 @@ function keyframes({ duration = 300, keyframes: keyframeValues, times, ease: eas
1283
1273
  };
1284
1274
  }
1285
1275
 
1286
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1276
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1287
1277
  var isNotNull = (value) => value !== null;
1288
1278
  function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
1289
1279
  const resolvedKeyframes = keyframes2.filter(isNotNull);
@@ -1292,7 +1282,7 @@ function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyf
1292
1282
  return !index || finalKeyframe === void 0 ? resolvedKeyframes[index] : finalKeyframe;
1293
1283
  }
1294
1284
 
1295
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1285
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1296
1286
  var transitionTypeMap = {
1297
1287
  decay: inertia,
1298
1288
  inertia,
@@ -1306,7 +1296,7 @@ function replaceTransitionType(transition) {
1306
1296
  }
1307
1297
  }
1308
1298
 
1309
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1299
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1310
1300
  var WithPromise = class {
1311
1301
  constructor() {
1312
1302
  this.updateFinished();
@@ -1332,7 +1322,7 @@ var WithPromise = class {
1332
1322
  }
1333
1323
  };
1334
1324
 
1335
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1325
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1336
1326
  var percentToProgress = (percent2) => percent2 / 100;
1337
1327
  var JSAnimation = class extends WithPromise {
1338
1328
  constructor(options) {
@@ -1611,14 +1601,14 @@ var JSAnimation = class extends WithPromise {
1611
1601
  }
1612
1602
  };
1613
1603
 
1614
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1604
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1615
1605
  function fillWildcards(keyframes2) {
1616
1606
  for (let i = 1; i < keyframes2.length; i++) {
1617
1607
  keyframes2[i] ?? (keyframes2[i] = keyframes2[i - 1]);
1618
1608
  }
1619
1609
  }
1620
1610
 
1621
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1611
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1622
1612
  var radToDeg = (rad) => rad * 180 / Math.PI;
1623
1613
  var rotate = (v) => {
1624
1614
  const angle = radToDeg(Math.atan2(v[1], v[0]));
@@ -1698,7 +1688,7 @@ function convertTransformToNumber(value) {
1698
1688
  return parseFloat(value.trim());
1699
1689
  }
1700
1690
 
1701
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1691
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1702
1692
  var transformPropOrder = [
1703
1693
  "transformPerspective",
1704
1694
  "x",
@@ -1718,9 +1708,9 @@ var transformPropOrder = [
1718
1708
  "skewX",
1719
1709
  "skewY"
1720
1710
  ];
1721
- var transformProps = /* @__PURE__ */ (() => new Set(transformPropOrder))();
1711
+ var transformProps = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([...transformPropOrder, "pathRotation"]))();
1722
1712
 
1723
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1713
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1724
1714
  var isNumOrPxType = (v) => v === number || v === px;
1725
1715
  var transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
1726
1716
  var nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
@@ -1756,7 +1746,7 @@ var positionalValues = {
1756
1746
  positionalValues.translateX = positionalValues.x;
1757
1747
  positionalValues.translateY = positionalValues.y;
1758
1748
 
1759
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1749
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1760
1750
  var toResolve = /* @__PURE__ */ new Set();
1761
1751
  var isScheduled = false;
1762
1752
  var anyNeedsMeasurement = false;
@@ -1882,27 +1872,27 @@ var KeyframeResolver = class {
1882
1872
  }
1883
1873
  };
1884
1874
 
1885
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1875
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1886
1876
  var isCSSVar = (name) => name.startsWith("--");
1887
1877
 
1888
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1878
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1889
1879
  function setStyle(element, name, value) {
1890
1880
  isCSSVar(name) ? element.style.setProperty(name, value) : element.style[name] = value;
1891
1881
  }
1892
1882
 
1893
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1883
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1894
1884
  var supportsFlags = {};
1895
1885
 
1896
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1886
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1897
1887
  function memoSupports(callback, supportsFlag) {
1898
1888
  const memoized = memo(callback);
1899
1889
  return () => supportsFlags[supportsFlag] ?? memoized();
1900
1890
  }
1901
1891
 
1902
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1892
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1903
1893
  var supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== void 0, "scrollTimeline");
1904
1894
 
1905
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1895
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1906
1896
  var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1907
1897
  try {
1908
1898
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -1912,10 +1902,10 @@ var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1912
1902
  return true;
1913
1903
  }, "linearEasing");
1914
1904
 
1915
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1905
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1916
1906
  var cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
1917
1907
 
1918
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1908
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1919
1909
  var supportedWaapiEasing = {
1920
1910
  linear: "linear",
1921
1911
  ease: "ease",
@@ -1928,7 +1918,7 @@ var supportedWaapiEasing = {
1928
1918
  backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
1929
1919
  };
1930
1920
 
1931
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1921
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1932
1922
  function mapEasingToNativeEasing(easing, duration) {
1933
1923
  if (!easing) {
1934
1924
  return void 0;
@@ -1943,7 +1933,7 @@ function mapEasingToNativeEasing(easing, duration) {
1943
1933
  }
1944
1934
  }
1945
1935
 
1946
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1936
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1947
1937
  function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeOut", times } = {}, pseudoElement = void 0) {
1948
1938
  const keyframeOptions = {
1949
1939
  [valueName]: keyframes2
@@ -1963,16 +1953,15 @@ function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0
1963
1953
  };
1964
1954
  if (pseudoElement)
1965
1955
  options.pseudoElement = pseudoElement;
1966
- const animation = element.animate(keyframeOptions, options);
1967
- return animation;
1956
+ return element.animate(keyframeOptions, options);
1968
1957
  }
1969
1958
 
1970
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1959
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1971
1960
  function isGenerator(type) {
1972
1961
  return typeof type === "function" && "applyToOptions" in type;
1973
1962
  }
1974
1963
 
1975
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1964
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1976
1965
  function applyGeneratorOptions({ type, ...options }) {
1977
1966
  if (isGenerator(type) && supportsLinearEasing()) {
1978
1967
  return type.applyToOptions(options);
@@ -1983,7 +1972,7 @@ function applyGeneratorOptions({ type, ...options }) {
1983
1972
  return options;
1984
1973
  }
1985
1974
 
1986
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1975
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1987
1976
  var NativeAnimation = class extends WithPromise {
1988
1977
  constructor(options) {
1989
1978
  super();
@@ -2133,7 +2122,7 @@ var NativeAnimation = class extends WithPromise {
2133
2122
  }
2134
2123
  };
2135
2124
 
2136
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2125
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2137
2126
  var unsupportedEasingFunctions = {
2138
2127
  anticipate,
2139
2128
  backInOut,
@@ -2148,7 +2137,7 @@ function replaceStringEasing(transition) {
2148
2137
  }
2149
2138
  }
2150
2139
 
2151
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2140
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2152
2141
  var sampleDelta = 10;
2153
2142
  var NativeAnimationExtended = class extends NativeAnimation {
2154
2143
  constructor(options) {
@@ -2191,7 +2180,7 @@ var NativeAnimationExtended = class extends NativeAnimation {
2191
2180
  }
2192
2181
  };
2193
2182
 
2194
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2183
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2195
2184
  var isAnimatable = (value, name) => {
2196
2185
  if (name === "zIndex")
2197
2186
  return false;
@@ -2205,7 +2194,7 @@ var isAnimatable = (value, name) => {
2205
2194
  return false;
2206
2195
  };
2207
2196
 
2208
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2197
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2209
2198
  function hasKeyframesChanged(keyframes2) {
2210
2199
  const current = keyframes2[0];
2211
2200
  if (keyframes2.length === 1)
@@ -2232,24 +2221,22 @@ function canAnimate(keyframes2, name, type, velocity) {
2232
2221
  return hasKeyframesChanged(keyframes2) || (type === "spring" || isGenerator(type)) && velocity;
2233
2222
  }
2234
2223
 
2235
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2224
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2236
2225
  function makeAnimationInstant(options) {
2237
2226
  options.duration = 0;
2238
2227
  options.type = "keyframes";
2239
2228
  }
2240
2229
 
2241
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2230
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2242
2231
  var acceleratedValues = /* @__PURE__ */ new Set([
2243
2232
  "opacity",
2244
2233
  "clipPath",
2245
2234
  "filter",
2246
- "transform"
2247
- // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
2248
- // or until we implement support for linear() easing.
2249
- // "background-color"
2235
+ "transform",
2236
+ "backgroundColor"
2250
2237
  ]);
2251
2238
 
2252
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2239
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2253
2240
  var browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
2254
2241
  function hasBrowserOnlyColors(keyframes2) {
2255
2242
  for (let i = 0; i < keyframes2.length; i++) {
@@ -2260,7 +2247,7 @@ function hasBrowserOnlyColors(keyframes2) {
2260
2247
  return false;
2261
2248
  }
2262
2249
 
2263
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2250
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2264
2251
  var colorProperties = /* @__PURE__ */ new Set([
2265
2252
  "color",
2266
2253
  "backgroundColor",
@@ -2277,7 +2264,7 @@ var supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Elemen
2277
2264
  function supportsBrowserAnimation(options) {
2278
2265
  const { motionValue: motionValue2, name, repeatDelay, repeatType, damping, type, keyframes: keyframes2 } = options;
2279
2266
  const subject = motionValue2?.owner?.current;
2280
- if (!(subject instanceof HTMLElement)) {
2267
+ if (!(subject instanceof HTMLElement) && !(subject instanceof SVGElement)) {
2281
2268
  return false;
2282
2269
  }
2283
2270
  const { onUpdate, transformTemplate } = motionValue2.owner.getProps();
@@ -2292,7 +2279,7 @@ function supportsBrowserAnimation(options) {
2292
2279
  !onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
2293
2280
  }
2294
2281
 
2295
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2282
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2296
2283
  var MAX_RESOLVE_DELAY = 40;
2297
2284
  var AsyncMotionValueAnimation = class extends WithPromise {
2298
2285
  constructor({ autoplay = true, delay: delay2 = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", keyframes: keyframes2, name, motionValue: motionValue2, element, ...options }) {
@@ -2433,7 +2420,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
2433
2420
  }
2434
2421
  };
2435
2422
 
2436
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2423
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2437
2424
  function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {
2438
2425
  const index = Array.from(children).sort((a, b) => a.sortNodePosition(b)).indexOf(child);
2439
2426
  const numChildren = children.size;
@@ -2442,202 +2429,7 @@ function calcChildStagger(children, child, delayChildren, staggerChildren = 0, s
2442
2429
  return delayIsFunction ? delayChildren(index, numChildren) : staggerDirection === 1 ? index * staggerChildren : maxStaggerDuration - index * staggerChildren;
2443
2430
  }
2444
2431
 
2445
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2446
- var splitCSSVariableRegex = (
2447
- // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2448
- /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2449
- );
2450
- function parseCSSVariable(current) {
2451
- const match = splitCSSVariableRegex.exec(current);
2452
- if (!match)
2453
- return [,];
2454
- const [, token1, token2, fallback] = match;
2455
- return [`--${token1 ?? token2}`, fallback];
2456
- }
2457
- var maxDepth = 4;
2458
- function getVariableValue(current, element, depth = 1) {
2459
- invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2460
- const [token, fallback] = parseCSSVariable(current);
2461
- if (!token)
2462
- return;
2463
- const resolved = window.getComputedStyle(element).getPropertyValue(token);
2464
- if (resolved) {
2465
- const trimmed = resolved.trim();
2466
- return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2467
- }
2468
- return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2469
- }
2470
-
2471
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2472
- var underDampedSpring = {
2473
- type: "spring",
2474
- stiffness: 500,
2475
- damping: 25,
2476
- restSpeed: 10
2477
- };
2478
- var criticallyDampedSpring = (target) => ({
2479
- type: "spring",
2480
- stiffness: 550,
2481
- damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2482
- restSpeed: 10
2483
- });
2484
- var keyframesTransition = {
2485
- type: "keyframes",
2486
- duration: 0.8
2487
- };
2488
- var ease = {
2489
- type: "keyframes",
2490
- ease: [0.25, 0.1, 0.35, 1],
2491
- duration: 0.3
2492
- };
2493
- var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2494
- if (keyframes2.length > 2) {
2495
- return keyframesTransition;
2496
- } else if (transformProps.has(valueKey)) {
2497
- return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2498
- }
2499
- return ease;
2500
- };
2501
-
2502
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2503
- function resolveTransition(transition, parentTransition) {
2504
- if (transition?.inherit && parentTransition) {
2505
- const { inherit: _, ...rest } = transition;
2506
- return { ...parentTransition, ...rest };
2507
- }
2508
- return transition;
2509
- }
2510
-
2511
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2512
- function getValueTransition(transition, key) {
2513
- const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2514
- if (valueTransition !== transition) {
2515
- return resolveTransition(valueTransition, transition);
2516
- }
2517
- return valueTransition;
2518
- }
2519
-
2520
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2521
- var orchestrationKeys = /* @__PURE__ */ new Set([
2522
- "when",
2523
- "delay",
2524
- "delayChildren",
2525
- "staggerChildren",
2526
- "staggerDirection",
2527
- "repeat",
2528
- "repeatType",
2529
- "repeatDelay",
2530
- "from",
2531
- "elapsed"
2532
- ]);
2533
- function isTransitionDefined(transition) {
2534
- for (const key in transition) {
2535
- if (!orchestrationKeys.has(key))
2536
- return true;
2537
- }
2538
- return false;
2539
- }
2540
-
2541
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2542
- var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2543
- const valueTransition = getValueTransition(transition, name) || {};
2544
- const delay2 = valueTransition.delay || transition.delay || 0;
2545
- let { elapsed = 0 } = transition;
2546
- elapsed = elapsed - secondsToMilliseconds(delay2);
2547
- const options = {
2548
- keyframes: Array.isArray(target) ? target : [null, target],
2549
- ease: "easeOut",
2550
- velocity: value.getVelocity(),
2551
- ...valueTransition,
2552
- delay: -elapsed,
2553
- onUpdate: (v) => {
2554
- value.set(v);
2555
- valueTransition.onUpdate && valueTransition.onUpdate(v);
2556
- },
2557
- onComplete: () => {
2558
- onComplete();
2559
- valueTransition.onComplete && valueTransition.onComplete();
2560
- },
2561
- name,
2562
- motionValue: value,
2563
- element: isHandoff ? void 0 : element
2564
- };
2565
- if (!isTransitionDefined(valueTransition)) {
2566
- Object.assign(options, getDefaultTransition(name, options));
2567
- }
2568
- options.duration && (options.duration = secondsToMilliseconds(options.duration));
2569
- options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2570
- if (options.from !== void 0) {
2571
- options.keyframes[0] = options.from;
2572
- }
2573
- let shouldSkip = false;
2574
- if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2575
- makeAnimationInstant(options);
2576
- if (options.delay === 0) {
2577
- shouldSkip = true;
2578
- }
2579
- }
2580
- if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations) {
2581
- shouldSkip = true;
2582
- makeAnimationInstant(options);
2583
- options.delay = 0;
2584
- }
2585
- options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2586
- if (shouldSkip && !isHandoff && value.get() !== void 0) {
2587
- const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2588
- if (finalKeyframe !== void 0) {
2589
- frame.update(() => {
2590
- options.onUpdate(finalKeyframe);
2591
- options.onComplete();
2592
- });
2593
- return;
2594
- }
2595
- }
2596
- return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2597
- };
2598
-
2599
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2600
- function getValueState(visualElement) {
2601
- const state = [{}, {}];
2602
- visualElement?.values.forEach((value, key) => {
2603
- state[0][key] = value.get();
2604
- state[1][key] = value.getVelocity();
2605
- });
2606
- return state;
2607
- }
2608
- function resolveVariantFromProps(props, definition, custom, visualElement) {
2609
- if (typeof definition === "function") {
2610
- const [current, velocity] = getValueState(visualElement);
2611
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2612
- }
2613
- if (typeof definition === "string") {
2614
- definition = props.variants && props.variants[definition];
2615
- }
2616
- if (typeof definition === "function") {
2617
- const [current, velocity] = getValueState(visualElement);
2618
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2619
- }
2620
- return definition;
2621
- }
2622
-
2623
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2624
- function resolveVariant(visualElement, definition, custom) {
2625
- const props = visualElement.getProps();
2626
- return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2627
- }
2628
-
2629
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2630
- var positionalKeys = /* @__PURE__ */ new Set([
2631
- "width",
2632
- "height",
2633
- "top",
2634
- "left",
2635
- "right",
2636
- "bottom",
2637
- ...transformPropOrder
2638
- ]);
2639
-
2640
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/index.mjs
2432
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/index.mjs
2641
2433
  var MAX_VELOCITY_DELTA = 30;
2642
2434
  var isFloat = (value) => {
2643
2435
  return !isNaN(parseFloat(value));
@@ -2888,46 +2680,241 @@ var MotionValue = class {
2888
2680
  }
2889
2681
  this.clearAnimation();
2890
2682
  }
2891
- /**
2892
- * Returns `true` if this value is currently animating.
2893
- *
2894
- * @public
2895
- */
2896
- isAnimating() {
2897
- return !!this.animation;
2683
+ /**
2684
+ * Returns `true` if this value is currently animating.
2685
+ *
2686
+ * @public
2687
+ */
2688
+ isAnimating() {
2689
+ return !!this.animation;
2690
+ }
2691
+ clearAnimation() {
2692
+ delete this.animation;
2693
+ }
2694
+ /**
2695
+ * Destroy and clean up subscribers to this `MotionValue`.
2696
+ *
2697
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2698
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2699
+ * created a `MotionValue` via the `motionValue` function.
2700
+ *
2701
+ * @public
2702
+ */
2703
+ destroy() {
2704
+ this.dependents?.clear();
2705
+ this.events.destroy?.notify();
2706
+ this.clearListeners();
2707
+ this.stop();
2708
+ if (this.stopPassiveEffect) {
2709
+ this.stopPassiveEffect();
2710
+ }
2711
+ }
2712
+ };
2713
+ function motionValue(init, options) {
2714
+ return new MotionValue(init, options);
2715
+ }
2716
+
2717
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2718
+ function resolveTransition(transition, parentTransition) {
2719
+ if (transition?.inherit && parentTransition) {
2720
+ const { inherit: _, ...rest } = transition;
2721
+ return { ...parentTransition, ...rest };
2722
+ }
2723
+ return transition;
2724
+ }
2725
+
2726
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2727
+ function getValueTransition(transition, key) {
2728
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2729
+ if (valueTransition !== transition) {
2730
+ return resolveTransition(valueTransition, transition);
2731
+ }
2732
+ return valueTransition;
2733
+ }
2734
+
2735
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2736
+ var underDampedSpring = {
2737
+ type: "spring",
2738
+ stiffness: 500,
2739
+ damping: 25,
2740
+ restSpeed: 10
2741
+ };
2742
+ var criticallyDampedSpring = (target) => ({
2743
+ type: "spring",
2744
+ stiffness: 550,
2745
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2746
+ restSpeed: 10
2747
+ });
2748
+ var keyframesTransition = {
2749
+ type: "keyframes",
2750
+ duration: 0.8
2751
+ };
2752
+ var ease = {
2753
+ type: "keyframes",
2754
+ ease: [0.25, 0.1, 0.35, 1],
2755
+ duration: 0.3
2756
+ };
2757
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2758
+ if (keyframes2.length > 2) {
2759
+ return keyframesTransition;
2760
+ } else if (transformProps.has(valueKey)) {
2761
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2762
+ }
2763
+ return ease;
2764
+ };
2765
+
2766
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2767
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2768
+ "when",
2769
+ "delay",
2770
+ "delayChildren",
2771
+ "staggerChildren",
2772
+ "staggerDirection",
2773
+ "repeat",
2774
+ "repeatType",
2775
+ "repeatDelay",
2776
+ "from",
2777
+ "elapsed"
2778
+ ]);
2779
+ function isTransitionDefined(transition) {
2780
+ for (const key in transition) {
2781
+ if (!orchestrationKeys.has(key))
2782
+ return true;
2783
+ }
2784
+ return false;
2785
+ }
2786
+
2787
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2788
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2789
+ const valueTransition = getValueTransition(transition, name) || {};
2790
+ const delay2 = valueTransition.delay || transition.delay || 0;
2791
+ let { elapsed = 0 } = transition;
2792
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2793
+ const options = {
2794
+ keyframes: Array.isArray(target) ? target : [null, target],
2795
+ ease: "easeOut",
2796
+ velocity: value.getVelocity(),
2797
+ ...valueTransition,
2798
+ delay: -elapsed,
2799
+ onUpdate: (v) => {
2800
+ value.set(v);
2801
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2802
+ },
2803
+ onComplete: () => {
2804
+ onComplete();
2805
+ valueTransition.onComplete && valueTransition.onComplete();
2806
+ },
2807
+ name,
2808
+ motionValue: value,
2809
+ element: isHandoff ? void 0 : element
2810
+ };
2811
+ if (!isTransitionDefined(valueTransition)) {
2812
+ Object.assign(options, getDefaultTransition(name, options));
2813
+ }
2814
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2815
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2816
+ if (options.from !== void 0) {
2817
+ options.keyframes[0] = options.from;
2818
+ }
2819
+ let shouldSkip = false;
2820
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2821
+ makeAnimationInstant(options);
2822
+ if (options.delay === 0) {
2823
+ shouldSkip = true;
2824
+ }
2898
2825
  }
2899
- clearAnimation() {
2900
- delete this.animation;
2826
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2827
+ shouldSkip = true;
2828
+ makeAnimationInstant(options);
2829
+ options.delay = 0;
2901
2830
  }
2902
- /**
2903
- * Destroy and clean up subscribers to this `MotionValue`.
2904
- *
2905
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2906
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2907
- * created a `MotionValue` via the `motionValue` function.
2908
- *
2909
- * @public
2910
- */
2911
- destroy() {
2912
- this.dependents?.clear();
2913
- this.events.destroy?.notify();
2914
- this.clearListeners();
2915
- this.stop();
2916
- if (this.stopPassiveEffect) {
2917
- this.stopPassiveEffect();
2831
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2832
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2833
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2834
+ if (finalKeyframe !== void 0) {
2835
+ frame.update(() => {
2836
+ options.onUpdate(finalKeyframe);
2837
+ options.onComplete();
2838
+ });
2839
+ return;
2918
2840
  }
2919
2841
  }
2842
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2920
2843
  };
2921
- function motionValue(init, options) {
2922
- return new MotionValue(init, options);
2844
+
2845
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2846
+ var splitCSSVariableRegex = (
2847
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2848
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2849
+ );
2850
+ function parseCSSVariable(current) {
2851
+ const match = splitCSSVariableRegex.exec(current);
2852
+ if (!match)
2853
+ return [,];
2854
+ const [, token1, token2, fallback] = match;
2855
+ return [`--${token1 ?? token2}`, fallback];
2856
+ }
2857
+ var maxDepth = 4;
2858
+ function getVariableValue(current, element, depth = 1) {
2859
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2860
+ const [token, fallback] = parseCSSVariable(current);
2861
+ if (!token)
2862
+ return;
2863
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2864
+ if (resolved) {
2865
+ const trimmed = resolved.trim();
2866
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2867
+ }
2868
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2869
+ }
2870
+
2871
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2872
+ function getValueState(visualElement) {
2873
+ const state = [{}, {}];
2874
+ visualElement?.values.forEach((value, key) => {
2875
+ state[0][key] = value.get();
2876
+ state[1][key] = value.getVelocity();
2877
+ });
2878
+ return state;
2879
+ }
2880
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2881
+ if (typeof definition === "function") {
2882
+ const [current, velocity] = getValueState(visualElement);
2883
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2884
+ }
2885
+ if (typeof definition === "string") {
2886
+ definition = props.variants && props.variants[definition];
2887
+ }
2888
+ if (typeof definition === "function") {
2889
+ const [current, velocity] = getValueState(visualElement);
2890
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2891
+ }
2892
+ return definition;
2893
+ }
2894
+
2895
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2896
+ function resolveVariant(visualElement, definition, custom) {
2897
+ const props = visualElement.getProps();
2898
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2923
2899
  }
2924
2900
 
2925
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2901
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2902
+ var positionalKeys = /* @__PURE__ */ new Set([
2903
+ "width",
2904
+ "height",
2905
+ "top",
2906
+ "left",
2907
+ "right",
2908
+ "bottom",
2909
+ ...transformPropOrder
2910
+ ]);
2911
+
2912
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2926
2913
  var isKeyframesTarget = (v) => {
2927
2914
  return Array.isArray(v);
2928
2915
  };
2929
2916
 
2930
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2917
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2931
2918
  function setMotionValue(visualElement, key, value) {
2932
2919
  if (visualElement.hasValue(key)) {
2933
2920
  visualElement.getValue(key).set(value);
@@ -2948,15 +2935,15 @@ function setTarget(visualElement, definition) {
2948
2935
  }
2949
2936
  }
2950
2937
 
2951
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2938
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2952
2939
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2953
2940
 
2954
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2941
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2955
2942
  function isWillChangeMotionValue(value) {
2956
2943
  return Boolean(isMotionValue(value) && value.add);
2957
2944
  }
2958
2945
 
2959
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2946
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2960
2947
  function addValueToWillChange(visualElement, key) {
2961
2948
  const willChange = visualElement.getValue("willChange");
2962
2949
  if (isWillChangeMotionValue(willChange)) {
@@ -2968,21 +2955,22 @@ function addValueToWillChange(visualElement, key) {
2968
2955
  }
2969
2956
  }
2970
2957
 
2971
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2958
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2972
2959
  function camelToDash(str) {
2973
2960
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
2974
2961
  }
2975
2962
 
2976
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2963
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2977
2964
  var optimizedAppearDataId = "framerAppearId";
2978
2965
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
2979
2966
 
2980
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2967
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2981
2968
  function getOptimisedAppearId(visualElement) {
2982
2969
  return visualElement.props[optimizedAppearDataAttribute];
2983
2970
  }
2984
2971
 
2985
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2972
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2973
+ var isBrowser2 = typeof window !== "undefined";
2986
2974
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
2987
2975
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
2988
2976
  needsAnimating[key] = false;
@@ -2993,10 +2981,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
2993
2981
  const defaultTransition = visualElement.getDefaultTransition();
2994
2982
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
2995
2983
  const reduceMotion = transition?.reduceMotion;
2984
+ const skipAnimations = transition?.skipAnimations;
2996
2985
  if (transitionOverride)
2997
2986
  transition = transitionOverride;
2998
2987
  const animations2 = [];
2999
2988
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
2989
+ const path = transition?.path;
2990
+ if (path) {
2991
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
2992
+ }
3000
2993
  for (const key in target) {
3001
2994
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
3002
2995
  const valueTarget = target[key];
@@ -3007,13 +3000,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3007
3000
  delay: delay2,
3008
3001
  ...getValueTransition(transition || {}, key)
3009
3002
  };
3003
+ if (skipAnimations)
3004
+ valueTransition.skipAnimations = true;
3010
3005
  const currentValue = value.get();
3011
3006
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3012
3007
  frame.update(() => value.set(valueTarget));
3013
3008
  continue;
3014
3009
  }
3015
3010
  let isHandoff = false;
3016
- if (window.MotionHandoffAnimation) {
3011
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3017
3012
  const appearId = getOptimisedAppearId(visualElement);
3018
3013
  if (appearId) {
3019
3014
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3044,7 +3039,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3044
3039
  return animations2;
3045
3040
  }
3046
3041
 
3047
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3042
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3048
3043
  function animateVariant(visualElement, variant, options = {}) {
3049
3044
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3050
3045
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3076,7 +3071,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3076
3071
  return Promise.all(animations2);
3077
3072
  }
3078
3073
 
3079
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3074
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3080
3075
  function animateVisualElement(visualElement, definition, options = {}) {
3081
3076
  visualElement.notify("AnimationStart", definition);
3082
3077
  let animation;
@@ -3094,20 +3089,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3094
3089
  });
3095
3090
  }
3096
3091
 
3097
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3092
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3098
3093
  var auto = {
3099
3094
  test: (v) => v === "auto",
3100
3095
  parse: (v) => v
3101
3096
  };
3102
3097
 
3103
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3098
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3104
3099
  var testValueType = (v) => (type) => type.test(v);
3105
3100
 
3106
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3101
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3107
3102
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3108
3103
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3109
3104
 
3110
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3105
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3111
3106
  function isNone(value) {
3112
3107
  if (typeof value === "number") {
3113
3108
  return value === 0;
@@ -3118,7 +3113,7 @@ function isNone(value) {
3118
3113
  }
3119
3114
  }
3120
3115
 
3121
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3116
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3122
3117
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3123
3118
  function applyDefaultFilter(v) {
3124
3119
  const [name, value] = v.slice(0, -1).split("(");
@@ -3142,7 +3137,7 @@ var filter = {
3142
3137
  }
3143
3138
  };
3144
3139
 
3145
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3140
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3146
3141
  var mask = {
3147
3142
  ...complex,
3148
3143
  getAnimatableNone: (v) => {
@@ -3152,15 +3147,21 @@ var mask = {
3152
3147
  }
3153
3148
  };
3154
3149
 
3155
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3150
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3156
3151
  var int = {
3157
3152
  ...number,
3158
3153
  transform: Math.round
3159
3154
  };
3160
3155
 
3161
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3156
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3162
3157
  var transformValueTypes = {
3163
3158
  rotate: degrees,
3159
+ /**
3160
+ * Internal channel for `transition.path` orientToPath. Composed onto
3161
+ * `rotate` at the transform-build sites so the user's `rotate` is
3162
+ * never read or overwritten. Not part of `transformPropOrder`.
3163
+ */
3164
+ pathRotation: degrees,
3164
3165
  rotateX: degrees,
3165
3166
  rotateY: degrees,
3166
3167
  rotateZ: degrees,
@@ -3186,7 +3187,7 @@ var transformValueTypes = {
3186
3187
  originZ: px
3187
3188
  };
3188
3189
 
3189
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3190
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3190
3191
  var numberValueTypes = {
3191
3192
  // Border props
3192
3193
  borderWidth: px,
@@ -3251,7 +3252,7 @@ var numberValueTypes = {
3251
3252
  numOctaves: int
3252
3253
  };
3253
3254
 
3254
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3255
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3255
3256
  var defaultValueTypes = {
3256
3257
  ...numberValueTypes,
3257
3258
  // Color props
@@ -3273,7 +3274,7 @@ var defaultValueTypes = {
3273
3274
  };
3274
3275
  var getDefaultValueType = (key) => defaultValueTypes[key];
3275
3276
 
3276
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3277
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3277
3278
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3278
3279
  function getAnimatableNone2(key, value) {
3279
3280
  let defaultValueType = getDefaultValueType(key);
@@ -3282,7 +3283,7 @@ function getAnimatableNone2(key, value) {
3282
3283
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3283
3284
  }
3284
3285
 
3285
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3286
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3286
3287
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3287
3288
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3288
3289
  let i = 0;
@@ -3301,7 +3302,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3301
3302
  }
3302
3303
  }
3303
3304
 
3304
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3305
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3305
3306
  var DOMKeyframesResolver = class extends KeyframeResolver {
3306
3307
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3307
3308
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3399,7 +3400,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3399
3400
  }
3400
3401
  };
3401
3402
 
3402
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3403
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3404
+ var cornerRadiusProps = [
3405
+ "borderTopLeftRadius",
3406
+ "borderTopRightRadius",
3407
+ "borderBottomRightRadius",
3408
+ "borderBottomLeftRadius"
3409
+ ];
3410
+
3411
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3403
3412
  function resolveElements(elementOrSelector, scope, selectorCache) {
3404
3413
  if (elementOrSelector == null) {
3405
3414
  return [];
@@ -3414,20 +3423,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3414
3423
  return Array.from(elementOrSelector).filter((element) => element != null);
3415
3424
  }
3416
3425
 
3417
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3426
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3418
3427
  var getValueAsType = (value, type) => {
3419
3428
  return type && typeof value === "number" ? type.transform(value) : value;
3420
3429
  };
3421
3430
 
3422
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3431
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3423
3432
  function isHTMLElement(element) {
3424
3433
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3425
3434
  }
3426
3435
 
3427
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3436
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3428
3437
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3429
3438
 
3430
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3439
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3431
3440
  var isDragging = {
3432
3441
  x: false,
3433
3442
  y: false
@@ -3436,7 +3445,7 @@ function isDragActive() {
3436
3445
  return isDragging.x || isDragging.y;
3437
3446
  }
3438
3447
 
3439
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3448
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3440
3449
  function setDragLock(axis) {
3441
3450
  if (axis === "x" || axis === "y") {
3442
3451
  if (isDragging[axis]) {
@@ -3459,7 +3468,7 @@ function setDragLock(axis) {
3459
3468
  }
3460
3469
  }
3461
3470
 
3462
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3471
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3463
3472
  function setupGesture(elementOrSelector, options) {
3464
3473
  const elements = resolveElements(elementOrSelector);
3465
3474
  const gestureAbortController = new AbortController();
@@ -3472,7 +3481,7 @@ function setupGesture(elementOrSelector, options) {
3472
3481
  return [elements, eventOptions, cancel];
3473
3482
  }
3474
3483
 
3475
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3484
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3476
3485
  function isValidHover(event) {
3477
3486
  return !(event.pointerType === "touch" || isDragActive());
3478
3487
  }
@@ -3531,7 +3540,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3531
3540
  return cancel;
3532
3541
  }
3533
3542
 
3534
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3543
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3535
3544
  var isNodeOrChild = (parent, child) => {
3536
3545
  if (!child) {
3537
3546
  return false;
@@ -3542,7 +3551,7 @@ var isNodeOrChild = (parent, child) => {
3542
3551
  }
3543
3552
  };
3544
3553
 
3545
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3554
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3546
3555
  var isPrimaryPointer = (event) => {
3547
3556
  if (event.pointerType === "mouse") {
3548
3557
  return typeof event.button !== "number" || event.button <= 0;
@@ -3551,7 +3560,7 @@ var isPrimaryPointer = (event) => {
3551
3560
  }
3552
3561
  };
3553
3562
 
3554
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3563
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3555
3564
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3556
3565
  "BUTTON",
3557
3566
  "INPUT",
@@ -3567,10 +3576,10 @@ function isElementTextInput(element) {
3567
3576
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3568
3577
  }
3569
3578
 
3570
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3579
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3571
3580
  var isPressing = /* @__PURE__ */ new WeakSet();
3572
3581
 
3573
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3582
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3574
3583
  function filterEvents(callback) {
3575
3584
  return (event) => {
3576
3585
  if (event.key !== "Enter")
@@ -3600,7 +3609,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3600
3609
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3601
3610
  };
3602
3611
 
3603
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3612
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3604
3613
  function isValidPressEvent(event) {
3605
3614
  return isPrimaryPointer(event) && !isDragActive();
3606
3615
  }
@@ -3618,9 +3627,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3618
3627
  claimedPointerDownEvents.add(startEvent);
3619
3628
  }
3620
3629
  const onPressEnd = onPressStart(target, startEvent);
3630
+ const endEventOptions = { ...eventOptions, capture: true };
3621
3631
  const onPointerEnd = (endEvent, success) => {
3622
- window.removeEventListener("pointerup", onPointerUp);
3623
- window.removeEventListener("pointercancel", onPointerCancel);
3632
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3633
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3624
3634
  if (isPressing.has(target)) {
3625
3635
  isPressing.delete(target);
3626
3636
  }
@@ -3637,8 +3647,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3637
3647
  const onPointerCancel = (cancelEvent) => {
3638
3648
  onPointerEnd(cancelEvent, false);
3639
3649
  };
3640
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3641
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3650
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3651
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3642
3652
  };
3643
3653
  targets.forEach((target) => {
3644
3654
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3653,12 +3663,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3653
3663
  return cancelEvents;
3654
3664
  }
3655
3665
 
3656
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3666
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3657
3667
  function isSVGElement(element) {
3658
3668
  return isObject(element) && "ownerSVGElement" in element;
3659
3669
  }
3660
3670
 
3661
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3671
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3662
3672
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3663
3673
  var observer;
3664
3674
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3716,7 +3726,7 @@ function resizeElement(target, handler) {
3716
3726
  };
3717
3727
  }
3718
3728
 
3719
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3729
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3720
3730
  var windowCallbacks = /* @__PURE__ */ new Set();
3721
3731
  var windowResizeHandler;
3722
3732
  function createWindowResizeHandler() {
@@ -3746,17 +3756,17 @@ function resizeWindow(callback) {
3746
3756
  };
3747
3757
  }
3748
3758
 
3749
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3759
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3750
3760
  function resize(a, b) {
3751
3761
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3752
3762
  }
3753
3763
 
3754
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3764
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3755
3765
  function isSVGSVGElement(element) {
3756
3766
  return isSVGElement(element) && element.tagName === "svg";
3757
3767
  }
3758
3768
 
3759
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/transform.mjs
3769
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/transform.mjs
3760
3770
  function transform(...args) {
3761
3771
  const useImmediate = !Array.isArray(args[0]);
3762
3772
  const argOffset = useImmediate ? 0 : -1;
@@ -3768,7 +3778,7 @@ function transform(...args) {
3768
3778
  return useImmediate ? interpolator(inputValue) : interpolator;
3769
3779
  }
3770
3780
 
3771
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/follow-value.mjs
3781
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/follow-value.mjs
3772
3782
  function attachFollow(value, source, options = {}) {
3773
3783
  const initialValue = value.get();
3774
3784
  let activeAnimation = null;
@@ -3841,11 +3851,11 @@ function asNumber(v) {
3841
3851
  return typeof v === "number" ? v : parseFloat(v);
3842
3852
  }
3843
3853
 
3844
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3854
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3845
3855
  var valueTypes = [...dimensionValueTypes, color, complex];
3846
3856
  var findValueType = (v) => valueTypes.find(testValueType(v));
3847
3857
 
3848
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3858
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3849
3859
  var createAxisDelta = () => ({
3850
3860
  translate: 0,
3851
3861
  scale: 1,
@@ -3862,20 +3872,20 @@ var createBox = () => ({
3862
3872
  y: createAxis()
3863
3873
  });
3864
3874
 
3865
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3875
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3866
3876
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3867
3877
 
3868
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3878
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3869
3879
  function isAnimationControls(v) {
3870
3880
  return v !== null && typeof v === "object" && typeof v.start === "function";
3871
3881
  }
3872
3882
 
3873
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3883
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3874
3884
  function isVariantLabel(v) {
3875
3885
  return typeof v === "string" || Array.isArray(v);
3876
3886
  }
3877
3887
 
3878
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3888
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3879
3889
  var variantPriorityOrder = [
3880
3890
  "animate",
3881
3891
  "whileInView",
@@ -3887,7 +3897,7 @@ var variantPriorityOrder = [
3887
3897
  ];
3888
3898
  var variantProps = ["initial", ...variantPriorityOrder];
3889
3899
 
3890
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3900
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3891
3901
  function isControllingVariants(props) {
3892
3902
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3893
3903
  }
@@ -3895,7 +3905,7 @@ function isVariantNode(props) {
3895
3905
  return Boolean(isControllingVariants(props) || props.variants);
3896
3906
  }
3897
3907
 
3898
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3908
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3899
3909
  function updateMotionValuesFromProps(element, next, prev) {
3900
3910
  for (const key in next) {
3901
3911
  const nextValue = next[key];
@@ -3925,15 +3935,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3925
3935
  return next;
3926
3936
  }
3927
3937
 
3928
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3938
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3929
3939
  var prefersReducedMotion = { current: null };
3930
3940
  var hasReducedMotionListener = { current: false };
3931
3941
 
3932
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3933
- var isBrowser2 = typeof window !== "undefined";
3942
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3943
+ var isBrowser3 = typeof window !== "undefined";
3934
3944
  function initPrefersReducedMotion() {
3935
3945
  hasReducedMotionListener.current = true;
3936
- if (!isBrowser2)
3946
+ if (!isBrowser3)
3937
3947
  return;
3938
3948
  if (window.matchMedia) {
3939
3949
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3945,7 +3955,7 @@ function initPrefersReducedMotion() {
3945
3955
  }
3946
3956
  }
3947
3957
 
3948
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3958
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3949
3959
  var propEventHandlers = [
3950
3960
  "AnimationStart",
3951
3961
  "AnimationComplete",
@@ -4134,8 +4144,6 @@ var VisualElement = class {
4134
4144
  removeOnChange();
4135
4145
  if (removeSyncCheck)
4136
4146
  removeSyncCheck();
4137
- if (value.owner)
4138
- value.stop();
4139
4147
  });
4140
4148
  }
4141
4149
  sortNodePosition(other) {
@@ -4346,7 +4354,7 @@ var VisualElement = class {
4346
4354
  }
4347
4355
  };
4348
4356
 
4349
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4357
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4350
4358
  var DOMVisualElement = class extends VisualElement {
4351
4359
  constructor() {
4352
4360
  super(...arguments);
@@ -4379,7 +4387,7 @@ var DOMVisualElement = class extends VisualElement {
4379
4387
  }
4380
4388
  };
4381
4389
 
4382
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4390
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4383
4391
  var Feature = class {
4384
4392
  constructor(node) {
4385
4393
  this.isMounted = false;
@@ -4389,7 +4397,7 @@ var Feature = class {
4389
4397
  }
4390
4398
  };
4391
4399
 
4392
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4400
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4393
4401
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4394
4402
  return {
4395
4403
  x: { min: left, max: right },
@@ -4412,7 +4420,7 @@ function transformBoxPoints(point, transformPoint2) {
4412
4420
  };
4413
4421
  }
4414
4422
 
4415
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4423
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4416
4424
  function isIdentityScale(scale2) {
4417
4425
  return scale2 === void 0 || scale2 === 1;
4418
4426
  }
@@ -4429,7 +4437,7 @@ function is2DTranslate(value) {
4429
4437
  return value && value !== "0%";
4430
4438
  }
4431
4439
 
4432
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4440
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4433
4441
  function scalePoint(point, scale2, originPoint) {
4434
4442
  const distanceFromOrigin = point - originPoint;
4435
4443
  const scaled = scale2 * distanceFromOrigin;
@@ -4505,7 +4513,7 @@ function transformBox(box, transform2, sourceBox) {
4505
4513
  transformAxis(box.y, resolveAxisTranslate(transform2.y, resolveBox.y), transform2.scaleY, transform2.scale, transform2.originY);
4506
4514
  }
4507
4515
 
4508
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4516
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4509
4517
  function measureViewportBox(instance, transformPoint2) {
4510
4518
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4511
4519
  }
@@ -4519,7 +4527,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4519
4527
  return viewportBox;
4520
4528
  }
4521
4529
 
4522
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4530
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4523
4531
  var translateAlias = {
4524
4532
  x: "translateX",
4525
4533
  y: "translateY",
@@ -4554,6 +4562,11 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4554
4562
  }
4555
4563
  }
4556
4564
  }
4565
+ const pathRotation = latestValues.pathRotation;
4566
+ if (pathRotation) {
4567
+ transformIsDefault = false;
4568
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4569
+ }
4557
4570
  transformString = transformString.trim();
4558
4571
  if (transformTemplate) {
4559
4572
  transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString);
@@ -4563,7 +4576,7 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4563
4576
  return transformString;
4564
4577
  }
4565
4578
 
4566
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4579
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4567
4580
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4568
4581
  const { style, vars, transformOrigin } = state;
4569
4582
  let hasTransform2 = false;
@@ -4599,7 +4612,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4599
4612
  }
4600
4613
  }
4601
4614
 
4602
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4615
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4603
4616
  function renderHTML(element, { style, vars }, styleProp, projection) {
4604
4617
  const elementStyle = element.style;
4605
4618
  let key;
@@ -4612,7 +4625,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4612
4625
  }
4613
4626
  }
4614
4627
 
4615
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4628
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4616
4629
  function pixelsToPercent(pixels, axis) {
4617
4630
  if (axis.max === axis.min)
4618
4631
  return 0;
@@ -4635,7 +4648,7 @@ var correctBorderRadius = {
4635
4648
  }
4636
4649
  };
4637
4650
 
4638
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4651
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4639
4652
  var correctBoxShadow = {
4640
4653
  correct: (latest, { treeScale, projectionDelta }) => {
4641
4654
  const original = latest;
@@ -4657,16 +4670,11 @@ var correctBoxShadow = {
4657
4670
  }
4658
4671
  };
4659
4672
 
4660
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4673
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4661
4674
  var scaleCorrectors = {
4662
4675
  borderRadius: {
4663
4676
  ...correctBorderRadius,
4664
- applyTo: [
4665
- "borderTopLeftRadius",
4666
- "borderTopRightRadius",
4667
- "borderBottomLeftRadius",
4668
- "borderBottomRightRadius"
4669
- ]
4677
+ applyTo: [...cornerRadiusProps]
4670
4678
  },
4671
4679
  borderTopLeftRadius: correctBorderRadius,
4672
4680
  borderTopRightRadius: correctBorderRadius,
@@ -4675,12 +4683,12 @@ var scaleCorrectors = {
4675
4683
  boxShadow: correctBoxShadow
4676
4684
  };
4677
4685
 
4678
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4686
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4679
4687
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4680
4688
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4681
4689
  }
4682
4690
 
4683
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4691
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4684
4692
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4685
4693
  const style = props.style;
4686
4694
  const prevStyle = prevProps?.style;
@@ -4695,7 +4703,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4695
4703
  return newValues;
4696
4704
  }
4697
4705
 
4698
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4706
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4699
4707
  function getComputedStyle2(element) {
4700
4708
  return window.getComputedStyle(element);
4701
4709
  }
@@ -4705,6 +4713,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4705
4713
  this.type = "html";
4706
4714
  this.renderInstance = renderHTML;
4707
4715
  }
4716
+ mount(instance) {
4717
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4718
+ super.mount(instance);
4719
+ }
4708
4720
  readValueFromInstance(instance, key) {
4709
4721
  if (transformProps.has(key)) {
4710
4722
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4725,7 +4737,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4725
4737
  }
4726
4738
  };
4727
4739
 
4728
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4740
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4729
4741
  var dashKeys = {
4730
4742
  offset: "stroke-dashoffset",
4731
4743
  array: "stroke-dasharray"
@@ -4741,8 +4753,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4741
4753
  attrs[keys.array] = `${length} ${spacing}`;
4742
4754
  }
4743
4755
 
4744
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4745
- var cssMotionPathProperties = [
4756
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4757
+ var cssStyleProperties = [
4758
+ "transform",
4759
+ "opacity",
4746
4760
  "offsetDistance",
4747
4761
  "offsetPath",
4748
4762
  "offsetRotate",
@@ -4768,9 +4782,11 @@ function buildSVGAttrs(state, {
4768
4782
  state.attrs = state.style;
4769
4783
  state.style = {};
4770
4784
  const { attrs, style } = state;
4771
- if (attrs.transform) {
4772
- style.transform = attrs.transform;
4773
- delete attrs.transform;
4785
+ for (const key of cssStyleProperties) {
4786
+ if (attrs[key] !== void 0) {
4787
+ style[key] = attrs[key];
4788
+ delete attrs[key];
4789
+ }
4774
4790
  }
4775
4791
  if (style.transform || attrs.transformOrigin) {
4776
4792
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4780,12 +4796,6 @@ function buildSVGAttrs(state, {
4780
4796
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4781
4797
  delete attrs.transformBox;
4782
4798
  }
4783
- for (const key of cssMotionPathProperties) {
4784
- if (attrs[key] !== void 0) {
4785
- style[key] = attrs[key];
4786
- delete attrs[key];
4787
- }
4788
- }
4789
4799
  if (attrX !== void 0)
4790
4800
  attrs.x = attrX;
4791
4801
  if (attrY !== void 0)
@@ -4797,7 +4807,7 @@ function buildSVGAttrs(state, {
4797
4807
  }
4798
4808
  }
4799
4809
 
4800
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4810
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4801
4811
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4802
4812
  "baseFrequency",
4803
4813
  "diffuseConstant",
@@ -4824,10 +4834,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4824
4834
  "lengthAdjust"
4825
4835
  ]);
4826
4836
 
4827
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4837
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4828
4838
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4829
4839
 
4830
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4840
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4831
4841
  function renderSVG(element, renderState, _styleProp, projection) {
4832
4842
  renderHTML(element, renderState, void 0, projection);
4833
4843
  for (const key in renderState.attrs) {
@@ -4835,7 +4845,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4835
4845
  }
4836
4846
  }
4837
4847
 
4838
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4848
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4839
4849
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4840
4850
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4841
4851
  for (const key in props) {
@@ -4847,7 +4857,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4847
4857
  return newValues;
4848
4858
  }
4849
4859
 
4850
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4860
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4851
4861
  var SVGVisualElement = class extends DOMVisualElement {
4852
4862
  constructor() {
4853
4863
  super(...arguments);
@@ -4863,6 +4873,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4863
4873
  const defaultType = getDefaultValueType(key);
4864
4874
  return defaultType ? defaultType.default || 0 : 0;
4865
4875
  }
4876
+ if (cssStyleProperties.includes(key)) {
4877
+ const computedStyle = getComputedStyle(instance);
4878
+ const value = computedStyle[key];
4879
+ if (typeof value === "string" && value)
4880
+ return value.trim();
4881
+ }
4866
4882
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4867
4883
  return instance.getAttribute(key);
4868
4884
  }
@@ -4881,7 +4897,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4881
4897
  }
4882
4898
  };
4883
4899
 
4884
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4900
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4885
4901
  var numVariantProps = variantProps.length;
4886
4902
  function getVariantContext(visualElement) {
4887
4903
  if (!visualElement)
@@ -4904,7 +4920,7 @@ function getVariantContext(visualElement) {
4904
4920
  return context;
4905
4921
  }
4906
4922
 
4907
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4923
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4908
4924
  function shallowCompare(next, prev) {
4909
4925
  if (!Array.isArray(prev))
4910
4926
  return false;
@@ -4918,7 +4934,7 @@ function shallowCompare(next, prev) {
4918
4934
  return true;
4919
4935
  }
4920
4936
 
4921
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4937
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4922
4938
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4923
4939
  var numAnimationTypes = variantPriorityOrder.length;
4924
4940
  function createAnimateFunction(visualElement) {
@@ -5011,7 +5027,7 @@ function createAnimationState(visualElement) {
5011
5027
  continue;
5012
5028
  let valueHasChanged = false;
5013
5029
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
5014
- valueHasChanged = !shallowCompare(next, prev);
5030
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
5015
5031
  } else {
5016
5032
  valueHasChanged = next !== prev;
5017
5033
  }
@@ -5130,7 +5146,7 @@ function createState() {
5130
5146
  };
5131
5147
  }
5132
5148
 
5133
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5149
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5134
5150
  function copyAxisInto(axis, originAxis) {
5135
5151
  axis.min = originAxis.min;
5136
5152
  axis.max = originAxis.max;
@@ -5146,7 +5162,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5146
5162
  delta.origin = originDelta.origin;
5147
5163
  }
5148
5164
 
5149
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5165
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5150
5166
  var SCALE_PRECISION = 1e-4;
5151
5167
  var SCALE_MIN = 1 - SCALE_PRECISION;
5152
5168
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5194,7 +5210,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5194
5210
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5195
5211
  }
5196
5212
 
5197
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5213
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5198
5214
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5199
5215
  point -= translate;
5200
5216
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5227,7 +5243,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5227
5243
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5228
5244
  }
5229
5245
 
5230
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5246
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5231
5247
  function isAxisDeltaZero(delta) {
5232
5248
  return delta.translate === 0 && delta.scale === 1;
5233
5249
  }
@@ -5253,12 +5269,12 @@ function axisDeltaEquals(a, b) {
5253
5269
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5254
5270
  }
5255
5271
 
5256
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5272
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5257
5273
  function eachAxis(callback) {
5258
5274
  return [callback("x"), callback("y")];
5259
5275
  }
5260
5276
 
5261
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5277
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5262
5278
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5263
5279
  let transform2 = "";
5264
5280
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5271,11 +5287,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5271
5287
  transform2 += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5272
5288
  }
5273
5289
  if (latestTransform) {
5274
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5290
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5275
5291
  if (transformPerspective)
5276
5292
  transform2 = `perspective(${transformPerspective}px) ${transform2}`;
5277
5293
  if (rotate2)
5278
5294
  transform2 += `rotate(${rotate2}deg) `;
5295
+ if (pathRotation)
5296
+ transform2 += `rotate(${pathRotation}deg) `;
5279
5297
  if (rotateX)
5280
5298
  transform2 += `rotateX(${rotateX}deg) `;
5281
5299
  if (rotateY)
@@ -5293,14 +5311,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5293
5311
  return transform2 || "none";
5294
5312
  }
5295
5313
 
5296
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5297
- var borderLabels = [
5298
- "borderTopLeftRadius",
5299
- "borderTopRightRadius",
5300
- "borderBottomLeftRadius",
5301
- "borderBottomRightRadius"
5302
- ];
5303
- var numBorders = borderLabels.length;
5314
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5315
+ var numBorders = cornerRadiusProps.length;
5304
5316
  var asNumber2 = (value) => typeof value === "string" ? parseFloat(value) : value;
5305
5317
  var isPx = (value) => typeof value === "number" || px.test(value);
5306
5318
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5311,7 +5323,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5311
5323
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5312
5324
  }
5313
5325
  for (let i = 0; i < numBorders; i++) {
5314
- const borderLabel = borderLabels[i];
5326
+ const borderLabel = cornerRadiusProps[i];
5315
5327
  let followRadius = getRadius(follow, borderLabel);
5316
5328
  let leadRadius = getRadius(lead, borderLabel);
5317
5329
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5347,23 +5359,23 @@ function compress(min, max, easing) {
5347
5359
  };
5348
5360
  }
5349
5361
 
5350
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5362
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5351
5363
  function animateSingleValue(value, keyframes2, options) {
5352
5364
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5353
5365
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5354
5366
  return motionValue$1.animation;
5355
5367
  }
5356
5368
 
5357
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5369
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5358
5370
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5359
5371
  target.addEventListener(eventName, handler, options);
5360
- return () => target.removeEventListener(eventName, handler);
5372
+ return () => target.removeEventListener(eventName, handler, options);
5361
5373
  }
5362
5374
 
5363
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5375
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5364
5376
  var compareByDepth = (a, b) => a.depth - b.depth;
5365
5377
 
5366
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5378
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5367
5379
  var FlatTree = class {
5368
5380
  constructor() {
5369
5381
  this.children = [];
@@ -5384,7 +5396,7 @@ var FlatTree = class {
5384
5396
  }
5385
5397
  };
5386
5398
 
5387
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5399
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5388
5400
  function delay(callback, timeout) {
5389
5401
  const start = time.now();
5390
5402
  const checkElapsed = ({ timestamp }) => {
@@ -5398,12 +5410,12 @@ function delay(callback, timeout) {
5398
5410
  return () => cancelFrame(checkElapsed);
5399
5411
  }
5400
5412
 
5401
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5413
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5402
5414
  function resolveMotionValue(value) {
5403
5415
  return isMotionValue(value) ? value.get() : value;
5404
5416
  }
5405
5417
 
5406
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5418
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5407
5419
  var NodeStack = class {
5408
5420
  constructor() {
5409
5421
  this.members = [];
@@ -5484,7 +5496,7 @@ var NodeStack = class {
5484
5496
  }
5485
5497
  };
5486
5498
 
5487
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5499
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5488
5500
  var globalProjectionState = {
5489
5501
  /**
5490
5502
  * Global flag as to whether the tree has animated since the last time
@@ -5665,7 +5677,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5665
5677
  animationOptions.type = false;
5666
5678
  }
5667
5679
  this.startAnimation(animationOptions);
5668
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5680
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5669
5681
  } else {
5670
5682
  if (!hasLayoutChanged) {
5671
5683
  finishAnimation(this);
@@ -6137,7 +6149,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6137
6149
  this.projectionDelta = createDelta();
6138
6150
  this.projectionDeltaWithTransform = createDelta();
6139
6151
  }
6140
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6152
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6141
6153
  const snapshot = this.snapshot;
6142
6154
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6143
6155
  const mixedValues = { ...this.latestValues };
@@ -6155,10 +6167,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6155
6167
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6156
6168
  this.animationProgress = 0;
6157
6169
  let prevRelativeTarget;
6170
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6158
6171
  this.mixTargetDelta = (latest) => {
6159
6172
  const progress2 = latest / 1e3;
6160
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6161
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6173
+ const point = interpolate2?.(progress2);
6174
+ if (point) {
6175
+ targetDelta.x.translate = point.x;
6176
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6177
+ targetDelta.x.origin = delta.x.origin;
6178
+ targetDelta.x.originPoint = delta.x.originPoint;
6179
+ targetDelta.y.translate = point.y;
6180
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6181
+ targetDelta.y.origin = delta.y.origin;
6182
+ targetDelta.y.originPoint = delta.y.originPoint;
6183
+ } else {
6184
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6185
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6186
+ }
6162
6187
  this.setTargetDelta(targetDelta);
6163
6188
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6164
6189
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6174,6 +6199,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6174
6199
  this.animationValues = mixedValues;
6175
6200
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6176
6201
  }
6202
+ if (point && point.rotate !== void 0) {
6203
+ if (!this.animationValues)
6204
+ this.animationValues = mixedValues;
6205
+ this.animationValues.pathRotation = point.rotate;
6206
+ }
6177
6207
  this.root.scheduleUpdateProjection();
6178
6208
  this.scheduleRender();
6179
6209
  this.animationProgress = progress2;
@@ -6200,8 +6230,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6200
6230
  this.mixTargetDelta(latest);
6201
6231
  options.onUpdate && options.onUpdate(latest);
6202
6232
  },
6203
- onStop: () => {
6204
- },
6205
6233
  onComplete: () => {
6206
6234
  options.onComplete && options.onComplete();
6207
6235
  this.completeAnimation();
@@ -6530,7 +6558,7 @@ function resetSkewAndRotation(node) {
6530
6558
  function removeLeadSnapshots(stack) {
6531
6559
  stack.removeLeadSnapshot();
6532
6560
  }
6533
- function mixAxisDelta(output, delta, p) {
6561
+ function mixAxisDeltaLinear(output, delta, p) {
6534
6562
  output.translate = mixNumber(delta.translate, 0, p);
6535
6563
  output.scale = mixNumber(delta.scale, 1, p);
6536
6564
  output.origin = delta.origin;
@@ -6568,7 +6596,7 @@ function checkNodeWasScrollRoot(node) {
6568
6596
  return node !== node.root && node.scroll?.wasRoot;
6569
6597
  }
6570
6598
 
6571
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6599
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6572
6600
  var DocumentProjectionNode = createProjectionNode({
6573
6601
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6574
6602
  measureScroll: () => ({
@@ -6578,7 +6606,7 @@ var DocumentProjectionNode = createProjectionNode({
6578
6606
  checkIsScrollRoot: () => true
6579
6607
  });
6580
6608
 
6581
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6609
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6582
6610
  var rootProjectionNode = {
6583
6611
  current: void 0
6584
6612
  };
@@ -6622,7 +6650,7 @@ function usePresence(subscribe = true) {
6622
6650
  }
6623
6651
  var LazyContext = react.createContext({ strict: false });
6624
6652
 
6625
- // ../../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
6653
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/definitions.mjs
6626
6654
  var featureProps = {
6627
6655
  animation: [
6628
6656
  "animate",
@@ -6661,7 +6689,7 @@ function getInitializedFeatureDefinitions() {
6661
6689
  return getFeatureDefinitions();
6662
6690
  }
6663
6691
 
6664
- // ../../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
6692
+ // ../../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
6665
6693
  function loadFeatures(features) {
6666
6694
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6667
6695
  for (const key in features) {
@@ -6672,74 +6700,9 @@ function loadFeatures(features) {
6672
6700
  }
6673
6701
  setFeatureDefinitions(featureDefinitions2);
6674
6702
  }
6675
-
6676
- // ../../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
6677
- var validMotionProps = /* @__PURE__ */ new Set([
6678
- "animate",
6679
- "exit",
6680
- "variants",
6681
- "initial",
6682
- "style",
6683
- "values",
6684
- "variants",
6685
- "transition",
6686
- "transformTemplate",
6687
- "custom",
6688
- "inherit",
6689
- "onBeforeLayoutMeasure",
6690
- "onAnimationStart",
6691
- "onAnimationComplete",
6692
- "onUpdate",
6693
- "onDragStart",
6694
- "onDrag",
6695
- "onDragEnd",
6696
- "onMeasureDragConstraints",
6697
- "onDirectionLock",
6698
- "onDragTransitionEnd",
6699
- "_dragX",
6700
- "_dragY",
6701
- "onHoverStart",
6702
- "onHoverEnd",
6703
- "onViewportEnter",
6704
- "onViewportLeave",
6705
- "globalTapTarget",
6706
- "propagate",
6707
- "ignoreStrict",
6708
- "viewport"
6709
- ]);
6710
- function isValidMotionProp(key) {
6711
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6712
- }
6713
-
6714
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs
6715
- var shouldForward = (key) => !isValidMotionProp(key);
6716
- function loadExternalIsValidProp(isValidProp) {
6717
- if (typeof isValidProp !== "function")
6718
- return;
6719
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6720
- }
6721
- try {
6722
- const emotionPkg = "@emotion/is-prop-valid";
6723
- loadExternalIsValidProp(__require(emotionPkg).default);
6724
- } catch {
6725
- }
6726
- function filterProps(props, isDom, forwardMotionProps) {
6727
- const filteredProps = {};
6728
- for (const key in props) {
6729
- if (key === "values" && typeof props.values === "object")
6730
- continue;
6731
- if (isMotionValue(props[key]))
6732
- continue;
6733
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6734
- props["draggable"] && key.startsWith("onDrag")) {
6735
- filteredProps[key] = props[key];
6736
- }
6737
- }
6738
- return filteredProps;
6739
- }
6740
6703
  var MotionContext = /* @__PURE__ */ react.createContext({});
6741
6704
 
6742
- // ../../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
6705
+ // ../../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
6743
6706
  function getCurrentTreeVariants(props, context) {
6744
6707
  if (isControllingVariants(props)) {
6745
6708
  const { initial, animate } = props;
@@ -6751,7 +6714,7 @@ function getCurrentTreeVariants(props, context) {
6751
6714
  return props.inherit !== false ? context : {};
6752
6715
  }
6753
6716
 
6754
- // ../../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
6717
+ // ../../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
6755
6718
  function useCreateMotionContext(props) {
6756
6719
  const { initial, animate } = getCurrentTreeVariants(props, react.useContext(MotionContext));
6757
6720
  return react.useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6760,7 +6723,7 @@ function variantLabelsAsDependency(prop) {
6760
6723
  return Array.isArray(prop) ? prop.join(" ") : prop;
6761
6724
  }
6762
6725
 
6763
- // ../../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
6726
+ // ../../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
6764
6727
  var createHtmlRenderState = () => ({
6765
6728
  style: {},
6766
6729
  transform: {},
@@ -6768,7 +6731,7 @@ var createHtmlRenderState = () => ({
6768
6731
  vars: {}
6769
6732
  });
6770
6733
 
6771
- // ../../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
6734
+ // ../../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
6772
6735
  function copyRawValuesOnly(target, source, props) {
6773
6736
  for (const key in source) {
6774
6737
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -6805,13 +6768,13 @@ function useHTMLProps(props, visualState) {
6805
6768
  return htmlProps;
6806
6769
  }
6807
6770
 
6808
- // ../../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
6771
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs
6809
6772
  var createSvgRenderState = () => ({
6810
6773
  ...createHtmlRenderState(),
6811
6774
  attrs: {}
6812
6775
  });
6813
6776
 
6814
- // ../../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
6777
+ // ../../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
6815
6778
  function useSVGProps(props, visualState, _isStatic, Component2) {
6816
6779
  const visualProps = react.useMemo(() => {
6817
6780
  const state = createSvgRenderState();
@@ -6829,7 +6792,64 @@ function useSVGProps(props, visualState, _isStatic, Component2) {
6829
6792
  return visualProps;
6830
6793
  }
6831
6794
 
6832
- // ../../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
6795
+ // ../../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
6796
+ var validMotionProps = /* @__PURE__ */ new Set([
6797
+ "animate",
6798
+ "exit",
6799
+ "variants",
6800
+ "initial",
6801
+ "style",
6802
+ "values",
6803
+ "variants",
6804
+ "transition",
6805
+ "transformTemplate",
6806
+ "custom",
6807
+ "inherit",
6808
+ "onBeforeLayoutMeasure",
6809
+ "onAnimationStart",
6810
+ "onAnimationComplete",
6811
+ "onUpdate",
6812
+ "onDragStart",
6813
+ "onDrag",
6814
+ "onDragEnd",
6815
+ "onMeasureDragConstraints",
6816
+ "onDirectionLock",
6817
+ "onDragTransitionEnd",
6818
+ "_dragX",
6819
+ "_dragY",
6820
+ "onHoverStart",
6821
+ "onHoverEnd",
6822
+ "onViewportEnter",
6823
+ "onViewportLeave",
6824
+ "globalTapTarget",
6825
+ "propagate",
6826
+ "ignoreStrict",
6827
+ "viewport"
6828
+ ]);
6829
+ function isValidMotionProp(key) {
6830
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6831
+ }
6832
+
6833
+ // ../../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
6834
+ function shouldForward(key, isValidProp) {
6835
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
6836
+ }
6837
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
6838
+ const filteredProps = {};
6839
+ for (const key in props) {
6840
+ if (key === "values" && typeof props.values === "object")
6841
+ continue;
6842
+ if (isMotionValue(props[key]))
6843
+ continue;
6844
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6845
+ props["draggable"] && key.startsWith("onDrag")) {
6846
+ filteredProps[key] = props[key];
6847
+ }
6848
+ }
6849
+ return filteredProps;
6850
+ }
6851
+
6852
+ // ../../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
6833
6853
  var lowercaseSVGElements = [
6834
6854
  "animate",
6835
6855
  "circle",
@@ -6858,7 +6878,7 @@ var lowercaseSVGElements = [
6858
6878
  "view"
6859
6879
  ];
6860
6880
 
6861
- // ../../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
6881
+ // ../../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
6862
6882
  function isSVGComponent(Component2) {
6863
6883
  if (
6864
6884
  /**
@@ -6885,11 +6905,11 @@ function isSVGComponent(Component2) {
6885
6905
  return false;
6886
6906
  }
6887
6907
 
6888
- // ../../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
6889
- function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
6908
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/dom/use-render.mjs
6909
+ function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
6890
6910
  const useVisualProps = isSVG ?? isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
6891
6911
  const visualProps = useVisualProps(props, latestValues, isStatic, Component2);
6892
- const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
6912
+ const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps, isValidProp);
6893
6913
  const elementProps = Component2 !== react.Fragment ? { ...filteredProps, ...visualProps, ref } : {};
6894
6914
  const { children } = props;
6895
6915
  const renderedChildren = react.useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -6954,20 +6974,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
6954
6974
  return isStatic ? make() : useConstant(make);
6955
6975
  };
6956
6976
 
6957
- // ../../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
6977
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs
6958
6978
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
6959
6979
  scrapeMotionValuesFromProps,
6960
6980
  createRenderState: createHtmlRenderState
6961
6981
  });
6962
6982
 
6963
- // ../../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
6983
+ // ../../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
6964
6984
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
6965
6985
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
6966
6986
  createRenderState: createSvgRenderState
6967
6987
  });
6968
6988
 
6969
- // ../../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
6970
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
6989
+ // ../../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
6990
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
6971
6991
  function useMotionRef(visualState, visualElement, externalRef) {
6972
6992
  const externalRefContainer = react.useRef(externalRef);
6973
6993
  react.useInsertionEffect(() => {
@@ -6978,6 +6998,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
6978
6998
  if (instance) {
6979
6999
  visualState.onMount?.(instance);
6980
7000
  }
7001
+ if (visualElement) {
7002
+ instance ? visualElement.mount(instance) : visualElement.unmount();
7003
+ }
6981
7004
  const ref = externalRefContainer.current;
6982
7005
  if (typeof ref === "function") {
6983
7006
  if (instance) {
@@ -6994,19 +7017,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
6994
7017
  } else if (ref) {
6995
7018
  ref.current = instance;
6996
7019
  }
6997
- if (visualElement) {
6998
- instance ? visualElement.mount(instance) : visualElement.unmount();
6999
- }
7000
7020
  }, [visualElement]);
7001
7021
  }
7002
7022
  var SwitchLayoutGroupContext = react.createContext({});
7003
7023
 
7004
- // ../../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
7024
+ // ../../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
7005
7025
  function isRefObject(ref) {
7006
7026
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
7007
7027
  }
7008
7028
 
7009
- // ../../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
7029
+ // ../../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
7010
7030
  function useVisualElement(Component2, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
7011
7031
  const { visualElement: parent } = react.useContext(MotionContext);
7012
7032
  const lazyContext = react.useContext(LazyContext);
@@ -7102,7 +7122,7 @@ function getClosestProjectingNode(visualElement) {
7102
7122
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7103
7123
  }
7104
7124
 
7105
- // ../../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
7125
+ // ../../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
7106
7126
  function createMotionComponent(Component2, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7107
7127
  preloadedFeatures && loadFeatures(preloadedFeatures);
7108
7128
  const isSVG = type ? type === "svg" : isSVGComponent(Component2);
@@ -7114,7 +7134,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7114
7134
  ...props,
7115
7135
  layoutId: useLayoutId(props)
7116
7136
  };
7117
- const { isStatic } = configAndProps;
7137
+ const { isStatic, isValidProp } = configAndProps;
7118
7138
  const context = useCreateMotionContext(props);
7119
7139
  const visualState = useVisualState(props, isStatic);
7120
7140
  if (!isStatic && typeof window !== "undefined") {
@@ -7123,7 +7143,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7123
7143
  MeasureLayout2 = layoutProjection.MeasureLayout;
7124
7144
  context.visualElement = useVisualElement(Component2, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7125
7145
  }
7126
- return jsxRuntime.jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsxRuntime.jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] });
7146
+ return jsxRuntime.jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsxRuntime.jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG, isValidProp)] });
7127
7147
  }
7128
7148
  MotionDOMComponent.displayName = `motion.${typeof Component2 === "string" ? Component2 : `create(${Component2.displayName ?? Component2.name ?? ""})`}`;
7129
7149
  const ForwardRefMotionComponent = react.forwardRef(MotionDOMComponent);
@@ -7153,7 +7173,7 @@ function getProjectionFunctionality(props) {
7153
7173
  };
7154
7174
  }
7155
7175
 
7156
- // ../../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
7176
+ // ../../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
7157
7177
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7158
7178
  if (typeof Proxy === "undefined") {
7159
7179
  return createMotionComponent;
@@ -7191,7 +7211,7 @@ var createDomVisualElement = (Component2, options) => {
7191
7211
  });
7192
7212
  };
7193
7213
 
7194
- // ../../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
7214
+ // ../../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
7195
7215
  var AnimationFeature = class extends Feature {
7196
7216
  /**
7197
7217
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7227,7 +7247,7 @@ var AnimationFeature = class extends Feature {
7227
7247
  }
7228
7248
  };
7229
7249
 
7230
- // ../../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
7250
+ // ../../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
7231
7251
  var id2 = 0;
7232
7252
  var ExitAnimationFeature = class extends Feature {
7233
7253
  constructor() {
@@ -7246,7 +7266,7 @@ var ExitAnimationFeature = class extends Feature {
7246
7266
  if (isPresent && prevIsPresent === false) {
7247
7267
  if (this.isExitComplete) {
7248
7268
  const { initial, custom } = this.node.getProps();
7249
- if (typeof initial === "string") {
7269
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7250
7270
  const resolved = resolveVariant(this.node, initial, custom);
7251
7271
  if (resolved) {
7252
7272
  const { transition, transitionEnd, ...target } = resolved;
@@ -7284,7 +7304,7 @@ var ExitAnimationFeature = class extends Feature {
7284
7304
  }
7285
7305
  };
7286
7306
 
7287
- // ../../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
7307
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/animations.mjs
7288
7308
  var animations = {
7289
7309
  animation: {
7290
7310
  Feature: AnimationFeature
@@ -7294,7 +7314,7 @@ var animations = {
7294
7314
  }
7295
7315
  };
7296
7316
 
7297
- // ../../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
7317
+ // ../../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
7298
7318
  function extractEventInfo(event) {
7299
7319
  return {
7300
7320
  point: {
@@ -7305,17 +7325,17 @@ function extractEventInfo(event) {
7305
7325
  }
7306
7326
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
7307
7327
 
7308
- // ../../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
7328
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/events/add-pointer-event.mjs
7309
7329
  function addPointerEvent(target, eventName, handler, options) {
7310
7330
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7311
7331
  }
7312
7332
 
7313
- // ../../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
7333
+ // ../../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
7314
7334
  var getContextWindow = ({ current }) => {
7315
7335
  return current ? current.ownerDocument.defaultView : null;
7316
7336
  };
7317
7337
 
7318
- // ../../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
7338
+ // ../../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
7319
7339
  var distance = (a, b) => Math.abs(a - b);
7320
7340
  function distance2D(a, b) {
7321
7341
  const xDelta = distance(a.x, b.x);
@@ -7323,7 +7343,7 @@ function distance2D(a, b) {
7323
7343
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7324
7344
  }
7325
7345
 
7326
- // ../../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
7346
+ // ../../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
7327
7347
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7328
7348
  var PanSession = class {
7329
7349
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7396,7 +7416,8 @@ var PanSession = class {
7396
7416
  this.history = [{ ...point, timestamp }];
7397
7417
  const { onSessionStart } = handlers;
7398
7418
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7399
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7419
+ const eventOptions = { passive: true, capture: true };
7420
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7400
7421
  if (element) {
7401
7422
  this.startScrollTracking(element);
7402
7423
  }
@@ -7530,7 +7551,7 @@ function getVelocity(history, timeDelta) {
7530
7551
  return currentVelocity;
7531
7552
  }
7532
7553
 
7533
- // ../../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
7554
+ // ../../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
7534
7555
  function applyConstraints(point, { min, max }, elastic) {
7535
7556
  if (min !== void 0 && point < min) {
7536
7557
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7608,7 +7629,7 @@ function resolvePointElastic(dragElastic, label) {
7608
7629
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7609
7630
  }
7610
7631
 
7611
- // ../../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
7632
+ // ../../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
7612
7633
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7613
7634
  var VisualElementDragControls = class {
7614
7635
  constructor(visualElement) {
@@ -7809,6 +7830,10 @@ var VisualElementDragControls = class {
7809
7830
  const { projection } = this.visualElement;
7810
7831
  if (!projection || !projection.layout)
7811
7832
  return false;
7833
+ if (projection.root) {
7834
+ projection.root.scroll = void 0;
7835
+ projection.root.updateScroll();
7836
+ }
7812
7837
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
7813
7838
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
7814
7839
  if (onMeasureDragConstraints) {
@@ -7865,7 +7890,7 @@ var VisualElementDragControls = class {
7865
7890
  const dragKey = `_drag${axis.toUpperCase()}`;
7866
7891
  const props = this.visualElement.getProps();
7867
7892
  const externalMotionValue = props[dragKey];
7868
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
7893
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
7869
7894
  }
7870
7895
  snapToCursor(point) {
7871
7896
  eachAxis((axis) => {
@@ -8013,7 +8038,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
8013
8038
  return direction;
8014
8039
  }
8015
8040
 
8016
- // ../../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
8041
+ // ../../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
8017
8042
  var DragGesture = class extends Feature {
8018
8043
  constructor(node) {
8019
8044
  super(node);
@@ -8047,7 +8072,7 @@ var DragGesture = class extends Feature {
8047
8072
  }
8048
8073
  };
8049
8074
 
8050
- // ../../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
8075
+ // ../../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
8051
8076
  var asyncHandler = (handler) => (event, info) => {
8052
8077
  if (handler) {
8053
8078
  frame.update(() => handler(event, info), false, true);
@@ -8190,7 +8215,7 @@ function MeasureLayout(props) {
8190
8215
  return jsxRuntime.jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: react.useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8191
8216
  }
8192
8217
 
8193
- // ../../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
8218
+ // ../../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
8194
8219
  var drag = {
8195
8220
  pan: {
8196
8221
  Feature: PanGesture
@@ -8202,7 +8227,7 @@ var drag = {
8202
8227
  }
8203
8228
  };
8204
8229
 
8205
- // ../../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
8230
+ // ../../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
8206
8231
  function handleHoverEvent(node, event, lifecycle) {
8207
8232
  const { props } = node;
8208
8233
  if (node.animationState && props.whileHover) {
@@ -8228,7 +8253,7 @@ var HoverGesture = class extends Feature {
8228
8253
  }
8229
8254
  };
8230
8255
 
8231
- // ../../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
8256
+ // ../../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
8232
8257
  var FocusGesture = class extends Feature {
8233
8258
  constructor() {
8234
8259
  super(...arguments);
@@ -8259,7 +8284,7 @@ var FocusGesture = class extends Feature {
8259
8284
  }
8260
8285
  };
8261
8286
 
8262
- // ../../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
8287
+ // ../../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
8263
8288
  function handlePressEvent(node, event, lifecycle) {
8264
8289
  const { props } = node;
8265
8290
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8292,7 +8317,7 @@ var PressGesture = class extends Feature {
8292
8317
  }
8293
8318
  };
8294
8319
 
8295
- // ../../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
8320
+ // ../../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
8296
8321
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8297
8322
  var observers = /* @__PURE__ */ new WeakMap();
8298
8323
  var fireObserverCallback = (entry) => {
@@ -8324,7 +8349,7 @@ function observeIntersection(element, options, callback) {
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/viewport/index.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/viewport/index.mjs
8328
8353
  var thresholdNames = {
8329
8354
  some: 0,
8330
8355
  all: 1
@@ -8385,7 +8410,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8385
8410
  return (name) => viewport[name] !== prevViewport[name];
8386
8411
  }
8387
8412
 
8388
- // ../../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
8413
+ // ../../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
8389
8414
  var gestureAnimations = {
8390
8415
  inView: {
8391
8416
  Feature: InViewFeature
@@ -8401,7 +8426,7 @@ var gestureAnimations = {
8401
8426
  }
8402
8427
  };
8403
8428
 
8404
- // ../../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
8429
+ // ../../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
8405
8430
  var layout = {
8406
8431
  layout: {
8407
8432
  ProjectionNode: HTMLProjectionNode,
@@ -8409,7 +8434,7 @@ var layout = {
8409
8434
  }
8410
8435
  };
8411
8436
 
8412
- // ../../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
8437
+ // ../../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
8413
8438
  var featureBundle = {
8414
8439
  ...animations,
8415
8440
  ...gestureAnimations,
@@ -8417,7 +8442,7 @@ var featureBundle = {
8417
8442
  ...layout
8418
8443
  };
8419
8444
 
8420
- // ../../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
8445
+ // ../../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
8421
8446
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8422
8447
  function useMotionValue(initial) {
8423
8448
  const value = useConstant(() => motionValue(initial));
@@ -8429,7 +8454,7 @@ function useMotionValue(initial) {
8429
8454
  return value;
8430
8455
  }
8431
8456
 
8432
- // ../../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
8457
+ // ../../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
8433
8458
  function useCombineMotionValues(values, combineValues) {
8434
8459
  const value = useMotionValue(combineValues());
8435
8460
  const updateValue = () => value.set(combineValues());
@@ -8445,7 +8470,7 @@ function useCombineMotionValues(values, combineValues) {
8445
8470
  return value;
8446
8471
  }
8447
8472
 
8448
- // ../../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
8473
+ // ../../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
8449
8474
  function useComputed(compute) {
8450
8475
  collectMotionValues.current = [];
8451
8476
  compute();
@@ -8454,7 +8479,7 @@ function useComputed(compute) {
8454
8479
  return value;
8455
8480
  }
8456
8481
 
8457
- // ../../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
8482
+ // ../../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
8458
8483
  function useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options) {
8459
8484
  if (typeof input === "function") {
8460
8485
  return useComputed(input);
@@ -8486,7 +8511,7 @@ function useListTransform(values, transformer) {
8486
8511
  });
8487
8512
  }
8488
8513
 
8489
- // ../../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-follow-value.mjs
8514
+ // ../../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-follow-value.mjs
8490
8515
  function useFollowValue(source, options = {}) {
8491
8516
  const { isStatic } = react.useContext(MotionConfigContext);
8492
8517
  const getFromSource = () => isMotionValue(source) ? source.get() : source;
@@ -8500,10 +8525,13 @@ function useFollowValue(source, options = {}) {
8500
8525
  return value;
8501
8526
  }
8502
8527
 
8503
- // ../../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-spring.mjs
8528
+ // ../../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-spring.mjs
8504
8529
  function useSpring(source, options = {}) {
8505
8530
  return useFollowValue(source, { type: "spring", ...options });
8506
8531
  }
8532
+
8533
+ // ../../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
8534
+ var motion2 = motion;
8507
8535
  function usePrefersReducedMotion() {
8508
8536
  const [prefersReducedMotion2, setPrefersReducedMotion] = react.useState(false);
8509
8537
  react.useEffect(() => {
@@ -8688,7 +8716,7 @@ function AnimatedNumber({
8688
8716
  };
8689
8717
  const prefersReducedMotion2 = usePrefersReducedMotion();
8690
8718
  return /* @__PURE__ */ jsxRuntime.jsxs(
8691
- motion.span,
8719
+ motion2.span,
8692
8720
  {
8693
8721
  className: ui.cn("inline-block tabular-nums", className),
8694
8722
  style,
@@ -8700,7 +8728,7 @@ function AnimatedNumber({
8700
8728
  children: [
8701
8729
  prefix,
8702
8730
  /* @__PURE__ */ jsxRuntime.jsx(
8703
- motion.span,
8731
+ motion2.span,
8704
8732
  {
8705
8733
  initial: { opacity: 0, y: 20 },
8706
8734
  animate: { opacity: 1, y: 0 },
@@ -8742,7 +8770,7 @@ function AnimatedCounter({
8742
8770
  }
8743
8771
  return /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: ui.cn("flex items-center gap-2", className), children: [
8744
8772
  /* @__PURE__ */ jsxRuntime.jsx(
8745
- motion.button,
8773
+ motion2.button,
8746
8774
  {
8747
8775
  onClick: decrement,
8748
8776
  disabled: currentValue <= min,
@@ -8754,7 +8782,7 @@ function AnimatedCounter({
8754
8782
  ),
8755
8783
  /* @__PURE__ */ jsxRuntime.jsx(AnimatedNumber, { value: currentValue, ...props }),
8756
8784
  /* @__PURE__ */ jsxRuntime.jsx(
8757
- motion.button,
8785
+ motion2.button,
8758
8786
  {
8759
8787
  onClick: increment,
8760
8788
  disabled: currentValue >= max,